Looks like it's not possible with current THttpCli:

{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
function THttpCli.GetNTLMMessage1(const ForProxy: Boolean): String;
begin
    { Result := FNTLM.GetMessage1(FNTLMHost, FNTLMDomain);            }
    { it is very common not to send domain and workstation strings on }
    { the first message                                               }
    if ForProxy then
        Result := 'Proxy-Authorization: NTLM ' + NtlmGetMessage1('', '')
    else
        Result := 'Authorization: NTLM ' + NtlmGetMessage1('', '');
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
function THttpCli.GetNTLMMessage3(const HttpMethod: String;
  const ForProxy: Boolean): String;
var
    Hostname : String;
begin
    { get local hostname }
    try
        Hostname := String(LocalHostName);
    except
        Hostname := '';
    end;

    { domain is not used             }
    { hostname is the local hostname }
    if ForProxy then
        Result := 'Proxy-Authorization: NTLM ' +
                  NtlmGetMessage3('',
                                  Hostname,
                                  FProxyUsername,
                                  FProxyPassword,
                                  FProxyNTLMMsg2Info.Challenge)

    else
        Result := 'Authorization: NTLM ' +
                  NtlmGetMessage3('',
                                  Hostname,
{                                 FNTLMUsercode, FNTLMPassword, }
                                  FCurrUsername, FCurrPassword,
                                  FNTLMMsg2Info.Challenge);


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}

BTW: In the meanwhile (2007) MS published their NTLM specs. they have
been updated yesterday:
"NT LAN Manager (NTLM) Authentication Protocol Specification":
http://msdn.microsoft.com/en-us/library/cc236621
So if anybody wants to improve ICS's implementation it's much easier now.

-- 
Arno Garrels
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to