mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-30 23:53:32 +01:00
prevent same entry and exit for insane edge case
This commit is contained in:
parent
4f730e4f3f
commit
a2727f6249
6
changes/bug2403
Normal file
6
changes/bug2403
Normal file
@ -0,0 +1,6 @@
|
||||
o Minor bugfixes:
|
||||
- In the special case where you configure a public exit relay as your
|
||||
bridge, Tor would be willing to use that exit relay as the last
|
||||
hop in your circuit as well. Now we fail that circuit instead.
|
||||
Bugfix on 0.2.0.12-alpha. Fixes bug 2403. Reported by "piebeer".
|
||||
|
@ -4063,7 +4063,6 @@ choose_random_entry(cpath_build_state_t *state)
|
||||
int preferred_min, consider_exit_family = 0;
|
||||
|
||||
if (chosen_exit) {
|
||||
smartlist_add(exit_family, chosen_exit);
|
||||
routerlist_add_family(exit_family, chosen_exit);
|
||||
consider_exit_family = 1;
|
||||
}
|
||||
@ -4086,6 +4085,8 @@ choose_random_entry(cpath_build_state_t *state)
|
||||
r = entry_is_live(entry, need_uptime, need_capacity, 0, &msg);
|
||||
if (!r)
|
||||
continue; /* down, no point */
|
||||
if (r == chosen_exit)
|
||||
continue; /* don't pick the same node for entry and exit */
|
||||
if (consider_exit_family && smartlist_isin(exit_family, r))
|
||||
continue; /* avoid relays that are family members of our exit */
|
||||
if (options->EntryNodes &&
|
||||
|
Loading…
Reference in New Issue
Block a user