mirror of
https://github.com/moparisthebest/curl
synced 2025-02-28 17:31:46 -05:00
smtp.c: Reworked message encoding in smtp_state_authpasswd_resp()
Rather than encoding the password message itself the smtp_state_authpasswd_resp() function now delegates the work to the same function that smtp_state_authlogin_resp() and smtp_authenticate() use when constructing the encoded user name.
This commit is contained in:
parent
f86432b119
commit
cb3d0ce2cb
21
lib/smtp.c
21
lib/smtp.c
@ -708,7 +708,6 @@ static CURLcode smtp_state_authpasswd_resp(struct connectdata *conn,
|
||||
{
|
||||
CURLcode result = CURLE_OK;
|
||||
struct SessionHandle *data = conn->data;
|
||||
size_t plen;
|
||||
size_t len = 0;
|
||||
char *authpasswd = NULL;
|
||||
|
||||
@ -719,22 +718,16 @@ static CURLcode smtp_state_authpasswd_resp(struct connectdata *conn,
|
||||
result = CURLE_LOGIN_DENIED;
|
||||
}
|
||||
else {
|
||||
plen = strlen(conn->passwd);
|
||||
result = smtp_auth_login(conn, conn->passwd, &authpasswd, &len);
|
||||
|
||||
if(!plen)
|
||||
result = Curl_pp_sendf(&conn->proto.smtpc.pp, "=");
|
||||
else {
|
||||
result = Curl_base64_encode(data, conn->passwd, plen, &authpasswd, &len);
|
||||
if(!result) {
|
||||
if(authpasswd) {
|
||||
result = Curl_pp_sendf(&conn->proto.smtpc.pp, "%s", authpasswd);
|
||||
|
||||
if(!result) {
|
||||
if(authpasswd) {
|
||||
result = Curl_pp_sendf(&conn->proto.smtpc.pp, "%s", authpasswd);
|
||||
|
||||
if(!result)
|
||||
state(conn, SMTP_AUTH);
|
||||
}
|
||||
Curl_safefree(authpasswd);
|
||||
if(!result)
|
||||
state(conn, SMTP_AUTH);
|
||||
}
|
||||
Curl_safefree(authpasswd);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user