diff --git a/src/or/connection_or.c b/src/or/connection_or.c index 8125afdab9..bfd3a71b81 100644 --- a/src/or/connection_or.c +++ b/src/or/connection_or.c @@ -633,7 +633,15 @@ connection_or_group_set_badness(or_connection_t *head) * every other open connection. If it's non-canonical, mark as bad * every other open connection to the same address. * - * XXXX021. + * XXXX This isn't optimal; if we have connections to an OR at multiple + * addresses, we'd like to pick the best _for each address_, and mark as + * bad every open connection that isn't best for its address. But this + * can only occur in cases where the other OR is old (so we have no + * canonical connection to it), or where all the connections to the OR are + * at noncanonical addresses and we have no good direct connection (which + * means we aren't at risk of attaching circuits to it anyway). As + * 0.1.2.x dies out, the first case will go away, and the second one is + * "mostly harmless", so a fix can wait until somebody is bored. */ for (or_conn = head; or_conn; or_conn = or_conn->next_with_same_id) { if (or_conn->_base.marked_for_close ||