summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-01-16 15:10:38 -0500
committerNick Mathewson <nickm@torproject.org>2012-01-16 15:10:38 -0500
commit875a54dad3c4674cc1567d3154e0ccb191dfc0f0 (patch)
tree03661251c27d0e1ffd49ab1ce19770ba00204b76
parent2bd40a8eb0be195022558addb868edf56162f9dc (diff)
parent2cddd1d69f58234799f3c46de81a2aa98c349fe9 (diff)
downloadtor-875a54dad3c4674cc1567d3154e0ccb191dfc0f0.tar.gz
tor-875a54dad3c4674cc1567d3154e0ccb191dfc0f0.zip
Merge remote-tracking branch 'public/bug3325'
-rw-r--r--changes/bug33253
-rw-r--r--src/or/connection_edge.c10
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;
}