214d558
#!/bin/bash
d243e33
#
d243e33
# Init file for tor - An Anonymizing overlay network for TCP
d243e33
#
d243e33
# chkconfig: - 99 01
d243e33
# description:   An Anonymizing overlay network for TCP
d243e33
#
d243e33
### BEGIN INIT INFO
ce22243
# Default-Stop:		0 1 2 6
ce22243
# Short-Description:	An Anonymizing overlay network for TCP
ce22243
# Description:		An Anonymizing overlay network for TCP
ce22243
# Required-Start:	$network $remote_fs $local_fs
ce22243
# Should-Start:		$syslog $time
d243e33
### END INIT INFO
d243e33
d243e33
. /lib/lsb/init-functions
d243e33
d243e33
f=/etc/sysconfig/tor
d243e33
214d558
TOR_SHUTDOWN_WAIT=30
7357d02
TOR_OPTS=--quiet
d243e33
TOR_PIDFILE=/var/run/tor/tor.pid
d243e33
TOR_USER=toranon
d243e33
test ! -r "$f" || . "$f"
d243e33
d243e33
prog="/usr/bin/tor"
d243e33
d243e33
lockfile=/var/lock/subsys/tor
d243e33
pidfile=$TOR_PIDFILE
d243e33
d243e33
start() {
d243e33
    echo -n $"Starting $prog: "
d243e33
d243e33
    start_daemon $prog --PIDFile "$pidfile" --RunAsDaemon 1 $TOR_OPTS
d243e33
    rc=$?
d243e33
    if test $rc -eq 0 && touch $lockfile; then
d243e33
	log_success_msg
d243e33
    else
d243e33
	log_failure_msg
d243e33
    fi
ce22243
d243e33
    return $rc
d243e33
}
d243e33
d243e33
stop() {
d243e33
    echo -n $"Stopping $prog: "
214d558
    if ! killproc -p "$pidfile" $prog -INT; then
214d558
	log_failure_msg
214d558
    else
214d558
	cnt=$TOR_SHUTDOWN_WAIT
214d558
	while let '--cnt > 0' && killproc -p "$pidfile" $prog -0; do
214d558
	    sleep 1
214d558
	done
214d558
214d558
	if test $cnt -ne 0 || killproc -p "$pidfile" $prog; then
214d558
	    log_success_msg
214d558
	else
214d558
	    log_failure_msg
214d558
	fi
214d558
    fi
214d558
d243e33
    rm -f $pidfile $lockfile
d243e33
}
d243e33
d243e33
restart() {
d243e33
    stop
d243e33
    start
d243e33
}
d243e33
d243e33
reload() {
d243e33
    echo -n $"Reloading $prog: "
214d558
    killproc -p "$pidfile" $prog -HUP && log_success_msg || log_failure_msg
d243e33
}
d243e33
d243e33
status() {
214d558
    pidofproc -p "$pidfile" "$prog" >/dev/null 2>&1
ce22243
    rc=$?
ce22243
    case $rc in
ce22243
      (0) echo $"$prog is running";;
ce22243
      (1) echo $"program is dead and /var/run pid file exists";;
ce22243
      (2) echo $"program is dead and /var/lock lock file exists";;
ce22243
      (3) echo $"program is not running";;
ce22243
      (4) echo $"program or service status is unknown";;
ce22243
      (*) echo $"status $rc of $prog";;
ce22243
    esac
d243e33
ce22243
    return $rc
d243e33
}
d243e33
d243e33
case $1 in
ce22243
    (start|stop|reload|status|restart)
ce22243
	$1
d243e33
	;;
ce22243
    (force-reload)
d243e33
	restart
d243e33
	;;
d243e33
    (condrestart|try-restart)
d243e33
	if [ -f $lockfile ]; then
d243e33
	    restart
d243e33
	fi
d243e33
	;;
d243e33
    (*)
d243e33
	echo $"Usage: $0 {start|stop|force-reload|reload|try-restart|status}"
d243e33
	exit 3
d243e33
esac