curl: --sasl-authzid added to support CURLOPT_SASL_AUTHZID from the tool

This commit is contained in:
Steve Holme 2019-04-19 14:26:47 +01:00
parent a14d72ca2f
commit a9499ff136
No known key found for this signature in database
GPG key ID: 4059CB85CA7E8F19
14 changed files with 358 additions and 4 deletions

View file

@ -133,6 +133,7 @@ static void free_config_fields(struct OperationConfig *config)
Curl_safefree(config->krblevel);
Curl_safefree(config->oauth_bearer);
Curl_safefree(config->sasl_authzid);
Curl_safefree(config->unix_socket_path);
Curl_safefree(config->writeout);

View file

@ -97,6 +97,7 @@ struct OperationConfig {
char *mail_from;
struct curl_slist *mail_rcpt;
char *mail_auth;
char *sasl_authzid; /* Authorisation identity (identity to use) */
bool sasl_ir; /* Enable/disable SASL initial response */
bool proxytunnel;
bool ftp_append; /* APPE on ftp */

View file

@ -177,7 +177,8 @@ static const struct LongShort aliases[]= {
{"$H", "mail-auth", ARG_STRING},
{"$I", "post303", ARG_BOOL},
{"$J", "metalink", ARG_BOOL},
{"$K", "sasl-ir", ARG_BOOL},
{"$6", "sasl-authzid", ARG_STRING},
{"$K", "sasl-ir", ARG_BOOL },
{"$L", "test-event", ARG_BOOL},
{"$M", "unix-socket", ARG_FILENAME},
{"$N", "path-as-is", ARG_BOOL},
@ -1099,6 +1100,9 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
#endif
break;
}
case '6': /* --sasl-authzid */
GetStr(&config->sasl_authzid, nextarg);
break;
case 'K': /* --sasl-ir */
config->sasl_ir = toggle;
break;

View file

@ -385,6 +385,8 @@ static const struct helptxt helptext[] = {
"Wait time between retries"},
{" --retry-max-time <seconds>",
"Retry only within this period"},
{" --sasl-authzid <identity> ",
"Use this identity to act as during SASL PLAIN authentication"},
{" --sasl-ir",
"Enable initial response in SASL authentication"},
{" --service-name <name>",

View file

@ -1501,6 +1501,10 @@ static CURLcode operate_do(struct GlobalConfig *global,
if(config->mail_auth)
my_setopt_str(curl, CURLOPT_MAIL_AUTH, config->mail_auth);
/* new in 7.66.0 */
if(config->sasl_authzid)
my_setopt_str(curl, CURLOPT_SASL_AUTHZID, config->sasl_authzid);
/* new in 7.31.0 */
if(config->sasl_ir)
my_setopt(curl, CURLOPT_SASL_IR, 1L);
@ -1524,6 +1528,7 @@ static CURLcode operate_do(struct GlobalConfig *global,
config->unix_socket_path);
}
}
/* new in 7.45.0 */
if(config->proto_default)
my_setopt_str(curl, CURLOPT_DEFAULT_PROTOCOL, config->proto_default);