diff options
Diffstat (limited to 'contrib/dist/suse/tor.sh.in')
-rw-r--r-- | contrib/dist/suse/tor.sh.in | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/contrib/dist/suse/tor.sh.in b/contrib/dist/suse/tor.sh.in new file mode 100644 index 0000000000..b7e9005eb5 --- /dev/null +++ b/contrib/dist/suse/tor.sh.in @@ -0,0 +1,118 @@ +#!/bin/sh +# +# Copyright (c) 2006-2007 Andrew Lewman +# +# tor The Onion Router +# +# Startup/shutdown script for tor. This is a wrapper around torctl; +# torctl does the actual work in a relatively system-independent, or at least +# distribution-independent, way, and this script deals with fitting the +# whole thing into the conventions of the particular system at hand. +# +# These next couple of lines "declare" tor for the "chkconfig" program, +# originally from SGI, used on Red Hat/Fedora and probably elsewhere. +# +# chkconfig: 2345 90 10 +# description: Onion Router - A low-latency anonymous proxy +# + +### BEGIN INIT INFO +# Provides: tor +# Required-Start: $remote_fs $network +# Required-Stop: $remote_fs $network +# Default-Start: 3 5 +# Default-Stop: 0 1 2 6 +# Short-Description: Start the tor daemon +# Description: Start the tor daemon: the anon-proxy server +### END INIT INFO + +. /etc/rc.status + +# Shell functions sourced from /etc/rc.status: +# rc_check check and set local and overall rc status +# rc_status check and set local and overall rc status +# rc_status -v ditto but be verbose in local rc status +# rc_status -v -r ditto and clear the local rc status +# rc_failed set local and overall rc status to failed +# rc_reset clear local rc status (overall remains) +# rc_exit exit appropriate to overall rc status + +# First reset status of this service +rc_reset + +# Increase open file descriptors a reasonable amount +ulimit -n 8192 + +TORCTL=@BINDIR@/torctl + +# torctl will use these environment variables +TORUSER=@TORUSER@ +export TORUSER +TORGROUP=@TORGROUP@ +export TORGROUP + +TOR_DAEMON_PID_DIR="@LOCALSTATEDIR@/run/tor" + +if [ -x /bin/su ] ; then + SUPROG=/bin/su +elif [ -x /sbin/su ] ; then + SUPROG=/sbin/su +elif [ -x /usr/bin/su ] ; then + SUPROG=/usr/bin/su +elif [ -x /usr/sbin/su ] ; then + SUPROG=/usr/sbin/su +else + SUPROG=/bin/su +fi + +case "$1" in + + start) + echo "Starting tor daemon" + + if [ ! -d $TOR_DAEMON_PID_DIR ] ; then + mkdir -p $TOR_DAEMON_PID_DIR + chown $TORUSER:$TORGROUP $TOR_DAEMON_PID_DIR + fi + + ## Start daemon with startproc(8). If this fails + ## the echo return value is set appropriate. + + startproc -f $TORCTL start + # Remember status and be verbose + rc_status -v + ;; + + stop) + echo "Stopping tor daemon" + startproc -f $TORCTL stop + # Remember status and be verbose + rc_status -v + ;; + + restart) + echo "Restarting tor daemon" + startproc -f $TORCTL restart + # Remember status and be verbose + rc_status -v + ;; + + reload) + echo "Reloading tor daemon" + startproc -f $TORCTL reload + # Remember status and be verbose + rc_status -v + ;; + + status) + startproc -f $TORCTL status + # Remember status and be verbose + rc_status -v + ;; + + *) + echo "Usage: $0 (start|stop|restart|reload|status)" + RETVAL=1 +esac + +rc_exit |