diff options
author | Nick Mathewson <nickm@torproject.org> | 2020-06-26 10:45:42 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2020-06-26 10:58:53 -0400 |
commit | d486c6cf74db6bce80689c17c7427a6e3a055f93 (patch) | |
tree | 34c33bc3f9fde679562afe77cfd68a7a452ba4c0 /src/core/or | |
parent | 68d848e244cf274d1a1df4da2f9adca2aaffec19 (diff) | |
download | tor-d486c6cf74db6bce80689c17c7427a6e3a055f93.tar.gz tor-d486c6cf74db6bce80689c17c7427a6e3a055f93.zip |
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".
Diffstat (limited to 'src/core/or')
-rw-r--r-- | src/core/or/connection_or.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/core/or/connection_or.c b/src/core/or/connection_or.c index 5d71b363f8..4cb83f45a9 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; } |