diff options
author | Nick Mathewson <nickm@torproject.org> | 2011-03-08 16:20:53 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2011-03-08 16:20:53 -0500 |
commit | 63651b919183e1b0a126109646030aca975344bd (patch) | |
tree | 78738a62b5aedd17deffa6d4926b76f536c1198d | |
parent | cb3c3c63cb5d0ee1a927dd9cc2fc67d3cc7bc88f (diff) | |
parent | 00446973f25227c0f805b7430e1ede6679e7ed16 (diff) | |
download | tor-63651b919183e1b0a126109646030aca975344bd.tar.gz tor-63651b919183e1b0a126109646030aca975344bd.zip |
Merge remote branch 'origin/maint-0.2.2'
Trivial conflicts fixed in or.h
Conflicts:
src/or/or.h
-rw-r--r-- | changes/bug2250 | 5 | ||||
-rw-r--r-- | src/or/config.c | 13 | ||||
-rw-r--r-- | src/or/or.h | 5 |
3 files changed, 18 insertions, 5 deletions
diff --git a/changes/bug2250 b/changes/bug2250 new file mode 100644 index 0000000000..95eb55d7ff --- /dev/null +++ b/changes/bug2250 @@ -0,0 +1,5 @@ + o Minor bugfixes: + - Fix an assert that got triggered when using the TestingTorNetwork + configuration option and then issuing a GETINFO config-text control + command. Fixes bug 2250; bugfix on 0.2.1.2-alpha. + diff --git a/src/or/config.c b/src/or/config.c index 769831b2c4..79d222b38f 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -402,6 +402,7 @@ static config_var_t _option_vars[] = { VAR("__HashedControlSessionPassword", LINELIST, HashedControlSessionPassword, NULL), V(MinUptimeHidServDirectoryV2, INTERVAL, "24 hours"), + V(_UsingTestNetworkDefaults, BOOL, "0"), { NULL, CONFIG_TYPE_OBSOLETE, 0, NULL } }; @@ -427,6 +428,7 @@ static config_var_t testing_tor_network_defaults[] = { V(TestingAuthDirTimeToLearnReachability, INTERVAL, "0 minutes"), V(TestingEstimatedDescriptorPropagationTime, INTERVAL, "0 minutes"), V(MinUptimeHidServDirectoryV2, INTERVAL, "0 minutes"), + V(_UsingTestNetworkDefaults, BOOL, "1"), { NULL, CONFIG_TYPE_OBSOLETE, 0, NULL } }; #undef VAR @@ -3728,7 +3730,7 @@ options_validate(or_options_t *old_options, or_options_t *options, /* Keep changes to hard-coded values synchronous to man page and default * values table. */ if (options->TestingV3AuthInitialVotingInterval != 30*60 && - !options->TestingTorNetwork) { + !options->TestingTorNetwork && !options->_UsingTestNetworkDefaults) { REJECT("TestingV3AuthInitialVotingInterval may only be changed in testing " "Tor networks!"); } else if (options->TestingV3AuthInitialVotingInterval < MIN_VOTE_INTERVAL) { @@ -3739,7 +3741,8 @@ options_validate(or_options_t *old_options, or_options_t *options, } if (options->TestingV3AuthInitialVoteDelay != 5*60 && - !options->TestingTorNetwork) { + !options->TestingTorNetwork && !options->_UsingTestNetworkDefaults) { + REJECT("TestingV3AuthInitialVoteDelay may only be changed in testing " "Tor networks!"); } else if (options->TestingV3AuthInitialVoteDelay < MIN_VOTE_SECONDS) { @@ -3747,7 +3750,7 @@ options_validate(or_options_t *old_options, or_options_t *options, } if (options->TestingV3AuthInitialDistDelay != 5*60 && - !options->TestingTorNetwork) { + !options->TestingTorNetwork && !options->_UsingTestNetworkDefaults) { REJECT("TestingV3AuthInitialDistDelay may only be changed in testing " "Tor networks!"); } else if (options->TestingV3AuthInitialDistDelay < MIN_DIST_SECONDS) { @@ -3762,7 +3765,7 @@ options_validate(or_options_t *old_options, or_options_t *options, } if (options->TestingAuthDirTimeToLearnReachability != 30*60 && - !options->TestingTorNetwork) { + !options->TestingTorNetwork && !options->_UsingTestNetworkDefaults) { REJECT("TestingAuthDirTimeToLearnReachability may only be changed in " "testing Tor networks!"); } else if (options->TestingAuthDirTimeToLearnReachability < 0) { @@ -3772,7 +3775,7 @@ options_validate(or_options_t *old_options, or_options_t *options, } if (options->TestingEstimatedDescriptorPropagationTime != 10*60 && - !options->TestingTorNetwork) { + !options->TestingTorNetwork && !options->_UsingTestNetworkDefaults) { REJECT("TestingEstimatedDescriptorPropagationTime may only be changed in " "testing Tor networks!"); } else if (options->TestingEstimatedDescriptorPropagationTime < 0) { diff --git a/src/or/or.h b/src/or/or.h index e033a3e2a6..323c472e47 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -3014,6 +3014,11 @@ typedef struct { /** For testing only: will go away in 0.2.3.x. */ int _UseFilteringSSLBufferevents; + /** Set to true if the TestingTorNetwork configuration option is set. + * This is used so that options_validate() has a chance to realize that + * the defaults have changed. */ + int _UsingTestNetworkDefaults; + } or_options_t; /** Persistent state for an onion router, as saved to disk. */ |