summaryrefslogtreecommitdiff
path: root/repo/system/tor/tor.initd
diff options
context:
space:
mode:
Diffstat (limited to 'repo/system/tor/tor.initd')
-rw-r--r--repo/system/tor/tor.initd92
1 files changed, 0 insertions, 92 deletions
diff --git a/repo/system/tor/tor.initd b/repo/system/tor/tor.initd
deleted file mode 100644
index db8b2cf..0000000
--- a/repo/system/tor/tor.initd
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/sbin/openrc-run
-
-: ${conffile:="/etc/tor/torrc"}
-: ${user:="tor"}
-: ${graceful_timeout:="${GRACEFUL_TIMEOUT:-60}"}
-
-command="/usr/bin/tor"
-command_args="-f $conffile --runasdaemon 0"
-command_background="yes"
-start_stop_daemon_args="--chdir /var/lib/tor"
-pidfile="/run/tor/tor.pid"
-
-extra_commands="checkconfig"
-extra_started_commands="gracefulstop reload"
-
-description="Anonymizing overlay network for TCP"
-description_checkconfig="Check if config file is valid."
-description_reload="Reload the configuration."
-# See bug #523552, and https://trac.torproject.org/projects/tor/ticket/5525
-description_gracefulstop="Gracefully stop (wait $gracefulstop until all connections are properly closed)."
-
-
-depend() {
- need net
-}
-
-checkconfig() {
- # First check that it exists.
- if [ ! -f "$conffile" ] ; then
- eerror "You need to setup $conffile first, see $conffile.sample for example"
- return 1
- fi
-
- # Now verify whether the configuration is valid.
- # If User directive is set in $conffile, then we must run tor as root,
- # even --verify-config, otherwise it fails when verifying permissions
- # of DataDirectory.
- if conf_has User; then
- local user="root"
- fi
- local out
- out="$(su -s /bin/sh -c "$command $command_args --verify-config" $user 2>&1)" || {
- eerror "Tor configuration $conffile is not valid"
- printf '%s\n' "$out"
- return 1
- }
-}
-
-start_pre() {
- checkconfig || return 1
-
- # If User directive is set in $conffile, start tor as root and let it
- # drop privileges itself (may be needed e.g. to bind to a privileged
- # port). Otherwise run tor as $user (recommended).
- if conf_has User; then
- local user="$(conf_get User)"
- else
- start_stop_daemon_args="$start_stop_daemon_args --user $user"
- fi
-
- if conf_has DataDirectory; then
- checkpath -d -m 0700 -o "$user" "$(conf_get DataDirectory)"
- fi
- checkpath -d -m 0755 -o "$user" "$(dirname "$pidfile")"
-}
-
-gracefulstop() {
- ebegin "Gracefully stopping Tor, this can take up to $graceful_timeout seconds"
- start-stop-daemon --stop \
- --progress \
- --signal INT \
- --retry $graceful_timeout \
- --pidfile "$pidfile" \
- --exec $command -- $command_args
- eend $?
-}
-
-reload() {
- start_pre || return 1
-
- ebegin "Reloading Tor configuration"
- start-stop-daemon --signal HUP --pidfile "$pidfile"
- eend $?
-}
-
-conf_get() {
- sed -n "s/^\s*$1 \([^#]*\)/\1/p" "$conffile"
-}
-
-conf_has() {
- grep -q "^\s*$1 " "$conffile"
-}