|
@@ -2385,6 +2385,11 @@ compute_publishserverdescriptor(or_options_t *options)
|
|
|
* services can overload the directory system. */
|
|
|
#define MIN_REND_POST_PERIOD (10*60)
|
|
|
|
|
|
+/** Higest allowable value for PredictedCircsRelevanceTime; if this is
|
|
|
+ * too high, our selection of exits will decrease for an extended
|
|
|
+ * period of time to an uncomfortable level .*/
|
|
|
+#define MAX_PREDICTED_CIRCS_RELEVANCE (24*60*60)
|
|
|
+
|
|
|
/** Highest allowable value for RendPostPeriod. */
|
|
|
#define MAX_DIR_PERIOD (MIN_ONION_KEY_LIFETIME/2)
|
|
|
|
|
@@ -2832,6 +2837,13 @@ options_validate(or_options_t *old_options, or_options_t *options,
|
|
|
options->RendPostPeriod = MAX_DIR_PERIOD;
|
|
|
}
|
|
|
|
|
|
+ if (options->PredictedCircsRelevanceTime >
|
|
|
+ MAX_PREDICTED_CIRCS_RELEVANCE) {
|
|
|
+ log_warn(LD_CONFIG, "PredictedCircsRelevanceTime is too large; "
|
|
|
+ "clipping to %ds.", MAX_PREDICTED_CIRCS_RELEVANCE);
|
|
|
+ options->PredictedCircsRelevanceTime = MAX_PREDICTED_CIRCS_RELEVANCE;
|
|
|
+ }
|
|
|
+
|
|
|
if (options->Tor2webMode && options->LearnCircuitBuildTimeout) {
|
|
|
/* LearnCircuitBuildTimeout and Tor2webMode are incompatible in
|
|
|
* two ways:
|