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