[tor-commits] [tor/master] Add a TLS_ERROR bootstrap failure reason.

nickm at torproject.org nickm at torproject.org
Thu Jul 2 14:15:11 UTC 2020


commit e429ceb2667787750af070929d0e64cbc7a6dda4
Author: Nick Mathewson <nickm at torproject.org>
Date:   Fri Jun 26 10:59:59 2020 -0400

    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.
---
 src/core/or/or.h      | 3 ++-
 src/core/or/reasons.c | 4 ++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/core/or/or.h b/src/core/or/or.h
index 5b35cbe7f..8758a2ec6 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 7da7843ca..708f43a68 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;
   }





More information about the tor-commits mailing list