Merge branch 'bug5380'

This commit is contained in:
Nick Mathewson 2012-05-16 11:31:40 -04:00
commit 2cdd631f5c
2 changed files with 10 additions and 1 deletions

5
changes/bug5380 Normal file
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.

View file

@ -3737,7 +3737,9 @@ entry_guard_free(entry_guard_t *e)
/** Remove any entry guard which was selected by an unknown version of Tor,
* or which was selected by a version of Tor that's known to select
* entry guards badly. */
* entry guards badly, or which was selected more 2 months ago. */
/* XXXX The "obsolete guards" and "chosen long ago guards" things should
* probably be different functions. */
static int
remove_obsolete_entry_guards(time_t now)
{
@ -3866,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) {