# Juniper vpn support
#option juniper '1'
+ # Authentication form responses
+ #list form_entry FORM:OPT=VAL
+
The additional files are also used:
/etc/openconnect/user-cert-vpn-MYVPN.pem: The user certificate
/etc/openconnect/user-key-vpn-MYVPN.pem: The user private key
proto_config_add_string "token_script"
proto_config_add_string "os"
proto_config_add_string "csd_wrapper"
+ proto_config_add_array 'form_entry:regex("[^:]+:[^=]+=.*")'
no_device=1
available=1
}
+proto_openconnect_add_form_entry() {
+ [ -n "$1" ] && append cmdline "--form-entry $1"
+}
+
proto_openconnect_setup() {
local config="$1"
- json_get_vars server port interface username serverhash authgroup password password2 token_mode token_secret token_script os csd_wrapper mtu juniper
+ json_get_vars server port interface username serverhash authgroup password password2 token_mode token_secret token_script os csd_wrapper mtu juniper form_entry
grep -q tun /proc/modules || insmod tun
ifname="vpn-$config"
[ -n "$os" ] && append cmdline "--os=$os"
[ -n "$csd_wrapper" ] && [ -x "$csd_wrapper" ] && append cmdline "--csd-wrapper=$csd_wrapper"
+ json_for_each_item proto_openconnect_add_form_entry form_entry
+
proto_export INTERFACE="$config"
logger -t openconnect "executing 'openconnect $cmdline'"