Changelog

Changes in TIdIMAP4 and TIdPOP3 for large mailboxes

Posted on

To better handle mailboxes that are larger than 2GB in size, the following changes have been made: In TIdIMAP4, UIDs and Message numbers are now treated as UInt32 instead of as Integer. This is more inline with RFC 3501, which defines them as being “Non-zero unsigned 32-bit integers”. In TIdPOP3 and TIdIMAP4, email byte sizes […]

Changelog

New packages for RAD Studio 10.2 Tokyo

Posted on

After more than a year since RAD Studio 10.2 Tokyo was released, I have now finally checked in Indy package files for 10.2. Note: I do not have Tokyo installed at this time, so I have not enabled Linux as a target platform in Indy’s runtime packages. If you want to compile Indy for use […]

Changelog

Behavioral change to HTTPS handling in TIdHTTPServer

Posted on

Before: When an SSLIOHandler component is assigned to the TIdHTTPServer.IOHandler property, TIdHTTPServer would automatically activate SSL/TLS for all new client connections, unless a TIdHTTPServer.OnQuerySSLPort event handler returned False for the port that the client connected to (such as port 80). Now: The default HTTPS port is 443, so when an SSLIOHandler component is assigned, TIdHTTPServer […]

Changelog

Changes for how OpenSSL is loaded on *Nix platforms

Posted on

Some changes have been made to the IdSSLOpenSSLHeaders unit in how OpenSSL lib files are dynamically loaded on *Nix platforms. – Many *Nix systems have unversioned libcrypto/libssl symbolic links that point to specific OpenSSL versions. This way, as new OpenSSL versions are installed, the symlinks can be updated without app code needing to be updated […]

Changelog

TIdHTTPServer changes

Posted on

In no particular order: If a client sends an ‘Authorization’ request header that is not processed, TIdHTTPServer now sends an HTTP 401 response instead of closing the socket connection. When sending a response to a client, TIdHTTPResponseInfo.SetHeaders() now sets ‘WWW-Authenticate’ and ‘Proxy-Authenticate’ headers if the TIdHTTPResponseInfo.WWWAuthenticate and/or TIdHTTPResponseInfo.ProxyAuthenticate properties are not empty. Previously, these properties […]

Changelog

Changes to TIdNotify

Posted on

When TIdNotify.Notify() is invoked by code in the main UI thread, it now respects the TIdNotify.MainThreadUsesNotify property again. Many years ago (prior to mid-2010), whenever TIdNotify.Notify() was invoked by code in the main UI thread, if the TIdNotify.MainThreadUsesNotify property was True then Notify() would use an internal worker thread to queue the notification for delayed […]

Changelog

Small change to TIdURI

Posted on

TIdURI.PathEncode() and TIdURI.ParamsEncode() no longer encode ‘%HH’ hex sequences as ‘%25HH’. The motivation for this is if you have content that is already percent-encoded with ‘%HH’ sequences in it, like “application/x-www-form-urlencoded” data, then it should be left alone and not double-encoded.

Changelog

TIdDNSResolver update

Posted on

A user recently encountered a problem where requesting TXT records for ‘ups.com’ on multiple DNS servers results in DNS responses that exceed DNS’s default 512-byte max UDP message size, thus truncating to 512 bytes and setting the TC (truncation) bit in the response header. A logic hole in TTextRecord.Parse() was causing TIdDNSResolver to get stuck […]