From 92f7606f29b70451b2f7c5a033459b895055856c Mon Sep 17 00:00:00 2001 From: Steve Holme Date: Sat, 9 Feb 2013 19:01:15 +0000 Subject: [PATCH] smtp: Fixed an issue when processing EHLO failure responses (Part 3) Follow up fix to commit 62bd21746443 to cater for servers that don't respond with a 250 in their EHLO responses. Additionally updated the SMTP tests to respond with a 250 response code as per RFC5321. --- lib/smtp.c | 2 +- tests/data/test805 | 2 +- tests/data/test806 | 2 +- tests/data/test807 | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/smtp.c b/lib/smtp.c index fd8d71226..dd08575be 100644 --- a/lib/smtp.c +++ b/lib/smtp.c @@ -224,7 +224,7 @@ static int smtp_endofresp(struct pingpong *pp, int *resp) *resp = curlx_sltosi(strtol(line, NULL, 10)); /* Are we processing EHLO command data? */ - if(smtpc->state == SMTP_EHLO && (!result || (result && *resp == 250))) { + if(smtpc->state == SMTP_EHLO && (!result || (result && *resp/100 == 2))) { line += 4; len -= 4; diff --git a/tests/data/test805 b/tests/data/test805 index 4595221c9..d124e40e7 100644 --- a/tests/data/test805 +++ b/tests/data/test805 @@ -12,7 +12,7 @@ RFC4954 # Server-side -REPLY EHLO 220 AUTH PLAIN +REPLY EHLO 250 AUTH PLAIN REPLY AUTH 235 Authenticated diff --git a/tests/data/test806 b/tests/data/test806 index b71ac5cce..9d1c98814 100644 --- a/tests/data/test806 +++ b/tests/data/test806 @@ -11,7 +11,7 @@ RFC4954 # Server-side -REPLY EHLO 220 AUTH LOGIN +REPLY EHLO 250 AUTH LOGIN REPLY AUTH 334 UGFzc3dvcmQ6 REPLY MTIzNA== 235 Authenticated diff --git a/tests/data/test807 b/tests/data/test807 index d171ffabc..4165a1553 100644 --- a/tests/data/test807 +++ b/tests/data/test807 @@ -12,7 +12,7 @@ RFC4954 # Server-side -REPLY EHLO 220 AUTH CRAM-MD5 +REPLY EHLO 250 AUTH CRAM-MD5 REPLY AUTH 334 PDE4OTYuNjk3MTcwOTUyQHBvc3RvZmZpY2UucmVzdG9uLm1jaS5uZXQ+ REPLY dGltIGI5MTNhNjAyYzdlZGE3YTQ5NWI0ZTZlNzMzNGQzODkw 235 Authenticated