Browse Source

r9457@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.)


svn:r8887

Nick Mathewson 17 years ago
parent
commit
9e13a6f31c
3 changed files with 9 additions and 5 deletions
  1. 4 1
      ChangeLog
  2. 4 3
      src/or/circuitlist.c
  3. 1 1
      src/or/command.c

+ 4 - 1
ChangeLog

@@ -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:

+ 4 - 3
src/or/circuitlist.c

@@ -849,12 +849,13 @@ _circuit_mark_for_close(circuit_t *circ, int reason, int line,
     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) {

+ 1 - 1
src/or/command.c

@@ -374,7 +374,7 @@ command_process_destroy_cell(cell_t *cell, or_connection_t *conn)
       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)) {