imapauth: Follow RFC more closely
The IMAP RFC allows the server to announce its capabilities before replying to
the LOGIN command. imapauth would misinterpret that as a failed login.
The fix is to only handle lines which contain the tag ("AUTH") used for the
login command.
Thanks to rlpowell for reporting that imapauth doesn't work against
imap.google.com and for testing the fix.
Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
1 parent
90896da6a7
commit
38b64c65ce
1 file changed
+1
-1
@@ -134,7 +134,7 @@ void CIMAPSock::ReadLine(const CString& sLine) {
|
||||
}
|
||||
|
||||
Write("AUTH LOGIN " + sUsername + " " + m_spAuth->GetPassword() + "\r\n");
|
||||
} else {
|
||||
} else if (sLine.Left(5) == "AUTH ") {
|
||||
CUser* pUser = CZNC::Get().FindUser(m_spAuth->GetUsername());
|
||||
|
||||
if (pUser && sLine.Equals("AUTH OK", false, 7)) {
|
||||
|
||||
Reference in new issue
Block a user