two new guards on startup (bugfix on 0.2.0.9-alpha), and it was
causing us to discard all our guards on startup if we hadn't been
running for a few weeks (bugfix on 0.1.2.x). Fixes bug 448.
+ - Start purging old entries from the "rephist" database, and the
+ hidden service descriptor databases, even when DirPort is zero.
o Minor bugfixes:
- The fix in 0.2.0.12-alpha cleared the "hsdir" flag in v3 network
static time_t time_to_downrate_stability = 0;
#define SAVE_STABILITY_INTERVAL (30*60)
static time_t time_to_save_stability = 0;
+#define CLEAN_CACHES_INTERVAL (30*60)
+ static time_t time_to_clean_caches = 0;
or_options_t *options = get_options();
int i;
int have_dir_info;
#define V1_RUNNINGROUTERS_FETCH_PERIOD (12*60*60)
time_to_fetch_running_routers = now + V1_RUNNINGROUTERS_FETCH_PERIOD;
- /* Also, take this chance to remove old information from rephist
- * and the rend cache. */
+ }
+
+ /* Remove old information from rephist and the rend cache. */
+ if (time_to_clean_caches < now) {
rep_history_clean(now - options->RephistTrackTime);
rend_cache_clean();
rend_cache_clean_v2_descs_as_dir();
- /* XXX020 we only clean this stuff if DirPort is set?! -RD */
+ time_to_clean_caches = now + CLEAN_CACHES_INTERVAL;
}
/* 2b. Once per minute, regenerate and upload the descriptor if the old