Commit 72243129 authored by Daniel Lenski's avatar Daniel Lenski

Fix GlobalProtect authgroup handling

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: default avatarDaniel Lenski <dlenski@gmail.com>
parent 669c7d3e
......@@ -401,6 +401,8 @@ gateways:
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");
......@@ -412,7 +414,7 @@ gateways:
/* 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) */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment