[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Authentication with NTLM proxy server
From:       Robert Gruber <rgruber () users ! sourceforge ! net>
Date:       2006-09-26 11:30:18
Message-ID: 200609261330.18861.rgruber () users ! sourceforge ! net
[Download RAW message or body]

Hello,

recently I've upgraded my KDE from KDE-3.4 to 3.5.4 (compiled from source). 
After updating I wasn't able to browse website with konqueror any more. The 
proxy server rejected all of my requests. But I was still able to use firefox 
for browsing.

Our proxy server uses NTLM for authentication.

When I pulled some tcpdumps I realized two differences between firefox and 
konqueror:
1) firefow always fills both, the NTLM response and the LanManager response, 
with the same key in the NTLMSSP_AUTH packet. konqueror only fills the NTLM 
response.
2) konqueror doesn't send any flags in the NTLMSSP_AUTH packet. firefox does.



So I change the kntlm.cpp file a bit:

--- kntlm.cpp.orig      2006-09-26 13:05:06.000000000 +0200
+++ kntlm.cpp   2006-09-26 13:06:11.000000000 +0200
@@ -160,14 +160,14 @@ bool KNTLM::getAuth( QByteArray &auth, c

     if ( KFromToLittleEndian(ch->flags) & Negotiate_NTLM ) {
       response = getNTLMResponse( password, ch->challengeData );
-      addBuf( rbuf, ((Auth*) rbuf.data())->ntResponse, response );
     } else {
       if ( !forceNTLM ) {
         response = getLMResponse( password, ch->challengeData );
-        addBuf( rbuf, ((Auth*) rbuf.data())->lmResponse, response );
       } else
         return false;
     }
+    addBuf( rbuf, ((Auth*) rbuf.data())->ntResponse, response );
+    addBuf( rbuf, ((Auth*) rbuf.data())->lmResponse, response );
 //  }
   if ( !dom.isEmpty() )
     addString( rbuf, ((Auth*) rbuf.data())->domain, dom, unicode );


With this patch applied I'm now able to use konqueror to browse through the 
NTLM-proxy.


Can anybody with deeper insight please review this patch, and commit it if ok.

Cheers, Robert

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic