]> www.infradead.org Git - users/dwmw2/openconnect.git/commit
enumerate supported VPN protocols via openconnect_get_supported_protocols()
authorDaniel Lenski <dlenski@gmail.com>
Wed, 19 Apr 2017 20:12:48 +0000 (13:12 -0700)
committerDavid Woodhouse <dwmw2@infradead.org>
Sun, 14 May 2017 23:15:58 +0000 (16:15 -0700)
commit40802e459873e55eefbe64f05b9475821f761b8e
treed5f7477e04dd56a4d503e7096b4f504a5909f27e
parent9ac5e232214b728f675a44c43e61986ff9245b57
enumerate supported VPN protocols via openconnect_get_supported_protocols()

Add two new public functions:

* int openconnect_get_supported_protocols(struct oc_vpn_proto **protos)

  Fetches a list of protocols supported by the client.  Each supported
  protocol has a short name (as accepted by the --protocol command-line
  option), pretty name, longer description, and list of flags.

  The return value of the function is the number of protocols supported (or
  negative if an error occurred).

  The flags indicate features that are meaningful for this protocol, to be
  used by tools like the Networkmanager configuration UI. Current flags:

    * OC_PROTO_PROXY: can connect via HTTP or SOCKS proxy
    * OC_PROTO_CSD: supports verification of the client via CSD trojan
    * OC_PROTO_AUTH_CERT: supports authentication by client certificate
    * OC_PROTO_AUTH_OTP: supports authentication by OATH HOTP/TOTP token
    * OC_PROTO_AUTH_STOKEN: supports authentication by RSA SecurID token (stoken)

* void openconnect_free_supported_protocols(struct oc_vpn_proto *protos)

  Frees the list of protocols fetched by openconnect_get_supported_protocols()

The description of the "anyconnect" protocol matches the IETF draft
standard for openconnect VPN (https://tools.ietf.org/html/draft-mavrogiannopoulos-openconnect-00).

Signed-off-by: Daniel Lenski <dlenski@gmail.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
libopenconnect.map.in
library.c
openconnect-internal.h
openconnect.h