aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSteve Holme <steve_holme@hotmail.com>2013-08-25 22:32:34 +0100
committerSteve Holme <steve_holme@hotmail.com>2013-08-27 15:31:21 +0100
commit3c929ff9f6ea328f304c04ab4214dc879cea4638 (patch)
tree5147d23d230b3f55c589e57b7e5a5ff0d9bc2fd3 /src
parent9d957294cb0e6c2b65f249ffeb62c94b679a5ede (diff)
curl: Moved check for password out of get parameter loop
Moved the calls to checkpasswd() out of the getparameter() function which allows for any related arguments to be specified on the command line before or after --user (and --proxy-user). For example: --bearer doesn't need to be specified before --user to prevent curl from asking for an unnecessary password as is the case with commit e7dcc454c67a2f.
Diffstat (limited to 'src')
-rw-r--r--src/tool_getparam.c10
-rw-r--r--src/tool_operate.c12
2 files changed, 13 insertions, 9 deletions
diff --git a/src/tool_getparam.c b/src/tool_getparam.c
index 813cc70c0..b5068ac5f 100644
--- a/src/tool_getparam.c
+++ b/src/tool_getparam.c
@@ -1633,22 +1633,14 @@ ParameterError getparameter(char *flag, /* f or -long-flag */
}
break;
case 'u':
- /* user:password */
+ /* user:password;options */
GetStr(&config->userpwd, nextarg);
cleanarg(nextarg);
- if(!config->xoauth2_bearer) {
- err = checkpasswd("host", &config->userpwd);
- if(err)
- return err;
- }
break;
case 'U':
/* Proxy user:password */
GetStr(&config->proxyuserpwd, nextarg);
cleanarg(nextarg);
- err = checkpasswd("proxy", &config->proxyuserpwd);
- if(err)
- return err;
break;
case 'v':
if(toggle) {
diff --git a/src/tool_operate.c b/src/tool_operate.c
index a37e0c84d..146795e69 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -325,6 +325,18 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[])
}
}
+ if(config->userpwd && !config->xoauth2_bearer) {
+ res = checkpasswd("host", &config->userpwd);
+ if(res)
+ goto quit_curl;
+ }
+
+ if(config->proxyuserpwd) {
+ res = checkpasswd("proxy", &config->proxyuserpwd);
+ if(res)
+ goto quit_curl;
+ }
+
if((!config->url_list || !config->url_list->url) && !config->list_engines) {
helpf(config->errors, "no URL specified!\n");
res = CURLE_FAILED_INIT;