proto_config_add_string "serverhash"
proto_config_add_string "authgroup"
proto_config_add_string "password"
+ proto_config_add_string "password2"
proto_config_add_string "token_mode"
proto_config_add_string "token_secret"
proto_config_add_string "interface"
+ proto_config_add_string "os"
+ proto_config_add_string "csd_wrapper"
no_device=1
available=1
}
proto_openconnect_setup() {
local config="$1"
- json_get_vars server port username serverhash authgroup password interface token_mode token_secret
+ json_get_vars server port username serverhash authgroup password password2 interface token_mode token_secret os csd_wrapper
grep -q tun /proc/modules || insmod tun
mkdir -p /var/etc
pwfile="/var/etc/openconnect-$config.passwd"
echo "$password" > "$pwfile"
+ [ -n "$password2" ] && echo "$password2" >> "$pwfile"
append cmdline "--passwd-on-stdin"
}
[ -n "$token_mode" ] && append cmdline "--token-mode=$token_mode"
[ -n "$token_secret" ] && append cmdline "--token-secret=$token_secret"
+ [ -n "$os" ] && append cmdline "--os=$os"
+ [ -n "$csd_wrapper" ] && [ -x "$csd_wrapper" ] && append cmdline "--csd-wrapper=$csd_wrapper"
proto_export INTERFACE="$config"
logger -t openconnect "executing 'openconnect $cmdline'"