Changelog

TIdDNSResolver update

Posted on

A user recently needed to query a DNS server for DNAME records, but found that TIdDNSResolver did not parse DNAME answers at all. The QueryResult collection would hold generic TResultRecord objects that did not have their RecType property assigned properly, so it would default to 0, which just happens to be qtA. So, a new […]

Changelog

Charset handling for BASIC authentication

Posted on

When TIdHTTP is using BASIC authentication with an HTTP server or HTTP proxy, it now supports the “charset” attribute defined in RFC 7617 for the “WWW-Authenticate” and “Proxy-Authenticate” challenge headers. If the server requests a “charset”, TIdBasicAuthentication will now use that charset when encoding its username/password values.

Changelog

Client-side SNI support added to TIdSSLIOHandlerSocketOpenSSL

Posted on

Client-side support for the TLS SNI extension has been added to TIdSSLIOHandlerSocketOpenSSL. When TIdSSLIOHandlerSocketOpenSSL is making an outbound TLS connection, it now calls SSL_set_tlsext_host_name() to enable SNI. This extension is used on servers that host multiple hostnames on the same IP address. Use of this extension allows the server to know which hostname a client […]

Changelog

New TIdIMAP4 methods to add more support for GMail IMAP extensions

Posted on

Some additional support for Gmail IMAP extensions has been added to TIdIMAP4. Previously, the TIdIMAP4FetchDataItem enum was updated in preparation for allowing Gmail’s X-GM-MSGID, X-GM-THRID, and X-GM-LABELS values to be retreived from emails using FETCH commands, however no methods of TIdIMAP4 had been implemented yet to support those extended commands. The TIdIMAP4.ParseLastCmdResult() method has now […]

Changelog

New TIdHTTP flags and OnChunkReceived event

Posted on

Three new flag have been added to the TIdHTTP.HTTPOptions property: hoNoParseXmlCharset: when receiving an XML response with an “application/…” Content-Type, the TIdHTTP.Response.Charset property will be set to the charset declared in the XML’s prolog, unless this flag is enabled, in which case TIdHTTP.Response.Charset will be set to the charset specified in the HTTP response’s Content-Type […]

Changelog

OpenSSL changes

Posted on

A user reported a problem where Indy was not able to load OpenSSL on Ubuntu Server 15.04. The reason turned out to be because Ubuntu’s version of OpenSSL 1.x does not export the following three functions, which Indy’s IdSSLOpenSSLHeaders.Load() function deemed to be “critical” and would fail if they are not exported: SSLv2_method SSLv2_server_method SSLv2_client_method […]

Changelog

New TIdMessage helper

Posted on

The TIdMessage.LoadFrom…() methods only work reliably with EML files/streams that were created using one of the TIdMessage.SaveTo…() methods. The reason for this is because the SaveTo…() methods generate emails that are encoded with dot-transparency logic applied (a period at the front of a line is doubled, and a single period on a line by itself […]

Changelog

New IndyRaiseOuterException() function added

Posted on

A new IndyRaiseOuterException() function has been added to the IdGlobal unit: procedure IndyRaiseOuterException(AOuterException: Exception); This is a wrapper for the System.SysUtils.Exception.RaiseOuterException() class method, which is available on Windows only in Delphi/C++Builder 2009 and 2010, and for all platforms in Delphi/C++Builder XE and later. To summarize, when a runtime error causes an Exception to being raised, […]