From: Nick Mathewson Date: Tue, 28 May 2013 20:13:06 +0000 (-0400) Subject: Start correctly when not in testing mode. X-Git-Tag: tor-0.2.5.1-alpha~172 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=97d1caadfdf63043e23c7c3fd45465859e1340e2;p=thirdparty%2Ftor.git Start correctly when not in testing mode. You can't use != to compare arbitary members of or_options_t. (Also, generate a better error message to say which Testing* option was set.) Fix for bug 8992. Bugfix on b0d4ca49. Bug not in any released Tor. --- diff --git a/src/or/config.c b/src/or/config.c index 8734763af8..2cdf5b2078 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -3212,13 +3212,15 @@ options_validate(or_options_t *old_options, or_options_t *options, "ignore you."); } -#define CHECK_DEFAULT(arg) \ - STMT_BEGIN if (default_options->arg != options->arg && \ - !options->TestingTorNetwork && \ - !options->UsingTestNetworkDefaults_) { \ - REJECT("Testing* options may only be changed in testing Tor " \ - "networks!"); \ - } STMT_END +#define CHECK_DEFAULT(arg) \ + STMT_BEGIN \ + if (!options->TestingTorNetwork && \ + !options->UsingTestNetworkDefaults_ && \ + !config_is_same(&options_format,options, \ + default_options,#arg)) { \ + REJECT(#arg " may only be changed in testing Tor " \ + "networks!"); \ + } STMT_END CHECK_DEFAULT(TestingV3AuthInitialVotingInterval); CHECK_DEFAULT(TestingV3AuthInitialVoteDelay); CHECK_DEFAULT(TestingV3AuthInitialDistDelay);