diff options
author | Roger Dingledine <arma@torproject.org> | 2012-05-16 11:28:36 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2012-05-16 11:31:28 -0400 |
commit | f89de0a79fe02727d40a051eba0e96f7324e68ab (patch) | |
tree | 294662435d1972293592aa1a828a8ca104882a77 | |
parent | a6cb07bd9e332205d55010c8386746096f78fc91 (diff) | |
download | tor-f89de0a79fe02727d40a051eba0e96f7324e68ab.tar.gz tor-f89de0a79fe02727d40a051eba0e96f7324e68ab.zip |
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)
-rw-r--r-- | changes/bug5380 | 5 | ||||
-rw-r--r-- | 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 0000000000..4bb17bc940 --- /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 19be77e5d5..403f65f284 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) { |