aboutsummaryrefslogtreecommitdiffstats
path: root/testing/vpnc
diff options
context:
space:
mode:
authorShiz <hi@shiz.me>2017-05-20 22:25:28 +0200
committerShiz <hi@shiz.me>2017-05-20 22:25:28 +0200
commit2437d87efb4f54b3d3a162e619a36a43f647723b (patch)
tree52e4cf3213689673d3c208055fbf4dcf50aa6183 /testing/vpnc
parentf57e5a3db221a55b0526b3b546af47d5c57fe5b4 (diff)
downloadaports-2437d87efb4f54b3d3a162e619a36a43f647723b.tar.bz2
aports-2437d87efb4f54b3d3a162e619a36a43f647723b.tar.xz
testing/vpnc: move from unmaintained and modernize
Diffstat (limited to 'testing/vpnc')
-rw-r--r--testing/vpnc/APKBUILD40
-rw-r--r--testing/vpnc/vpnc.confd4
-rw-r--r--testing/vpnc/vpnc.initd103
-rw-r--r--testing/vpnc/working.patch32
4 files changed, 179 insertions, 0 deletions
diff --git a/testing/vpnc/APKBUILD b/testing/vpnc/APKBUILD
new file mode 100644
index 0000000000..d4ef16a361
--- /dev/null
+++ b/testing/vpnc/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=vpnc
+pkgver=0.5.3
+pkgrel=1
+pkgdesc="IPSec VPN client compatible with Cisco equipment"
+url="http://www.unix-ag.uni-kl.de/~massar/vpnc/"
+arch="all"
+license="GPLv2+"
+makedepends="libgcrypt-dev perl"
+subpackages="$pkgname-doc"
+source="http://www.unix-ag.uni-kl.de/~massar/vpnc/vpnc-$pkgver.tar.gz
+ working.patch
+ vpnc.initd
+ vpnc.confd"
+builddir="$srcdir"/vpnc-$pkgver
+
+build() {
+ cd "$builddir"
+ make PREFIX=/usr
+}
+
+check() {
+ cd "$builddir"
+ ./vpnc --version
+}
+
+package() {
+ cd "$builddir"
+ make PREFIX=/usr DESTDIR="$pkgdir" install
+ install -m755 -D "$srcdir"/vpnc.initd \
+ "$pkgdir"/etc/init.d/vpnc
+ install -m644 -D "$srcdir"/vpnc.confd \
+ "$pkgdir"/etc/conf.d/vpnc
+}
+
+sha512sums="fd1251d200c3826ebfd7022683e38912f30c2a95fbc51259bcd1fdf0570ef3c53cd842003c117a770657f7f8ebb00ceffeea91ced0c3f83dd9c1ca0488519ea3 vpnc-0.5.3.tar.gz
+6c3eb976d3877b02c751c310f835bc864e4868d167bbaf9f365b9b728d732cc018591e9a8dfc5a4277b01daf070b74f3bb7e67e175b90ee495fecec1a049e29f working.patch
+d20091a67ccd3b8e9f31ca47c49577ff3cd5bf6ba9ef7bcd9f03231d87fa64d978c60ab69c67bbafdc18d6474d932d6ec68de02d13bea41ae6a7d31b845635e9 vpnc.initd
+1254f687dcd9822becfcccabbb34d8343d715d70247dbf4b5e018835fff24b33f5272368f77199d697c8d11d913182b1f756d5e08a46b2057849779f09b19633 vpnc.confd"
diff --git a/testing/vpnc/vpnc.confd b/testing/vpnc/vpnc.confd
new file mode 100644
index 0000000000..62789bd407
--- /dev/null
+++ b/testing/vpnc/vpnc.confd
@@ -0,0 +1,4 @@
+# If you wish to see the output made by vpnc, for example the password
+# prompt, set this variable to yes
+
+VPNCOUTPUT="no"
diff --git a/testing/vpnc/vpnc.initd b/testing/vpnc/vpnc.initd
new file mode 100644
index 0000000000..53e5f62fa2
--- /dev/null
+++ b/testing/vpnc/vpnc.initd
@@ -0,0 +1,103 @@
+#!/sbin/openrc-run
+
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/vpnc/files/vpnc-3.init,v 1.2 2010/08/13 08:39:48 fauli Exp $
+
+VPNDIR="/etc/vpnc"
+VPN="${SVCNAME#*.}"
+if [ -n ${VPN} ] && [ ${SVCNAME} != "vpnc" ]; then
+ mkdir -p /var/run/vpnc
+ VPNPID="/var/run/vpnc/${VPN}.pid"
+else
+ VPNPID="/var/run/vpnc.pid"
+fi
+VPNCONF="${VPNDIR}/${VPN}.conf"
+VPNSCRIPTDIR="${VPNDIR}/scripts.d"
+PREUPSCRIPT="${VPNSCRIPTDIR}/${VPN}-preup.sh"
+PREDOWNSCRIPT="${VPNSCRIPTDIR}/${VPN}-predown.sh"
+POSTUPSCRIPT="${VPNSCRIPTDIR}/${VPN}-postup.sh"
+POSTDOWNSCRIPT="${VPNSCRIPTDIR}/${VPN}-postdown.sh"
+# We should source this file to avoid problems when init script
+# name differs from the default name
+. /etc/conf.d/vpnc
+
+depend() {
+ need net
+ before netmount
+}
+
+checktundevice() {
+ if [ ! -e /dev/net/tun ]; then
+ if ! modprobe tun ; then
+ eerror "TUN/TAP support is not available in this kernel"
+ return 1
+ fi
+ fi
+ if [ -h /dev/net/tun ] && [ -c /dev/misc/net/tun ]; then
+ ebegin "Detected broken /dev/net/tun symlink, fixing..."
+ rm -f /dev/net/tun
+ ln -s /dev/misc/net/tun /dev/net/tun
+ eend $?
+ fi
+}
+
+screenoutput() {
+ if [ "${VPNCOUTPUT}" = "yes" ]; then
+ export SCREEN_OUTPUT="/dev/stdout"
+ else
+ export SCREEN_OUTPUT="/dev/null"
+ fi
+}
+
+start() {
+ ebegin "Starting VPNC: ${VPN}"
+
+ checktundevice || return 1
+ screenoutput
+
+ if [ ! -e "${VPNCONF}" ]; then
+ eend 1 "${VPNCONF} does not exist"
+ return 1
+ fi
+
+ local args=""
+
+ if [ -x "${PREUPSCRIPT}" ] ; then
+ "${PREUPSCRIPT}" > ${SCREEN_OUTPUT}
+ fi
+
+ start-stop-daemon --start --pidfile "${VPNPID}" --exec /usr/sbin/vpnc \
+ -- --pid-file "${VPNPID}" "${VPNCONF}" > ${SCREEN_OUTPUT}
+ local retval=$?
+ if [ ! ${retval} -eq 0 ]; then
+ eend ${retval}
+ return ${retval}
+ fi
+
+ if [ -x "${POSTUPSCRIPT}" ] ; then
+ "${POSTUPSCRIPT}" > ${SCREEN_OUTPUT}
+ fi
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping VPNC: ${VPN}"
+ screenoutput
+ if [ -x "${PREDOWNSCRIPT}" ] ; then
+ "${PREDOWNSCRIPT}" > ${SCREEN_OUTPUT}
+ fi
+
+ start-stop-daemon --stop --pidfile "${VPNPID}"
+ local retval=$?
+ if [ ! ${retval} -eq 0 ]; then
+ eend ${retval}
+ return ${retval}
+ fi
+
+
+ if [ -x "${POSTDOWNSCRIPT}" ] ; then
+ "${POSTDOWNSCRIPT}" > ${SCREEN_OUTPUT}
+ fi
+ eend $?
+}
diff --git a/testing/vpnc/working.patch b/testing/vpnc/working.patch
new file mode 100644
index 0000000000..2a6e1a19a2
--- /dev/null
+++ b/testing/vpnc/working.patch
@@ -0,0 +1,32 @@
+diff --git a/sysdep.c b/sysdep.c
+index ff07753..43fdb74 100644
+--- a/sysdep.c
++++ b/sysdep.c
+@@ -59,7 +59,7 @@
+ #if defined(__DragonFly__)
+ #include <net/tun/if_tun.h>
+ #elif defined(__linux__)
+-#include <linux/if_tun.h>
++/*#include <linux/if_tun.h>*/
+ #elif defined(__APPLE__)
+ /* no header for tun */
+ #elif defined(__CYGWIN__)
+diff --git a/sysdep.h b/sysdep.h
+index a5eafd6..af34e94 100644
+--- a/sysdep.h
++++ b/sysdep.h
+@@ -38,11 +38,13 @@ int tun_get_hwaddr(int fd, char *dev, uint8_t *hwaddr);
+
+ /***************************************************************************/
+ #if defined(__linux__) || defined(__GLIBC__)
++#ifdef __GLIBC__
+ #include <error.h>
++#define HAVE_ERROR 1
++#endif
+
+ #define HAVE_VASPRINTF 1
+ #define HAVE_ASPRINTF 1
+-#define HAVE_ERROR 1
+ #define HAVE_GETLINE 1
+ #define HAVE_UNSETENV 1
+ #define HAVE_SETENV 1