6.0.0-beta1
7/6/25

[#12817] IMAP_Client_Socket tries to do SASL PLAIN auth on non-SASL account
Summary IMAP_Client_Socket tries to do SASL PLAIN auth on non-SASL account
Queue Horde Framework Packages
Queue Version Git master
Type Bug
State Resolved
Priority 1. Low
Owners slusarz (at) horde (dot) org
Requester baohx2000 (at) gmail (dot) com
Created 11/03/2013 (4263 days ago)
Due
Updated 11/03/2013 (4263 days ago)
Assigned 11/03/2013 (4263 days ago)
Resolved 11/03/2013 (4263 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
11/03/2013 10:18:28 PM Michael Slusarz Comment #4
Assigned to Michael Slusarz
State ⇒ Resolved
Reply to this comment
Horde_Imap_Client 2.16.1.
11/03/2013 10:18:13 PM Git Commit Comment #3 Reply to this comment
Changes have been made in Git (master):

commit a56be441a77b72ddc970cfcec6de6efb3511cc37
Author: Michael M Slusarz <slusarz@horde.org>
Date:   Sun Nov 3 14:54:49 2013 -0700

     [mms] Workaround broken IMAP servers that don't support the 
required AUTH=PLAIN authentication method (Bug #12817).

  .../Imap_Client/lib/Horde/Imap/Client/Socket.php   |   20 
++++++++++++++------
  framework/Imap_Client/package.xml                  |    4 ++--
  2 files changed, 16 insertions(+), 8 deletions(-)

http://git.horde.org/horde-git/-/commit/a56be441a77b72ddc970cfcec6de6efb3511cc37
11/03/2013 09:51:02 PM Michael Slusarz Comment #2
Priority ⇒ 1. Low
State ⇒ Feedback
Reply to this comment
This is incorrect.  From RFC 3501:

       In addition, client and server implementations MUST implement the
       STARTTLS, LOGINDISABLED, and AUTH=PLAIN (described in [IMAP-TLS])
       capabilities.

Godaddy is using a non-RFC compliant IMAP server, if it is not 
supporting the SASL PLAIN authentication method.

So we need to code to workaround a broken server like this.
11/03/2013 09:00:44 AM baohx2000 (at) gmail (dot) com Comment #1
Priority ⇒ 2. Medium
Type ⇒ Bug
Summary ⇒ IMAP_Client_Socket tries to do SASL PLAIN auth on non-SASL account
Queue ⇒ Horde Framework Packages
Milestone ⇒
Patch ⇒ No
State ⇒ Unconfirmed
Reply to this comment
An example of this kind of account is godaddy.
To confirm, try to login to a godaddy-hosted imap account (you need to 
upgrade from the free account to use imap).  You will receive "error 
in initialization - 001."

To confirm, comment out lines near 430 of Socket.php containing:
             if ($this->isSecureConnection()) {
                 $auth_mech[] = 'PLAIN';
                 unset($auth['PLAIN']);
             }

Try to login again and it will succeed.

Saved Queries