[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/master] Don't choose exit nodes without desc available
commit 47a2e5a9ce4b9324931781c76f3aa11f4d9ea0a2
Author: Sebastian Hahn <sebastian@xxxxxxxxxxxxxx>
Date: Sat Apr 30 13:27:47 2011 +0200
Don't choose exit nodes without desc available
n_supported[i] has a random value prior to initialization, so a node
that doesn't have routerinfo available can have a random priority.
Patch contributed by wanoskarnet from #tor. Thanks!
---
src/or/circuitbuild.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c
index 04d833d..2b5638b 100644
--- a/src/or/circuitbuild.c
+++ b/src/or/circuitbuild.c
@@ -2668,8 +2668,10 @@ choose_good_exit_server_general(int need_uptime, int need_capacity)
*/
continue;
}
- if (!node_has_descriptor(node))
+ if (!node_has_descriptor(node)) {
+ n_supported[i] = -1;
continue;
+ }
if (!node->is_running || node->is_bad_exit) {
n_supported[i] = -1;
continue; /* skip routers that are known to be down or bad exits */
@@ -2786,8 +2788,6 @@ choose_good_exit_server_general(int need_uptime, int need_capacity)
/* try once to pick only from routers that satisfy a needed port,
* then if there are none, pick from any that support exiting. */
SMARTLIST_FOREACH_BEGIN(the_nodes, const node_t *, node) {
- if (!node_has_descriptor(node))
- continue;
if (n_supported[node_sl_idx] != -1 &&
(attempt || node_handles_some_port(node, needed_ports))) {
// log_fn(LOG_DEBUG,"Try %d: '%s' is a possibility.",
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits