From e4689d840266088739eee39e9bef84e13c988ce9 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Mon, 28 Mar 2011 16:51:00 -0400 Subject: [PATCH] Note a slightly less likely way to violate ExcludeNodes --- src/or/circuitlist.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c index d11b457944..42073fb96e 100644 --- a/src/or/circuitlist.c +++ b/src/or/circuitlist.c @@ -933,6 +933,11 @@ circuit_find_to_cannibalize(uint8_t purpose, extend_info_t *info, "capacity %d, internal %d", purpose, need_uptime, need_capacity, internal); + /* XXX022-1090 We should make sure that when we cannibalize a circuit, it + * contains no excluded nodes. (This is possible if StrictNodes is 0, and + * we thought we needed to use an excluded exit node for, say, a directory + * operation.) -NM */ + for (_circ=global_circuitlist; _circ; _circ = _circ->next) { if (CIRCUIT_IS_ORIGIN(_circ) && _circ->state == CIRCUIT_STATE_OPEN &&