|
@@ -315,6 +315,7 @@ static config_var_t _option_vars[] = {
|
|
VAR("MapAddress", LINELIST, AddressMap, NULL),
|
|
VAR("MapAddress", LINELIST, AddressMap, NULL),
|
|
V(MaxAdvertisedBandwidth, MEMUNIT, "1 GB"),
|
|
V(MaxAdvertisedBandwidth, MEMUNIT, "1 GB"),
|
|
V(MaxCircuitDirtiness, INTERVAL, "10 minutes"),
|
|
V(MaxCircuitDirtiness, INTERVAL, "10 minutes"),
|
|
|
|
+ V(MaxClientCircuitsPending, UINT, "32"),
|
|
V(MaxOnionsPending, UINT, "100"),
|
|
V(MaxOnionsPending, UINT, "100"),
|
|
OBSOLETE("MonthlyAccountingStart"),
|
|
OBSOLETE("MonthlyAccountingStart"),
|
|
V(MyFamily, STRING, NULL),
|
|
V(MyFamily, STRING, NULL),
|
|
@@ -3215,6 +3216,15 @@ options_validate(or_options_t *old_options, or_options_t *options,
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (options->MaxClientCircuitsPending <= 0 ||
|
|
|
|
+ options->MaxClientCircuitsPending > MAX_MAX_CLIENT_CIRCUITS_PENDING) {
|
|
|
|
+ tor_asprintf(msg,
|
|
|
|
+ "MaxClientCircuitsPending must be between 1 and %d, but "
|
|
|
|
+ "was set to %d", MAX_MAX_CLIENT_CIRCUITS_PENDING,
|
|
|
|
+ options->MaxClientCircuitsPending);
|
|
|
|
+ return -1;
|
|
|
|
+ }
|
|
|
|
+
|
|
if (validate_ports_csv(options->FirewallPorts, "FirewallPorts", msg) < 0)
|
|
if (validate_ports_csv(options->FirewallPorts, "FirewallPorts", msg) < 0)
|
|
return -1;
|
|
return -1;
|
|
|
|
|