aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/ticket404213
-rw-r--r--src/core/or/connection_edge.c4
2 files changed, 7 insertions, 0 deletions
diff --git a/changes/ticket40421 b/changes/ticket40421
new file mode 100644
index 0000000000..d2dcc5533d
--- /dev/null
+++ b/changes/ticket40421
@@ -0,0 +1,3 @@
+ o Minor bugfixes (onion service):
+ - Send back the extended SOCKS error 0xF6 for a v2 onion address. Fixes bug
+ 40421; bugfix on 0.4.6.2-alpha.
diff --git a/src/core/or/connection_edge.c b/src/core/or/connection_edge.c
index a307249967..6f6f22a0d4 100644
--- a/src/core/or/connection_edge.c
+++ b/src/core/or/connection_edge.c
@@ -2536,6 +2536,10 @@ connection_ap_handshake_rewrite_and_attach(entry_connection_t *conn,
"https://blog.torproject.org/v2-deprecation-timeline.");
control_event_client_status(LOG_WARN, "SOCKS_BAD_HOSTNAME HOSTNAME=%s",
escaped(socks->address));
+ /* Send back the 0xF6 extended code indicating a bad hostname. This is
+ * mostly so Tor Browser can make a proper UX with regards to v2
+ * addresses. */
+ conn->socks_request->socks_extended_error_code = SOCKS5_HS_BAD_ADDRESS;
connection_mark_unattached_ap(conn, END_STREAM_REASON_TORPROTOCOL);
return -1;
}