[tor-commits] [tor/release-0.4.4] Store errors from TLS write and handshake in the tls_error field.
nickm at torproject.org
nickm at torproject.org
Thu Jul 2 14:15:11 UTC 2020
commit d486c6cf74db6bce80689c17c7427a6e3a055f93
Author: Nick Mathewson <nickm at torproject.org>
Date: Fri Jun 26 10:45:42 2020 -0400
Store errors from TLS write and handshake in the tls_error field.
Previously, we would only update this field when the error happened
during a read.
This will improves our reporting for our bootstrap status, and help
to address #32622. The problem is not completely solved by this
patch, however: too many errors are still lumped into "MISC".
---
src/core/mainloop/connection.c | 1 +
src/core/or/connection_or.c | 4 +++-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/core/mainloop/connection.c b/src/core/mainloop/connection.c
index a8417e46d..792cdbf68 100644
--- a/src/core/mainloop/connection.c
+++ b/src/core/mainloop/connection.c
@@ -4205,6 +4205,7 @@ connection_handle_write_impl(connection_t *conn, int force)
switch (result) {
CASE_TOR_TLS_ERROR_ANY:
case TOR_TLS_CLOSE:
+ or_conn->tls_error = result;
log_info(LD_NET, result != TOR_TLS_CLOSE ?
"tls error. breaking.":"TLS connection closed on flush");
/* Don't flush; connection is dead. */
diff --git a/src/core/or/connection_or.c b/src/core/or/connection_or.c
index 5d71b363f..4cb83f45a 100644
--- a/src/core/or/connection_or.c
+++ b/src/core/or/connection_or.c
@@ -1692,7 +1692,8 @@ connection_tls_continue_handshake(or_connection_t *conn)
switch (result) {
CASE_TOR_TLS_ERROR_ANY:
- log_info(LD_OR,"tls error [%s]. breaking connection.",
+ conn->tls_error = result;
+ log_info(LD_OR,"tls error [%s]. breaking connection.",
tor_tls_err_to_string(result));
return -1;
case TOR_TLS_DONE:
@@ -1724,6 +1725,7 @@ connection_tls_continue_handshake(or_connection_t *conn)
log_debug(LD_OR,"wanted read");
return 0;
case TOR_TLS_CLOSE:
+ conn->tls_error = result;
log_info(LD_OR,"tls closed. breaking connection.");
return -1;
}
More information about the tor-commits
mailing list