Loading changes/bug13066 0 → 100644 +4 −0 Original line number Diff line number Diff line o Minor bugfixes: - Fix node selection logic in smartlist_choose_node_by_bandwidth() so that onion routers with BadExit flag are not considered to be worthy candidates. Fixes issue 13066. src/or/or.h +8 −0 Original line number Diff line number Diff line Loading @@ -3228,6 +3228,14 @@ static const or_circuit_t *CONST_TO_OR_CIRCUIT(const circuit_t *); static origin_circuit_t *TO_ORIGIN_CIRCUIT(circuit_t *); static const origin_circuit_t *CONST_TO_ORIGIN_CIRCUIT(const circuit_t *); /** Return 1 iff <b>node</b> has Exit flag and no BadExit flag. * Otherwise, return 0. */ static INLINE int node_is_good_exit(const node_t *node) { return node->is_exit && ! node->is_bad_exit; } static INLINE or_circuit_t *TO_OR_CIRCUIT(circuit_t *x) { tor_assert(x->magic == OR_CIRCUIT_MAGIC); Loading src/or/routerlist.c +1 −1 Original line number Diff line number Diff line Loading @@ -2202,7 +2202,7 @@ smartlist_choose_node_by_bandwidth(const smartlist_t *sl, uint32_t this_bw = 0; i = node_sl_idx; is_exit = node->is_exit; is_exit = node_is_good_exit(node); is_guard = node->is_possible_guard; if (node->rs) { if (node->rs->has_bandwidth) { Loading Loading
changes/bug13066 0 → 100644 +4 −0 Original line number Diff line number Diff line o Minor bugfixes: - Fix node selection logic in smartlist_choose_node_by_bandwidth() so that onion routers with BadExit flag are not considered to be worthy candidates. Fixes issue 13066.
src/or/or.h +8 −0 Original line number Diff line number Diff line Loading @@ -3228,6 +3228,14 @@ static const or_circuit_t *CONST_TO_OR_CIRCUIT(const circuit_t *); static origin_circuit_t *TO_ORIGIN_CIRCUIT(circuit_t *); static const origin_circuit_t *CONST_TO_ORIGIN_CIRCUIT(const circuit_t *); /** Return 1 iff <b>node</b> has Exit flag and no BadExit flag. * Otherwise, return 0. */ static INLINE int node_is_good_exit(const node_t *node) { return node->is_exit && ! node->is_bad_exit; } static INLINE or_circuit_t *TO_OR_CIRCUIT(circuit_t *x) { tor_assert(x->magic == OR_CIRCUIT_MAGIC); Loading
src/or/routerlist.c +1 −1 Original line number Diff line number Diff line Loading @@ -2202,7 +2202,7 @@ smartlist_choose_node_by_bandwidth(const smartlist_t *sl, uint32_t this_bw = 0; i = node_sl_idx; is_exit = node->is_exit; is_exit = node_is_good_exit(node); is_guard = node->is_possible_guard; if (node->rs) { if (node->rs->has_bandwidth) { Loading