mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 13:13:44 +01:00
hs: v2 address are now considered a bad hostname
This means that at this commit, tor will stop logging that v2 is deprecated and treat a v2 address as a bad hostname that we can't use. Part of #40476 Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
parent
2a705e81a3
commit
d455f9e18a
@ -1,8 +1,7 @@
|
||||
o Major feature (onion service v2):
|
||||
- Tor does NOT allow anymore to create v2 services, to connect as a client
|
||||
to a v2 service and for a relay to be a v2 HSDir or introduction point.
|
||||
This effectively disable onion service version 2 tor wide. Closes 40476.
|
||||
- The control port command HSFETCH and HSPOST don't allow version 2 as well.
|
||||
It is also not possible to create a v2 service with ADD_ONION.
|
||||
o Minor feature (onion service v2):
|
||||
- Onion service v2 address are now not recognized anymore by tor meaning a
|
||||
bad hostname is returned when attempting to pass it on a SOCKS
|
||||
connection. No more deprecation log is emitted client side. Closes
|
||||
ticket 40476.
|
||||
- See https://blog.torproject.org/v2-deprecation-timeline for details on
|
||||
how to transition from v2 to v3.
|
||||
|
@ -2233,7 +2233,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 && addresstype != ONION_V2_HOSTNAME) {
|
||||
if (addresstype != ONION_V3_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
|
||||
@ -2518,28 +2518,6 @@ 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) {
|
||||
static bool log_once = false;
|
||||
if (!log_once) {
|
||||
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.");
|
||||
log_once = true;
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
tor_assert(addresstype == ONION_V3_HOSTNAME);
|
||||
tor_assert(!automap);
|
||||
return connection_ap_handle_onion(conn, socks, circ);
|
||||
|
@ -80,7 +80,6 @@ typedef enum hostname_type_t {
|
||||
BAD_HOSTNAME,
|
||||
EXIT_HOSTNAME,
|
||||
NORMAL_HOSTNAME,
|
||||
ONION_V2_HOSTNAME,
|
||||
ONION_V3_HOSTNAME,
|
||||
} hostname_type_t;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user