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.
This commit is contained in:
Mike Perry 2018-05-15 18:44:25 +00:00
parent fcfa22d80a
commit d0b1157fc1

View File

@ -1339,9 +1339,6 @@ connection_edge_process_relay_cell_not_open(
entry_conn->chosen_exit_name, ttl); entry_conn->chosen_exit_name, ttl);
remap_event_helper(entry_conn, &addr); 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)); circuit_log_path(LOG_INFO,LD_APP,TO_ORIGIN_CIRCUIT(circ));
/* don't send a socks reply to transparent conns */ /* 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; 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 */ /* handle anything that might have queued */
if (connection_edge_package_raw_inbuf(conn, 1, NULL) < 0) { if (connection_edge_package_raw_inbuf(conn, 1, NULL) < 0) {
/* (We already sent an end cell if possible) */ /* (We already sent an end cell if possible) */