[tor-commits] [tor/master] Document 0.2.3.x torrc/default-torrc/command line semantics changes

nickm at torproject.org nickm at torproject.org
Mon Jun 18 16:07:02 UTC 2012


commit f5e86bcd6c06d43ff3af5acd8135bd8b577bc3fd
Author: Nick Mathewson <nickm at torproject.org>
Date:   Fri Jun 15 16:41:30 2012 -0400

    Document 0.2.3.x torrc/default-torrc/command line semantics changes
    
    Bug 4748
    
    squash! Document 0.2.3.x torrc/default-torrc/command line semantics changes
    
    Incorporates fixes suggested by rransom.
---
 changes/bug4748 |    4 +++
 doc/tor.1.txt   |   65 +++++++++++++++++++++++++++++++++++++++++++++---------
 2 files changed, 58 insertions(+), 11 deletions(-)

diff --git a/changes/bug4748 b/changes/bug4748
new file mode 100644
index 0000000..9c0f9cf
--- /dev/null
+++ b/changes/bug4748
@@ -0,0 +1,4 @@
+  o Documentation:
+    - Document the --defaults-torrc option, and the new (in 0.2.3)
+      semantics for overriding, extending, and clearing lists of
+      options. Closes bug 4748.
diff --git a/doc/tor.1.txt b/doc/tor.1.txt
index feb7215..a4a0ed7 100644
--- a/doc/tor.1.txt
+++ b/doc/tor.1.txt
@@ -28,13 +28,21 @@ Users bounce their TCP streams -- web traffic, ftp, ssh, etc -- around the
 routers, and recipients, observers, and even the routers themselves have
 difficulty tracking the source of the stream.
 
-OPTIONS
--------
+COMMAND-LINE OPTIONS
+--------------------
 **-h**, **-help**::
     Display a short help message and exit.
 
 **-f** __FILE__::
-    FILE contains further "option value" pairs. (Default: @CONFDIR@/torrc)
+    Specify a new configuration file to contain further Tor configuration
+    options. (Default: $HOME/.torrc, or @CONFDIR@/torrc if that file is not
+    found)
+
+**--defaults-torrc** __FILE__::
+    Specify a file in which to find default values for Tor options.  The
+    contents of this file are overridden by those in the regular
+    configuration file, and by those on the command line. (Default:
+    @CONFDIR@/torrc-defaults.)
 
 **--hash-password**::
     Generates a hashed password for control port access.
@@ -70,14 +78,49 @@ OPTIONS
     which tells Tor to only send warnings and errors to the console, or with
     the **--quiet** option, which tells Tor not to log to the console at all.
 
-Other options can be specified either on the command-line (--option
-    value), or in the configuration file (option value or option "value").
-    Options are case-insensitive. C-style escaped characters are allowed inside
-    quoted values.   Options on the command line take precedence over
-    options found in the configuration file, except indicated otherwise.  To
-    split one configuration entry into multiple lines, use a single \ before
-    the end of the line.  Comments can be used in such multiline entries, but
-    they must start at the beginning of a line.
+Other options can be specified on the command-line in the format "--option
+value", in the format "option value", or in a configuration file.  For
+instance, you can tell Tor to start listening for SOCKS connections on port
+9999 by passing --SOCKSPort 9999 or SOCKPort 9999 to it on the command line,
+or by putting "SOCKSPort 9999" in the configuration file.  You will need to
+quote options with spaces in them: if you want Tor to log all debugging
+messages to debug.log, you will probably need to say --Log 'debug file
+debug.log'.
+
+Options on the command line override those in configuration files. See the
+next section for more information.
+
+THE CONFIGURATION FILE FORMAT
+-----------------------------
+
+All configuration options in a configuration are written on a single line by
+default.  They take the form of an option name and a value, or an option name
+and a quoted value (option value or option "value"). Anything after a #
+character is treated as a comment.  Options are
+case-insensitive. C-style escaped characters are allowed inside quoted
+values. To split one configuration entry into multiple lines, use a single
+backslash character (\) before the end of the line.  Comments can be used in
+such multiline entries, but they must start at the beginning of a line.
+
+By default, an option on the command line overrides an option found in the
+configuration file, and an option in a configuration file overrides one in
+the defaults file.
+
+This rule is simple for options that take a single value, but it can become
+complicated for options that are allowed to occur more than once: if you
+specify four SOCKSPorts in your configuration file, and one more SOCKSPort on
+the command line, the option on the command line will replace __all__ of the
+SOCKSPorts in the configuration file.  If this isn't what you want, prefix
+the option name with a plus sign, and it will be appended to the previous set
+of options instead.
+
+Alternatively, you might want to remove every instance of an option in the
+configuration file, and not replace it at all: you might want to say on the
+command line that you want no SOCKSPorts at all.  To do that, prefix the
+option name with a forward slash.
+
+GENERAL OPTIONS
+---------------
 
 **BandwidthRate** __N__ **bytes**|**KB**|**MB**|**GB**::
     A token bucket limits the average incoming bandwidth usage on this node to





More information about the tor-commits mailing list