mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-20 10:12:15 +01:00
If there's a never-before-connected-to guard node in our list,
never choose any guards past it. This way we don't expand our guard list unless we need to. [Bugfix in 0.1.2.x] I'm not sure if this will solve all our problems, but it is at least something. svn:r10730
This commit is contained in:
parent
5c1daed3ad
commit
99bfb1bebe
@ -50,6 +50,11 @@ Changes in version 0.2.0.3-alpha - 2007-??-??
|
||||
- Stop under-counting the number of authorities that recommend each
|
||||
version. [Bugfix on 0.1.2.x]
|
||||
|
||||
o Minor bugfixes (guard nodes):
|
||||
- If there's a never-before-connected-to guard node in our list,
|
||||
never choose any guards past it. This way we don't expand our
|
||||
guard list unless we need to. [Bugfix in 0.1.2.x]
|
||||
|
||||
|
||||
Changes in version 0.2.0.2-alpha - 2007-06-02
|
||||
o Major bugfixes on 0.2.0.1-alpha:
|
||||
|
@ -2418,6 +2418,13 @@ choose_random_entry(cpath_build_state_t *state)
|
||||
r = entry_is_live(entry, need_uptime, need_capacity, 0);
|
||||
if (r && !smartlist_isin(exit_family, r)) {
|
||||
smartlist_add(live_entry_guards, r);
|
||||
if (!entry->made_contact) {
|
||||
/* Always start with the first not-yet-contacted entry
|
||||
* guard. Otherwise we might add several new ones, pick
|
||||
* the second new one, and now we've expanded our entry
|
||||
* guard list without needing to. */
|
||||
goto choose_and_finish;
|
||||
}
|
||||
if (smartlist_len(live_entry_guards) >= options->NumEntryGuards)
|
||||
break; /* we have enough */
|
||||
}
|
||||
@ -2451,6 +2458,7 @@ choose_random_entry(cpath_build_state_t *state)
|
||||
/* live_entry_guards may be empty below. Oh well, we tried. */
|
||||
}
|
||||
|
||||
choose_and_finish:
|
||||
r = smartlist_choose(live_entry_guards);
|
||||
smartlist_free(live_entry_guards);
|
||||
smartlist_free(exit_family);
|
||||
|
Loading…
Reference in New Issue
Block a user