curl: Added support for --mail-auth
Added an extra command-line argument to support the optional AUTH parameter in SMTPs MAIL FROM command.
This commit is contained in:
committed by
Daniel Stenberg
parent
674699b212
commit
a053560cfa
@@ -60,8 +60,10 @@ void free_config_fields(struct Configurable *config)
|
|||||||
Curl_safefree(config->proxy);
|
Curl_safefree(config->proxy);
|
||||||
|
|
||||||
Curl_safefree(config->noproxy);
|
Curl_safefree(config->noproxy);
|
||||||
|
|
||||||
Curl_safefree(config->mail_from);
|
Curl_safefree(config->mail_from);
|
||||||
curl_slist_free_all(config->mail_rcpt);
|
curl_slist_free_all(config->mail_rcpt);
|
||||||
|
Curl_safefree(config->mail_auth);
|
||||||
|
|
||||||
Curl_safefree(config->netrc_file);
|
Curl_safefree(config->netrc_file);
|
||||||
|
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ struct Configurable {
|
|||||||
char *noproxy;
|
char *noproxy;
|
||||||
char *mail_from;
|
char *mail_from;
|
||||||
struct curl_slist *mail_rcpt;
|
struct curl_slist *mail_rcpt;
|
||||||
|
char *mail_auth;
|
||||||
bool proxytunnel;
|
bool proxytunnel;
|
||||||
bool ftp_append; /* APPE on ftp */
|
bool ftp_append; /* APPE on ftp */
|
||||||
bool mute; /* don't show messages, --silent given */
|
bool mute; /* don't show messages, --silent given */
|
||||||
|
|||||||
@@ -170,6 +170,7 @@ static const struct LongShort aliases[]= {
|
|||||||
{"$E", "proto-redir", TRUE},
|
{"$E", "proto-redir", TRUE},
|
||||||
{"$F", "resolve", TRUE},
|
{"$F", "resolve", TRUE},
|
||||||
{"$G", "delegation", TRUE},
|
{"$G", "delegation", TRUE},
|
||||||
|
{"$H", "mail-auth", TRUE},
|
||||||
{"0", "http1.0", FALSE},
|
{"0", "http1.0", FALSE},
|
||||||
{"1", "tlsv1", FALSE},
|
{"1", "tlsv1", FALSE},
|
||||||
{"2", "sslv2", FALSE},
|
{"2", "sslv2", FALSE},
|
||||||
@@ -813,6 +814,9 @@ ParameterError getparameter(char *flag, /* f or -long-flag */
|
|||||||
case 'G': /* --delegation LEVEL */
|
case 'G': /* --delegation LEVEL */
|
||||||
config->gssapi_delegation = delegation(config, nextarg);
|
config->gssapi_delegation = delegation(config, nextarg);
|
||||||
break;
|
break;
|
||||||
|
case 'H': /* --mail-auth */
|
||||||
|
GetStr(&config->mail_auth, nextarg);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case '#': /* --progress-bar */
|
case '#': /* --progress-bar */
|
||||||
|
|||||||
@@ -121,6 +121,7 @@ static const char *const helptext[] = {
|
|||||||
" -M, --manual Display the full manual",
|
" -M, --manual Display the full manual",
|
||||||
" --mail-from FROM Mail from this address",
|
" --mail-from FROM Mail from this address",
|
||||||
" --mail-rcpt TO Mail to this receiver(s)",
|
" --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-filesize BYTES Maximum file size to download (H/F)",
|
||||||
" --max-redirs NUM Maximum number of redirects allowed (H)",
|
" --max-redirs NUM Maximum number of redirects allowed (H)",
|
||||||
" -m, --max-time SECONDS Maximum time allowed for the transfer",
|
" -m, --max-time SECONDS Maximum time allowed for the transfer",
|
||||||
|
|||||||
@@ -1240,6 +1240,9 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[])
|
|||||||
if(config->ssl_allow_beast)
|
if(config->ssl_allow_beast)
|
||||||
my_setopt(curl, CURLOPT_SSL_OPTIONS, (long)CURLSSLOPT_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 */
|
/* initialize retry vars for loop below */
|
||||||
retry_sleep_default = (config->retry_delay) ?
|
retry_sleep_default = (config->retry_delay) ?
|
||||||
config->retry_delay*1000L : RETRY_SLEEP_DEFAULT; /* ms */
|
config->retry_delay*1000L : RETRY_SLEEP_DEFAULT; /* ms */
|
||||||
|
|||||||
Reference in New Issue
Block a user