~mamarley/openconnect/+git/gitlab-main:GP_prelogin_cas_support

Last commit made on 2023-09-25
Get this branch:
git clone -b GP_prelogin_cas_support https://git.launchpad.net/~mamarley/openconnect/+git/gitlab-main

Branch merges

Branch information

Name:
GP_prelogin_cas_support
Repository:
lp:~mamarley/openconnect/+git/gitlab-main

Recent commits

50428ca... by Dan Lenski

Send 'cas-support=yes' in GlobalProtect prelogin request

Per https://gitlab.com/openconnect/openconnect/-/issues/651, some newer GP
servers are responding to prelogin.esp requests with an error:

    CAS is not supported by the client. Minimum client version is 6.0

It appears that CAS ("Central Authentication Server";
https://apereo.github.io/cas/index.html) is a standardized single-sign-on
protocol requiring an external browser.

Per https://gitlab.com/openconnect/openconnect/-/issues/651#note_1576596243,
the field 'cas-support=yes' needs to be sent in the POST *body* of the
prelogin request, in order to avoid this error message; the error message's
claim that a specific client software version is necessary isn't very
helpful.

Signed-off-by: Daniel Lenski <email address hidden>

8c5d658... by Dan Lenski

GlobalProtect SAML completion pages sometimes have the SAML fields only in comments

This modifies the fake GP server to have a 'saml_comments_only' option. If
set, the SAML completion fields ('saml-username', 'prelogin-cookie', etc.)
will be sent to the client *only* in a blob of XML wrapped in HTML comments,
and *not* in HTTP headers.

Some real GP servers are known to behave like this, and authentication
handlers like 'gp-saml-gui' need to be able to handle this case correctly
(see https://github.com/dlenski/gp-saml-gui/issues/51 and
https://github.com/dlenski/gp-saml-gui/pull/59).

Signed-off-by: Daniel Lenski <email address hidden>

18b8196... by Dan Lenski

Update docs on implementing new protocols

Signed-off-by: Daniel Lenski <email address hidden>

b22782f... by Dimitri Papadopoulos <email address hidden>

Bump fallback GlobalProtect version number

Some GlobalProtect servers complain about old versions of the client
software connecting to them.

In the case of a connection via the GlobalProtect "portal" interface,
we capture the preferred software version from the portal and parrot it back,
as of https://gitlab.com/openconnect/openconnect/-/commit/c0d2daeaa85f69ed2f89330a53d97ae7eafdffb1?merge_request_iid=333.

However, we should update the GlobalProtect software version used as a fallback
in the case of a direct connection to the "gateway" interface.

Signed-off-by: Dimitri Papadopoulos <email address hidden>
Signed-off-by: Daniel Lenski <email address hidden>

7512698... by Dan Lenski

Shim for renaming of GNUTLS_NO_EXTENSIONS in GnuTLS v3.8.1

The constant `GNUTLS_NO_EXTENSIONS` was renamed in
https://gitlab.com/gnutls/gnutls/-/commit/a7c4a04e (released in v3.8.1), and
then a backwards-compatibility shim was belatedly added in
https://gitlab.com/gnutls/gnutls/-/commit/abfa8634, which has not yet been
released.

We need to re-add the constant ourselves in order to build correctly with
GnuTLS v3.8.1. This should fix
https://gitlab.com/openconnect/openconnect/-/issues/650.

Signed-off-by: Daniel Lenski <email address hidden>

17b9375... by Nikos Mavrogiannopoulos

Merge branch 'tmp-update-fedora-build' into 'master'

Update fedora build & add centos streams

See merge request openconnect/openconnect!485

394bc54... by Nikos Mavrogiannopoulos

Merge branch 'tmp-enable-asan' into 'master'

Enable address sanitizer checks

See merge request openconnect/openconnect!486

db3722f... by Audric Schiltknecht <email address hidden>

Fix invalid reset of URL variable in csd-wrapper

The URL variable is constructed from the CSD_HOSTNAME at the beginning of
the script. However, prior to parsing the command line, it was reset to
an empty value.

[DRL: This bug has existed since
https://gitlab.com/openconnect/openconnect/-/commit/cb83e535213ff2132643d2a68c50abc294b43b82,
when I modified the `csd-wrapper.sh` script to parse its `-url` command-line
argument, but forgot to remove the subsequent line `URL=`.]

Signed-off-by: Audric Schiltknecht <email address hidden>

b0034f2... by Dan Lenski

Request help with the interpretation of F5 URIs in the docs

Some F5 VPNs use these to complete authentication and handoff to the
proprietary client, and we currently don't know how to interpret them in a
way that would allow OpenConnect to be used instead.

See https://gitlab.com/openconnect/openconnect/-/issues/639 and
https://lists.infradead.org/pipermail/openconnect-devel/2021-August/005035.html
for further discussion.

Signed-off-by: Daniel Lenski <email address hidden>

9c63c94... by dwmw2

Fix changelog entry for Pulse OS reporting

This was added under v9.12 instead of the HEAD section. Next person to do
that gets to implement a CI test for it :)

Perhaps we should have a policy of adding in reverse chronological order
so that newly-added lines are always immediately below the 'HEAD' title,
which would mean that merging older PRs would *conflict* instead of
silently merging into the older changelog?

Fixes: ff86be7281 ("update changelog")
Signed-off-by: David Woodhouse <email address hidden>