diff options
author | Nick Mathewson <nickm@torproject.org> | 2011-02-22 18:38:03 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2011-02-22 18:38:03 -0500 |
commit | 16b8b9b00f414343030c29990930c0e52a01fd84 (patch) | |
tree | b5f72eb6b0f75cc53b3244ec5631ec9a2b645858 /src/or | |
parent | 530e87ce316f8a3feb1b116c89cc703090217e2d (diff) | |
parent | a2727f62494b8a56152214017ac8fb348dd064be (diff) | |
download | tor-16b8b9b00f414343030c29990930c0e52a01fd84.tar.gz tor-16b8b9b00f414343030c29990930c0e52a01fd84.zip |
Merge remote branch 'arma/bug2403' into maint-0.2.2
Diffstat (limited to 'src/or')
-rw-r--r-- | src/or/circuitbuild.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index 4f8f5fbab0..b3c9f0e1b5 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -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 && |