]> www.infradead.org Git - users/dwmw2/openconnect.git/commitdiff
turns out F5 can have an authgroup dropdown
authorDaniel Lenski <dlenski@gmail.com>
Mon, 22 Feb 2021 09:22:46 +0000 (01:22 -0800)
committerDaniel Lenski <dlenski@gmail.com>
Mon, 29 Mar 2021 03:57:25 +0000 (20:57 -0700)
See https://remote.autoliv.com for an example. TODO: parse it and add it to the form.

Signed-off-by: Daniel Lenski <dlenski@gmail.com>
f5.c

diff --git a/f5.c b/f5.c
index b36cdfafd4bb2221b6218f7f393f490a207c980f..f14236d874fb4b628ccc731ae5a8ef44aaa6fad8 100644 (file)
--- a/f5.c
+++ b/f5.c
@@ -55,6 +55,7 @@ int f5_obtain_cookie(struct openconnect_info *vpninfo)
                return ret;
 
        /* XX: build static form (username and password) */
+       /* TODO: parse out 'domain' form field from /my.policy as authgroup */
        form = calloc(1, sizeof(*form));
        if (!form) {
        nomem:
@@ -83,6 +84,9 @@ int f5_obtain_cookie(struct openconnect_info *vpninfo)
 
                buf_truncate(resp_buf);
                append_form_opts(vpninfo, form, resp_buf);
+               if (vpninfo->authgroup)
+                       append_opt(resp_buf, "domain", vpninfo->authgroup);
+
                if ((ret = buf_error(resp_buf)))
                        goto out;
                do_https_request(vpninfo, "POST", "application/x-www-form-urlencoded",