diff options
Diffstat (limited to 'testing/tor/tor.initd')
-rw-r--r-- | testing/tor/tor.initd | 67 |
1 files changed, 49 insertions, 18 deletions
diff --git a/testing/tor/tor.initd b/testing/tor/tor.initd index 4a26c1dad5..95d02db5d7 100644 --- a/testing/tor/tor.initd +++ b/testing/tor/tor.initd @@ -1,30 +1,61 @@ -#!/sbin/runscript +#!/sbin/openrc-run +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/tor/files/Attic/tor.initd-r6,v 1.7 2015/03/20 12:46:13 blueness dead $ -# Sample init.d file for alpine linux. +extra_commands="checkconfig" +extra_started_commands="reload" -name=tor -daemon=/usr/bin/$name +PIDFILE=/var/run/tor/tor.pid +CONFFILE=/etc/tor/torrc depend() { - need net - after firewall - provide $name + need net +} + +checkconfig() { + # first check that it exists + if [ ! -f ${CONFFILE} ] ; then + eerror "You need to setup ${CONFFILE} first" + eerror "Example is in ${CONFFILE}.sample" + return 1 + fi + + # now verify whether the configuration is valid + /usr/bin/tor --verify-config -f ${CONFFILE} > /dev/null 2>&1 + if [ $? -eq 0 ] ; then + einfo "Tor configuration (${CONFFILE}) is valid." + return 0 + else + eerror "Tor configuration (${CONFFILE}) not valid." + /usr/bin/tor --verify-config -f ${CONFFILE} + return 1 + fi } start() { - ebegin "Starting ${name}" - start-stop-daemon --start --quiet \ - --pidfile /var/run/${name}.pid \ - -u ${name} \ - --exec ${daemon} -- --runasdaemon 1 - eend $? + checkconfig || return 1 + checkpath -d -m 0755 -o tor /var/run/tor + ebegin "Starting Tor" + HOME=/var/lib/tor + start-stop-daemon --start --pidfile "${PIDFILE}" --quiet --exec /usr/bin/tor -- -f "${CONFFILE}" --runasdaemon 1 --PidFile "${PIDFILE}" > /dev/null 2>&1 + eend $? } stop() { - ebegin "Stopping ${name}" - start-stop-daemon --stop --quiet \ - --pidfile /var/run/$name.pid \ - --exec ${daemon} - eend $? + ebegin "Stopping Tor" + start-stop-daemon --stop --pidfile "${PIDFILE}" --exec /usr/bin/tor -- --PidFile "${PIDFILE}" + eend $? +} + +reload() { + if [ ! -f ${PIDFILE} ]; then + eerror "${SVCNAME} isn't running" + return 1 + fi + checkconfig || return 1 + ebegin "Reloading Tor configuration" + start-stop-daemon --signal HUP --pidfile ${PIDFILE} + eend $? } |