diff options
author | Nick Mathewson <nickm@torproject.org> | 2007-11-07 16:37:08 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2007-11-07 16:37:08 +0000 |
commit | 0e993e6008aa0c0c5fc932bc0b84a46a9c681315 (patch) | |
tree | 735bbed65c5b59e3c40939e8c821be8925ca8192 /src/common | |
parent | 7b826f8fe47f20d784f42bb3f04c4597635c801f (diff) | |
download | tor-0e993e6008aa0c0c5fc932bc0b84a46a9c681315.tar.gz tor-0e993e6008aa0c0c5fc932bc0b84a46a9c681315.zip |
r16523@catbus: nickm | 2007-11-07 11:35:49 -0500
Improve "tls error. breaking" message a little.
svn:r12411
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/tortls.c | 20 | ||||
-rw-r--r-- | src/common/tortls.h | 2 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/common/tortls.c b/src/common/tortls.c index 4b46f9d9d2..5b902c9e9a 100644 --- a/src/common/tortls.c +++ b/src/common/tortls.c @@ -145,6 +145,26 @@ tor_errno_to_tls_error(int e) #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 diff --git a/src/common/tortls.h b/src/common/tortls.h index 3a58cc2795..d30a154fa2 100644 --- a/src/common/tortls.h +++ b/src/common/tortls.h @@ -21,6 +21,7 @@ typedef struct tor_tls_t tor_tls_t; /* 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 @@ -45,6 +46,7 @@ typedef struct tor_tls_t tor_tls_t; #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, |