|
@@ -14,6 +14,7 @@
|
|
|
#define CONSDIFFMGR_PRIVATE
|
|
|
|
|
|
#include "or.h"
|
|
|
+#include "config.h"
|
|
|
#include "conscache.h"
|
|
|
#include "consdiff.h"
|
|
|
#include "consdiffmgr.h"
|
|
@@ -462,12 +463,22 @@ cdm_cache_lookup_consensus(consensus_flavor_t flavor, time_t valid_after)
|
|
|
static int32_t
|
|
|
get_max_age_to_cache(void)
|
|
|
{
|
|
|
- /* The parameter is in hours. */
|
|
|
const int32_t DEFAULT_MAX_AGE_TO_CACHE = 8192;
|
|
|
const int32_t MIN_MAX_AGE_TO_CACHE = 0;
|
|
|
const int32_t MAX_MAX_AGE_TO_CACHE = 8192;
|
|
|
const char MAX_AGE_TO_CACHE_NAME[] = "max-consensus-age-to-cache-for-diff";
|
|
|
|
|
|
+ const or_options_t *options = get_options();
|
|
|
+
|
|
|
+ if (options->MaxConsensusAgeForDiffs) {
|
|
|
+ const int v = options->MaxConsensusAgeForDiffs;
|
|
|
+ if (v >= MAX_MAX_AGE_TO_CACHE * 3600)
|
|
|
+ return MAX_MAX_AGE_TO_CACHE;
|
|
|
+ else
|
|
|
+ return v;
|
|
|
+ }
|
|
|
+
|
|
|
+ /* The parameter is in hours, so we multiply */
|
|
|
return 3600 * networkstatus_get_param(NULL,
|
|
|
MAX_AGE_TO_CACHE_NAME,
|
|
|
DEFAULT_MAX_AGE_TO_CACHE,
|