Browse Source

Bug #1107: Complain if PublishServerDescriptor receives 0 or 1 in a list

0 or 1 should only be passed as the sole argument. Warn for now, reject
in 0.2.3.x.
Chris Ball 15 years ago
parent
commit
600ba86f4a
2 changed files with 17 additions and 0 deletions
  1. 5 0
      changes/bug1107
  2. 12 0
      src/or/config.c

+ 5 - 0
changes/bug1107

@@ -0,0 +1,5 @@
+  o Minor bugfixes:
+    - Complain if PublishServerDescriptor is given multiple arguments that
+      include 0 or 1. This configuration will be rejected in future.
+      Bugfix in 0.2.0.1-alpha, closes bug 1107.
+

+ 12 - 0
src/or/config.c

@@ -3578,6 +3578,18 @@ options_validate(or_options_t *old_options, or_options_t *options,
   if (options->AccelDir && !options->AccelName)
     REJECT("Can't use hardware crypto accelerator dir without engine name.");
 
+  if (options->PublishServerDescriptor)
+    SMARTLIST_FOREACH(options->PublishServerDescriptor, const char *, pubdes, {
+      if (!strcmp(pubdes, "1") || !strcmp(pubdes, "0"))
+        if (smartlist_len(options->PublishServerDescriptor) > 1) {
+          COMPLAIN("You have passed a list of multiple arguments to the "
+                   "PublishServerDescriptor option that includes 0 or 1. "
+                   "0 or 1 should only be used as the sole argument. "
+                   "This configuration will be rejected in a future release.");
+          break;
+        }
+    });
+
   return 0;
 #undef REJECT
 #undef COMPLAIN