Merge branch 'nss_squashed' into nss_merge

This commit is contained in:
Nick Mathewson
2018-09-04 20:21:07 -04:00
108 changed files with 11223 additions and 7115 deletions
+17 -8
View File
@@ -449,6 +449,20 @@ connection_new(int type, int socket_family)
}
}
static void
connection_close_and_invalidate_socket(connection_t *conn)
{
if (connection_speaks_cells(conn)) {
or_connection_t *or_conn = TO_OR_CONN(conn);
tor_tls_free(or_conn->tls);
or_conn->tls = NULL;
or_conn->base_.s = TOR_INVALID_SOCKET;
} else {
tor_close_socket(conn->s);
conn->s = TOR_INVALID_SOCKET;
}
}
/** Initializes conn. (you must call connection_add() to link it into the main
* array).
*
@@ -614,9 +628,8 @@ connection_free_minimal(connection_t *conn)
tor_free(conn->address);
if (connection_speaks_cells(conn)) {
connection_close_and_invalidate_socket(conn);
or_connection_t *or_conn = TO_OR_CONN(conn);
tor_tls_free(or_conn->tls);
or_conn->tls = NULL;
or_handshake_state_free(or_conn->handshake_state);
or_conn->handshake_state = NULL;
tor_free(or_conn->nickname);
@@ -692,9 +705,7 @@ connection_free_minimal(connection_t *conn)
}
if (SOCKET_OK(conn->s)) {
log_debug(LD_NET,"closing fd %d.",(int)conn->s);
tor_close_socket(conn->s);
conn->s = TOR_INVALID_SOCKET;
connection_close_and_invalidate_socket(conn);
}
if (conn->type == CONN_TYPE_OR &&
@@ -820,9 +831,7 @@ connection_close_immediate(connection_t *conn)
conn->read_blocked_on_bw = 0;
conn->write_blocked_on_bw = 0;
if (SOCKET_OK(conn->s))
tor_close_socket(conn->s);
conn->s = TOR_INVALID_SOCKET;
connection_close_and_invalidate_socket(conn);
if (conn->linked)
conn->linked_conn_is_closed = 1;
if (conn->outbuf)
+4 -2
View File
@@ -121,6 +121,7 @@
#include "lib/evloop/compat_libevent.h"
#include "lib/encoding/confline.h"
#include "lib/evloop/timers.h"
#include "lib/crypt_ops/crypto_init.h"
#include <event2/event.h>
@@ -3503,10 +3504,11 @@ tor_init(int argc, char *argv[])
const char *version = get_version();
log_notice(LD_GENERAL, "Tor %s running on %s with Libevent %s, "
"OpenSSL %s, Zlib %s, Liblzma %s, and Libzstd %s.", version,
"%s %s, Zlib %s, Liblzma %s, and Libzstd %s.", version,
get_uname(),
tor_libevent_get_version_str(),
crypto_openssl_get_version_str(),
crypto_get_library_name(),
crypto_get_library_version_string(),
tor_compress_supports_method(ZLIB_METHOD) ?
tor_compress_version_str(ZLIB_METHOD) : "N/A",
tor_compress_supports_method(LZMA_METHOD) ?