Package: ntlmaps
Version: 0.9.9-2sarge1
Severity: important

Ntlmaps fails to translate BASIC authentication to NTLM using NTLMSSP(?)
message.

Used configuration follows:

[GENERAL]
LISTEN_PORT: 5865
PARENT_PROXY: proxy
PARENT_PROXY_PORT: 8080
PARENT_PROXY_TIMEOUT:15
ALLOW_EXTERNAL_CLIENTS:0
FRIENDLY_IPS:
URL_LOG:0
MAX_CONNECTION_BACKLOG:5
[CLIENT_HEADER]
[NTLM_AUTH]
NT_HOSTNAME:knu
NT_DOMAIN:AVT
LM_PART:0
NT_PART:1
NTLM_FLAGS: 05820000
NTLM_TO_BASIC:1
[DEBUG]
DEBUG:1
BIN_DEBUG:1
SCR_DEBUG:1
AUTH_DEBUG:1


A quick research has shown, that there is username translation
to unicode missing when using BASIC->NTLM translation specifically.


Following patch fixes this issue for me:

--- ntlm_auth.py.distrib        2005-12-27 16:25:37.196373789 +0300
+++ ntlm_auth.py        2005-12-27 16:27:18.192960620 +0300
@@ -313,7 +313,12 @@
         user, password = self.get_credentials_from_basic(connection, 
error_code)
         if user:
             connection.logger.log("*** Found Basic credentials in client's 
header.\n")
-            environment['USER'] = user
+
+            if environment['UNICODE']:
+                environment['USER'] = utils.str2unicode(string.upper(user))
+            else:
+                environment['USER'] = string.upper(user)
+
             #environment['PASSWORD'] = password
             connection.logger.log("*** Basic User/Password: %s/%s.\n" % (user, 
password))


-- System Information:
Debian Release: 3.1
  APT prefers stable
  APT policy: (990, 'stable'), (700, 'testing'), (600, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.8-2-k7
Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8)

Versions of packages ntlmaps depends on:
ii  debconf [debconf-2.0]         1.4.30.13  Debian configuration management sy
ii  python                        2.3.5-2    An interactive high-level object-o

-- debconf information excluded


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to