Until now, the -u/--user=USERNAME option has caused the OpenConnect CLI to
automatically fill the username only in the *first* form where there is a
match field. This patch causes it to fill the username repeatedly
(including when a form is repeated due to an authentication failure).
As described by @DimitriPapadopoulos in #267:
> In many cases, I expect the authentication failure to be caused by an
> incorrect password, not an incorrect username
>
> Having to [re]enter the username, when it has already been specified from
> the command line or worse in a config file, is an annoyance. I suggest
> openconnect [re]prompts for the username only when it has been entered
> interactively from the start.
Signed-off-by: Daniel Lenski <dlenski@gmail.com>
if (username &&
(!strncasecmp(opt->name, "user", 4) ||
!strncasecmp(opt->name, "uname", 5))) {
- opt->_value = username;
- username = NULL;
+ opt->_value = strdup(username);
} else {
opt->_value = saved_form_field(vpninfo, form->auth_id, opt->name);
if (!opt->_value)