aboutsummaryrefslogtreecommitdiff
path: root/src/or/nodelist.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/or/nodelist.c')
-rw-r--r--src/or/nodelist.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/or/nodelist.c b/src/or/nodelist.c
index abbe15ecc2..e900b51455 100644
--- a/src/or/nodelist.c
+++ b/src/or/nodelist.c
@@ -800,9 +800,14 @@ node_supports_v3_hsdir(const node_t *node)
if (node->ri->protocol_list == NULL) {
return 0;
}
+ /* Bug #22447 forces us to filter on tor version:
+ * If platform is a Tor version, and older than 0.3.0.8, return False.
+ * Else, obey the protocol list. */
if (node->ri->platform) {
- /* Bug #22447 forces us to filter on this version. */
- return tor_version_as_new_as(node->ri->platform, "0.3.0.8");
+ if (!strcmpstart(node->ri->platform, "Tor ") &&
+ !tor_version_as_new_as(node->ri->platform, "0.3.0.8")) {
+ return 0;
+ }
}
return protocol_list_supports_protocol(node->ri->protocol_list,
PRT_HSDIR, PROTOVER_HSDIR_V3);