Arno Garrels wrote:
> Arno Garrels wrote:
>> Frans van Daalen wrote:
>>>> Frans van Daalen wrote:
>>>>> seems that the bug is also somewhere related to the NTLM code or
>>>>> call because the icslogger shows the following
>>>>> 
>>>>> - Starting relocation process
>>>>> - state = httpReady
>>>>> - PrepareNTLM....
>>>>> - PrepareNTLM....
>>>>> - RequestDone     <--------------------OOOOpppppsss why is that
>>>>> there??
>>>>> It will trigger the onRequestDone
>>>> 
>>>> That is intended in case of SetReady was called in StartRelocation
>>>> or LocationSessionClosed because LocationChangeMaxCount reached the
>>>> limit.
>>>> 
>>> 
>>> It did not reached its locationmaxcount. I think it it a SetReady
>>> from
>>> 
>>> procedure THttpCli.StateChange(NewState : THttpState);
>>> 
>>> line 1478
>>> 
>>>            if PrepareNTLMAuth(FlgClean) or
>>>        {$IFDEF UseDigestAuthentication}
>>>                PrepareDigestAuth(FlgClean) or
>>>        {$ENDIF}
>>>                PrepareBasicAuth(FlgClean) then begin
>>>                    ........................
>>>            else
>>> line 1534
>>>            TriggerRequestDone;   *************
>>> 
>>> -------------------------
>>> But I have trouble tracing the exact moment the ready is set.
>> 
>> That's quite easy, set breakpoints in StartRelocation and
>> LocationSessionClosed. Test URL www.microsoft.com, it works for me
>> with current ICSv7 from the wiki:
>> http://wiki.overbyte.be/wiki/index.php/ICS_Download
> 
> You are right, I did not test the GetAsync, in async mode
> RequestDone is actually fired with StatusCode 0 after relocation.
> 
> Triggered by a call to CheckDelaySetReady in GetBodyLineNext.

When I add a check for FLocationFlag there it _SEEMS_ to fix it,
has to be still tested very hard in order not to introduce new bugs:

            TriggerDocEnd;
            if {(FResponseVer = '1.0') or (FRequestVer = '1.0') or  }
                { see above                                }
                { [rawbite 31.08.2004 Connection controll] }
                (FCloseReq) then     { SAE 01/06/04 }
                FCtrlSocket.CloseDelayed
            else if not FLocationFlag then // <== Try this change and test, 
test, test...
                CheckDelaySetReady;  { 09/26/08 ML }

-- 
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