diff options
author | Nick Mathewson <nickm@torproject.org> | 2013-11-07 14:42:58 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2013-11-07 14:42:58 -0500 |
commit | 940d286a7493ba890f89f17cc5c70c3e37a7ccd0 (patch) | |
tree | b7ab281db51dd27634db8c8de810594aba4939b0 | |
parent | 86cfc64d4565187250c8b92d25c24a1c5a0bec0d (diff) | |
download | tor-940d286a7493ba890f89f17cc5c70c3e37a7ccd0.tar tor-940d286a7493ba890f89f17cc5c70c3e37a7ccd0.tar.gz |
Documentation and tests for 10060
-rw-r--r-- | changes/ticket10060 | 5 | ||||
-rw-r--r-- | doc/tor.1.txt | 5 | ||||
-rwxr-xr-x | src/test/test_cmdline_args.py | 16 |
3 files changed, 23 insertions, 3 deletions
diff --git a/changes/ticket10060 b/changes/ticket10060 index 6ad0feb04..867c46436 100644 --- a/changes/ticket10060 +++ b/changes/ticket10060 @@ -1,6 +1,5 @@ o Minor features: - - Adding --allow-missing-torrc commandline option - that allows Tor to run if configuration file specified - by -f is not available, but default torrc is. + - Adding --allow-missing-torrc commandline option that allows Tor to + run if configuration file specified by -f is not available. Implements ticket 10060. diff --git a/doc/tor.1.txt b/doc/tor.1.txt index 82f4e3376..b457ee5a7 100644 --- a/doc/tor.1.txt +++ b/doc/tor.1.txt @@ -55,6 +55,11 @@ COMMAND-LINE OPTIONS configuration file, and by those on the command line. (Default: @CONFDIR@/torrc-defaults.) +[[opt-ignore-missing-torrc]] **--ignore-missing-torrc**:: + Specifies that Tor should treat a missing torrc file as though it + were empty. Ordinarily, Tor does this for missing default torrc files, + but not for those specified on the command line. + [[opt-hash-password]] **--hash-password** __PASSWORD__:: Generates a hashed password for control port access. diff --git a/src/test/test_cmdline_args.py b/src/test/test_cmdline_args.py index 2213bb570..e8edaa026 100755 --- a/src/test/test_cmdline_args.py +++ b/src/test/test_cmdline_args.py @@ -60,6 +60,10 @@ def strip_log_junk(line): return ""+line return m.group(2).strip() +def randstring(entropy_bytes): + s = os.urandom(entropy_bytes) + return binascii.b2a_hex(s) + class CmdlineTests(unittest.TestCase): def test_version(self): @@ -247,5 +251,17 @@ class CmdlineTests(unittest.TestCase): "ORPort 9003", "SocksPort 9090"]) + def test_missing_torrc(self): + fname = "nonexistent_file_"+randstring(8) + out = run_tor(["-f", fname, "--verify-config"], failure=True) + ln = [ strip_log_junk(l) for l in lines(out) ] + self.assert_("Unable to open configuration file" in ln[-2]) + self.assert_("Reading config failed" in ln[-1]) + + out = run_tor(["-f", fname, "--verify-config", "--ignore-missing-torrc"]) + ln = [ strip_log_junk(l) for l in lines(out) ] + self.assert_(", using reasonable defaults" in ln[-2]) + self.assert_("Configuration was valid" in ln[-1]) + if __name__ == '__main__': unittest.main() |