openconnect: add options to support juniper 5076/head
authorVladimir Berezhnoy <non7top@gmail.com>
Tue, 7 Nov 2017 10:11:34 +0000 (13:11 +0300)
committerVladimir Berezhnoy <non7top@gmail.com>
Mon, 20 Nov 2017 11:03:28 +0000 (14:03 +0300)
Signed-off-by: Vladimir Berezhnoy <non7top@gmail.com>
net/openconnect/Makefile
net/openconnect/README
net/openconnect/files/openconnect.sh

index ec2554c8354e7296daf06ed1b61987da1d8ee762..b17c5e13251161e84445753a6357fba9ecf90e6a 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=openconnect
 PKG_VERSION:=7.08
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 PKG_USE_MIPS16:=0
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
@@ -32,19 +32,20 @@ define Package/openconnect
   SECTION:=net
   CATEGORY:=Network
   DEPENDS:=+libxml2 +kmod-tun +resolveip +vpnc-scripts +OPENCONNECT_OPENSSL:libopenssl +OPENCONNECT_OPENSSL:p11-kit +OPENCONNECT_OPENSSL:libp11 +OPENCONNECT_GNUTLS:libgnutls +OPENCONNECT_STOKEN:libstoken
-  TITLE:=OpenConnect VPN client (Cisco AnyConnect compatible)
+  TITLE:=OpenConnect VPN client (Cisco AnyConnect and Juniper/Pulse compatible)
   MAINTAINER:=Nikos Mavrogiannopoulos <n.mavrogiannopoulos@gmail.com>
   URL:=http://www.infradead.org/openconnect/
   SUBMENU:=VPN
 endef
 
 define Package/openconnect/description
-       A VPN client compatible with Cisco's AnyConnect SSL VPN and ocserv.
+       A VPN client compatible with Cisco's AnyConnect SSL VPN, ocserv and Juniper (Pulse secure).
 
         OpenConnect is a client that follows the Cisco's AnyConnect SSL VPN protocol,
         which is supported by IOS 12.4(9)T or later on Cisco SR500, 870, 880, 1800,
         2800, 3800, 7200 Series and Cisco 7301 Routers, as well as the OpenConnect
-        VPN server.
+        VPN server. It has later been ported to support the Juniper SSL VPN which
+        is now known as Pulse Connect Secure.
 endef
 
 CONFIGURE_ARGS += \
index 772b0e3cc6bea6983703c3419663c45a9b228c89..1a7b798d50e4c637559117ab6ea2197302249341 100644 (file)
@@ -26,6 +26,9 @@ config interface 'MYVPN'
         #option token_mode 'hotp'
         #option token_secret '00'
 
+       # Juniper vpn support
+       #option juniper '1'
+
 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
index 0e3d90ab4436e5e5c37532ff1751164f76763f03..4f8ee062913322f2bd977121381f99a9433ae718 100755 (executable)
@@ -7,6 +7,7 @@ proto_openconnect_init_config() {
        proto_config_add_string "server"
        proto_config_add_int "port"
        proto_config_add_int "mtu"
+       proto_config_add_int "juniper"
        proto_config_add_string "username"
        proto_config_add_string "serverhash"
        proto_config_add_string "authgroup"
@@ -23,7 +24,7 @@ proto_openconnect_init_config() {
 proto_openconnect_setup() {
        local config="$1"
 
-       json_get_vars server port username serverhash authgroup password password2 token_mode token_secret os csd_wrapper mtu
+       json_get_vars server port username serverhash authgroup password password2 token_mode token_secret os csd_wrapper mtu juniper
 
        grep -q tun /proc/modules || insmod tun
        ifname="vpn-$config"
@@ -52,6 +53,11 @@ proto_openconnect_setup() {
                append cmdline "--cafile /etc/openconnect/ca-vpn-$config.pem"
                append cmdline "--no-system-trust"
        }
+
+       if [ "${juniper:-0}" -gt 0 ]; then
+               append cmdline "--juniper"
+       fi
+
        [ -n "$serverhash" ] && {
                append cmdline " --servercert=$serverhash"
                append cmdline "--no-system-trust"