Loading lib/pop3.c +34 −13 Original line number Diff line number Diff line Loading @@ -572,6 +572,39 @@ static CURLcode pop3_perform_apop(struct connectdata *conn) } #endif /*********************************************************************** * * pop3_perform_auth() * * Sends an AUTH command allowing the client to login with the given SASL * authentication mechanism. */ static CURLcode pop3_perform_auth(struct connectdata *conn, const char *mech, const char *initresp, size_t len, pop3state state1, pop3state state2) { CURLcode result = CURLE_OK; struct pop3_conn *pop3c = &conn->proto.pop3c; if(initresp && 8 + strlen(mech) + len <= 255) { /* AUTH <mech> ...<crlf> */ /* Send the AUTH command with the initial response */ result = Curl_pp_sendf(&pop3c->pp, "AUTH %s %s", mech, initresp); if(!result) state(conn, state2); } else { /* Send the AUTH command */ result = Curl_pp_sendf(&pop3c->pp, "AUTH %s", mech); if(!result) state(conn, state1); } return result; } /*********************************************************************** * * pop3_perform_authentication() Loading Loading @@ -673,19 +706,7 @@ static CURLcode pop3_perform_authentication(struct connectdata *conn) if(!result) { if(mech && (pop3c->preftype & POP3_TYPE_SASL)) { /* Perform SASL based authentication */ if(initresp && 8 + strlen(mech) + len <= 255) { /* AUTH <mech> ...<crlf> */ result = Curl_pp_sendf(&pop3c->pp, "AUTH %s %s", mech, initresp); if(!result) state(conn, state2); } else { result = Curl_pp_sendf(&pop3c->pp, "AUTH %s", mech); if(!result) state(conn, state1); } result = pop3_perform_auth(conn, mech, initresp, len, state1, state2); Curl_safefree(initresp); } Loading Loading
lib/pop3.c +34 −13 Original line number Diff line number Diff line Loading @@ -572,6 +572,39 @@ static CURLcode pop3_perform_apop(struct connectdata *conn) } #endif /*********************************************************************** * * pop3_perform_auth() * * Sends an AUTH command allowing the client to login with the given SASL * authentication mechanism. */ static CURLcode pop3_perform_auth(struct connectdata *conn, const char *mech, const char *initresp, size_t len, pop3state state1, pop3state state2) { CURLcode result = CURLE_OK; struct pop3_conn *pop3c = &conn->proto.pop3c; if(initresp && 8 + strlen(mech) + len <= 255) { /* AUTH <mech> ...<crlf> */ /* Send the AUTH command with the initial response */ result = Curl_pp_sendf(&pop3c->pp, "AUTH %s %s", mech, initresp); if(!result) state(conn, state2); } else { /* Send the AUTH command */ result = Curl_pp_sendf(&pop3c->pp, "AUTH %s", mech); if(!result) state(conn, state1); } return result; } /*********************************************************************** * * pop3_perform_authentication() Loading Loading @@ -673,19 +706,7 @@ static CURLcode pop3_perform_authentication(struct connectdata *conn) if(!result) { if(mech && (pop3c->preftype & POP3_TYPE_SASL)) { /* Perform SASL based authentication */ if(initresp && 8 + strlen(mech) + len <= 255) { /* AUTH <mech> ...<crlf> */ result = Curl_pp_sendf(&pop3c->pp, "AUTH %s %s", mech, initresp); if(!result) state(conn, state2); } else { result = Curl_pp_sendf(&pop3c->pp, "AUTH %s", mech); if(!result) state(conn, state1); } result = pop3_perform_auth(conn, mech, initresp, len, state1, state2); Curl_safefree(initresp); } Loading