瀏覽代碼

Bug 26117: Move CIRC_BW field accounting.

Previously, we used the AF_UNSPEC check to represent valid connected cell
data as a result of the lack of return. This was incorrect.
Mike Perry 6 年之前
父節點
當前提交
d0b1157fc1
共有 1 個文件被更改,包括 3 次插入3 次删除
  1. 3 3
      src/or/relay.c

+ 3 - 3
src/or/relay.c

@@ -1339,9 +1339,6 @@ connection_edge_process_relay_cell_not_open(
                                 entry_conn->chosen_exit_name, ttl);
 
       remap_event_helper(entry_conn, &addr);
-
-      /* This is valid data at this point. Count it */
-      circuit_read_valid_data(TO_ORIGIN_CIRCUIT(circ), rh->length);
     }
     circuit_log_path(LOG_INFO,LD_APP,TO_ORIGIN_CIRCUIT(circ));
     /* don't send a socks reply to transparent conns */
@@ -1380,6 +1377,9 @@ connection_edge_process_relay_cell_not_open(
       entry_conn->pending_optimistic_data = NULL;
     }
 
+    /* This is valid data at this point. Count it */
+    circuit_read_valid_data(TO_ORIGIN_CIRCUIT(circ), rh->length);
+
     /* handle anything that might have queued */
     if (connection_edge_package_raw_inbuf(conn, 1, NULL) < 0) {
       /* (We already sent an end cell if possible) */