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 -> ...)
This commit is contained in:
Nick Mathewson 2011-09-08 12:04:34 -04:00
parent 69d16900aa
commit ff3eb8e023

View File

@ -4477,6 +4477,11 @@ config_register_addressmaps(const or_options_t *options)
goto cleanup; 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' */ /* Detect asterisks in expressions of type: '*.example.com' */
if (!strncmp(from,"*.",2)) { if (!strncmp(from,"*.",2)) {
from += 2; from += 2;