Commit 3c929ff9 authored by Steve Holme's avatar Steve Holme
Browse files

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 e7dcc454.
parent 9d957294
Loading
Loading
Loading
Loading
+1 −9
Original line number Diff line number Diff line
@@ -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) {
+12 −0
Original line number Diff line number Diff line
@@ -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;