]> granicus.if.org Git - curl/commitdiff
curl: Moved check for password out of get parameter loop
authorSteve Holme <steve_holme@hotmail.com>
Sun, 25 Aug 2013 21:32:34 +0000 (22:32 +0100)
committerSteve Holme <steve_holme@hotmail.com>
Tue, 27 Aug 2013 14:31:21 +0000 (15:31 +0100)
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.

src/tool_getparam.c
src/tool_operate.c

index 813cc70c0a58b6f8cf599615c1e9029c4da90bb7..b5068ac5fb9446234ac6652af3decd844c987b9f 100644 (file)
@@ -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) {
index a37e0c84d14ab0d5a6184b10760b816a306eda0e..146795e69d7755860acb433a20a3f505c4ba18ce 100644 (file)
@@ -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;