]> granicus.if.org Git - curl/commitdiff
imap: Fixed incorrect initial response generation for SASL AUTHENTICATE
authorSteve Holme <steve_holme@hotmail.com>
Sun, 17 Mar 2013 00:20:42 +0000 (00:20 +0000)
committerSteve Holme <steve_holme@hotmail.com>
Sun, 17 Mar 2013 00:20:42 +0000 (00:20 +0000)
Fixed incorrect initial response generation for the NTLM and LOGIN SASL
authentication mechanisms when the SASL-IR was detected.

Introduced in commit: 6da7dc026c14.

lib/imap.c

index 25067c7b9558cb1f104711d4b5d888f9cb0d7913..f5bd0fba4d0e0e76b9b980b45756b880a9cc81af 100644 (file)
@@ -673,8 +673,9 @@ static CURLcode imap_perform_authenticate(struct connectdata *conn)
     imapc->authused = SASL_MECH_NTLM;
 
     if(imapc->ir_supported)
-      result = Curl_sasl_create_login_message(conn->data, conn->user,
-                                              &initresp, &len);
+      result = Curl_sasl_create_ntlm_type1_message(conn->user, conn->passwd,
+                                                   &conn->ntlm,
+                                                   &initresp, &len);
   }
   else
 #endif
@@ -685,8 +686,8 @@ static CURLcode imap_perform_authenticate(struct connectdata *conn)
     imapc->authused = SASL_MECH_LOGIN;
 
     if(imapc->ir_supported)
-      result = Curl_sasl_create_plain_message(conn->data, conn->user,
-                                              conn->passwd, &initresp, &len);
+      result = Curl_sasl_create_login_message(conn->data, conn->user,
+                                              &initresp, &len);
   }
   else if(imapc->authmechs & SASL_MECH_PLAIN) {
     mech = "PLAIN";
@@ -703,8 +704,8 @@ static CURLcode imap_perform_authenticate(struct connectdata *conn)
     return result;
 
   if(mech) {
+    /* Perform SASL based authentication */
     if(initresp) {
-      /* Perform SASL based authentication */
       result = imap_sendf(conn, "AUTHENTICATE %s %s", mech, initresp);
 
       if(!result)