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
This commit is contained in:
Nick Mathewson 2006-10-31 23:35:50 +00:00
parent b07bd7214b
commit 9e13a6f31c
3 changed files with 9 additions and 5 deletions

View File

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

View File

@ -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) {

View File

@ -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)) {