summaryrefslogtreecommitdiff
path: root/src/or/or.h
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2017-08-30 10:13:22 -0400
committerNick Mathewson <nickm@torproject.org>2017-09-07 08:35:28 -0400
commitc527cde82f74849ec3b183159d20441019b77e2e (patch)
tree4a11946ed0460378926fbbf991079c3d66cc0562 /src/or/or.h
parent209bfe715cc8c1c59b2578c406749a0d4a5bd8cb (diff)
downloadtor-c527cde82f74849ec3b183159d20441019b77e2e.tar.gz
tor-c527cde82f74849ec3b183159d20441019b77e2e.zip
prop224: Pick rendezvous point of protover HSRend=2
Version 3 hidden service needs rendezvous point that have the protocol version HSRend >= 2 else the rendezvous cells are rejected. Fixes #23361 Signed-off-by: David Goulet <dgoulet@torproject.org>
Diffstat (limited to 'src/or/or.h')
-rw-r--r--src/or/or.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/or/or.h b/src/or/or.h
index 5d55094a02..a2707b4d40 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -2321,6 +2321,11 @@ typedef struct routerstatus_t {
* requires HSDir=2. */
unsigned int supports_v3_hsdir : 1;
+ /** True iff this router has a protocol list that allows it to be an hidden
+ * service rendezvous point supporting version 3 as seen in proposal 224.
+ * This requires HSRend=2. */
+ unsigned int supports_v3_rendezvous_point: 1;
+
unsigned int has_bandwidth:1; /**< The vote/consensus had bw info */
unsigned int has_exitsummary:1; /**< The vote/consensus had exit summaries */
unsigned int bw_is_unmeasured:1; /**< This is a consensus entry, with
@@ -5381,7 +5386,10 @@ typedef enum {
CRN_PREF_ADDR = 1<<7,
/* On clients, only provide nodes that we can connect to directly, based on
* our firewall rules */
- CRN_DIRECT_CONN = 1<<8
+ CRN_DIRECT_CONN = 1<<8,
+ /* On clients, only provide nodes with HSRend >= 2 protocol version which
+ * is required for hidden service version >= 3. */
+ CRN_RENDEZVOUS_V3 = 1<<9,
} router_crn_flags_t;
/** Return value for router_add_to_routerlist() and dirserv_add_descriptor() */