|
@@ -1942,9 +1942,8 @@ options_validate(or_options_t *old_options, or_options_t *options)
|
|
|
if (options->AuthoritativeDir && !options->ORPort)
|
|
|
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.");
|
|
|
- }
|
|
|
|
|
|
if (options->AuthoritativeDir && options->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;
|
|
|
}
|
|
|
|
|
|
- if (validate_ports_csv(options->FirewallPorts,
|
|
|
- "FirewallPorts") < 0)
|
|
|
+ if (validate_ports_csv(options->FirewallPorts, "FirewallPorts") < 0)
|
|
|
result = -1;
|
|
|
|
|
|
- if (validate_ports_csv(options->LongLivedPorts,
|
|
|
- "LongLivedPorts") < 0)
|
|
|
+ if (validate_ports_csv(options->LongLivedPorts, "LongLivedPorts") < 0)
|
|
|
result = -1;
|
|
|
|
|
|
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;
|
|
|
if (options->AllowUnverifiedNodes) {
|
|
|
SMARTLIST_FOREACH(options->AllowUnverifiedNodes, const char *, cp, {
|