[tor-commits] [tor/master] Don't warn on http connection to my orport
nickm at torproject.org
nickm at torproject.org
Thu Aug 11 18:41:56 UTC 2011
commit f137ae896ef2741079ac698e8cabf229b9f4cde8
Author: Sebastian Hahn <sebastian at 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);
More information about the tor-commits
mailing list