[or-cvs] r8887: Do not warn when an OR gives us a new circuit end reason. (T (in tor/trunk: . src/or)

nickm at seul.org nickm at seul.org
Tue Oct 31 23:35:52 UTC 2006


Author: nickm
Date: 2006-10-31 18:35:50 -0500 (Tue, 31 Oct 2006)
New Revision: 8887

Modified:
   tor/trunk/
   tor/trunk/ChangeLog
   tor/trunk/src/or/circuitlist.c
   tor/trunk/src/or/command.c
Log:
 r9457 at Kushana:  nickm | 2006-10-31 18:35:17 -0500
 Do not warn when an OR gives us a new circuit end reason. (This will prevent bug 351 from recurring.)



Property changes on: tor/trunk
___________________________________________________________________
 svk:merge ticket from /tor/trunk [r9457] on c95137ef-5f19-0410-b913-86e773d04f59

Modified: tor/trunk/ChangeLog
===================================================================
--- tor/trunk/ChangeLog	2006-10-31 23:35:39 UTC (rev 8886)
+++ tor/trunk/ChangeLog	2006-10-31 23:35:50 UTC (rev 8887)
@@ -1,7 +1,10 @@
 Changes in version 0.1.2.4-alpha - 2006-11-??
-  o Minor Features
+  o Minor features
     - Add breakdown of public key operations to dumped statistics.
 
+  o Minor bugfixes
+    - Don't log spurious warnings when we see a circuit close reason we
+      don't recognize; it's probably just from a newer version of Tor.
 
 Changes in version 0.1.2.3-alpha - 2006-10-29
   o Minor features:

Modified: tor/trunk/src/or/circuitlist.c
===================================================================
--- tor/trunk/src/or/circuitlist.c	2006-10-31 23:35:39 UTC (rev 8886)
+++ tor/trunk/src/or/circuitlist.c	2006-10-31 23:35:50 UTC (rev 8887)
@@ -849,12 +849,13 @@
     reason = END_CIRC_REASON_NONE;
   }
 
-  if (reason & END_CIRC_REASON_FLAG_REMOTE)
+  if (reason & END_CIRC_REASON_FLAG_REMOTE) {
     reason &= ~END_CIRC_REASON_FLAG_REMOTE;
 
   if (reason < _END_CIRC_REASON_MIN || reason > _END_CIRC_REASON_MAX) {
-    log_warn(LD_BUG, "Reason %d out of range at %s:%d", reason, file, line);
-    orig_reason = reason = END_CIRC_REASON_NONE;
+    if (!(orig_reason & END_CIRC_REASON_FLAG_REMOTE))
+      log_warn(LD_BUG, "Reason %d out of range at %s:%d", reason, file, line);
+    reason = END_CIRC_REASON_NONE;
   }
 
   if (circ->state == CIRCUIT_STATE_ONIONSKIN_PENDING) {

Modified: tor/trunk/src/or/command.c
===================================================================
--- tor/trunk/src/or/command.c	2006-10-31 23:35:39 UTC (rev 8886)
+++ tor/trunk/src/or/command.c	2006-10-31 23:35:50 UTC (rev 8887)
@@ -374,7 +374,7 @@
       cell->circ_id == TO_OR_CIRCUIT(circ)->p_circ_id) {
     /* the destroy came from behind */
     circuit_set_p_circid_orconn(TO_OR_CIRCUIT(circ), 0, NULL);
-    circuit_mark_for_close(circ, reason);
+    circuit_mark_for_close(circ, reason|END_CIRC_REASON_FLAG_REMOTE);
   } else { /* the destroy came from ahead */
     circuit_set_n_circid_orconn(circ, 0, NULL);
     if (CIRCUIT_IS_ORIGIN(circ)) {



More information about the tor-commits mailing list