My OpenConnect branch that supports some other VPN protocols

Iru Cai a8c89f9683 Add h3c TLS VPN protocol %!s(int64=2) %!d(string=hai) anos
.copr 912400ee4b Fix COPR builds %!s(int64=2) %!d(string=hai) anos
.obs 73852e0b90 obs: remove libtss2-dev from debian dependency, to allow build for 18.04 to succeed %!s(int64=2) %!d(string=hai) anos
android b0e53bfaa1 Cleanup whitespace in all human-maintained files %!s(int64=2) %!d(string=hai) anos
bash 152d882a70 Bash completion: install as /usr/share/bash-completion/completions/openconnect %!s(int64=4) %!d(string=hai) anos
java 732edd8fa8 Implement a function openconnect_set_useragent %!s(int64=2) %!d(string=hai) anos
json b0e53bfaa1 Cleanup whitespace in all human-maintained files %!s(int64=2) %!d(string=hai) anos
m4 34687af603 Add missing host-cpu-c-abi.m4 %!s(int64=2) %!d(string=hai) anos
po 44a0647bd2 Import translations from GNOME %!s(int64=2) %!d(string=hai) anos
tests 745126b750 Parse GlobalProtect XML more leniently %!s(int64=2) %!d(string=hai) anos
trojans 420df4311d Decorate with `@staticmethod` if `self` is not used %!s(int64=2) %!d(string=hai) anos
www 03eafb41f4 Support [,;] as separators for multiple search domains with all protocols %!s(int64=2) %!d(string=hai) anos
.gitattributes b0e53bfaa1 Cleanup whitespace in all human-maintained files %!s(int64=2) %!d(string=hai) anos
.gitignore dd84009183 remove now-unneeded make-windows-installer.sh, re-embed vpnc-script-win.js, embed OpenVPN TAP-Windows installer %!s(int64=3) %!d(string=hai) anos
.gitlab-ci.yml 8541d55e06 Stop CentOS6 CI job %!s(int64=2) %!d(string=hai) anos
.mailmap fa028eec0d .mailmap update %!s(int64=2) %!d(string=hai) anos
COPYING.LGPL fe795bf5b3 Reorganize #include %!s(int64=3) %!d(string=hai) anos
Makefile.am a8c89f9683 Add h3c TLS VPN protocol %!s(int64=2) %!d(string=hai) anos
Makefile.dlldeps 9185643f7a Clean up NSIS installation a bit %!s(int64=2) %!d(string=hai) anos
README.md c5367f1be4 Fix typos not found by codespell %!s(int64=2) %!d(string=hai) anos
TODO f036af620b Switch to https for all URLs %!s(int64=3) %!d(string=hai) anos
array.c 653ad5585a Detect Array session timeout and exit cleanly %!s(int64=2) %!d(string=hai) anos
auth-common.c fe795bf5b3 Reorganize #include %!s(int64=3) %!d(string=hai) anos
auth-globalprotect.c ce214b87b7 Expand comment about potentially-useful information in GP portal configuration %!s(int64=2) %!d(string=hai) anos
auth-html.c 81ab3b4876 Add support for Fortinet's HTML-type multi-factor authentication %!s(int64=3) %!d(string=hai) anos
auth-juniper.c a2d61ea3a4 Add flag to allow do_http_request() to return the server response body even on error %!s(int64=3) %!d(string=hai) anos
auth.c 0e82c93714 Do not add 'single-sign-on' to the capabilities list for AnyConnect auth requests %!s(int64=2) %!d(string=hai) anos
autogen.sh b48ce600be Check whether glibtoolize is available in addition to libtoolize %!s(int64=6) %!d(string=hai) anos
compat.c eedb5c4c5f The format specifier for DWORD is "%lu" %!s(int64=2) %!d(string=hai) anos
config.rpath 2fa3bd7643 Import AM_ICONV implementation %!s(int64=10) %!d(string=hai) anos
configure.ac c9b54dbf95 Rework GP fake server to have a persistent configuration %!s(int64=2) %!d(string=hai) anos
cstp.c 62aa9c138a Always send STRAP pubkey even when we don't change it %!s(int64=2) %!d(string=hai) anos
digest.c fe795bf5b3 Reorganize #include %!s(int64=3) %!d(string=hai) anos
dtls.c b1089d8bf8 Fix Linux kernel coding style error %!s(int64=3) %!d(string=hai) anos
esp-seqno.c fe795bf5b3 Reorganize #include %!s(int64=3) %!d(string=hai) anos
esp.c 0d2eb51ab7 Fix ESP recv() error handling for Windows %!s(int64=2) %!d(string=hai) anos
export-strings.sh 597fd054a5 Add missing export-strings.sh %!s(int64=2) %!d(string=hai) anos
f5.c e48fd023cf Don't set xmlReadMemory's URL argument to "noname.xml" %!s(int64=2) %!d(string=hai) anos
fortinet.c e48fd023cf Don't set xmlReadMemory's URL argument to "noname.xml" %!s(int64=2) %!d(string=hai) anos
gnutls-dtls.c b572774c70 Fix Linux kernel coding style warning %!s(int64=3) %!d(string=hai) anos
gnutls-esp.c fe795bf5b3 Reorganize #include %!s(int64=3) %!d(string=hai) anos
gnutls.c 256e4e0fbc Fix constness again in HKDF/HPKE-related functions %!s(int64=2) %!d(string=hai) anos
gnutls.h c5367f1be4 Fix typos not found by codespell %!s(int64=2) %!d(string=hai) anos
gnutls_tpm.c fe795bf5b3 Reorganize #include %!s(int64=3) %!d(string=hai) anos
gnutls_tpm2.c 6c2266deb1 Do not truncate RSA-PSS salt length for small keys %!s(int64=3) %!d(string=hai) anos
gnutls_tpm2_esys.c 603430a035 gnutls_tpm2_esys: Mark globally defined templates as const %!s(int64=3) %!d(string=hai) anos
gnutls_tpm2_ibm.c 321eea0a5e Don't hard-code TSS 2.0 return codes for auth failure %!s(int64=3) %!d(string=hai) anos
gpst.c 745126b750 Parse GlobalProtect XML more leniently %!s(int64=2) %!d(string=hai) anos
gssapi.c fe795bf5b3 Reorganize #include %!s(int64=3) %!d(string=hai) anos
h3c.c a8c89f9683 Add h3c TLS VPN protocol %!s(int64=2) %!d(string=hai) anos
hpke.c e59812c7ac Fix signedness of character buffers in HKDF/HPKE-related functions %!s(int64=2) %!d(string=hai) anos
http-auth.c b572774c70 Fix Linux kernel coding style warning %!s(int64=3) %!d(string=hai) anos
http.c 8bacc334b9 Export STRAP private key with AnyConnect cookie %!s(int64=2) %!d(string=hai) anos
iconv.c fe795bf5b3 Reorganize #include %!s(int64=3) %!d(string=hai) anos
jni.c 732edd8fa8 Implement a function openconnect_set_useragent %!s(int64=2) %!d(string=hai) anos
jsondump.c b1089d8bf8 Fix Linux kernel coding style error %!s(int64=3) %!d(string=hai) anos
libopenconnect.map.in 732edd8fa8 Implement a function openconnect_set_useragent %!s(int64=2) %!d(string=hai) anos
library.c a8c89f9683 Add h3c TLS VPN protocol %!s(int64=2) %!d(string=hai) anos
list-system-keys.c bfafc8fe52 Clearer error for list-system-keys on Unix-like platforms %!s(int64=2) %!d(string=hai) anos
lzo.c fe795bf5b3 Reorganize #include %!s(int64=3) %!d(string=hai) anos
lzo.h be62fff9e4 Add LZO decompression support %!s(int64=9) %!d(string=hai) anos
lzs.c acbdd0b73a Fix Linux kernel coding style warning %!s(int64=3) %!d(string=hai) anos
main.c 37b6a79a80 Clarify purpose/scope of --usergroup option %!s(int64=2) %!d(string=hai) anos
mainloop.c e1eb88cdca Merge branch 'errors' into 'master' %!s(int64=2) %!d(string=hai) anos
mingw-openconnect.spec.in 9185643f7a Clean up NSIS installation a bit %!s(int64=2) %!d(string=hai) anos
mkspec.sh b836950fa1 Add mingw build in copr %!s(int64=4) %!d(string=hai) anos
mtucalc.c fe795bf5b3 Reorganize #include %!s(int64=3) %!d(string=hai) anos
multicert.c a2a7f1adb0 Fix Linux kernel coding style error and warnings %!s(int64=2) %!d(string=hai) anos
ntlm.c fe795bf5b3 Reorganize #include %!s(int64=3) %!d(string=hai) anos
nullppp.c fe795bf5b3 Reorganize #include %!s(int64=3) %!d(string=hai) anos
oath.c fe795bf5b3 Reorganize #include %!s(int64=3) %!d(string=hai) anos
oidc.c fe795bf5b3 Reorganize #include %!s(int64=3) %!d(string=hai) anos
oncp.c 03eafb41f4 Support [,;] as separators for multiple search domains with all protocols %!s(int64=2) %!d(string=hai) anos
openconnect-internal.h a8c89f9683 Add h3c TLS VPN protocol %!s(int64=2) %!d(string=hai) anos
openconnect.8.in 0670e204a5 Man page: use bold for option names %!s(int64=2) %!d(string=hai) anos
openconnect.h 3cff6efdd9 Bump OPENCONNECT_API_VERSION_MINOR %!s(int64=2) %!d(string=hai) anos
openconnect.ico 5dc9e8b3bf Windows application icon %!s(int64=6) %!d(string=hai) anos
openconnect.nsi.in 0c2bc44e72 Fix Windows installer so that it uninstalls cleanly %!s(int64=2) %!d(string=hai) anos
openconnect.pc.in b6a9dd462c Import json-parser library %!s(int64=3) %!d(string=hai) anos
openconnect.rc fe795bf5b3 Reorganize #include %!s(int64=3) %!d(string=hai) anos
openconnect.spec.in 01efd32143 BuildRequire glibc-langpack-cs on EPEL9 for auth-nonascii test %!s(int64=2) %!d(string=hai) anos
openssl-dtls.c 07386df8c6 No embedded URLs in translatable strings %!s(int64=2) %!d(string=hai) anos
openssl-esp.c fe795bf5b3 Reorganize #include %!s(int64=3) %!d(string=hai) anos
openssl-pkcs11.c c7313bd438 Build with OpenSSL 3.0 beta 2 Release Candidate %!s(int64=3) %!d(string=hai) anos
openssl.c e59812c7ac Fix signedness of character buffers in HKDF/HPKE-related functions %!s(int64=2) %!d(string=hai) anos
ppp.c c58464a8bd Declare C string constants using array syntax %!s(int64=2) %!d(string=hai) anos
ppp.h 7d92d53ffc PPP: Replace no_terminate_on_pause flag with terminate_on_pause flag %!s(int64=3) %!d(string=hai) anos
pulse.c 03eafb41f4 Support [,;] as separators for multiple search domains with all protocols %!s(int64=2) %!d(string=hai) anos
script.c 62866e179e No need to cache errno before _() %!s(int64=2) %!d(string=hai) anos
ssl.c 8388bc3705 Add cancellable_accept(), make cancellable_send() take a const buffer %!s(int64=2) %!d(string=hai) anos
sspi.c fe795bf5b3 Reorganize #include %!s(int64=3) %!d(string=hai) anos
stoken.c b688b0a3e2 stoken: Fix const warnings %!s(int64=2) %!d(string=hai) anos
test-f5-login.py 82b694b92b Remove unused imports %!s(int64=2) %!d(string=hai) anos
test-fortinet-login.py 82b694b92b Remove unused imports %!s(int64=2) %!d(string=hai) anos
textbuf.c 4d22f1dedd Make buf_append_utf16le() robust against being passed NULL %!s(int64=2) %!d(string=hai) anos
tun-win32.c 07386df8c6 No embedded URLs in translatable strings %!s(int64=2) %!d(string=hai) anos
tun.c e1eb88cdca Merge branch 'errors' into 'master' %!s(int64=2) %!d(string=hai) anos
version.sh 5695cd6b0c Tag version 9.01 %!s(int64=2) %!d(string=hai) anos
vhost.c 7b059e931d Support vhost on more than just x86_64 %!s(int64=2) %!d(string=hai) anos
win32-ipicmp.h a2a7f1adb0 Fix Linux kernel coding style error and warnings %!s(int64=2) %!d(string=hai) anos
wintun.c 9da0b1ed4c Merge branch 'free_const_char' into 'master' %!s(int64=2) %!d(string=hai) anos
wintun.h c737a25b70 Wintun 0.10.2 (2021-02-16) → 0.13 (2021-08-02) %!s(int64=3) %!d(string=hai) anos
xml.c fe795bf5b3 Reorganize #include %!s(int64=3) %!d(string=hai) anos
yubikey.c c5367f1be4 Fix typos not found by codespell %!s(int64=2) %!d(string=hai) anos

README.md

OpenConnect

OpenConnect is an SSL VPN client initially created to support Cisco's AnyConnect SSL VPN.

It has since been ported to support the Juniper SSL VPN (which is now known as Pulse Connect Secure), the Palo Alto Networks GlobalProtect SSL VPN the F5 Big-IP SSL VPN, and the Fortinet FortiGate SSL VPN.

An openconnect VPN server (ocserv), which implements an improved version of the Cisco AnyConnect protocol, has also been written. You can find it on Gitlab at https://gitlab.com/openconnect/ocserv.

If you're looking for the standard vpnc-script, which is invoked by OpenConnect for routing and DNS setup, you can find it on Gitlab at https://gitlab.com/openconnect/vpnc-scripts.

Licence

OpenConnect is released under the GNU Lesser Public License, version 2.1.

Documentation

Documentation for OpenConnect is built from the www/ directory in this repository, and lives in rendered form at https://www.infradead.org/openconnect.

Commonly-sought documentation: