include $(TOPDIR)/rules.mk
PKG_NAME:=openconnect
-PKG_VERSION:=6.00
-PKG_RELEASE:=4
+PKG_VERSION:=7.00
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=ftp://ftp.infradead.org/pub/openconnect/
-PKG_MD5SUM:=7e28e23c6e281be31446e6c365f5d273
+PKG_MD5SUM:=208b03fb66cd8e26633a19b9e12f35af
PKG_CONFIG_DEPENDS:= \
CONFIG_OPENCONNECT_GNUTLS \
CONFIGURE_ARGS += \
--disable-shared \
- --with-vpnc-script=/lib/netifd/vpnc-script
+ --with-vpnc-script=/lib/netifd/vpnc-script \
+ --without-libpcsclite
ifeq ($(CONFIG_OPENCONNECT_OPENSSL),y)
CONFIGURE_ARGS += \
+++ /dev/null
-From 826ad45a86f1556910c2f00dfa6477879deb978f Mon Sep 17 00:00:00 2001
-From: Nikos Mavrogiannopoulos <nmav@gnutls.org>
-Date: Thu, 24 Jul 2014 21:59:01 +0200
-Subject: [PATCH] Added a default timeout value in CSTP handshake using gnutls
-
-[dwmw2: move it to openconnect_open_https() so it's done only once]
-
-Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
-Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
----
- gnutls.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/gnutls.c b/gnutls.c
-index 3e3204a..2ef836c 100644
---- a/gnutls.c
-+++ b/gnutls.c
-@@ -2017,6 +2017,10 @@ int openconnect_open_https(struct openconnect_info *vpninfo)
- vpn_progress(vpninfo, PRG_INFO, _("SSL negotiation with %s\n"),
- vpninfo->hostname);
-
-+#ifdef GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT
-+ gnutls_handshake_set_timeout(vpninfo->https_sess,
-+ GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT);
-+#endif
-
- err = cstp_handshake(vpninfo, 1);
- if (err)
---
-2.0.0
-
--- /dev/null
+diff --git a/cstp.c b/cstp.c
+index b1235ef..05c3444 100644
+--- a/cstp.c
++++ b/cstp.c
+@@ -591,6 +591,8 @@ static int cstp_reconnect(struct openconnect_info *vpninfo)
+ timeout = vpninfo->reconnect_timeout;
+ interval = vpninfo->reconnect_interval;
+
++ free(vpninfo->peer_addr);
++ vpninfo->peer_addr = NULL;
+ while ((ret = openconnect_make_cstp_connection(vpninfo))) {
+ if (timeout <= 0)
+ return ret;
+@@ -611,6 +613,8 @@ static int cstp_reconnect(struct openconnect_info *vpninfo)
+ interval += vpninfo->reconnect_interval;
+ if (interval > RECONNECT_INTERVAL_MAX)
+ interval = RECONNECT_INTERVAL_MAX;
++ free(vpninfo->peer_addr);
++ vpninfo->peer_addr = NULL;
+ }
+ script_config_tun(vpninfo, "reconnect");
+ return 0;