diff options
author | Nick Mathewson <nickm@torproject.org> | 2020-06-26 10:59:59 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2020-06-26 10:59:59 -0400 |
commit | e429ceb2667787750af070929d0e64cbc7a6dda4 (patch) | |
tree | 7ab6e2cbeb5856b0541464b9bdf5be872d98c3ef /src | |
parent | d486c6cf74db6bce80689c17c7427a6e3a055f93 (diff) | |
download | tor-e429ceb2667787750af070929d0e64cbc7a6dda4.tar.gz tor-e429ceb2667787750af070929d0e64cbc7a6dda4.zip |
Add a TLS_ERROR bootstrap failure reason.
If our TLS connection fails for a "misc" reason, we don't need to
say that the reason is "misc" -- we can at least localize it to
the TLS module.
Part of a fix for #32622.
Diffstat (limited to 'src')
-rw-r--r-- | src/core/or/or.h | 3 | ||||
-rw-r--r-- | src/core/or/reasons.c | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/core/or/or.h b/src/core/or/or.h index 5b35cbe7f1..8758a2ec6f 100644 --- a/src/core/or/or.h +++ b/src/core/or/or.h @@ -220,7 +220,8 @@ struct curve25519_public_key_t; #define END_OR_CONN_REASON_IO_ERROR 7 /* read/write error */ #define END_OR_CONN_REASON_RESOURCE_LIMIT 8 /* sockets, buffers, etc */ #define END_OR_CONN_REASON_PT_MISSING 9 /* PT failed or not available */ -#define END_OR_CONN_REASON_MISC 10 +#define END_OR_CONN_REASON_TLS_ERROR 10 /* Problem in TLS protocol */ +#define END_OR_CONN_REASON_MISC 11 /* Reasons why we (or a remote OR) might close a stream. See tor-spec.txt for * documentation of these. The values must match. */ diff --git a/src/core/or/reasons.c b/src/core/or/reasons.c index 7da7843cab..708f43a689 100644 --- a/src/core/or/reasons.c +++ b/src/core/or/reasons.c @@ -244,6 +244,8 @@ orconn_end_reason_to_control_string(int r) return "IOERROR"; case END_OR_CONN_REASON_RESOURCE_LIMIT: return "RESOURCELIMIT"; + case END_OR_CONN_REASON_TLS_ERROR: + return "TLS_ERROR"; case END_OR_CONN_REASON_MISC: return "MISC"; case END_OR_CONN_REASON_PT_MISSING: @@ -276,6 +278,8 @@ tls_error_to_orconn_end_reason(int e) case TOR_TLS_CLOSE: case TOR_TLS_DONE: return END_OR_CONN_REASON_DONE; + case TOR_TLS_ERROR_MISC: + return END_OR_CONN_REASON_TLS_ERROR; default: return END_OR_CONN_REASON_MISC; } |