tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit da38904efbdd0c2c6b754aed7f75201e3c1cd97a
parent 2ea573ece8f168749b40eddcd023b71bf05a4fef
Author: Nick Mathewson <nickm@torproject.org>
Date:   Mon, 11 Dec 2017 16:56:31 -0500

Merge branch 'maint-0.2.9' into maint-0.3.0

Diffstat:
Achanges/bug24167 | 7+++++++
Msrc/or/connection.c | 4++++
2 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/changes/bug24167 b/changes/bug24167 @@ -0,0 +1,7 @@ + o Minor bugfixes (network layer): + - When closing a connection via close_connection_immediately(), we + mark it as "not blocked on bandwidth", to prevent later calls + from trying to unblock it, and give it permission to read. This + fixes a backtrace warning that can happen on relays under various + circumstances. Fixes bug 24167; bugfix on 0.1.0.1-rc. + diff --git a/src/or/connection.c b/src/or/connection.c @@ -761,6 +761,10 @@ connection_close_immediate(connection_t *conn) connection_unregister_events(conn); + /* Prevent the event from getting unblocked. */ + conn->read_blocked_on_bw = + conn->write_blocked_on_bw = 0; + if (SOCKET_OK(conn->s)) tor_close_socket(conn->s); conn->s = TOR_INVALID_SOCKET;