commit 96d1f2e6d0ebcb97aa66a1416d147533b24fac9c parent 55122bfe0425c54aeb28d0daa266cc4601247994 Author: Nick Mathewson <nickm@torproject.org> Date: Fri, 21 Sep 2018 09:33:03 -0400 Merge remote-tracking branch 'dgoulet/ticket27797_035_01' Diffstat:
| A | changes/ticket27797 | | | 5 | +++++ |
| M | src/feature/nodelist/nodelist.c | | | 5 | +++++ |
2 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/changes/ticket27797 b/changes/ticket27797 @@ -0,0 +1,5 @@ + o Minor bugfixes (node, hidden service v3): + - When selecting a v3 rendezvous point, not only look at the protover but + also if the curve25519 onion key is present. That way we avoid picking a + node that supports the v3 rendezvous but for which we don't have the + descriptor yet for the key. Fixes bug 27797; bugfix on 0.3.2.1-alpha. diff --git a/src/feature/nodelist/nodelist.c b/src/feature/nodelist/nodelist.c @@ -1144,6 +1144,11 @@ node_supports_v3_rendezvous_point(const node_t *node) { tor_assert(node); + /* We can't use a v3 rendezvous point without the curve25519 onion pk. */ + if (!node_get_curve25519_onion_key(node)) { + return 0; + } + return node_get_protover_summary_flags(node)->supports_v3_rendezvous_point; }