aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/smtp.c21
1 files changed, 7 insertions, 14 deletions
diff --git a/lib/smtp.c b/lib/smtp.c
index d2b02bd62..f202fd6a7 100644
--- a/lib/smtp.c
+++ b/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);
}
}