mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 21:23:58 +01:00
More emergency-check code for un-removed pending entry conns
This might also be what #17752 needs.
This commit is contained in:
parent
24fcb6adbb
commit
e6be486aea
@ -678,6 +678,13 @@ connection_free,(connection_t *conn))
|
||||
if (conn->type == CONN_TYPE_CONTROL) {
|
||||
connection_control_closed(TO_CONTROL_CONN(conn));
|
||||
}
|
||||
#if 1
|
||||
/* DEBUGGING */
|
||||
if (conn->type == CONN_TYPE_AP) {
|
||||
connection_ap_warn_and_unmark_if_pending_circ(TO_ENTRY_CONN(conn),
|
||||
"connection_free");
|
||||
}
|
||||
#endif
|
||||
connection_unregister_events(conn);
|
||||
connection_free_(conn);
|
||||
}
|
||||
|
@ -566,11 +566,9 @@ connection_ap_about_to_close(entry_connection_t *entry_conn)
|
||||
#if 1
|
||||
/* Check to make sure that this isn't in pending_entry_connections if it
|
||||
* didn't actually belong there. */
|
||||
if (TO_CONN(edge_conn)->type == CONN_TYPE_AP &&
|
||||
smartlist_contains(pending_entry_connections, entry_conn)) {
|
||||
log_warn(LD_BUG, "What was %p doing in pending_entry_connections???",
|
||||
entry_conn);
|
||||
smartlist_remove(pending_entry_connections, entry_conn);
|
||||
if (TO_CONN(edge_conn)->type == CONN_TYPE_AP) {
|
||||
connection_ap_warn_and_unmark_if_pending_circ(entry_conn,
|
||||
"about_to_close");
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -903,6 +901,19 @@ connection_ap_mark_as_non_pending_circuit(entry_connection_t *entry_conn)
|
||||
smartlist_remove(pending_entry_connections, entry_conn);
|
||||
}
|
||||
|
||||
/** DOCDOC */
|
||||
void
|
||||
connection_ap_warn_and_unmark_if_pending_circ(entry_connection_t *entry_conn,
|
||||
const char *where)
|
||||
{
|
||||
if (pending_entry_connections &&
|
||||
smartlist_contains(pending_entry_connections, entry_conn)) {
|
||||
log_warn(LD_BUG, "What was %p doing in pending_entry_connections in %s?",
|
||||
entry_conn, where);
|
||||
connection_ap_mark_as_non_pending_circuit(entry_conn);
|
||||
}
|
||||
}
|
||||
|
||||
/** Tell any AP streams that are waiting for a one-hop tunnel to
|
||||
* <b>failed_digest</b> that they are going to fail. */
|
||||
/* XXX024 We should get rid of this function, and instead attach
|
||||
|
@ -115,6 +115,10 @@ streamid_t get_unique_stream_id_by_circ(origin_circuit_t *circ);
|
||||
|
||||
void connection_edge_free_all(void);
|
||||
|
||||
void connection_ap_warn_and_unmark_if_pending_circ(
|
||||
entry_connection_t *entry_conn,
|
||||
const char *where);
|
||||
|
||||
/** @name Begin-cell flags
|
||||
*
|
||||
* These flags are used in RELAY_BEGIN cells to change the default behavior
|
||||
|
Loading…
Reference in New Issue
Block a user