Similar Threads:
1.Fixed bugs IdCookies.pas, IdCookieManager.pas
Hello Indy users and Indy experts.
I use Indy 9.0.14 (D5)
After torture tests, i've noticed some bugs for cookies management :
- subdomains are not supported :a cookie available for mydomain is
considered as not valid (isvalidcookie) for subdomain.mydomain
- domains and paths not correctly managed by TidCookieManager : when a
cookie is added to the cookies collection, it's added to a cookiesbyDomain
section which is a TStringList for a particular domain. Inside this section,
only the name is considered and not the path.
- The generateCookie list method doesn't support cookies for same domain but
different paths (like prior bug)
- The Cookie collection is not or can't be correctly freed : The
cleanUpCookieList method only drops expired cookies on the fly and when the
component is destroyed. Even in this case, only cookies objects are freed
but not Tstring items
All have been reported in bbg section for indy team, and this news group,
but because Indy team was to busy, i had to fix theses bugs by myself...
As chad suggested, i post this message :
1/ for indy experts to check this with me and eventually integrate the fixed
units
2/ for other users that have theses problems too and want a quick solution.
FLX.
2.[Q] Converting Delphi 6 Indy 8.xx to Delphi 2006 Indy 10.xx
G'Day,
I have a whole heap of old Delphi 6 code that is based on Indy 8.xx
that I need to convert to Delphi 2006 Indy 10.xx. Naturally the
architecture has changed between 8.xx and 10.xx. Is there a conversion
guide or anything similair that I can look at? I have looked on the
doco site but there does not seem to be anything. Is there also some
documentation on how the architecture has changed between 8.xx and
10.xx I could have a read of?
Failing all of the above has anyone got any suggestions on how to do
the Indy 8.xx to 10.xx conversion with the least amount of pain? ;-)
TIA
--
--Donovan
3.TIdContext.Connection.ReadTimeout not work
AContext.Connection.IOHandler.ReadInteger not return after 25 ms.
********************************************************
function TIdTCPServer.DoExecute(AContext: TIdContext): Boolean;
begin
AContext.Connection.IOHandler.ReadTimeout := 25;
AContext.Connection.IOHandler.ReadInteger;
end;
********************************************************
I must use
TIdIOHandlerStack(AContext.Connection.IOHandler).ReadTimeout := 25;
the readtimeout will work.
Must I use TIdIOHandlerStack to force ReadTimeout ??
4.ReadTimeout not working intermittently with TIdHTTPClient.Post
We've experienced some weird behavior on one of our systems that uses
TIdHttpClient.Post (with SSL), in that once in a while, while a user's ISP
is having connectivity issues, the ReadTimeout does not seem to work
correctly, and a response is received after the timeout period. My
speculation is that the reply dribbles in, and that the ReadTimeout is
satisfied when part of the reply is received, but the entire reply is not
received until the timeout period has passed. Example, timeout set to 45
seconds, reply comes in at 80 seconds. This caused us lots of problems
because the timeout is built around a parent process with a longer timeout
and we end up with systems that are out of sync. The parent process
thinking the first timed out and the first process with a valid (although
late) reply. Most of the time when we have a connectivity issue, the
ReadTimeout works properly, just not always.
We are using Indy 9.0.14. Other constraints - we have to use the Post
method, SSL, and embed control characters in the request (All 3rd party
constraints - not my choice!).
Thanks for any ideas or solutions tothis problem.
Doug
Here are relavant parts of the code:
MyHttpClient := TIdHTTP.Create(MyhttpClient); //Create Indy Client Socket
MySSLIOHandler1 := TIdSSLIOHandlerSocket.Create(nil);
RequestTStringStream := TStringStream.Create(S);
MySSLIOHandler1.SSLOptions.Method := sslvSSLv23;
MyhttpClient.Port := 443;
MyhttpClient.IOHandler := IndySSLIOHandler1;
MyhttpClient.ReadTimeout := 4500;
MyhttpClient.CheckForDisconnect(False, True);
MyhttpClient.Request.CacheControl := 'no-cache';
MyhttpClient.HTTPOptions := [hoForceEncodeParams];
MyhttpClient.Request.ContentLength := Length(RequestString);
// had to use TStringStream cuz Indy will not remove ctrl characters with
StringStream
RequestTStringStream.WriteString(RequestString);
try
ReplyString := MyhttpClient.Post(HostAddress, RequestTStringStream);
except
on EIdReadTimeout do
begin
// perform TimeOutReversal of transaction...
// & other steps...
end;
end;
5.Indy 10: IdCoderTNEF.pas bug report
Team Indy,
The very useful IdCoderTNEF.pas appears to have a bug on line 1892:
//LVal is now the days since 1/1/1601. Subtract Delphi's 300-year
offset...
Result := LVal;
* Result := Result + StrToDate('01/01/1601'); {Do not localize}
This does not work if your Windows date format is non-standard. Should
this not be?:
Result := LVal;
Result := Result + EncodeDate(1601, 1, 1); {Do not localize}
Or, simply use -109205?
Regards,
Keith
6. Fix for DateTime Bug in Indy 10 in D2006
7. Bug Fix for Indy 9.0.14 - TIdPeerThread.Data destruction order
8. FIX BUG IE7 Address Bar Not Working