]> granicus.if.org Git - curl/commitdiff
smtp: Fixed space being sent in non --mail-rcpt based requests
authorSteve Holme <steve_holme@hotmail.com>
Sun, 17 Nov 2013 16:39:02 +0000 (16:39 +0000)
committerSteve Holme <steve_holme@hotmail.com>
Sun, 17 Nov 2013 16:39:02 +0000 (16:39 +0000)
Commands such as NOOP, RSET and HELP would be sent with a space at the
end of the command, for example: "NOOP ".

lib/smtp.c

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