Loading src/common/tortls.c +32 −22 Original line number Diff line number Diff line Loading @@ -224,24 +224,22 @@ ssl_state_to_string(int ssl_state) return buf; } /** Log all pending tls errors at level <b>severity</b>. Use * <b>doing</b> to describe our current activities. */ static void tls_log_errors(tor_tls_t *tls, int severity, int domain, const char *doing) void tor_tls_log_one_error(tor_tls_t *tls, unsigned long err, int severity, int domain, const char *doing) { const char *state = NULL; const char *state = NULL, *addr; const char *msg, *lib, *func; int st; unsigned long err; const char *msg, *lib, *func, *addr; addr = tls ? tls->address : NULL; st = (tls && tls->ssl) ? tls->ssl->state : -1; while ((err = ERR_get_error()) != 0) { state = (st>=0)?ssl_state_to_string(st):"---"; addr = tls ? tls->address : NULL; msg = (const char*)ERR_reason_error_string(err); lib = (const char*)ERR_lib_error_string(err); func = (const char*)ERR_func_error_string(err); if (!state) state = (st>=0)?ssl_state_to_string(st):"---"; if (!msg) msg = "(null)"; if (!lib) lib = "(null)"; if (!func) func = "(null)"; Loading @@ -255,6 +253,18 @@ tls_log_errors(tor_tls_t *tls, int severity, int domain, const char *doing) msg, lib, func, state); } } /** Log all pending tls errors at level <b>severity</b>. Use * <b>doing</b> to describe our current activities. */ static void tls_log_errors(tor_tls_t *tls, int severity, int domain, const char *doing) { unsigned long err; while ((err = ERR_get_error()) != 0) { tor_tls_log_one_error(tls, err, severity, domain, doing); } } /** Convert an errno (or a WSAerrno on windows) into a TOR_TLS_* error Loading src/or/connection_or.c +8 −0 Original line number Diff line number Diff line Loading @@ -1050,6 +1050,14 @@ connection_or_handle_event_cb(struct bufferevent *bufev, short event, return; } if (event & BEV_EVENT_ERROR) { unsigned long err; while ((err = bufferevent_get_openssl_error(bufev))) { tor_tls_log_one_error(conn->tls, err, LOG_WARN, LD_OR, "handshaking (with bufferevent)"); } } connection_handle_event_cb(bufev, event, arg); } #endif Loading Loading
src/common/tortls.c +32 −22 Original line number Diff line number Diff line Loading @@ -224,24 +224,22 @@ ssl_state_to_string(int ssl_state) return buf; } /** Log all pending tls errors at level <b>severity</b>. Use * <b>doing</b> to describe our current activities. */ static void tls_log_errors(tor_tls_t *tls, int severity, int domain, const char *doing) void tor_tls_log_one_error(tor_tls_t *tls, unsigned long err, int severity, int domain, const char *doing) { const char *state = NULL; const char *state = NULL, *addr; const char *msg, *lib, *func; int st; unsigned long err; const char *msg, *lib, *func, *addr; addr = tls ? tls->address : NULL; st = (tls && tls->ssl) ? tls->ssl->state : -1; while ((err = ERR_get_error()) != 0) { state = (st>=0)?ssl_state_to_string(st):"---"; addr = tls ? tls->address : NULL; msg = (const char*)ERR_reason_error_string(err); lib = (const char*)ERR_lib_error_string(err); func = (const char*)ERR_func_error_string(err); if (!state) state = (st>=0)?ssl_state_to_string(st):"---"; if (!msg) msg = "(null)"; if (!lib) lib = "(null)"; if (!func) func = "(null)"; Loading @@ -255,6 +253,18 @@ tls_log_errors(tor_tls_t *tls, int severity, int domain, const char *doing) msg, lib, func, state); } } /** Log all pending tls errors at level <b>severity</b>. Use * <b>doing</b> to describe our current activities. */ static void tls_log_errors(tor_tls_t *tls, int severity, int domain, const char *doing) { unsigned long err; while ((err = ERR_get_error()) != 0) { tor_tls_log_one_error(tls, err, severity, domain, doing); } } /** Convert an errno (or a WSAerrno on windows) into a TOR_TLS_* error Loading
src/or/connection_or.c +8 −0 Original line number Diff line number Diff line Loading @@ -1050,6 +1050,14 @@ connection_or_handle_event_cb(struct bufferevent *bufev, short event, return; } if (event & BEV_EVENT_ERROR) { unsigned long err; while ((err = bufferevent_get_openssl_error(bufev))) { tor_tls_log_one_error(conn->tls, err, LOG_WARN, LD_OR, "handshaking (with bufferevent)"); } } connection_handle_event_cb(bufev, event, arg); } #endif Loading