[tor-commits] [tor/master] Start correctly when not in testing mode.

nickm at torproject.org nickm at torproject.org
Tue May 28 20:15:38 UTC 2013


commit 97d1caadfdf63043e23c7c3fd45465859e1340e2
Author: Nick Mathewson <nickm at torproject.org>
Date:   Tue May 28 16:13:06 2013 -0400

    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.
---
 src/or/config.c |   16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/src/or/config.c b/src/or/config.c
index 8734763..2cdf5b2 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);



More information about the tor-commits mailing list