commit f89de0a79fe02727d40a051eba0e96f7324e68ab Author: Roger Dingledine arma@torproject.org Date: Wed May 16 11:28:36 2012 -0400
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) --- changes/bug5380 | 5 +++++ src/or/circuitbuild.c | 2 ++ 2 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/changes/bug5380 b/changes/bug5380 new file mode 100644 index 0000000..4bb17bc --- /dev/null +++ b/changes/bug5380 @@ -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. diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index 19be77e..403f65f 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -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) {
tor-commits@lists.torproject.org