diff options
author | Martin Jansa <Martin.Jansa@gmail.com> | 2011-07-22 17:17:54 +0200 |
---|---|---|
committer | Koen Kooi <koen@dominion.thruhere.net> | 2011-07-26 08:21:29 +0200 |
commit | 73e0b9d1c2003c9ef5e7ac4aca06687469bb2161 (patch) | |
tree | 4c1e10e8a0e7a26a5f4c650452e1d0c6b416d80e /meta-oe/recipes-connectivity | |
parent | 3fa3d6505e42de7300204f4efb47878eb7f8f682 (diff) | |
download | meta-openembedded-contrib-73e0b9d1c2003c9ef5e7ac4aca06687469bb2161.tar.gz |
openvpn: import from openembedded
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Diffstat (limited to 'meta-oe/recipes-connectivity')
-rw-r--r-- | meta-oe/recipes-connectivity/openvpn/openvpn.inc | 23 | ||||
-rwxr-xr-x | meta-oe/recipes-connectivity/openvpn/openvpn/openvpn | 104 | ||||
-rw-r--r-- | meta-oe/recipes-connectivity/openvpn/openvpn_2.1.3.bb | 26 |
3 files changed, 153 insertions, 0 deletions
diff --git a/meta-oe/recipes-connectivity/openvpn/openvpn.inc b/meta-oe/recipes-connectivity/openvpn/openvpn.inc new file mode 100644 index 0000000000..68bfc51716 --- /dev/null +++ b/meta-oe/recipes-connectivity/openvpn/openvpn.inc @@ -0,0 +1,23 @@ +DESCRIPTION = "A full-featured SSL VPN solution via tun device." +HOMEPAGE = "http://openvpn.sourceforge.net" +SECTION = "console/network" +LICENSE = "GPLv2" +PRIORITY = "optional" +DEPENDS = "lzo openssl" +RRECOMMENDS_${PN} = "kernel-module-tun" + +INC_PR = "r2" + +SRC_URI = "http://openvpn.net/release/openvpn-${PV}.tar.gz \ + file://openvpn" +S = "${WORKDIR}/openvpn-${PV}" + +CFLAGS += "-fno-inline" + +inherit autotools + +do_install_append() { + install -d ${D}/${sysconfdir}/init.d + install -d ${D}/${sysconfdir}/openvpn + install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d +} diff --git a/meta-oe/recipes-connectivity/openvpn/openvpn/openvpn b/meta-oe/recipes-connectivity/openvpn/openvpn/openvpn new file mode 100755 index 0000000000..a3cd6a2f49 --- /dev/null +++ b/meta-oe/recipes-connectivity/openvpn/openvpn/openvpn @@ -0,0 +1,104 @@ +#!/bin/sh -e +# +# Original version by Robert Leslie +# <rob@mars.org>, edited by iwj and cs +# Modified for openvpn by Alberto Gonzalez Iniesta <agi@agi.as> +# Modified for restarting / starting / stopping single tunnels by Richard Mueller <mueller@teamix.net> + +test $DEBIAN_SCRIPT_DEBUG && set -v -x + +DAEMON=/usr/sbin/openvpn +CONFIG_DIR=/etc/openvpn +test -x $DAEMON || exit 0 +test -d $CONFIG_DIR || exit 0 + +start_vpn () { + modprobe tun >/dev/null 2>&1 || true + $DAEMON --daemon --writepid /var/run/openvpn.$NAME.pid \ + --config $CONFIG_DIR/$NAME.conf --cd $CONFIG_DIR || echo -n " FAILED->" + echo -n " $NAME" +} +stop_vpn () { + kill `cat $PIDFILE` || true + rm $PIDFILE +} + +case "$1" in +start) + echo -n "Starting openvpn:" + + if test -z $2 ; then + for CONFIG in `cd $CONFIG_DIR; ls *.conf 2> /dev/null`; do + NAME=${CONFIG%%.conf} + start_vpn + done + else + if test -e $CONFIG_DIR/$2.conf ; then + NAME=$2 + start_vpn + else + echo -n " No such VPN: $2" + fi + fi + echo "." + + ;; +stop) + echo -n "Stopping openvpn:" + + if test -z $2 ; then + for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do + NAME=`echo $PIDFILE | cut -c18-` + NAME=${NAME%%.pid} + stop_vpn + echo -n " $NAME" + done + else + if test -e /var/run/openvpn.$2.pid ; then + PIDFILE=`ls /var/run/openvpn.$2.pid 2> /dev/null` + NAME=`echo $PIDFILE | cut -c18-` + NAME=${NAME%%.pid} + stop_vpn + echo -n " $NAME" + else + echo -n " No such VPN: $2" + fi + fi + echo "." + ;; +# We only 'reload' for running VPNs. New ones will only start with 'start' or 'restart'. +reload|force-reload) + echo -n "Reloading openvpn:" + for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do + NAME=`echo $PIDFILE | cut -c18-` + NAME=${NAME%%.pid} +# If openvpn if running under a different user than root we'll need to restart + if egrep '^( |\t)*user' $CONFIG_DIR/$NAME.conf > /dev/null 2>&1 ; then + stop_vpn + sleep 1 + start_vpn + echo -n "(restarted)" + else + kill -HUP `cat $PIDFILE` || true +# start-stop-daemon --stop --signal HUP --quiet --oknodo \ +# --exec $DAEMON --pidfile $PIDFILE + echo -n " $NAME" + fi + done + echo "." + ;; + +restart) + $0 stop $2 + sleep 1 + $0 start $2 + ;; +*) + echo "Usage: $0 {start|stop|reload|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 + +# vim:set ai et sts=2 sw=2 tw=0: diff --git a/meta-oe/recipes-connectivity/openvpn/openvpn_2.1.3.bb b/meta-oe/recipes-connectivity/openvpn/openvpn_2.1.3.bb new file mode 100644 index 0000000000..34567bc595 --- /dev/null +++ b/meta-oe/recipes-connectivity/openvpn/openvpn_2.1.3.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "A full-featured SSL VPN solution via tun device." +HOMEPAGE = "http://openvpn.sourceforge.net" +SECTION = "console/network" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=5aac200199fde47501876cba7263cb0c" +DEPENDS = "lzo openssl" +RRECOMMENDS_${PN} = "kernel-module-tun" + +inherit autotools + +SRC_URI = "http://openvpn.net/release/openvpn-${PV}.tar.gz \ + file://openvpn" + +CFLAGS += "-fno-inline" + +# I want openvpn to be able to read password from file (hrw) +EXTRA_OECONF += "--enable-password-save" + +do_install_append() { + install -d ${D}/${sysconfdir}/init.d + install -d ${D}/${sysconfdir}/openvpn + install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d +} + +SRC_URI[md5sum] = "7486d3e270ba4b033e311d3e022a0ad7" +SRC_URI[sha256sum] = "5185181df2e6043bd667377bc92e36ea5a5bd7600af209654f109b6403ca5b36" |