From 0c984e0ec25ddb6245dc36080565500aa1a62be6 Mon Sep 17 00:00:00 2001 From: David Goulet Date: Mon, 1 Aug 2022 10:58:40 -0400 Subject: conn: Notify btrack subsys on normal OR conn close Fixes #40604 Signed-off-by: David Goulet --- changes/ticket40604 | 5 +++++ src/core/or/connection_or.c | 4 ++++ 2 files changed, 9 insertions(+) create mode 100644 changes/ticket40604 diff --git a/changes/ticket40604 b/changes/ticket40604 new file mode 100644 index 0000000000..ec24a46e66 --- /dev/null +++ b/changes/ticket40604 @@ -0,0 +1,5 @@ + o Major bugfixes (relay): + - Remove OR connections btrack subsystem entries when the connections + closes normally. Before this, we would only close it on error and thus + leaking memory for each normal OR connections. Fixes bug 40604; bugfix + on 0.4.0.1-alpha. diff --git a/src/core/or/connection_or.c b/src/core/or/connection_or.c index e3e81ed9cb..0cd3c058ec 100644 --- a/src/core/or/connection_or.c +++ b/src/core/or/connection_or.c @@ -799,6 +799,10 @@ connection_or_about_to_close(or_connection_t *or_conn) } else if (!tor_digest_is_zero(or_conn->identity_digest)) { connection_or_event_status(or_conn, OR_CONN_EVENT_CLOSED, tls_error_to_orconn_end_reason(or_conn->tls_error)); + } else { + /* Normal close, we notify of a done connection. */ + connection_or_event_status(or_conn, OR_CONN_EVENT_CLOSED, + END_OR_CONN_REASON_DONE); } } -- cgit v1.2.3-54-g00ecf