Add support for HTTP 2.0

Add support for HTTP 2.0. HTTP 2.0 does define a mechanism for a client to "upgrade" from HTTP 1.1 to 2.0 dynamically, or jump right into HTTP 2.0 if the server is already known to implement 2.0. ...

Id #63186 | Release: Indy 11 | Updated: May 2 at 1:52 AM by gambit47 | Created: May 2 at 1:52 AM by gambit47

Missing 'CP...' codepage aliases in IdCharsets.pas

There are many 'CP...' codepage aliases missing from IdCharsets.pas, such as 'CP1250' and 'CP-1250'.

Id #28358 | Release: None | Updated: Apr 11 at 5:09 AM by gambit47 | Created: Apr 11 at 5:09 AM by gambit47

Decode RFC 2047 before parsing emails

This header: From: abc <=?ISO8859-1?B?YWJjQGV4YW1wbGUuY29t=?=> Is decoded as: Name = 'abc' Email = '=?ISO8859-1?B?YWJjQGV4YW1wbGUuY29t=?=' Should be: Name = 'abc' Email = 'abc@example.com' Th...

Id #26051 | Release: None | Updated: Mar 24 at 8:37 PM by gambit47 | Created: Mar 24 at 8:37 PM by gambit47

Update TIdIcmpClient to not require admin rights when possible

TIdIcmpClient currently requires admin rights, due to its use of a RAW socket. On Windows, can use IcmpSendEcho...(), Icmp6SendEcho...(), and other related function. On OSX/iOS, can use ICMP over...

Id #26012 | Release: None | Updated: Feb 28 at 7:56 PM by gambit47 | Created: Feb 28 at 7:56 PM by gambit47

TIdMappedPortUDP deadlock

When TIdMappedPortUDP receives a UDP message, it uses a TIdUDPClient to send the message to the specified MappedHost/MappedPort. However, it then calls TIdUDPClient.ReceiveBuffer() expecting a res...

Id #25984 | Release: None | Updated: Feb 13 at 9:42 PM by gambit47 | Created: Feb 13 at 9:42 PM by gambit47

Update base64 decoding to ignore illegal characters

RFC 2045 specifically states that a conformant base64 decoder must ignore characters that are not defined in the base64 alphabet. For example, the following decodes fine in Outlook and other decod...

Id #25928 | Release: None | Updated: Jan 19 at 9:30 PM by gambit47 | Created: Jan 19 at 9:30 PM by gambit47

TIdMessage cannot decode the body of an email that uses cp1026

TIdMessage cannot decode the following email because charset cp1026 causes TIdIOHandler.ReadLn() to return string values that are not consistent with the email RFCs for syntax elements like LFs and...

Id #25900 | Release: None | Updated: Jan 2 at 9:08 PM by gambit47 | Created: Jan 2 at 9:08 PM by gambit47

TIdCmdTCPClient needs to trigger OnDisconnect or OnStatus when disconnected

TIdCmdTCPClient uses an internal reading thread, and that thread does not trigger the OnDisconnect or OnStatus event when the thread terminates, such as due to an abnormal disconnect.

Id #25874 | Release: None | Updated: Dec 15, 2014 at 10:02 PM by gambit47 | Created: Dec 15, 2014 at 10:02 PM by gambit47

TIdTelnet needs to trigger OnDisconnect or OnStatus when disconnected

TIdTelnet uses an internal reading thread, and that thread does not trigger the OnDisconnect or OnStatus event when the thread terminates, such as due to an abnormal disconnect.

Id #25873 | Release: None | Updated: Dec 15, 2014 at 10:01 PM by gambit47 | Created: Dec 15, 2014 at 10:01 PM by gambit47

TIdVCard timestamp handling is broken

TIdVCard is based on RFC 2425 and 2426, but they describe different formats for dates and times. The ParseDateTimeStamp() function in IdVCard.pas does not handle all of the possible formats.

Id #25855 | Release: None | Updated: Feb 5 at 9:00 PM by gambit47 | Created: Dec 5, 2014 at 2:11 AM by gambit47