openconnect: fix a couple of minor things and add an interface option
authorDaniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
Fri, 6 Feb 2015 19:54:39 +0000 (11:54 -0800)
committerDaniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
Fri, 6 Feb 2015 19:54:39 +0000 (11:54 -0800)
Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
net/openconnect/Makefile
net/openconnect/README
net/openconnect/files/openconnect.sh

index 87ec8a53b07b5596ac117305e1e5da44735a94bc..2fed0025323064595a0854a01b0827ef1f58db8f 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=openconnect
 PKG_VERSION:=7.04
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=ftp://ftp.infradead.org/pub/openconnect/
index 3cd562194adcf4e9478f2c7005e72521f113ef69..f6d2f051c1e0bdee6f82a692ae59ffbc9691a92a 100644 (file)
@@ -4,6 +4,7 @@ To setup a VPN connection, add the following to /etc/config/network:
 
 config interface 'MYVPN'
         option proto 'openconnect'
+        option interface 'wan'
         option server 'vpn.example.com'
         option port '4443'
         option username 'test'
index cd97c2cb254de690facc0c0346be43c95b55f572..bdac9bc867485e7a9ff71454f2de1f7d3dce46ef 100755 (executable)
@@ -10,6 +10,9 @@ proto_openconnect_init_config() {
        proto_config_add_string "serverhash"
        proto_config_add_string "authgroup"
        proto_config_add_string "password"
+       proto_config_add_string "token_mode"
+       proto_config_add_string "token_secret"
+       proto_config_add_string "interface"
        no_device=1
        available=1
 }
@@ -17,14 +20,14 @@ proto_openconnect_init_config() {
 proto_openconnect_setup() {
        local config="$1"
 
-       json_get_vars server port username serverhash authgroup password vgroup token_mode token_secret
+       json_get_vars server port username serverhash authgroup password interface token_mode token_secret
 
        grep -q tun /proc/modules || insmod tun
 
        logger -t openconnect "initializing..."
        serv_addr=
        for ip in $(resolveip -t 10 "$server"); do
-               ( proto_add_host_dependency "$config" "$ip" )
+               ( proto_add_host_dependency "$config" "$ip" $interface )
                serv_addr=1
        done
        [ -n "$serv_addr" ] || {
@@ -57,7 +60,8 @@ proto_openconnect_setup() {
        [ -n "$username" ] && append cmdline "-u $username"
        [ -n "$password" ] && {
                umask 077
-               pwfile="/var/run/openconnect-$config.passwd"
+               mkdir -p /var/etc
+               pwfile="/var/etc/openconnect-$config.passwd"
                echo "$password" > "$pwfile"
                append cmdline "--passwd-on-stdin"
        }
@@ -78,7 +82,7 @@ proto_openconnect_setup() {
 proto_openconnect_teardown() {
        local config="$1"
 
-       pwfile="/var/run/openconnect-$config.passwd"
+       pwfile="/var/etc/openconnect-$config.passwd"
 
        rm -f $pwfile
        logger -t openconnect "bringing down openconnect"