diff options
-rw-r--r-- | changes/bug3325 | 3 | ||||
-rw-r--r-- | src/or/connection_edge.c | 10 |
2 files changed, 11 insertions, 2 deletions
diff --git a/changes/bug3325 b/changes/bug3325 new file mode 100644 index 0000000000..d32b54834e --- /dev/null +++ b/changes/bug3325 @@ -0,0 +1,3 @@ + o Minor bugfixes: + - When logging about a disallowed .exit name, do not also call it + an "invalid onion address". Fixes bug 3325; bugfix on 0.2.2.9-alpha. diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c index dcb9cae423..dd772b22c6 100644 --- a/src/or/connection_edge.c +++ b/src/or/connection_edge.c @@ -1886,8 +1886,6 @@ connection_ap_handshake_rewrite_and_attach(entry_connection_t *conn, remapped_to_exit || options->AllowDotExit); if (addresstype == BAD_HOSTNAME) { - log_warn(LD_APP, "Invalid onion hostname %s; rejecting", - safe_str_client(socks->address)); control_event_client_status(LOG_WARN, "SOCKS_BAD_HOSTNAME HOSTNAME=%s", escaped(socks->address)); connection_mark_unattached_ap(conn, END_STREAM_REASON_TORPROTOCOL); @@ -3402,9 +3400,15 @@ connection_ap_can_use_exit(const entry_connection_t *conn, const node_t *exit) /** If address is of the form "y.onion" with a well-formed handle y: * Put a NUL after y, lower-case it, and return ONION_HOSTNAME. * + * If address is of the form "y.onion" with a badly-formed handle y: + * Return BAD_HOSTNAME and log a message. + * * If address is of the form "y.exit" and <b>allowdotexit</b> is true: * Put a NUL after y and return EXIT_HOSTNAME. * + * If address is of the form "y.exit" and <b>allowdotexit</b> is false: + * Return BAD_HOSTNAME and log a message. + * * Otherwise: * Return NORMAL_HOSTNAME and change nothing. */ @@ -3443,6 +3447,8 @@ parse_extended_hostname(char *address, int allowdotexit) failed: /* otherwise, return to previous state and return 0 */ *s = '.'; + log_warn(LD_APP, "Invalid onion hostname %s; rejecting", + safe_str_client(address)); return BAD_HOSTNAME; } |