Commit a053560c authored by Steve Holme's avatar Steve Holme Committed by Daniel Stenberg
Browse files

curl: Added support for --mail-auth

Added an extra command-line argument to support the optional AUTH
parameter in SMTPs MAIL FROM command.
parent 674699b2
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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);

+1 −0
Original line number Diff line number Diff line
@@ -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 */
+4 −0
Original line number Diff line number Diff line
@@ -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 */
+1 −0
Original line number Diff line number Diff line
@@ -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",
+3 −0
Original line number Diff line number Diff line
@@ -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 */