[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[or-cvs] r17819: {tor} Explain why the XXXX021 in connection_or.c was there, and ex (tor/trunk/src/or)



Author: nickm
Date: 2008-12-29 14:57:13 -0500 (Mon, 29 Dec 2008)
New Revision: 17819

Modified:
   tor/trunk/src/or/connection_or.c
Log:
Explain why the XXXX021 in connection_or.c was there, and explain why it doesn' actually need to get fixed in 0.2.1, I think.

Modified: tor/trunk/src/or/connection_or.c
===================================================================
--- tor/trunk/src/or/connection_or.c	2008-12-29 19:57:08 UTC (rev 17818)
+++ tor/trunk/src/or/connection_or.c	2008-12-29 19:57:13 UTC (rev 17819)
@@ -633,7 +633,15 @@
    * 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 ||