Hello Alexander,
December 13, 2001, 01:53:03, you wrote:
AVA> Hello!
AVA> Кто может посоветовать решение одной очень
AVA> странной проблемы: при установлении удаленного соединения,
AVA> windows присылает введенный login в виде "DOMAIN\\login".
AVA> Причем, если у пользователя поле домен в настройках сети
AVA> пустое, то присылается просто "login". Но тоже не всегда.
AVA> Иногда, начинает присылаться пробел в имени домена, например
AVA> " \\login". Помогает удаление этого соединения, и создание
AVA> нового с нуля. Причем абонент клянется и божится, что "ничего
AVA> не трогал, оно само...". В лабораторных условиях выяснилось много
AVA> интересного про этот эффект в разных версиях виндов, но легче
AVA> от этого не стало.
AVA> Проявляется ли эта проблема еще у кого-нибудь, и как
AVA> решается? Очень не хочется размножать записи в chap-secrets для
AVA> каждого возможного написания логина...
Иногда решается снятием галки с Logon to network, а для неизлучимых
пациентов типа NT/Win2k,ME/XP & VPN a-la PPTP вот патч.
Option chapms-nodomain.
Подходит с 2.3.8-2.3.11 & imho 2.4.x
--- ppp-2.3.11/pppd/auth.c.orig Mon Aug 7 15:18:26 2000
+++ ppp-2.3.11/pppd/auth.c Mon Aug 7 15:20:07 2000
@@ -245,6 +245,8 @@ option_t auth_options[] = {
"Refuse MSCHAP-v2 authentication" },
{ "-chapms-v2", o_special_noarg, nochapms_v2,
"Refuse MSCHAP-v2 authentication" },
+ { "chapms-nodomain", o_bool, &chapms_nodomain,
+ "Do not use MS Domain prefix in username, clean it out", 1 },
#endif
{ "name", o_string, our_name,
"Set local name for authentication",
--- ppp-2.3.11/pppd/chap.c.orig Mon Aug 7 15:12:14 2000
+++ ppp-2.3.11/pppd/chap.c Mon Aug 7 15:18:22 2000
@@ -408,6 +408,7 @@ ChapReceiveChallenge(cstate, inp, id, le
u_char *rchallenge;
int secret_len;
char secret[MAXSECRETLEN];
+ char *rcl_name;
char rhostname[256];
MD5_CTX mdContext;
u_char hash[MD5_SIGNATURE_SIZE];
@@ -444,6 +445,16 @@ ChapReceiveChallenge(cstate, inp, id, le
rhostname));
}
+ /* Clean out MS NT Domain\\ from username
+ addon patch by SysMan@sysman.net */
+
+ if( (rcl_name = strrchr(rhostname,'\\')) != (char *) NULL &&
+ chapms_nodomain )
+ {
+ rcl_name++;
+ strlcpy(rhostname, rcl_name, sizeof(rhostname));
+ }
+
/* get secret for authenticating ourselves with the specified host */
if (!get_secret(cstate->unit, cstate->resp_name, rhostname,
secret, &secret_len, 0)) {
@@ -517,6 +528,7 @@ ChapReceiveResponse(cstate, inp, id, len
u_char *remmd, remmd_len;
int secret_len, old_state;
int code;
+ char *rcl_name;
char rhostname[256];
MD5_CTX mdContext;
char secret[MAXSECRETLEN];
@@ -565,6 +577,16 @@ ChapReceiveResponse(cstate, inp, id, len
len = sizeof(rhostname) - 1;
BCOPY(inp, rhostname, len);
rhostname[len] = '\000';
+
+ /* Clean out MS NT Domain\\ from username
+ addon patch by SysMan@sysman.net */
+
+ if( (rcl_name = strrchr(rhostname,'\\')) != (char *) NULL &&
+ chapms_nodomain )
+ {
+ rcl_name++;
+ strlcpy(rhostname, rcl_name, sizeof(rhostname));
+ }
/*
* Get secret for authenticating them with us,
--- ppp-2.3.11/pppd/chap_ms.c.orig Mon Aug 7 15:05:46 2000
+++ ppp-2.3.11/pppd/chap_ms.c Mon Aug 7 15:08:01 2000
@@ -79,11 +79,15 @@ static void ChapMS_NT __P((char *, int,
#ifdef MSLANMAN
static void ChapMS_LANMan __P((char *, int, char *, int, MS_ChapResponse *));
#endif
-
#ifdef MSLANMAN
bool ms_lanman = 0; /* Use LanMan password instead of NT */
/* Has meaning only with MS-CHAP challenges */
#endif
+#ifdef CHAPMS
+bool chapms_nodomain = 0; /* Clean out MS NT domain from username
+ in chapms authorization */
+#endif
+
static void
ChallengeResponse(challenge, pwHash, response)
--- ppp-2.3.11/pppd/pppd.h.orig Mon Aug 7 15:11:21 2000
+++ ppp-2.3.11/pppd/pppd.h Mon Aug 7 15:11:54 2000
@@ -226,6 +226,9 @@ extern struct bpf_program active_filter;
extern bool ms_lanman; /* Use LanMan password instead of NT */
/* Has meaning only with MS-CHAP challenges */
#endif
+#ifdef CHAPMS
+extern bool chapms_nodomain; /* strip MS NT domain from chap username */
+#endif
extern char *current_option; /* the name of the option being parsed */
extern int privileged_option; /* set iff the current option came from root */
--
Best regards,
Alex mailto:sysman@iem.gov.lv
================================================
Network and Computer security officer.
Ministry of interior affairs.
Phones: +371-7208258,7208204 Mobile: +371-9208665
=============================================================================
"inet-admins" Internet access mailing list. Maintained by East Connection ISP.
Mail "unsubscribe inet-admins" to Majordomo@info.east.ru if you want to quit.
Archive is accessible on http://info.east.ru/rus/inetadm.html