summaryrefslogtreecommitdiffstats
path: root/meta-networking/recipes-support/openvpn
diff options
context:
space:
mode:
Diffstat (limited to 'meta-networking/recipes-support/openvpn')
-rwxr-xr-xmeta-networking/recipes-support/openvpn/openvpn/openvpn104
-rw-r--r--meta-networking/recipes-support/openvpn/openvpn_2.3.4.bb33
2 files changed, 137 insertions, 0 deletions
diff --git a/meta-networking/recipes-support/openvpn/openvpn/openvpn b/meta-networking/recipes-support/openvpn/openvpn/openvpn
new file mode 100755
index 000000000..a3cd6a2f4
--- /dev/null
+++ b/meta-networking/recipes-support/openvpn/openvpn/openvpn
@@ -0,0 +1,104 @@
1#!/bin/sh -e
2#
3# Original version by Robert Leslie
4# <rob@mars.org>, edited by iwj and cs
5# Modified for openvpn by Alberto Gonzalez Iniesta <agi@agi.as>
6# Modified for restarting / starting / stopping single tunnels by Richard Mueller <mueller@teamix.net>
7
8test $DEBIAN_SCRIPT_DEBUG && set -v -x
9
10DAEMON=/usr/sbin/openvpn
11CONFIG_DIR=/etc/openvpn
12test -x $DAEMON || exit 0
13test -d $CONFIG_DIR || exit 0
14
15start_vpn () {
16 modprobe tun >/dev/null 2>&1 || true
17 $DAEMON --daemon --writepid /var/run/openvpn.$NAME.pid \
18 --config $CONFIG_DIR/$NAME.conf --cd $CONFIG_DIR || echo -n " FAILED->"
19 echo -n " $NAME"
20}
21stop_vpn () {
22 kill `cat $PIDFILE` || true
23 rm $PIDFILE
24}
25
26case "$1" in
27start)
28 echo -n "Starting openvpn:"
29
30 if test -z $2 ; then
31 for CONFIG in `cd $CONFIG_DIR; ls *.conf 2> /dev/null`; do
32 NAME=${CONFIG%%.conf}
33 start_vpn
34 done
35 else
36 if test -e $CONFIG_DIR/$2.conf ; then
37 NAME=$2
38 start_vpn
39 else
40 echo -n " No such VPN: $2"
41 fi
42 fi
43 echo "."
44
45 ;;
46stop)
47 echo -n "Stopping openvpn:"
48
49 if test -z $2 ; then
50 for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do
51 NAME=`echo $PIDFILE | cut -c18-`
52 NAME=${NAME%%.pid}
53 stop_vpn
54 echo -n " $NAME"
55 done
56 else
57 if test -e /var/run/openvpn.$2.pid ; then
58 PIDFILE=`ls /var/run/openvpn.$2.pid 2> /dev/null`
59 NAME=`echo $PIDFILE | cut -c18-`
60 NAME=${NAME%%.pid}
61 stop_vpn
62 echo -n " $NAME"
63 else
64 echo -n " No such VPN: $2"
65 fi
66 fi
67 echo "."
68 ;;
69# We only 'reload' for running VPNs. New ones will only start with 'start' or 'restart'.
70reload|force-reload)
71 echo -n "Reloading openvpn:"
72 for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do
73 NAME=`echo $PIDFILE | cut -c18-`
74 NAME=${NAME%%.pid}
75# If openvpn if running under a different user than root we'll need to restart
76 if egrep '^( |\t)*user' $CONFIG_DIR/$NAME.conf > /dev/null 2>&1 ; then
77 stop_vpn
78 sleep 1
79 start_vpn
80 echo -n "(restarted)"
81 else
82 kill -HUP `cat $PIDFILE` || true
83# start-stop-daemon --stop --signal HUP --quiet --oknodo \
84# --exec $DAEMON --pidfile $PIDFILE
85 echo -n " $NAME"
86 fi
87 done
88 echo "."
89 ;;
90
91restart)
92 $0 stop $2
93 sleep 1
94 $0 start $2
95 ;;
96*)
97 echo "Usage: $0 {start|stop|reload|restart|force-reload}" >&2
98 exit 1
99 ;;
100esac
101
102exit 0
103
104# vim:set ai et sts=2 sw=2 tw=0:
diff --git a/meta-networking/recipes-support/openvpn/openvpn_2.3.4.bb b/meta-networking/recipes-support/openvpn/openvpn_2.3.4.bb
new file mode 100644
index 000000000..1fb722a44
--- /dev/null
+++ b/meta-networking/recipes-support/openvpn/openvpn_2.3.4.bb
@@ -0,0 +1,33 @@
1SUMMARY = "A full-featured SSL VPN solution via tun device."
2HOMEPAGE = "http://openvpn.sourceforge.net"
3SECTION = "console/network"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=5aac200199fde47501876cba7263cb0c"
6DEPENDS = "lzo openssl iproute2 ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
7
8inherit autotools
9
10SRC_URI = "http://swupdate.openvpn.org/community/releases/openvpn-${PV}.tar.gz \
11 file://openvpn"
12
13SRC_URI[md5sum] = "04d47237907faabe9d046970ffe44b2e"
14SRC_URI[sha256sum] = "af506d5f48568fa8d2f2435cb3fad35f9a9a8f263999ea6df3ba296960cec85a"
15
16CFLAGS += "-fno-inline"
17
18# I want openvpn to be able to read password from file (hrw)
19EXTRA_OECONF += "--enable-password-save --enable-iproute2"
20EXTRA_OECONF += "${@base_contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}"
21
22# Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host.
23EXTRA_OECONF += "IPROUTE=/sbin/ip"
24
25do_install_append() {
26 install -d ${D}/${sysconfdir}/init.d
27 install -d ${D}/${sysconfdir}/openvpn
28 install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d
29}
30
31RRECOMMENDS_${PN} = "kernel-module-tun"
32
33FILES_${PN}-dbg += "${libdir}/openvpn/plugins/.debug"