Commit e429ceb2 authored by Nick Mathewson's avatar Nick Mathewson 🤹
Browse files

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.
parent d486c6cf
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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. */
+4 −0
Original line number Diff line number Diff line
@@ -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;
  }