aboutsummaryrefslogtreecommitdiff
path: root/network/miredo/rc.miredo
diff options
context:
space:
mode:
Diffstat (limited to 'network/miredo/rc.miredo')
-rw-r--r--network/miredo/rc.miredo88
1 files changed, 88 insertions, 0 deletions
diff --git a/network/miredo/rc.miredo b/network/miredo/rc.miredo
new file mode 100644
index 0000000000000..0ba5d706efcb8
--- /dev/null
+++ b/network/miredo/rc.miredo
@@ -0,0 +1,88 @@
+#!/bin/sh
+#
+# Miredo - Teredo IPv6 tunnelling
+#
+# Init script for miredo client.
+#
+# Written by Fridrich von Stauffenberg <cancellor2@gmail.com>
+# Based on tor's init script by Marco Bonetti <sid77@slackware.it>
+
+PIDFILE=/var/run/miredo.pid
+DAEMON=/usr/sbin/miredo
+
+miredo_start() {
+ echo "Starting Miredo: $DAEMON"
+ $DAEMON
+}
+
+miredo_stop() {
+ echo -n "Stopping Miredo... "
+ PID=$(cat $PIDFILE 2>/dev/null)
+ if [ -z "$PID" ]; then
+ echo "not running."
+ exit 0
+ fi
+ if kill -15 $PID; then
+ echo "stopped."
+ else
+ sleep 1
+ if kill -9 $PID; then
+ echo "killed."
+ else
+ echo "error!"
+ exit 1
+ fi
+ fi
+}
+
+miredo_reload() {
+ echo -n "Reloading Miredo... "
+ PID=$(cat $PIDFILE 2>/dev/null)
+ if [ -z "$PID" ]; then
+ echo "not running."
+ exit 0
+ fi
+ if kill -1 $PID; then
+ echo "reloaded."
+ else
+ echo "error!"
+ exit 1
+ fi
+}
+
+miredo_status() {
+ PID=$(cat $PIDFILE 2>/dev/null)
+ if [ -z "$PID" ]; then
+ echo "Not running."
+ exit 1
+ elif kill -0 $PID; then
+ echo "Running with PID $PID."
+ exit 0
+ else
+ echo "PID file $PIDFILE present, but PID $PID is not running."
+ exit 1
+ fi
+}
+
+case "$1" in
+ start)
+ miredo_start
+ ;;
+ stop)
+ miredo_stop
+ ;;
+ restart)
+ miredo_stop
+ sleep 1
+ miredo_start
+ ;;
+ reload)
+ miredo_reload
+ ;;
+ status)
+ miredo_status
+ ;;
+ *)
+ echo "Usage: $0 (start|stop|restart|reload|status)"
+ ;;
+esac