Update TIdIMAP4 to support retreiving multiple message in a range

None of the retrieve functions expose the fact that IMAP supports fetching multiple messages or message ranges. It would be useful to be able to get multiple messages in a range (based on sequence ...

Id #25707 | Release: None | Updated: Mon at 7:01 AM by jessicabrown | Created: Sep 2 at 8:36 PM by gambit47

TIdIMAP4 needs to request and store UID values more often

UIDRetrieveEnvelope() does not store a UID, RetrieveAllEnvelopes() does not ask for UID (and doesn't store it), and other non-UID retrieve calls do not ask for UID.

Id #25706 | Release: None | Updated: Mon at 7:01 AM by jessicabrown | Created: Sep 2 at 8:32 PM by gambit47

FETCH response parsing issues

When parsing a FETCH response, TIdIMAP4 does not handle a ')' character inside a quoted-string (such as the display name) even though that's allowed. It also doesn't handle escaped '"' characters e...

Id #25705 | Release: None | Updated: Sep 2 at 8:30 PM by gambit47 | Created: Sep 2 at 8:30 PM by gambit47

TIdIMAP4.ListMailBoxes() does not handle escaped characters

In Gmail, all special characters (except for '^') can be used to create a label (ie: a folder in IMAP terms). For example, create a label named as follows: !@#$%&*()_+{}|:"?>< TIdIMAP4.ListMailBo...

Id #25649 | Release: None | Updated: Aug 6 at 12:05 AM by gambit47 | Created: Aug 6 at 12:03 AM by gambit47

TIdTCPServer.Active deadlock on Android

When running on Android, setting TIdTCPServer.Active to False deadlocks, even when no clients are connected.

Id #25510 | Release: None | Updated: May 30 at 3:35 AM by gambit47 | Created: May 28 at 9:23 PM by gambit47

AV in TIdStack.DecUsage() in Android 4.4.x

Install XE6 Update Android SDK Create a blank FireMonkey mobile project Drop TIdTCPClient on the Form Run app on any Android 4.4.x device Close app An Access Violation occurs in TIdStack.DecUsage(...

Id #25476 | Release: None | Updated: May 15 at 11:59 PM by gambit47 | Created: May 15 at 11:59 PM by gambit47

Update TIdPOP3 and TIdPOP3Server to support 64bit message numbers and byte sizes

TIdPOP3 and TIdPOP3Server both use Integer for message numbers and byte counts. They need to be updated to use Int64 instead.

Id #25460 | Release: None | Updated: Nov 12 at 2:28 AM by gambit47 | Created: May 8 at 2:16 AM by gambit47

Add support for TLS "Server Name Indication" (SNI)

http://en.wikipedia.org/wiki/Server_Name_Indication Per http://stackoverflow.com/questions/5113333/how-to-implement-server-name-indicationsni-on-openssl-in-c-or-c: On the client side, you use SSL...

Id #25459 | Release: None | Updated: Nov 15 at 10:55 PM by gambit47 | Created: May 7 at 7:02 PM by gambit47

Update TIdMessageClient to parse HTML content for charset when needed

When parsing an email with HTML content in it, if the Content-Type header for the HTML does not specify a charset, parse the HTML itself looking for any <meta> tags that specify the HTML's charset.

Id #25433 | Release: None | Updated: Apr 28 at 12:33 AM by gambit47 | Created: Apr 28 at 12:33 AM by gambit47

Add support for RFC 6531

Update TIdSMTP and TIdSMTPServer to support RFC 6531 "SMTP Extension for Internationalized Email"

Id #25411 | Release: None | Updated: Apr 22 at 6:25 PM by gambit47 | Created: Apr 22 at 6:25 PM by gambit47

Add support for RFC 6851

Add support for RFC 6851 ("Internet Message Access Protocol (IMAP) - MOVE Extension") to TIdIMAP4 and TIdIMAP4Server.

Id #25343 | Release: Indy 11 | Updated: Apr 2 at 1:10 AM by gambit47 | Created: Apr 2 at 1:10 AM by gambit47

TIdIcmpClient doesn't work at all - Message too long

Use this code to ping any device, e.g. over OPENVPN IdICMPClient1.ReceiveTimeout := 5100; IdICMPClient1.PacketSize := 24; // or leave it away, it doesn't work in both cases IdICMPClient1.Host := ...

Id #25272 | Release: None | Updated: Mar 15 at 7:08 AM by gambit47 | Created: Mar 15 at 7:08 AM by gambit47

Make sure TIdConnectionIntercept.Connection is valid when possible

Currently, the TIdConnectionIntercept.Connection property is set to a non-nil value only when the TIdConnectionIntercept.Connect() method is called. That method is currently only called in the TId...

Id #25228 | Release: Indy 11 | Updated: Mar 4 at 6:36 PM by gambit47 | Created: Mar 4 at 6:36 PM by gambit47

Update TIdSMTP and TIdSMTPServer to support RFC 3461

Update TIdSMTP and TIdSMTPServer to support "Delivery Status Notifications" via RFC 3461.

Id #25136 | Release: None | Updated: Jan 27 at 6:20 PM by gambit47 | Created: Jan 27 at 6:20 PM by gambit47

SASLs attempted in wrong order

When TIdSASLEntries.LoginSASL() (and TIdSASLEntriesIMAP4.LoginSASL_IMAP()) is determining which SASLs to authentication with, it loops through the SASL list in reverse order. This means the entrie...

Id #25035 | Release: None | Updated: Dec 29, 2013 at 1:01 AM by gambit47 | Created: Dec 29, 2013 at 1:01 AM by gambit47

Mark SSLv2 funtions as non-critical on Ubuntu systems

On Ubuntu systems, OpenSSL 1.0.0+ is not compiled with SSLv2 functions enabled: http://stackoverflow.com/questions/8206546/undefined-symbol-sslv2-method IdSSLOpenSSLHeaders.pas needs to be update...

Id #25025 | Release: None | Updated: Dec 22, 2013 at 9:50 PM by gambit47 | Created: Dec 22, 2013 at 9:50 PM by gambit47

OpenSSL Static Linking

Please add static linking for Windows 32/64 bit platforms. Thanks! Only iOS has it sadly.. so we don't have to pay for eldos components!!

Id #24931 | Release: None | Updated: Dec 2, 2013 at 10:22 PM by smithjohn | Created: Dec 2, 2013 at 10:21 PM by smithjohn

Update TIdCoderTNEF to support parsing more attributes

TIdCoderTNEF does not currently parse attAttachment and attMapProps attributes, which contain MAPI attributes that do not map to TNEF attributes, like LFN filenames, ContentType, etc. See attached...

Id #24861 | Release: None | Updated: Nov 8, 2013 at 10:39 PM by gambit47 | Created: Nov 8, 2013 at 10:39 PM by gambit47

IdHTTPProxyServer & AJAX Requests

Create a IdHTTPProxyServer Set port to 8080 Active := True Set IE Proxy to 127.0.0.1:8080 When typing in to google search the requests aren't going through IdHTTPProxyServer. Why is that?

Id #24790 | Release: None | Updated: Oct 13, 2013 at 9:49 AM by gambit47 | Created: Oct 12, 2013 at 5:40 PM by smithjohn

Add support for Exception.InnerException property

When Indy catches an exception and then raises a different exception instead of re-raising the original exception, it should utilize the Exception.InnerException property (via the Exception.RaiseOu...

Id #24726 | Release: None | Updated: Sep 25, 2013 at 1:22 AM by gambit47 | Created: Sep 25, 2013 at 1:22 AM by gambit47

Indy clients require "com.apple.security.network.server" entitlement in Mac OSX sandbox.

Indy clients, like TIdHTTP, require the "com.apple.security.network.server" entitlement when running in a Mac OSX sandbox. Apple then rejects the app when submitted: "This app uses one or more en...

Id #24713 | Release: None | Updated: Nov 15 at 10:52 PM by gambit47 | Created: Sep 18, 2013 at 8:59 PM by gambit47

Indy Redirect results in 404

When I set hoTreat302Like303 and login in Gmail it results in: First chance exception at $76F3C41F. Exception class EIdHTTPProtocolException with message 'HTTP/1.1 404 Not Found' Which is a probl...

Id #24701 | Release: None | Updated: Sep 16, 2013 at 9:09 PM by gambit47 | Created: Sep 14, 2013 at 11:19 PM by dodenko

EncodeHeader() needs to take codeunits into account when splitting data between adjacent encoded-words

Given the following Unicode string: 'であるか、シェイクスピア1606質問ですそのようにしない。彼の本から引用' EncodedHeader() with HeaderEncoding=base64 and MimeCharset=utf-8 produces the following output, which is incorrectly spl...

Id #24678 | Release: None | Updated: Sep 4, 2013 at 5:41 PM by gambit47 | Created: Sep 4, 2013 at 5:41 PM by gambit47

Switch of responses needed in TidTelnet.pas

The DoTelnetCommand parameters that result from receiving TNC_IAC + TNC_DONT + TNO_ECHO and from TNC_IAC + TNC_DO + TNO_ECHO in the routine TIdTelnet.Negotiate are incorrrect. For TNC_IAC + TNC_D...

Id #24647 | Release: None | Updated: Aug 21, 2013 at 5:46 PM by AlexTidmarsh | Created: Aug 21, 2013 at 5:44 PM by AlexTidmarsh

Add support for ICU library

Add support for the ICU library as an alternative to the ICONV library. http://www.icu-project.org iconv is commonly used on many platforms for handling Unicode text conversions, but it is not th...

Id #24619 | Release: Indy 11 | Updated: Aug 14, 2013 at 1:17 AM by gambit47 | Created: Aug 14, 2013 at 1:17 AM by gambit47

TIdTimeUDPServer ignores legimate requests

According to RFC 868, a client requests the current time from a UDP server by sending an empty packet to port 37. However, TIdUDPServer ignores empty packets received, and thus does not call TIdTi...

Id #24556 | Release: None | Updated: Jul 29, 2013 at 4:40 AM by gambit47 | Created: Jul 29, 2013 at 4:39 AM by gambit47

Support Unicode in SASL

SASL allows Unicode to be used. It is encoded, such as via UTF-8 or SASLprep, before then transformed to base64 for transmission. Indy needs to support Unicode in SASL.

Id #24525 | Release: None | Updated: Jul 18, 2013 at 5:33 PM by gambit47 | Created: Jul 18, 2013 at 5:33 PM by gambit47

Add support for IMAP LIST Extension for Special-Use Mailboxes

IMAP LIST Extension for Special-Use Mailboxes: http://tools.ietf.org/html/rfc6154 GMail Special-Use Extension of the LIST command: https://developers.google.com/gmail/imap_extensions#special-use_e...

Id #24462 | Release: None | Updated: Jul 1, 2013 at 10:39 PM by gambit47 | Created: Jul 1, 2013 at 10:39 PM by gambit47

DetectXmlCharset() does not return UTF-8 when no Encoding is present

In TIdHTTP, when a response Content-Type is "application/xml" or similar, the XML's charset is supposed to be used, regardless of any charset specified in the HTTP header. If no Encoding is specifi...

Id #24421 | Release: None | Updated: Jun 19, 2013 at 9:14 PM by gambit47 | Created: Jun 19, 2013 at 9:14 PM by gambit47

AV in TIdStackWindows.ResolveHost() under WinCE

On WinCE, the getaddrinfo() function pointer in IdWship6.pas is not being loaded correctly, but TIdStackWindows ignores the GIdIPv6FuncsAvailable variable under WinCE, so it tries to call getaddrin...

Id #24230 | Release: None | Updated: May 4, 2013 at 3:52 AM by gambit47 | Created: May 4, 2013 at 3:52 AM by gambit47

Undeclared identifier errors in IdWinsock2.pas in Delphi 7

IdWinsock2.pas (1875) Error: Undeclared identifier: 'ULONGLONG' IdWinsock2.pas (5673) Error: Undeclared identifier: 'UINT32' IdWinsock2.pas (7780) Error: Undeclared identifier: 'UINT8'

Id #24214 | Release: None | Updated: Apr 28, 2013 at 4:02 AM by gambit47 | Created: Apr 28, 2013 at 4:02 AM by gambit47

Add WaitFor() overload to TIdIOHandler for TIdBytes data

Add an overload of TIdIOHandler.WaitFor() that operates on TIdByte data instead of String data.

Id #24213 | Release: None | Updated: Apr 26, 2013 at 7:58 PM by gambit47 | Created: Apr 26, 2013 at 7:58 PM by gambit47

TIdEMailAddressItem.GetText could be simpler

In TIdEMailAddressItem.GetText, the while tempName <> '' do loop does i := FindFirstNotOf(IETF_ATEXT_SPACE, tempName); but only does something if the character is in IETF_QUOTABLE. Otherwise,...

Id #24172 | Release: None | Updated: Apr 15, 2013 at 5:59 PM by gambit47 | Created: Apr 15, 2013 at 5:59 PM by gambit47

Update TIdMimeTable defaults

GetMIMETypeFromFile() returns 'audio/x-mpg' for several MPEG-based audio file extensions, including .mp2 and .mp3, instead of the preferred 'audio/mpeg' type. Need to update the defaults used by T...

Id #24157 | Release: None | Updated: Apr 9, 2013 at 10:49 PM by gambit47 | Created: Apr 9, 2013 at 10:49 PM by gambit47

TIdIRC event parameters are being parsed wrong

Based on the following RAW data: 001 Josef :Welcome to the irc.icq.com IRC Network Josef!BSIRC@84.62.134.209 002 Josef :Your host is irc-m01a.orange.icq.com, running version InspIRCd-2.0 003 Josef...

Id #23964 | Release: None | Updated: Feb 21, 2013 at 7:46 PM by gambit47 | Created: Feb 21, 2013 at 7:46 PM by gambit47

Compiler error in IdGlobalProtocols(4825) when compiling with USE_ICONV in Delphi 2009

What steps will reproduce the problem? set the conditional symbol USE_ICONV compile a project which uses Indy (for example a TIdHTTPServer) What is the expected output? What do you see instead?...

Id #23875 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Feb 4, 2013 at 7:45 AM by gambit47

Update TIdHTTP and TIdHTTPServer to support HTTP 0.9

The HTTP 1.0 and 1.1 specs require clients to recognize HTTP 0.9 responses, and servers to recognize HTTP 0.9 requests. Neither TIdHTTP nor TIdHTTPServer do so. An HTTP server that sends HTTP 0.9...

Id #23846 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Jan 28, 2013 at 6:57 AM by gambit47

TIdSASLDigest.StartAuthentication() does not parse Challenge correctly

When TIdSASLDigest.StartAuthentication() parses the following challenge:realm="microsof-db482b",nonce="fTYdQPacyyiX1BlHyMW8N8rubUqMhEhgj5zGNkYo",qop="auth",charset=utf-8,algorithm=md5-sessEvery odd...

Id #23765 | Release: None | Updated: Jun 14, 2013 at 8:50 AM by gambit47 | Created: Jan 6, 2013 at 10:00 PM by gambit47

Add support for RFC 2088

Add support for RFC 2088, "IMAP4 non-synchronizing literals".

Id #23746 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Dec 28, 2012 at 11:28 PM by gambit47

TIdHTTPServer errors on Linux (range violation / out of memory)

What steps will reproduce the problem?1. write and run a TIdHTTPServer on Linux2. execute concurrent HTTP GET requests What is the expected output? What do you see instead?Concurrent GET request sh...

Id #23745 | Release: None | Updated: Jun 14, 2013 at 8:50 AM by gambit47 | Created: Dec 28, 2012 at 5:20 PM by gambit47

TIdIRC does not handle server numeric replies correctly

When processing a server numeric reply, the first parameter after the numeric command is a target nickname, but TIdIRC does not account for that. For example, the OnMOTD event ends up with a list ...

Id #23613 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Nov 12, 2012 at 7:07 PM by gambit47

Update TIdIPMCast... components to support controlled-source groups

Update TIdIPMCast... components to support controlled-source groups. Currently only any-source groups are supported. Also use newer IP-agnostic socket options on appropriate platforms (Vista+, et...

Id #23541 | Release: Indy 11 | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Oct 24, 2012 at 6:31 PM by gambit47

Add support for ASN1_COUNTER64 and ASN1_GAUGE64 types

Add support for ASN1_COUNTER64 and ASN1_GAUGE64 types to TIdSNMP.

Id #23519 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Oct 19, 2012 at 7:31 AM by gambit47

TIdSSPINTLMAuthentication does not differentiate between Negotiate and NTLM authorizations

TIdSSPINTLMAuthentication is registered for both "Negotiate" and "NTLM" HTTP authorizations, but when it formats an Authorication request, it always creates an "NTLM" request, never a "Negotiate" r...

Id #23498 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Oct 16, 2012 at 9:18 PM by gambit47

Add option in TIdHTTPServer to specify the encoding used for decoding URLs

When TIdHTTPServer decodes the ARequestInfo.Document and ARequestInfo.Params properties, it currently requires percent-encoded data to represent UTF-8 encoded octets. This is not a requirement of ...

Id #23491 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Oct 11, 2012 at 9:06 PM by gambit47

Add WebSocket support to TIdHTTPServer

Add WebSocket support to TIdHTTPServer

Id #23475 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Oct 8, 2012 at 5:35 PM by gambit47

Reduce default value for TIdIcmpClient.PacketSize property

The PacketSize property defaults to 1024 bytes of ICMP payload data. Some networks reject ICMP messages that are this large. Need to reduce the default value. Maybe even remove the property alto...

Id #23470 | Release: None | Updated: Jun 14, 2013 at 8:50 AM by gambit47 | Created: Oct 7, 2012 at 4:51 AM by gambit47

Extra MIME boundary after calling TIdMessage.LoadFromFile() then TIdMessage.SaveToFile()

When loading the following email file from Outlook 11 using TIdMessage.LoadFromFile():   MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0000_01CD87A9.F39651B0"   -...

Id #23297 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Sep 5, 2012 at 8:29 AM by gambit47

Indy r4804 Hint message in XE3

[dcc32 Hint] IdGlobal.pas(7150): H2443 Inline function 'ReadTIdBytesFromStream' has not been expanded because unit 'IdStreamVCL' is not specified in USES list.

Id #23294 | Release: None | Updated: Tue at 5:29 AM by jessicabrown | Created: Sep 4, 2012 at 5:38 PM by gambit47

Add OnException event to TIdTelnet

Add OnException event to TIdTelnet so it can report errors to user code.

Id #23160 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Aug 14, 2012 at 2:35 AM by gambit47

Make use of LIBPREFIX and LIBSUFFIX in packages

It is a maintenance nightmare having to maintain separate .dpk files for every individual C++Builder/Delphi version. Starting with C++Builder/Delphi 6, the compiler supports LIBPREFIX and LIBSUFFI...

Id #23140 | Release: Indy 11 | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Aug 8, 2012 at 7:24 AM by gambit47

TIdMBCSEncoding GetByteCount() and GetCharCount() broken when using ICONV

The GetByteCount() and GetCharCount() method of TIdMBCSEncoding are broken when using the ICONV library. Since iconv() does not support calculating a converted string's length without actually con...

Id #23118 | Release: None | Updated: Jun 14, 2013 at 8:50 AM by gambit47 | Created: Aug 2, 2012 at 7:02 PM by gambit47

Deadlock in TIdCmdTCPClient when setting TIdCommand.Disconnect to true

Setting ASender.Disconnect := True in a CommandHandler will cause a deadlock when TIdCommandHandler.DoCommand() calls AContext.Connection.Disconnect(), as TIdCmdTCPClient.Disconnect() will attemp...

Id #22951 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Jun 27, 2012 at 12:21 AM by gambit47

Drop support for pre-2009 versions of Delphi and C++Builder

Drop support for pre-2009 versions of Delphi and C++Builder in favor of going full Unicode only.

Id #22950 | Release: Indy 11 | Updated: Nov 15 at 10:57 PM by gambit47 | Created: Jun 26, 2012 at 9:48 PM by gambit47

Remove DotNet and Kylix support

Remove DotNet and Kylix support

Id #22948 | Release: Indy 11 | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Jun 26, 2012 at 9:00 AM by gambit47

Update TIdHTTP to support streaming decompression

When TIdHTTP downloads compressed data, it currently retreives the entire data into a temporary TMemoryStream before then decompressing it as a whole. For large files, this can lead to out of memor...

Id #22773 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: May 15, 2012 at 9:18 PM by gambit47

Finish updating TIdVCard to support saving vcards

TIdVCard has been updated to make its properties read-write instead of read-only, but TIdVCard still does not support saving vcards, and the TIdVCard.RawForm property is not updated when properties...

Id #22683 | Release: Indy 11 | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: May 3, 2012 at 5:58 PM by gambit47

Update ReadStream() to handle error 10054 when AReadUntilDisconnect is true

When the AReadUntilDisconnect parameter is true, abnormal disconnects should be treated as normal disconnects and not raise an exception. Maybe make it optional with a flag so as not to break exist...

Id #22452 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Mar 29, 2012 at 8:15 AM by gambit47

TIdMessage.LoadFrom...() wastes a lot of memory for big emails when TIdMessage.NoDecode is True.

When a large email, say 150MB, is loaded via TIdMessage.LoadFrom...() with the TIdMessage.NoDecode property set to True, a lot of memory is wasted, up to 3-4x the size of the source data, before Lo...

Id #22428 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Mar 20, 2012 at 3:03 AM by gambit47

Add "#pragma alias" statements for C++

In C++, to avoid various "unresolved external" errors for class methods that have naming conflicts with Win32 API functions (such as TIdTCPClient::SetPort()), Indy should use "#pragma alias" statem...

Id #22165 | Release: None | Updated: Sep 23 at 3:21 AM by gambit47 | Created: Feb 6, 2012 at 7:26 PM by gambit47

ABufferLength parameter of TIdIMAP4.RetreivePartToFile() needs to be a 'var'

The ABufferLength parameter of TIdIMAP4.RetreivePartToFile() is not declared as 'var', but it is declared as 'var' in TIdIMAP4.RetreivePart(). TIdIMAP4.InternalRetreivePart(), which both call inte...

Id #22101 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Jan 24, 2012 at 5:37 PM by gambit47

Re-add TIdSMTPServer.OnCommandAuth event

In Indy 9, TIdSMTPServer had an OnCommandAuth event so users could manually handle authentication if the client sent an AUTH command that specified a scheme other than "LOGIN". This event is missi...

Id #22078 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Jan 18, 2012 at 2:41 AM by gambit47

Wrong year applied to Unix FTP directory listings when year is missing

At the end of the year, if TIdFTP is running in a different timezone than an FTP server that uses Unix style directory listings, and the client's timezone is behind the server's timezone, there is ...

Id #22028 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Jan 5, 2012 at 8:29 PM by gambit47

Update TIdNNTP and TIdNNTPServer to use 64-bit article numbers

According to RFC 3977 Section 6 (http://tools.ietf.org/html/rfc3977#section-6), article numbers can increase until they reach 2,147,483,647, the upper bounds of a 32-bit Integer. While servers are ...

Id #21881 | Release: None | Updated: Jun 14, 2013 at 8:50 AM by gambit47 | Created: Dec 6, 2011 at 6:29 PM by gambit47

Stack corruption with Open Array parameters of overloaded methods in Delphi 5

In Delphi 5, if an overloaded method has an Open Array parameter, stack corruption occurs. Enabling Stack Traces and disabling Optimizations fixes the problem.

Id #21821 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Nov 23, 2011 at 5:24 PM by gambit47

DecodeHeader bug

DecodeHeader('=?utf-8?B?0JDQn9CV0JrQodCe0KTQojog0JfQsNC60LDQtyDQv9GA0LXQ?= =?utf-8?B?t9C10L3RgtCw0YbQuNC4?=') Expected:"АПЕКСОФТ: Заказ презентации" Actual:"АПЕКСОФТ: Заказ пре??ентации"

Id #21770 | Release: Indy 11 | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Nov 11, 2011 at 5:36 AM by gambit47

Memory leak in OpenSSL

Within OpenSSL, error queue data structures are allocated automatically for new threads and must be freed when the thread terminates. Currently, TIdServerIOHandlerSSLOpenSSL does not handle this. ...

Id #21744 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Nov 4, 2011 at 5:57 PM by gambit47

Add option to use Delphi zlib unit (instead of STATICLOAD_ZLIB)

Just like described in http://issuetracker.delphi-jedi.org/view.php?id=5690 IdZLibHeaders could be updated to use the (new) XE2 zlib.pas unit. This could reduce executable size a bit (by preventing...

Id #21688 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by pvanlogchem | Created: Oct 28, 2011 at 10:12 AM by pvanlogchem

Incorrect UIDNEXT after SELECT

After calling TIdIMAP4.SelectMailBox() the value of MailBox.UIDNext is incorrect. Example: After this client/server conversation: C: A142 SELECT INBOXS: * 172 EXISTSS: * 1 RECENTS: * OK [UNSEEN 12]...

Id #21650 | Release: None | Updated: Jun 14, 2013 at 8:50 AM by gambit47 | Created: Oct 18, 2011 at 6:21 AM by gambit47

Change zlib .obj files to use __cdecl instead of __fastcall

Indy's zlib .obj files are compiled to use Delphi's __fastcall calling convention, and Indy's code is written to expect that when static linking (when dynamic loading, it uses the __cdecl calling ...

Id #21613 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Oct 7, 2011 at 8:19 PM by gambit47

ZLib decompression error -5

The following code raises an EDecompressionError exception in TIdCompressorZLib when calling DecompressGZipStream() if the server sends back data that is compressed using the 'gzip' encoding:   Htt...

Id #21276 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Aug 1, 2011 at 8:06 PM by gambit47

ZLib decompression error -3

The following code raises an EDecompressionError exception in TIdCompressorZLib when calling DeCompressStream() if the server sends back data that is compressed using the 'deflate' encoding:   Http...

Id #21268 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Aug 1, 2011 at 5:53 AM by gambit47

Support loading OpenSSL certificate/key data from user-defined memory

Support loading OpenSSL certificate/key data from user-defined memory, not just from files.

Id #21143 | Release: Indy 11 | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Jul 11, 2011 at 9:28 PM by gambit47

Add support for user-defined DLL paths

When dynamically loading DLLs (OpenSSL, etc), allow for users to specify the folders where the DLLs are located. Some apps prefer/need to use custom paths for storing DLLs, and those paths are not...

Id #21142 | Release: Indy 11 | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Jul 11, 2011 at 9:26 PM by gambit47

IdMessageDecoder.ReadLn() corrupts binary data

When TIdMessageDecoderMIME.ReadBody() calls TIdMessageDecoder.ReadLn() to read a binary-encoded line from a non-TCP stream, ReadLn() calls IdGlobal.ReadLnFromStream(), which does not have an ATermi...

Id #20778 | Release: None | Updated: Jun 14, 2013 at 8:50 AM by gambit47 | Created: May 16, 2011 at 5:43 AM by gambit47

Read Timeout in TIdHTTP.Get() under Ubuntu

With Indy10 r4625, TIdHTTP.Get() is raising an EIdReadTimeout exception under Ubuntu, but works perfectly on Windows. The same code worked in Indy 10.2.3.

Id #20570 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Apr 24, 2011 at 7:19 AM by gambit47

5 second delay in TIdHTTP when a redirection reply is received

When TIdHTTP receives a redirection reply, it can delay for 5 seconds before performing the next request.

Id #20563 | Release: None | Updated: Jun 14, 2013 at 8:50 AM by gambit47 | Created: Apr 22, 2011 at 7:33 PM by gambit47

TIdHTTP attempts to redirect on any reply with a "Location" header

Only 3xx replies (other than 304) should perform redirection logic. Any other reply code should not. For instance, Amazon S3 includes a "Location" header in a 200 reply to some of its PUT requests.

Id #20561 | Release: None | Updated: Jun 14, 2013 at 8:50 AM by gambit47 | Created: Apr 22, 2011 at 7:31 PM by gambit47

TIdDateTimeStamp.SetFromTDateTime is one year ahead

Using TIdDateTimeStamp.SetFromTDateTime(), the resulting date is one day, one month and one year ahead. This is because LocalDateTimeToTimeStamp() calls TIdDateTimeStamp.Zero(), which sets day=1, y...

Id #20539 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Apr 18, 2011 at 8:07 PM by gambit47

IdHTTPWebBrowserBridge.pas does not compile in D2010 and earlier

TIdHTTPAppRequest is overriding the TWebRequest.GetRemoteIP() and TWebRequest.GetRawPathInfo() methods, which are new in Delphi XE. They need to be IFDEF'ed so earlier versions will ignore them.

Id #20528 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Apr 16, 2011 at 6:43 AM by gambit47

TIdHTTPResponseInfo.SmartServeFile() sends wrong Date

In the TIdHTTPResponseInfo.SmartServeFile() method, the "Date" header is set to the file timestamp but if you read the specs the "Date" header should have the current timestamp:http://www.w3.org/Pr...

Id #20445 | Release: None | Updated: Jun 14, 2013 at 8:50 AM by gambit47 | Created: Apr 7, 2011 at 6:36 PM by gambit47

Endless loop in TIdZLibCompressorBase.DecompressGZipStream()

Certain URLs using GZIP cause an endless loop in TIdZLibCompressorBase.DecompressGZipStream() if end-of-stream is reached prematurely while reading null-terminated strings. The return value of TId...

Id #20437 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Apr 7, 2011 at 2:12 AM by gambit47

ERangeError in MakeXAUTKey

When range checking is on, an ERangeError can occur in MakeXAUTKey() of IdFTPCommon.pas. This is because Random() returns an Integer but the function Result is a Cardinal, causing negative numbers...

Id #20362 | Release: None | Updated: Jun 14, 2013 at 8:50 AM by gambit47 | Created: Mar 30, 2011 at 8:37 PM by gambit47

TIdSMTPServer incorrectly clears user credentials during a RSET

The RSET command (and similarly, HELO/EHLO after starting a session, and QUIT) is supposed to only abort the current mail transaction (if one is active) and clear its buffers and states, otherwise ...

Id #20310 | Release: None | Updated: Jun 14, 2013 at 8:50 AM by gambit47 | Created: Mar 23, 2011 at 9:15 PM by gambit47

TIdNNTPServer needs to use UseTLS property

TIdNNTPServer currently defined its own ImplicitTLS properrty. It needs to use the UseTLS property that is inherited from TIdExplicitTLSServer instead.

Id #20277 | Release: None | Updated: Jun 14, 2013 at 8:50 AM by gambit47 | Created: Mar 20, 2011 at 9:26 AM by gambit47

TIdFTPServer does not allow non-TLS and TLS clients to co-exist

TIdSMTPServers allows TLS and non-TLS clients to coexist at the same time on different ports, ie non-TLS on port 25 and TLS on port 587. Users can enable/disable TLS in the OnConnect event as need...

Id #20276 | Release: None | Updated: Feb 13, 2013 at 11:09 PM by gambit47 | Created: Mar 20, 2011 at 8:46 AM by gambit47

TIdPOP3Server does not allow non-TLS and TLS clients to co-exist

TIdSMTPServers allows TLS and non-TLS clients to coexist at the same time on different ports, ie non-TLS on port 25 and TLS on port 587. Users can enable/disable TLS in the OnConnect event as need...

Id #20275 | Release: None | Updated: Jun 14, 2013 at 8:50 AM by gambit47 | Created: Mar 20, 2011 at 7:29 AM by gambit47

Update IPv6 handling to support Scope IDs

Update IPv6 handling to support Scope IDs

Id #19972 | Release: Indy 11 | Updated: Feb 13, 2013 at 11:10 PM by gambit47 | Created: Feb 10, 2011 at 12:37 AM by gambit47

Update TIdStack.IsIP() to support IPv6 addresses

Update TIdStack.IsIP() to support IPv6 addresses

Id #19971 | Release: None | Updated: Feb 13, 2013 at 11:10 PM by gambit47 | Created: Feb 10, 2011 at 12:36 AM by gambit47

Publish ConnectTimeout property in TIdFTP

Publish ConnectTimeout property in TIdFTP

Id #19915 | Release: None | Updated: Feb 13, 2013 at 11:10 PM by gambit47 | Created: Feb 5, 2011 at 9:17 AM by gambit47

InterlockedCompareExchange() missing on Windows versions prior to Win2k

Indy uses the InterlockedCompareExchange() function inside of the TIdTextEncoding class, however that function is missing from kernel32.dll on Windows versions prior to Win2k, so apps will not run ...

Id #19825 | Release: None | Updated: Feb 13, 2013 at 11:10 PM by gambit47 | Created: Jan 27, 2011 at 9:07 AM by gambit47

Update IdCompilerDefines.inc to utilize ConditionalExpressions

Rewrite IdCompilerDefines.inc to utilize ConditionalExpressions for Delphi/C++Builder 6 onwards.

Id #19679 | Release: Indy 11 | Updated: Feb 13, 2013 at 11:10 PM by gambit47 | Created: Jan 13, 2011 at 5:44 AM by gambit47

Update TIdIMAP4 to support the IDLE command

The IDLE command (http://www.ietf.org/rfc/rfc2177.txt) allows the server to push real-time message notifications to the client, instead of having the client poll the server for changes periodically...

Id #19628 | Release: Indy 11 | Updated: Feb 13, 2013 at 11:10 PM by gambit47 | Created: Jan 9, 2011 at 6:29 AM by gambit47

Support new SysUtils.TEncoding CodePage and EncodingName properties introduced in XE

When comparing two TIdTextEncoding objects, Indy should utilize the new CodePage and EncodingName properties that were introduced in the SysUtils.TEncoding class in XE, and backport them to older v...

Id #19573 | Release: None | Updated: Feb 13, 2013 at 11:10 PM by gambit47 | Created: Jan 5, 2011 at 8:29 PM by gambit47

Add XMPP implementations

Add XMPP implementations. This could bring push based services to Delphi applications to integrate with existing enterprise software systems (instead of frequent polling).

Id #19529 | Release: Indy 11 | Updated: Feb 13, 2013 at 11:10 PM by gambit47 | Created: Jan 3, 2011 at 9:32 AM by gambit47

Add RFC 4918 (WebDAV) server implementation

Add RFC 4918 (WebDAV) server implementation.

Id #19528 | Release: Indy 11 | Updated: Feb 13, 2013 at 11:10 PM by gambit47 | Created: Jan 3, 2011 at 9:31 AM by gambit47

Add Exchange (or Notes) API support

Add Exchange (or Notes) API support

Id #19527 | Release: Indy 11 | Updated: Feb 13, 2013 at 11:10 PM by gambit47 | Created: Jan 3, 2011 at 9:29 AM by gambit47

Add social networking clients

Facebook and Twitter are very popular protocols. Add new client components for accessing them.

Id #19504 | Release: Indy 11 | Updated: Feb 13, 2013 at 11:10 PM by gambit47 | Created: Jan 1, 2011 at 6:54 AM by gambit47

Code commenting fails in Lazarus

Reported by project member gambit47, Today (moments ago) Indy source sometimes contain comments like   { end; Result := Result + Sys.Format('%.2x', [Byte(EVP_MD.MD[I])]); {do not localize}   ...

Id #19435 | Release: None | Updated: Feb 13, 2013 at 11:10 PM by gambit47 | Created: Dec 24, 2010 at 5:18 PM by gambit47

Malformed email cannot be parsed correctly

The attached email contains an extra erroneous MIME part whose boundary that not actually being used in the body data, causing TIdMessage's parser to generate the wrong TIdMessageParts content. If...

Id #19227 | Release: None | Updated: Feb 13, 2013 at 11:10 PM by gambit47 | Created: Dec 4, 2010 at 1:13 AM by gambit47