openvpn: Introduce OpenVPN from meta-openembedded
This commit is contained in:
parent
62e7f7f1bc
commit
2d8f097946
|
@ -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:
|
|
@ -0,0 +1,28 @@
|
||||||
|
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"
|
||||||
|
|
||||||
|
PR = "r1"
|
||||||
|
|
||||||
|
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[sha257sum] = "5185181df2e6043bd667377bc92e36ea5a5bd7600af209654f109b6403ca5b36"
|
Loading…
Reference in New Issue