[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/master] Add warning when trying to connect to deprecated v2 onions.
commit 5e836eb80c31b97f87b152351b6a7a932aeffaed
Author: George Kadianakis <desnacked@xxxxxxxxxx>
Date: Wed May 5 11:10:28 2021 +0300
Add warning when trying to connect to deprecated v2 onions.
---
changes/ticket40373 | 3 +++
src/core/or/connection_edge.c | 15 ++++++++++++++-
2 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/changes/ticket40373 b/changes/ticket40373
new file mode 100644
index 0000000000..3b2edd0652
--- /dev/null
+++ b/changes/ticket40373
@@ -0,0 +1,3 @@
+ o Minor features (onion services):
+ - Add warning message when connecting to deprecated v2 onions.
+ Closes ticket 40373.
\ No newline at end of file
diff --git a/src/core/or/connection_edge.c b/src/core/or/connection_edge.c
index 8e13161348..a307249967 100644
--- a/src/core/or/connection_edge.c
+++ b/src/core/or/connection_edge.c
@@ -2242,7 +2242,7 @@ connection_ap_handshake_rewrite_and_attach(entry_connection_t *conn,
}
/* Now, we handle everything that isn't a .onion address. */
- if (addresstype != ONION_V3_HOSTNAME) {
+ if (addresstype != ONION_V3_HOSTNAME && addresstype != ONION_V2_HOSTNAME) {
/* Not a hidden-service request. It's either a hostname or an IP,
* possibly with a .exit that we stripped off. We're going to check
* if we're allowed to connect/resolve there, and then launch the
@@ -2527,6 +2527,19 @@ connection_ap_handshake_rewrite_and_attach(entry_connection_t *conn,
return 0;
} else {
/* If we get here, it's a request for a .onion address! */
+
+ /* We don't support v2 onions anymore. Log a warning and bail. */
+ if (addresstype == ONION_V2_HOSTNAME) {
+ log_warn(LD_PROTOCOL, "Tried to connect to a v2 onion address, but this "
+ "version of Tor no longer supports them. Please encourage the "
+ "site operator to upgrade. For more information see "
+ "https://blog.torproject.org/v2-deprecation-timeline.");
+ control_event_client_status(LOG_WARN, "SOCKS_BAD_HOSTNAME HOSTNAME=%s",
+ escaped(socks->address));
+ connection_mark_unattached_ap(conn, END_STREAM_REASON_TORPROTOCOL);
+ return -1;
+ }
+
tor_assert(addresstype == ONION_V3_HOSTNAME);
tor_assert(!automap);
return connection_ap_handle_onion(conn, socks, circ);
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits