curl: Added support for --mail-auth
authorSteve Holme <steve_holme@hotmail.com>
Thu, 16 Feb 2012 12:19:47 +0000 (13:19 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 16 Feb 2012 12:19:47 +0000 (13:19 +0100)
Added an extra command-line argument to support the optional AUTH
parameter in SMTPs MAIL FROM command.

src/tool_cfgable.c
src/tool_cfgable.h
src/tool_getparam.c
src/tool_help.c
src/tool_operate.c

index 2c05c2e..98342c4 100644 (file)
@@ -60,8 +60,10 @@ void free_config_fields(struct Configurable *config)
   Curl_safefree(config->proxy);
 
   Curl_safefree(config->noproxy);
+
   Curl_safefree(config->mail_from);
   curl_slist_free_all(config->mail_rcpt);
+  Curl_safefree(config->mail_auth);
 
   Curl_safefree(config->netrc_file);
 
index 6e66191..38a71d3 100644 (file)
@@ -77,6 +77,7 @@ struct Configurable {
   char *noproxy;
   char *mail_from;
   struct curl_slist *mail_rcpt;
+  char *mail_auth;
   bool proxytunnel;
   bool ftp_append;          /* APPE on ftp */
   bool mute;                /* don't show messages, --silent given */
index 50450c2..4fe2a64 100644 (file)
@@ -170,6 +170,7 @@ static const struct LongShort aliases[]= {
   {"$E", "proto-redir",              TRUE},
   {"$F", "resolve",                  TRUE},
   {"$G", "delegation",               TRUE},
+  {"$H", "mail-auth",                TRUE},
   {"0",  "http1.0",                  FALSE},
   {"1",  "tlsv1",                    FALSE},
   {"2",  "sslv2",                    FALSE},
@@ -813,6 +814,9 @@ ParameterError getparameter(char *flag,    /* f or -long-flag */
       case 'G': /* --delegation LEVEL */
         config->gssapi_delegation = delegation(config, nextarg);
         break;
+      case 'H': /* --mail-auth */
+        GetStr(&config->mail_auth, nextarg);
+        break;
       }
       break;
     case '#': /* --progress-bar */
index 222af42..31ef1d2 100644 (file)
@@ -121,6 +121,7 @@ static const char *const helptext[] = {
   " -M, --manual        Display the full manual",
   "     --mail-from FROM  Mail from this address",
   "     --mail-rcpt TO  Mail to this receiver(s)",
+  "     --mail-auth AUTH  Originator address of the original email",
   "     --max-filesize BYTES  Maximum file size to download (H/F)",
   "     --max-redirs NUM  Maximum number of redirects allowed (H)",
   " -m, --max-time SECONDS  Maximum time allowed for the transfer",
index 53da5f3..3e496bf 100644 (file)
@@ -1240,6 +1240,9 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[])
         if(config->ssl_allow_beast)
           my_setopt(curl, CURLOPT_SSL_OPTIONS, (long)CURLSSLOPT_ALLOW_BEAST);
 
+        if(config->mail_auth)
+          my_setopt_str(curl, CURLOPT_MAIL_AUTH, config->mail_auth);
+
         /* initialize retry vars for loop below */
         retry_sleep_default = (config->retry_delay) ?
           config->retry_delay*1000L : RETRY_SLEEP_DEFAULT; /* ms */