smtp: Fixed space being sent in non --mail-rcpt based requests

Commands such as NOOP, RSET and HELP would be sent with a space at the
end of the command, for example: "NOOP ".
This commit is contained in:
Steve Holme 2013-11-17 16:39:02 +00:00
parent 2165298fe6
commit 8191800a0c

View File

@ -563,16 +563,16 @@ static CURLcode smtp_perform_command(struct connectdata *conn)
struct SessionHandle *data = conn->data; struct SessionHandle *data = conn->data;
struct SMTP *smtp = data->req.protop; struct SMTP *smtp = data->req.protop;
if(smtp->custom && smtp->custom[0] != '\0') /* Send the command */
/* Send the custom command */ if(smtp->rcpt)
result = Curl_pp_sendf(&conn->proto.smtpc.pp, "%s %s", smtp->custom, result = Curl_pp_sendf(&conn->proto.smtpc.pp, "%s %s",
smtp->rcpt ? smtp->rcpt->data : ""); smtp->custom && smtp->custom[0] != '\0' ?
else if(smtp->rcpt) smtp->custom : "VRFY",
/* Send the VRFY command */ smtp->rcpt->data);
result = Curl_pp_sendf(&conn->proto.smtpc.pp, "VRFY %s", smtp->rcpt->data);
else else
/* Send the HELP command */ result = Curl_pp_sendf(&conn->proto.smtpc.pp, "%s",
result = Curl_pp_sendf(&conn->proto.smtpc.pp, "%s", "HELP"); smtp->custom && smtp->custom[0] != '\0' ?
smtp->custom : "HELP");
if(!result) if(!result)
state(conn, SMTP_COMMAND); state(conn, SMTP_COMMAND);