diff options
Diffstat (limited to 'src/or/nodelist.c')
-rw-r--r-- | src/or/nodelist.c | 9 |
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); |