diff options
author | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2018-07-05 01:22:39 +0300 |
---|---|---|
committer | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2018-07-05 01:22:39 +0300 |
commit | 5439590e63754909635ee45bfdd3a36f060703d2 (patch) | |
tree | 4e329c2fcb540fd1b040e3950f9a6071e0f2a4e5 /packages/net-misc/tor/files | |
parent | 41e76d8b71a059ee085af55a31d42837395cc6e1 (diff) |
tor-scm (from net repo)
Diffstat (limited to 'packages/net-misc/tor/files')
-rw-r--r-- | packages/net-misc/tor/files/openrc/confd/tor | 3 | ||||
-rw-r--r-- | packages/net-misc/tor/files/openrc/initd/tor | 84 | ||||
-rw-r--r-- | packages/net-misc/tor/files/systemd/tor.service | 9 | ||||
-rw-r--r-- | packages/net-misc/tor/files/tor.conf | 3 | ||||
-rw-r--r-- | packages/net-misc/tor/files/tor.logrotate.in.patch | 20 | ||||
-rw-r--r-- | packages/net-misc/tor/files/torrc.sample.in-sane-defaults.patch | 33 |
6 files changed, 152 insertions, 0 deletions
diff --git a/packages/net-misc/tor/files/openrc/confd/tor b/packages/net-misc/tor/files/openrc/confd/tor new file mode 100644 index 0000000..4195bf3 --- /dev/null +++ b/packages/net-misc/tor/files/openrc/confd/tor @@ -0,0 +1,3 @@ +# +# Set the file limit +rc_ulimit="-n 30000" diff --git a/packages/net-misc/tor/files/openrc/initd/tor b/packages/net-misc/tor/files/openrc/initd/tor new file mode 100644 index 0000000..799cca1 --- /dev/null +++ b/packages/net-misc/tor/files/openrc/initd/tor @@ -0,0 +1,84 @@ +#!/sbin/runscript +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +PIDFILE=/var/run/tor/tor.pid +CONFFILE=/etc/tor/torrc +GRACEFUL_TIMEOUT=${GRACEFUL_TIMEOUT:-60} + +# See bug #523552, and https://trac.torproject.org/projects/tor/ticket/5525 +# Graceful = wait 30 secs or so until all connections are properly closed. +extra_commands="checkconfig" +extra_started_commands="graceful gracefulstop reload" +description="Anonymizing overlay network for TCP" +description_checkconfig="Check for valid config file." +description_reload="Reload the configuration." +description_graceful="Gracefully restart." +description_gracefulstop="Gracefully stop." + +depend() { + 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() { + checkconfig || return 1 + checkpath -d -m 0755 -o tor: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 Tor" + start-stop-daemon --stop --pidfile "${PIDFILE}" --exec /usr/bin/tor -- --PidFile "${PIDFILE}" + eend $? +} + +graceful() { + gracefulstop + start + eend $? +} + +gracefulstop() { + local rc=0 + ebegin "Gracefully stopping Tor" + ebegin "This can take up to ${GRACEFUL_TIMEOUT} seconds" + start-stop-daemon -P --stop --signal INT -R ${GRACEFUL_TIMEOUT} --pidfile "${PIDFILE}" --exec /usr/bin/tor -- --PidFile "${PIDFILE}" + rc=$? + eend "done" + eend $rc +} + +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 $? +} diff --git a/packages/net-misc/tor/files/systemd/tor.service b/packages/net-misc/tor/files/systemd/tor.service new file mode 100644 index 0000000..5ca14e5 --- /dev/null +++ b/packages/net-misc/tor/files/systemd/tor.service @@ -0,0 +1,9 @@ +[Unit] +Description=Anonymizing Internet communication system + +[Service] +ExecStart=/usr/bin/tor -f /etc/tor/torrc +ExecReload=/bin/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/packages/net-misc/tor/files/tor.conf b/packages/net-misc/tor/files/tor.conf new file mode 100644 index 0000000..4e4c639 --- /dev/null +++ b/packages/net-misc/tor/files/tor.conf @@ -0,0 +1,3 @@ +tor hard nofile 30000 +tor soft nofile 30000 + diff --git a/packages/net-misc/tor/files/tor.logrotate.in.patch b/packages/net-misc/tor/files/tor.logrotate.in.patch new file mode 100644 index 0000000..083913f --- /dev/null +++ b/packages/net-misc/tor/files/tor.logrotate.in.patch @@ -0,0 +1,20 @@ +Source: Gentoo (bug #178975) +Upstream: no +Reason: Logrotate script fails if Tor is not running. This should really go + upstream. + +diff -ruN tor-0.2.5.10.orig/contrib/operator-tools/tor.logrotate.in tor-0.2.5.10/contrib/operator-tools/tor.logrotate.in +--- tor-0.2.5.10.orig/contrib/operator-tools/tor.logrotate.in 2014-06-27 23:45:19.000000000 +0200 ++++ tor-0.2.5.10/contrib/operator-tools/tor.logrotate.in 2014-11-01 09:06:46.466585311 +0100 +@@ -6,9 +6,9 @@ + missingok + notifempty + # you may need to change the username/groupname below +- create 0640 _tor _tor ++ create 0640 tor tor + sharedscripts + postrotate +- /etc/init.d/tor reload > /dev/null ++ /etc/init.d/tor reload > /dev/null || true + endscript + } diff --git a/packages/net-misc/tor/files/torrc.sample.in-sane-defaults.patch b/packages/net-misc/tor/files/torrc.sample.in-sane-defaults.patch new file mode 100644 index 0000000..6919c3c --- /dev/null +++ b/packages/net-misc/tor/files/torrc.sample.in-sane-defaults.patch @@ -0,0 +1,33 @@ +Source: Sterling X. Winter <sterling.winter@gmail.com> +Upstream: no +Reason: By default: drop daemon privs to tor/tor, enable logging, use a sane + data dir. + +--- tor-0.2.7.6.orig/src/config/torrc.sample.in 2015-11-13 14:41:38.000000000 +0100 ++++ tor-0.2.7.6/src/config/torrc.sample.in 2016-02-04 13:20:50.024381439 +0100 +@@ -12,6 +12,9 @@ + ## Tor will look for this file in various places based on your platform: + ## https://www.torproject.org/docs/faq#torrc + ++# On startup, setuid to this user and setgid to their primary group. ++User tor ++ + ## Tor opens a SOCKS proxy on port 9050 by default -- even if you don't + ## configure one below. Set "SOCKSPort 0" if you plan to run Tor only + ## as a relay, and not make any local application connections yourself. +@@ -40,6 +43,7 @@ + #Log debug file @LOCALSTATEDIR@/log/tor/debug.log + ## Use the system log instead of Tor's logfiles + #Log notice syslog ++Log notice file @LOCALSTATEDIR@/log/tor/tor.log + ## To send all messages to stderr: + #Log debug stderr + +@@ -51,6 +55,7 @@ + ## The directory for keeping all the keys/etc. By default, we store + ## things in $HOME/.tor on Unix, and in Application Data\tor on Windows. + #DataDirectory @LOCALSTATEDIR@/lib/tor ++DataDirectory @LOCALSTATEDIR@/lib/tor/data + + ## The port on which Tor will listen for local connections from Tor + ## controller applications, as documented in control-spec.txt. |