summaryrefslogtreecommitdiffstats
path: root/main/tinc/tincd.initd
diff options
context:
space:
mode:
Diffstat (limited to 'main/tinc/tincd.initd')
-rw-r--r--main/tinc/tincd.initd64
1 files changed, 64 insertions, 0 deletions
diff --git a/main/tinc/tincd.initd b/main/tinc/tincd.initd
new file mode 100644
index 000000000..452687dfb
--- /dev/null
+++ b/main/tinc/tincd.initd
@@ -0,0 +1,64 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/tinc/files/tincd,v 1.5 2008/04/01 14:08:45 dragonheart Exp $
+
+opts="reload"
+
+depend() {
+ use logger dns
+ need net
+}
+
+checkconfig() {
+ if ! grep -q '^ *NETWORK:' /etc/conf.d/tinc.networks
+ then
+ eerror "No VPN networks configured in /etc/conf.d/tinc.networks"
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+ ebegin "Starting tinc VPN networks"
+ eend 0
+ awk '/^ *NETWORK:/ { print $2 }' /etc/conf.d/tinc.networks | while read TINCNET
+ do
+ if [ ! -f /etc/tinc/"$TINCNET"/tinc.conf ]
+ then
+ eerror "Cannot start network $TINCNET, /etc/tinc/$TINCNET/tinc.conf does not exist !"
+ else
+ ebegin "Starting tinc network $TINCNET"
+ /usr/sbin/tincd --net="$TINCNET" --logfile=/var/log/tinc.$TINCNET.log --pidfile=/var/run/tinc.$TINCNET.pid
+ eend $?
+ fi
+ done
+}
+
+stop() {
+ ebegin "Stopping tinc VPN networks"
+ eend 0
+ awk '/^ *NETWORK:/ { print $2 }' /etc/conf.d/tinc.networks | while read TINCNET
+ do
+ if [ -f /var/run/tinc."$TINCNET".pid ]
+ then
+ ebegin "Stopping tinc network $TINCNET"
+ /usr/sbin/tincd --kill --pidfile=/var/run/tinc."$TINCNET".pid
+ eend $?
+ fi
+ done
+}
+
+reload() {
+ ebegin "Reloading configuration for tinc VPN networks"
+ eend 0
+ awk '/^ *NETWORK:/ { print $2 }' /etc/conf.d/tinc.networks | while read TINCNET
+ do
+ if [ -f /var/run/tinc."$TINCNET".pid ]
+ then
+ ebegin "Reloading tinc network $TINCNET"
+ /usr/sbin/tincd --kill HUP --pidfile=/var/run/tinc."$TINCNET".pid
+ eend $?
+ fi
+ done
+}