Remove over-two-months-old entry guards even while running.

Previously, we only did this check at startup, which could lead to
us holding a guard indefinitely, and give weird results.  Fixes bug
5380; bugfix on 0.2.1.14-rc.

(Patch by Roger; changes file and commit message by Nick)
This commit is contained in:
Roger Dingledine
2012-05-16 11:28:36 -04:00
committed by Nick Mathewson
parent a6cb07bd9e
commit f89de0a79f
2 changed files with 7 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
o Minor bugfixes:
- Check our entry guards for having been picked too long ago when
we get a new consensus. (Previously, we only did this check at
startup, which could lead to us holding a guard indefinitely,
and give weird results.) Fixes bug 5380; bugfix on 0.2.1.14-rc.
+2
View File
@@ -3868,6 +3868,8 @@ entry_guards_compute_status(const or_options_t *options, time_t now)
if (remove_dead_entry_guards(now))
changed = 1;
if (remove_obsolete_entry_guards(now))
changed = 1;
if (changed) {
SMARTLIST_FOREACH_BEGIN(entry_guards, entry_guard_t *, entry) {