commit 72041c63064b461e2eb9102f12c4fe217e9066dd
Author: David Goulet <dgoulet(a)torproject.org>
Date: Thu Nov 4 14:44:58 2021 -0400
relay: Don't advertise HSv2 protocol version
We removed HSIntro=3 and HSDir=1 that are v2 specific. Since 0.3.5.17,
we do not support introducing or being a directory for onion service v2.
Closes #40509
Signed-off-by: David Goulet <dgoulet(a)torproject.org>
---
changes/ticket40509 | 4 ++++
src/core/or/protover.c | 12 ++++++------
src/test/test_protover.c | 4 ++--
3 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/changes/ticket40509 b/changes/ticket40509
new file mode 100644
index 0000000000..ba4502ff3b
--- /dev/null
+++ b/changes/ticket40509
@@ -0,0 +1,4 @@
+ o Minor bugfix (relay):
+ - Remove the HSDir and HSIntro onion service v2 protocol versions so relay
+ stop advertising that they support them. Fixes bug 40509; bugfix on
+ 0.3.5.17.
diff --git a/src/core/or/protover.c b/src/core/or/protover.c
index 82e4f64c94..e047bfe200 100644
--- a/src/core/or/protover.c
+++ b/src/core/or/protover.c
@@ -423,8 +423,8 @@ protover_get_supported_protocols(void)
"Cons=1-2 "
"Desc=1-2 "
"DirCache=1-2 "
- "HSDir=1-2 "
- "HSIntro=3-4 "
+ "HSDir=2 "
+ "HSIntro=4 "
"HSRend=1-2 "
"Link=1-5 "
#ifdef HAVE_WORKING_TOR_TLS_GET_TLSSECRETS
@@ -475,7 +475,7 @@ protover_get_supported_protocols(void)
const char *
protover_get_recommended_client_protocols(void)
{
- return "Cons=1-2 Desc=1-2 DirCache=1 HSDir=1 HSIntro=3 HSRend=1 "
+ return "Cons=1-2 Desc=1-2 DirCache=1 HSDir=2 HSIntro=4 HSRend=1 "
"Link=4 Microdesc=1-2 Relay=2";
}
@@ -484,7 +484,7 @@ protover_get_recommended_client_protocols(void)
const char *
protover_get_recommended_relay_protocols(void)
{
- return "Cons=1-2 Desc=1-2 DirCache=1 HSDir=1 HSIntro=3 HSRend=1 "
+ return "Cons=1-2 Desc=1-2 DirCache=1 HSDir=2 HSIntro=4 HSRend=1 "
"Link=4 Microdesc=1-2 Relay=2";
}
@@ -493,7 +493,7 @@ protover_get_recommended_relay_protocols(void)
const char *
protover_get_required_client_protocols(void)
{
- return "Cons=1-2 Desc=1-2 DirCache=1 HSDir=1 HSIntro=3 HSRend=1 "
+ return "Cons=1-2 Desc=1-2 DirCache=1 HSDir=2 HSIntro=4 HSRend=1 "
"Link=4 Microdesc=1-2 Relay=2";
}
@@ -502,7 +502,7 @@ protover_get_required_client_protocols(void)
const char *
protover_get_required_relay_protocols(void)
{
- return "Cons=1 Desc=1 DirCache=1 HSDir=1 HSIntro=3 HSRend=1 "
+ return "Cons=1 Desc=1 DirCache=1 HSDir=2 HSIntro=4 HSRend=1 "
"Link=3-4 Microdesc=1 Relay=1-2";
}
diff --git a/src/test/test_protover.c b/src/test/test_protover.c
index b4689045cf..3fbfe3a682 100644
--- a/src/test/test_protover.c
+++ b/src/test/test_protover.c
@@ -369,12 +369,12 @@ test_protover_supports_version(void *arg)
/* Highest supported HSv2 introduce protocol version.
* Hard-coded here, because it does not appear anywhere in the code.
* It's not clear if we actually support version 2, see #25068. */
-#define PROTOVER_HSINTRO_V2 3
+#define PROTOVER_HSINTRO_V2 4
/* HSv2 Rend and HSDir protocol versions.
* Hard-coded here, because they do not appear anywhere in the code. */
#define PROTOVER_HS_RENDEZVOUS_POINT_V2 1
-#define PROTOVER_HSDIR_V2 1
+#define PROTOVER_HSDIR_V2 2
/* DirCache, Desc, Microdesc, and Cons protocol versions.
* Hard-coded here, because they do not appear anywhere in the code. */