Merge remote branch 'origin/maint-0.2.2'

There was a conflict from the node_t transition, but it was an easy fix.

Conflicts:
	src/or/circuitbuild.c
This commit is contained in:
Nick Mathewson
2011-02-22 18:41:06 -05:00
2 changed files with 8 additions and 1 deletions
+6
View 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".
+2 -1
View File
@@ -4081,7 +4081,6 @@ choose_random_entry(cpath_build_state_t *state)
int preferred_min, consider_exit_family = 0;
if (chosen_exit) {
smartlist_add(exit_family, (void*) chosen_exit);
nodelist_add_node_family(exit_family, chosen_exit);
consider_exit_family = 1;
}
@@ -4103,6 +4102,8 @@ choose_random_entry(cpath_build_state_t *state)
node = entry_is_live(entry, need_uptime, need_capacity, 0, &msg);
if (!node)
continue; /* down, no point */
if (node == chosen_exit)
continue; /* don't pick the same node for entry and exit */
if (consider_exit_family && smartlist_isin(exit_family, node))
continue; /* avoid relays that are family members of our exit */
if (options->EntryNodes &&