[or-cvs] r18668: {tor} Patch from lark: if we get two extend cells for the same cir (in tor/trunk: . src/or)

nickm at seul.org nickm at seul.org
Sat Feb 21 19:07:05 UTC 2009


Author: nickm
Date: 2009-02-21 14:07:05 -0500 (Sat, 21 Feb 2009)
New Revision: 18668

Modified:
   tor/trunk/ChangeLog
   tor/trunk/src/or/circuitbuild.c
Log:
Patch from lark: if we get two extend cells for the same circuit id, drop the second.  Previously, we had leaked an extend_info if the target connection was not open when the second arrived.

Modified: tor/trunk/ChangeLog
===================================================================
--- tor/trunk/ChangeLog	2009-02-21 19:07:01 UTC (rev 18667)
+++ tor/trunk/ChangeLog	2009-02-21 19:07:05 UTC (rev 18668)
@@ -30,6 +30,8 @@
       seconds. Bugfix on 0.1.2.7-alpha; reported by Mike Perry.
     - Drop begin cells to a hidden service if they come from the middle of a
       circuit.  Patch from lark.
+    - When we erroneously receive two EXTEND cells for the same circuit ID
+      on the same connection, drop the second.  Patch from lark.
 
   o Minor features:
     - On Linux, use the prctl call to re-enable core dumps when the user

Modified: tor/trunk/src/or/circuitbuild.c
===================================================================
--- tor/trunk/src/or/circuitbuild.c	2009-02-21 19:07:01 UTC (rev 18667)
+++ tor/trunk/src/or/circuitbuild.c	2009-02-21 19:07:05 UTC (rev 18668)
@@ -735,6 +735,11 @@
            "n_conn already set. Bug/attack. Closing.");
     return -1;
   }
+  if (circ->n_hop) {
+    log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL,
+           "conn to next hop already launched. Bug/attack. Closing.");
+    return -1;
+  }
 
   if (!server_mode(get_options())) {
     log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL,



More information about the tor-commits mailing list