Note a slightly less likely way to violate ExcludeNodes

This commit is contained in:
Nick Mathewson 2011-03-28 16:51:00 -04:00
parent db2fd28308
commit e4689d8402

View File

@ -933,6 +933,11 @@ circuit_find_to_cannibalize(uint8_t purpose, extend_info_t *info,
"capacity %d, internal %d", "capacity %d, internal %d",
purpose, need_uptime, need_capacity, internal); 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) { for (_circ=global_circuitlist; _circ; _circ = _circ->next) {
if (CIRCUIT_IS_ORIGIN(_circ) && if (CIRCUIT_IS_ORIGIN(_circ) &&
_circ->state == CIRCUIT_STATE_OPEN && _circ->state == CIRCUIT_STATE_OPEN &&