commit f137ae896ef2741079ac698e8cabf229b9f4cde8 Author: Sebastian Hahn sebastian@torproject.org Date: Thu Aug 11 20:37:51 2011 +0200
Don't warn on http connection to my orport
Also remove a few other related warnings that could occur during the ssl handshake. We do this because the relay operator can't do anything about them, and they aren't their fault. --- changes/bug3700 | 6 ++++++ src/common/tortls.c | 16 ++++++++++++++++ 2 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/changes/bug3700 b/changes/bug3700 new file mode 100644 index 0000000..cef7296 --- /dev/null +++ b/changes/bug3700 @@ -0,0 +1,6 @@ + o Minor bugfixes: + - Get rid of a harmless warning that could happen on relays running + with bufferevents. The warning was caused by someone doing an http + request to a relay's orport. Also don't warn for a few related + non-errors. Fixes bug 3700; bugfix on 0.2.3.1-alpha. + diff --git a/src/common/tortls.c b/src/common/tortls.c index 21f2c50..4556030 100644 --- a/src/common/tortls.c +++ b/src/common/tortls.c @@ -273,6 +273,22 @@ tor_tls_log_one_error(tor_tls_t *tls, unsigned long err,
addr = tls ? tls->address : NULL;
+ /* Some errors are known-benign, meaning they are the fault of the other + * side of the connection. The caller doesn't know this, so override the + * priority for those cases. */ + switch (ERR_GET_REASON(err)) { + case SSL_R_HTTP_REQUEST: + case SSL_R_HTTPS_PROXY_REQUEST: + case SSL_R_RECORD_LENGTH_MISMATCH: + case SSL_R_RECORD_TOO_LARGE: + case SSL_R_UNKNOWN_PROTOCOL: + case SSL_R_UNSUPPORTED_PROTOCOL: + severity = LOG_INFO; + break; + default: + break; + } + msg = (const char*)ERR_reason_error_string(err); lib = (const char*)ERR_lib_error_string(err); func = (const char*)ERR_func_error_string(err);
tor-commits@lists.torproject.org