TIdHTTP cannot connect to https://www.implisit.com using TLS

Using OpenSSL 1.0.2d, TIdHttp is not able to retrieve any page from https://www.implisit.com, the following exception is raised: EIdOSSLConnectError Error connecting with SSL. EOF was observed tha...

Id #63784 | Release: None | Updated: Wed at 6:21 PM by gambit47 | Created: Wed at 6:21 PM by gambit47

Update Ticks64() to use monotonic clock on Unix systems

On non-Darwin Unix systems, Ticks64() uses gettimeofday(), which returns a wall clock date/time. On POSIX platforms that support a monotonic clock via clock_gettime(), that should be used instead.

Id #63736 | Release: None | Updated: Jul 21 at 10:19 PM by gambit47 | Created: Jul 21 at 10:19 PM by gambit47

Update IdZLibHeaders to use System.Zlib unit

The System.Zlib unit has been available in Delphi/C++Builder since at least RAD Studio 2006. The IdZLibHeaders unit should be updated with a new {$DEFINE} that allows Indy to use that unit instead...

Id #63623 | Release: None | Updated: Jul 13 at 5:51 PM by gambit47 | Created: Jul 13 at 5:51 PM by gambit47

Support round-robin DNS

When connecting to a hostname, A DNS lookup can return multiple IP addresses for the host. Socket API functions like getaddrinfo() and gethostbyname() do return these IPs, but Indy currently ignor...

Id #63498 | Release: Indy 11 | Updated: Jun 1 at 7:23 PM by gambit47 | Created: Jun 1 at 7:23 PM by gambit47

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