From 9cbd369aa95793fa226dc13a5f295269f9efca68 Mon Sep 17 00:00:00 2001 From: Ilya Lipnitskiy Date: Mon, 8 Feb 2021 18:42:04 -0800 Subject: [PATCH] vpnc: update to maintained github fork The SVN-based version has not changed in years. Many distros use this fork as evident here: https://github.com/streambinder/vpnc/issues/14 Compile tested against GnuTLS and OpenSSL on ramips target. Fixes #14119. Signed-off-by: Ilya Lipnitskiy --- net/vpnc/Makefile | 61 +++++++++---------- net/vpnc/patches/001-cross.patch | 42 ------------- net/vpnc/patches/100-musl-compat.patch | 42 ------------- net/vpnc/patches/110-openssl-deprecated.patch | 4 +- 4 files changed, 30 insertions(+), 119 deletions(-) delete mode 100644 net/vpnc/patches/001-cross.patch delete mode 100644 net/vpnc/patches/100-musl-compat.patch diff --git a/net/vpnc/Makefile b/net/vpnc/Makefile index 75900f33c..e9203b5d3 100644 --- a/net/vpnc/Makefile +++ b/net/vpnc/Makefile @@ -8,19 +8,17 @@ include $(TOPDIR)/rules.mk PKG_NAME:=vpnc -PKG_REV:=550 -PKG_VERSION:=0.5.3.r$(PKG_REV) -PKG_RELEASE:=9 +PKG_SOURCE_DATE:=2021-01-31 +PKG_SOURCE_VERSION:=43780cecd7a61668002f73b6f8b9f9ba61af74ad +PKG_RELEASE:=1 -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=http://svn.unix-ag.uni-kl.de/vpnc/trunk/ -PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE_VERSION:=$(PKG_REV) -PKG_SOURCE_PROTO:=svn +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/streambinder/vpnc +PKG_MIRROR_HASH:=df833bbe369bb96cb915da9b63e4dded0f676f06bcdada4ef94e56b8d87b187e PKG_MAINTAINER:=Daniel Gimpelevich -PKG_LICENSE:=VARIOUS -PKG_LICENSE_FILES:=COPYING +PKG_LICENSE:=GPL-3.0-or-later +PKG_LICENSE_FILES:=LICENSE PKG_CONFIG_DEPENDS:= \ CONFIG_VPNC_GNUTLS \ @@ -36,9 +34,17 @@ endef define Package/vpnc SECTION:=net CATEGORY:=Network - DEPENDS:=+libgpg-error +libgcrypt +kmod-tun +VPNC_OPENSSL:libopenssl +VPNC_GNUTLS:libgnutls +vpnc-scripts +resolveip + DEPENDS:=\ + +libgpg-error \ + +libgcrypt \ + +kmod-tun \ + +VPNC_OPENSSL:libopenssl \ + +VPNC_GNUTLS:libgnutls \ + +vpnc-scripts \ + +resolveip \ + TITLE:=VPN client for Cisco EasyVPN - URL:=http://www.unix-ag.uni-kl.de/~massar/vpnc/ + URL:=https://davidepucci.it/doc/vpnc/ SUBMENU:=VPN endef @@ -54,39 +60,28 @@ define Package/vpnc/conffiles /etc/vpnc/default.conf endef -ifeq ($(CONFIG_VPNC_OPENSSL),y) -define Build/Compile - $(call Build/Compile/Default, \ - OFLAGS="$(TARGET_CFLAGS)" \ - OS="Linux" VERSION="$(PKG_VERSION)" \ - STAGING_DIR="$(STAGING_DIR)" \ - DESTDIR="$(PKG_INSTALL_DIR)" \ - OPENSSL_GPL_VIOLATION=yes PREFIX=/usr \ - all install \ - ) -endef -else +OPENSSL-y:=OPENSSL_GPL_VIOLATION=yes + define Build/Compile + mkdir $(PKG_BUILD_DIR)/bin $(call Build/Compile/Default, \ OFLAGS="$(TARGET_CFLAGS)" \ - OS="Linux" VERSION="$(PKG_VERSION)" \ - STAGING_DIR="$(STAGING_DIR)" \ - DESTDIR="$(PKG_INSTALL_DIR)" \ - PREFIX=/usr \ - all install \ + OS="Linux" \ + VERSION="$(PKG_VERSION)" \ + $(OPENSSL-$(CONFIG_VPNC_OPENSSL)) \ + vpnc \ ) endef -endif define Package/vpnc/install $(INSTALL_DIR) $(1)/lib/netifd/proto $(INSTALL_BIN) ./files/vpnc.sh $(1)/lib/netifd/proto/ $(INSTALL_DIR) $(1)/usr/sbin - $(CP) $(PKG_INSTALL_DIR)/usr/sbin/vpnc \ - $(PKG_INSTALL_DIR)/usr/sbin/vpnc-disconnect \ + $(CP) $(PKG_BUILD_DIR)/bin/vpnc \ + $(PKG_BUILD_DIR)/src/vpnc-disconnect \ $(1)/usr/sbin/ $(INSTALL_DIR) $(1)/etc/vpnc - $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/vpnc/default.conf $(1)/etc/vpnc/ + $(INSTALL_CONF) $(PKG_BUILD_DIR)/src/vpnc.conf $(1)/etc/vpnc/default.conf $(INSTALL_DIR) $(1)/lib/upgrade/keep.d $(INSTALL_DATA) ./files/vpnc.upgrade $(1)/lib/upgrade/keep.d/vpnc endef diff --git a/net/vpnc/patches/001-cross.patch b/net/vpnc/patches/001-cross.patch deleted file mode 100644 index 33bcfee3b..000000000 --- a/net/vpnc/patches/001-cross.patch +++ /dev/null @@ -1,42 +0,0 @@ ---- a/Makefile -+++ b/Makefile -@@ -20,7 +20,7 @@ - # $Id: Makefile 539 2013-12-04 13:41:04Z Antonio Borneo $ - - DESTDIR= --PREFIX=/usr/local -+PREFIX=/usr - ETCDIR=/etc/vpnc - BINDIR=$(PREFIX)/bin - SBINDIR=$(PREFIX)/sbin -@@ -57,18 +57,15 @@ OBJS = $(addsuffix .o,$(basename $(SRCS) - CRYPTO_OBJS = $(addsuffix .o,$(basename $(CRYPTO_SRCS))) - BINOBJS = $(addsuffix .o,$(BINS)) - BINSRCS = $(addsuffix .c,$(BINS)) --VERSION := $(shell sh mk-version) - RELEASE_VERSION := $(shell cat VERSION) - - CC ?= gcc --CFLAGS ?= -O3 -g - CFLAGS += -W -Wall -Wmissing-declarations -Wwrite-strings --CFLAGS += $(shell libgcrypt-config --cflags) $(CRYPTO_CFLAGS) -+CFLAGS += -O3 -I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include $(OFLAGS) $(CRYPTO_CFLAGS) - CPPFLAGS += -DVERSION=\"$(VERSION)\" --LDFLAGS ?= -g --LIBS += $(shell libgcrypt-config --libs) $(CRYPTO_LDADD) -+LIBS += -L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib -lgcrypt -lgpg-error $(CRYPTO_LDADD) - --ifeq ($(shell uname -s), SunOS) -+ifeq ($(OS), SunOS) - LIBS += -lnsl -lresolv -lsocket - endif - ifneq (,$(findstring Apple,$(shell $(CC) --version))) -@@ -82,7 +79,7 @@ vpnc : $(OBJS) vpnc.o - $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) - - vpnc.8 : vpnc.8.template makeman.pl vpnc -- ./makeman.pl -+ touch vpnc.8 - - cisco-decrypt : cisco-decrypt.o decrypt-utils.o - $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) diff --git a/net/vpnc/patches/100-musl-compat.patch b/net/vpnc/patches/100-musl-compat.patch deleted file mode 100644 index 0a46770e4..000000000 --- a/net/vpnc/patches/100-musl-compat.patch +++ /dev/null @@ -1,42 +0,0 @@ ---- a/sysdep.h -+++ b/sysdep.h -@@ -37,12 +37,14 @@ int tun_read(int fd, unsigned char *buf, - int tun_get_hwaddr(int fd, char *dev, uint8_t *hwaddr); - - /***************************************************************************/ --#if defined(__linux__) || defined(__GLIBC__) -+#if defined(__GLIBC__) || defined(__UCLIBC__) - #include -+#define HAVE_ERROR 1 -+#endif - -+#if defined(__linux__) || defined(__GLIBC__) - #define HAVE_VASPRINTF 1 - #define HAVE_ASPRINTF 1 --#define HAVE_ERROR 1 - #define HAVE_UNSETENV 1 - #define HAVE_SETENV 1 - #endif ---- a/sysdep.c -+++ b/sysdep.c -@@ -59,6 +59,10 @@ - #if defined(__DragonFly__) - #include - #elif defined(__linux__) -+# if !defined(__GLIBC__) && !defined(__UCLIBC__) -+# define _LINUX_IF_ETHER_H -+# include -+# endif - #include - #elif defined(__APPLE__) - /* no header for tun */ ---- a/config.c -+++ b/config.c -@@ -28,6 +28,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/net/vpnc/patches/110-openssl-deprecated.patch b/net/vpnc/patches/110-openssl-deprecated.patch index 190bc839a..1c10bb892 100644 --- a/net/vpnc/patches/110-openssl-deprecated.patch +++ b/net/vpnc/patches/110-openssl-deprecated.patch @@ -1,5 +1,5 @@ ---- a/crypto-openssl.c -+++ b/crypto-openssl.c +--- a/src/crypto-openssl.c ++++ b/src/crypto-openssl.c @@ -20,6 +20,7 @@ #include #include