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