[tor-bugs] #20340 [Core Tor/Tor]: nice to have: test torrc for incompatible transistions of config values

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue Oct 11 17:15:41 UTC 2016


#20340: nice to have: test torrc for incompatible transistions of config values
--------------------------+------------------------------
 Reporter:  toralf        |          Owner:
     Type:  enhancement   |         Status:  new
 Priority:  Low           |      Milestone:
Component:  Core Tor/Tor  |        Version:  Tor: 0.2.8.8
 Severity:  Minor         |     Resolution:
 Keywords:                |  Actual Points:
Parent ID:                |         Points:
 Reviewer:                |        Sponsor:
--------------------------+------------------------------

Comment (by toralf):

 What just comes into my mind:
 Add an option like "--strict-test-that-reload-would-work" which would
 force tor to return rather an error code then zero, if the torrc is fine
 but would break a reload.
 FWIW the OpenRc init.d script as used in Gentoo land looks straightforward
 :
 {{{
 t44 ~ # cat /etc/init.d/tor
 #!/sbin/openrc-run
 # Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$

 command=/usr/bin/tor
 pidfile=/var/run/tor/tor.pid
 command_args="--hush --runasdaemon 1 --pidfile \"${pidfile}\""
 retry=${GRACEFUL_TIMEOUT:-60}

 extra_commands="checkconfig"
 extra_started_commands="reload"
 description="Anonymizing overlay network for TCP"
 description_checkconfig="Check for valid config file"
 description_reload="Reload the configuration"

 checkconfig() {
         ${command} --verify-config --hush > /dev/null 2>&1
         if [ $? -ne 0 ] ; then
                 eerror "Tor configuration (/etc/tor/torrc) is not valid."
                 eerror "Example is in /etc/tor/torrc.sample"
                 return 1
         fi
 }

 start_pre() {
         checkconfig || return 1
         checkpath -d -m 0755 -o tor:tor /var/run/tor
 }

 stop() {
         ebegin "Stopping Tor (waiting up to ${retry} seconds)"
         start-stop-daemon -K -s INT -R ${retry} -P -p ${pidfile}
         eend $?
 }

 reload() {
         checkconfig || return 1
         ebegin "Reloading Tor configuration"
         start-stop-daemon -s HUP --pidfile ${pidfile}
         eend $?
 }

 }}}

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/20340#comment:2>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list