summaryrefslogtreecommitdiff
path: root/tinc/files/init
diff options
context:
space:
mode:
Diffstat (limited to 'tinc/files/init')
-rw-r--r--tinc/files/init77
1 files changed, 77 insertions, 0 deletions
diff --git a/tinc/files/init b/tinc/files/init
index e69de29bb2..3a54e2a34b 100644
--- a/tinc/files/init
+++ b/tinc/files/init
@@ -0,0 +1,77 @@
+#! /bin/sh
+#
+# System startup script for tinc
+# $Id$
+#
+# Based on Lubomir Bulej's Redhat init script.
+#
+# Create a file $NETSFILE (/etc/tinc/nets.boot), and put all the names of
+# the networks in there. These names must be valid directory names under
+# $TCONF (/etc/tinc). Lines starting with a # will be ignored in this
+# file.
+#
+
+DAEMON="/usr/sbin/tincd"
+NAME="tinc"
+DESC="tinc daemons"
+TCONF="/etc/tinc"
+EXTRA=""
+NETSFILE="$TCONF/nets.boot"
+NETS=""
+
+test -f $DAEMON || exit 0
+
+find_nets () {
+ if [ ! -f $NETSFILE ] ; then
+ echo "Please create $NETSFILE."
+ exit 0
+ fi
+ NETS="`egrep '^[ ]*[a-zA-Z0-9_]+[ ]*$' $NETSFILE`"
+}
+
+case "$1" in
+ start)
+ find_nets
+ echo -n "Starting $DESC:"
+ for n in $NETS ; do
+ echo -n " $n"
+ $DAEMON -n $n $EXTRA
+ done
+ echo "."
+ ;;
+ stop)
+ find_nets
+ echo -n "Stopping $DESC:"
+ for n in $NETS ; do
+ echo -n " $n"
+ $DAEMON -n $n $EXTRA -k
+ done
+ echo "."
+ ;;
+ reload)
+ find_nets
+ echo -n "Reloading $DESC configuration:"
+ for n in $NETS ; do
+ echo -n " $n"
+ $DAEMON -n $n $EXTRA -k1
+ done
+ echo "."
+ ;;
+ restart|force-reload)
+ find_nets
+ echo -n "Restarting $DESC:"
+ for n in $NETS ; do
+ echo -n " $n"
+ $DAEMON -n $n $EXTRA -k
+ sleep 1
+ $DAEMON -n $n $EXTRA
+ done
+ echo "."
+ ;;
+ *)
+ echo "Usage: /etc/init.d/$NAME {start|stop|reload|restart|force-reload}"
+ exit 1
+ ;;
+esac
+
+exit 0