fix bug 235

svn:r5768
This commit is contained in:
Roger Dingledine 2006-01-10 20:06:24 +00:00
parent 7fc62029d4
commit f71273c216

View File

@ -1942,9 +1942,8 @@ options_validate(or_options_t *old_options, or_options_t *options)
if (options->AuthoritativeDir && !options->ORPort) if (options->AuthoritativeDir && !options->ORPort)
REJECT("Running as authoritative directory, but no ORPort set."); REJECT("Running as authoritative directory, but no ORPort set.");
if (options->AuthoritativeDir && options->ClientOnly) { if (options->AuthoritativeDir && options->ClientOnly)
REJECT("Running as authoritative directory, but ClientOnly also set."); REJECT("Running as authoritative directory, but ClientOnly also set.");
}
if (options->AuthoritativeDir && options->NoPublish) if (options->AuthoritativeDir && options->NoPublish)
REJECT("You cannot set both AuthoritativeDir and NoPublish."); REJECT("You cannot set both AuthoritativeDir and NoPublish.");
@ -1963,12 +1962,10 @@ options_validate(or_options_t *old_options, or_options_t *options)
options->_AccountingMaxKB = 0; options->_AccountingMaxKB = 0;
} }
if (validate_ports_csv(options->FirewallPorts, if (validate_ports_csv(options->FirewallPorts, "FirewallPorts") < 0)
"FirewallPorts") < 0)
result = -1; result = -1;
if (validate_ports_csv(options->LongLivedPorts, if (validate_ports_csv(options->LongLivedPorts, "LongLivedPorts") < 0)
"LongLivedPorts") < 0)
result = -1; result = -1;
if (options->FascistFirewall && !options->ReachableAddresses) { if (options->FascistFirewall && !options->ReachableAddresses) {
@ -2016,6 +2013,11 @@ options_validate(or_options_t *old_options, or_options_t *options)
} }
} }
if (options->ReachableAddresses && server_mode(options))
REJECT("Servers must be able to freely connect to the rest "
"of the Internet, so they must not set ReachableAddresses "
"or FascistFirewall.");
options->_AllowUnverified = 0; options->_AllowUnverified = 0;
if (options->AllowUnverifiedNodes) { if (options->AllowUnverifiedNodes) {
SMARTLIST_FOREACH(options->AllowUnverifiedNodes, const char *, cp, { SMARTLIST_FOREACH(options->AllowUnverifiedNodes, const char *, cp, {