When connecting to a GlobalProtect server via the portal interface, then
`vpninfo->authgroup` needs to be set to the URL of one of the allowed
gateways.
The problem here is that if the user actually wanted to select the _first_
gateway in the dropdown list, it was already pre-selected, and thus clicking
"continue"/"login" on the form wouldn't trigger `OC_FORM_RESULT_NEWGROUP`.
This would prevent `vpninfo->authgroup` from getting set correctly, and the
gateway redirect would be skipped entirely. Thus it was effectively
impossible to select the first option in the gateway dropdown.
Signed-off-by: Daniel Lenski <dlenski@gmail.com>
choice->label, choice->name);
}
}
+ if (!vpninfo->authgroup && opt->nr_choices)
+ vpninfo->authgroup = strdup(opt->choices[0]->name);
if (vpninfo->write_new_config) {
buf_append(buf, " </ServerList>\n</GPPortal>\n");
/* process auth form to select gateway */
result = process_auth_form(vpninfo, form);
- if (result != OC_FORM_RESULT_NEWGROUP)
+ if (result == OC_FORM_RESULT_CANCELLED || result < 0)
goto out;
/* redirect to the gateway (no-op if it's the same host) */