Improve "tls error. breaking" message a little.
svn:r12411
an accepted-but-discarded descriptor upload. Partially implements
fix for bug 535.
- Make the "not enough dir info yet" message better.
+ - Make the log message for "tls error. breaking." more useful.
o Minor features (bridges):
- If bridge users set UpdateBridgesFromAuthority, but the digest
#endif
}
+/** DOCDOC */
+const char *
+tor_tls_err_to_string(int err)
+{
+ if (err >= 0)
+ return "[Not an error.]";
+ switch (err) {
+ case TOR_TLS_ERROR_MISC: return "misc error";
+ case TOR_TLS_ERROR_IO: return "unexpected close";
+ case TOR_TLS_ERROR_CONNREFUSED: return "connection refused";
+ case TOR_TLS_ERROR_CONNRESET: return "connection reset";
+ case TOR_TLS_ERROR_NO_ROUTE: return "host unreachable";
+ case TOR_TLS_ERROR_TIMEOUT: return "connection timed out";
+ case TOR_TLS_CLOSE: return "closed";
+ case TOR_TLS_WANTREAD: return "want to read";
+ case TOR_TLS_WANTWRITE: return "want to write";
+ default: return "(unknown error code)";
+ }
+}
+
#define CATCH_SYSCALL 1
#define CATCH_ZERO 2
/* Possible return values for most tor_tls_* functions. */
#define _MIN_TOR_TLS_ERROR_VAL -9
#define TOR_TLS_ERROR_MISC -9
+/* Rename to unexpected close or something. XXX020 */
#define TOR_TLS_ERROR_IO -8
#define TOR_TLS_ERROR_CONNREFUSED -7
#define TOR_TLS_ERROR_CONNRESET -6
#define TOR_TLS_RANDOM_LEN 32
#define TOR_TLS_IS_ERROR(rv) ((rv) < TOR_TLS_CLOSE)
+const char *tor_tls_err_to_string(int err);
void tor_tls_free_all(void);
int tor_tls_context_new(crypto_pk_env_t *rsa,
conn->address);
return result;
CASE_TOR_TLS_ERROR_ANY:
- log_info(LD_NET,"tls error. breaking (nickname %s, address %s).",
+ log_info(LD_NET,"tls error [%s]. breaking (nickname %s, address %s).",
+ tor_tls_err_to_string(result),
or_conn->nickname ? or_conn->nickname : "not set",
conn->address);
return result;