Scrive Francois PIETTE <[EMAIL PROTECTED]>: > A user reported having problem with a server handling badly NTLM. Using the > option httpoNoNTLMAuth doesn't really disable NTLM. The user has derived a > new class from the component and has added in the constructor > FServerAuth = httpAuthBasic; > Then it works. > > If someone could confirm this behaviour...
I just discovered that when Arno changed FServerAuth and FProxyAuth from string to an ordinal type some code was modified in the wrong way. In the PrepareNTLMAuth function the original code was: if (httpoNoNTLMAuth in FOptions) and (((FStatusCode = 401) and (CompareText(FServerAuth, 'NTLM') <> 0)) or ((FStatusCode = 407) and (CompareText(FProxyAuth, 'NTLM') <> 0))) then and replaced by: if (httpoNoNTLMAuth in FOptions) and (((FStatusCode = 401) and (FServerAuth = httpAuthNtlm)) or ((FStatusCode = 407) and (FProxyAuth = httpAuthNtlm))) then As you can see this is wrong. Is must be: if (httpoNoNTLMAuth in FOptions) and (((FStatusCode = 401) and (FServerAuth <> httpAuthNtlm)) or ((FStatusCode = 407) and (FProxyAuth <> httpAuthNtlm))) then Similar situation in the PrepareBasicAuth function. Actually it is: if (httpoNoBasicAuth in FOptions) and (((FStatusCode = 401) and (FServerAuth = httpAuthBasic)) or ((FStatusCode = 407) and (FProxyAuth = httpAuthBasic))) then but it must be: if (httpoNoBasicAuth in FOptions) and (((FStatusCode = 401) and (FServerAuth <> httpAuthBasic)) or ((FStatusCode = 407) and (FProxyAuth <> httpAuthBasic))) then Another error in the DoRequestAsync procedure. Actually it is: if (FCtrlSocket.State = wsConnected) and (FHostName = FCurrentHost) and (FPort = FCurrentPort) and (FProtocol = FCurrentProtocol) then begin {$IFDEF UseNTLMAuthentication} if FProxyAuth <> httpAuthNtlm then begin instead the last line must be: if FProxyAuth = httpAuthNtlm then begin Tell me if with these fix the problem disappear. Bye, Maurizio. ---------------------------------------------------- This mail has been sent using Alpikom webmail system http://www.alpikom.it -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be