From: Roger Dingledine Date: Sat, 1 Dec 2007 22:38:58 +0000 (+0000) Subject: backport candidate: X-Git-Tag: tor-0.2.0.13-alpha~113 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9b1b8199dfbf16519d1e18d49f80f253db687064;p=thirdparty%2Ftor.git backport candidate: Start purging old entries from the "rephist" database, and the hidden service descriptor databases, even when DirPort is zero. svn:r12628 --- diff --git a/ChangeLog b/ChangeLog index 33ca1ecc74..0c4ff8223c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,8 @@ Changes in version 0.2.0.13-alpha - 2007-11-?? 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 diff --git a/src/or/main.c b/src/or/main.c index a89bfc5992..acb7cac3f4 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -833,6 +833,8 @@ run_scheduled_events(time_t now) 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; @@ -974,12 +976,14 @@ run_scheduled_events(time_t now) #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