This project has moved and is read-only. For the latest updates, please go here.


SASL is broken in TIdIMAP4


When the TIdIMAP4.AuthType property is set to iatSASL, the AUTHENTICATE command is not formatted correctly so IMAP servers reject it. This is because TIdSASLCollection.LoginSASL() uses the TIdTCPConnection.SendCmd() method to send commands and read responses, but TIdIMAP4 does not override TIdTCPConnection.SendCmd() or TIdTCPConnection.Get(Internal)Response(). It reintroduces its own custom implementations instead that TIdSASLCollection does not call at all. So TIdIMAP4 needs to be changed to either override the TIdTCPConnection methods instead of reintroducing its own methods, or else to send the AUTHENTICATE command directly and not use the TIdSASLCollection.LoginSASL() method anymore.
Closed Jul 18, 2013 at 5:30 PM by gambit47
Implemented in rev 4930 and patched in rev 4961.