Commit f25323fe authored by Nick Mathewson's avatar Nick Mathewson 🦀
Browse files

Fix socket accounting with ORConn sockets.

When we close a socket via tor_tls_free(), we previously had no way
for our socket accounting logic to learn about it.  This meant that
the socket accounting code would think we had run out of sockets,
and freak out.

Fixes bug 27795; bugfix on 0.3.5.1-alpha.
parent 1c1e8428
Loading
Loading
Loading
Loading

changes/bug27795

0 → 100644
+5 −0
Original line number Diff line number Diff line
  o Major bugfixes (socket accounting):
    - In our socket accounting code, count a socket as closed even
      when it is closed indirectly by the TLS layer. Previously, we
      would count these sockets as still in use, and incorrectly believe that
      we had run out of sockets. Fixes bug 27795; bugfix on 0.3.5.1-alpha.
+1 −0
Original line number Diff line number Diff line
@@ -646,6 +646,7 @@ connection_free_minimal(connection_t *conn)
      } else {
        /* The tor_tls_free() call below will close the socket; we must tell
         * the code below not to close it a second time. */
        tor_release_socket_ownership(conn->s);
        conn->s = TOR_INVALID_SOCKET;
      }
      tor_tls_free(or_conn->tls);