pop3: Fixed SASL authentication capability detection
authorSteve Holme <steve_holme@hotmail.com>
Sat, 9 Feb 2013 17:17:02 +0000 (17:17 +0000)
committerSteve Holme <steve_holme@hotmail.com>
Sat, 9 Feb 2013 17:17:02 +0000 (17:17 +0000)
Fixed the SASL capability detection to include the space character
before the authentication mechanism list. Otherwise a capability such
as SASLSOMETHING would be interpreted as enabling SASL and potentially
trying to identify SOMETHING as a mechanism.

lib/pop3.c

index a29b96f..8c2c9bb 100644 (file)
@@ -269,12 +269,12 @@ static int pop3_endofresp(struct pingpong *pp, int *resp)
       pop3c->authtypes |= POP3_TYPE_APOP;
 
     /* Does the server support SASL based authentication? */
-    else if(len >= 4 && !memcmp(line, "SASL", 4)) {
+    else if(len >= 5 && !memcmp(line, "SASL ", 5)) {
       pop3c->authtypes |= POP3_TYPE_SASL;
 
       /* Advance past the SASL keyword */
-      line += 4;
-      len -= 4;
+      line += 5;
+      len -= 5;
 
       /* Loop through the data line */
       for(;;) {