Browse Source

Forbid remapping of *

It might be nice to support this someday, but for now it would fail
with an infinite remap cycle.  (If I say "remap * *.foo.exit",
then example.com ->
     example.com.foo.exit ->
     example.com.foo.exit.foo.exit ->
     example.com.foo.exit.foo.exit.foo.exit -> ...)
Nick Mathewson 12 years ago
parent
commit
ff3eb8e023
1 changed files with 5 additions and 0 deletions
  1. 5 0
      src/or/config.c

+ 5 - 0
src/or/config.c

@@ -4477,6 +4477,11 @@ config_register_addressmaps(const or_options_t *options)
       goto cleanup;
     }
 
+    if (!strcmp(to, "*") || !strcmp(from, "*")) {
+      log_warn(LD_CONFIG,"MapAddress '%s' is unsupported - can't remap from "
+               "or to *. Ignoring.",opt->value);
+      goto cleanup;
+    }
     /* Detect asterisks in expressions of type: '*.example.com' */
     if (!strncmp(from,"*.",2)) {
       from += 2;