[tor-commits] [tor/master] prop224: Flag router with HSIntro/HSDir using protover

nickm at torproject.org nickm at torproject.org
Fri Apr 7 15:07:27 UTC 2017


commit dff50001ec9b805f169a7b1eacb9e45a6490f98a
Author: David Goulet <dgoulet at torproject.org>
Date:   Tue Feb 14 10:45:19 2017 -0500

    prop224: Flag router with HSIntro/HSDir using protover
    
    Note down in the routerstatus_t of a node if the router supports the HSIntro=4
    version for the ed25519 authentication key and HSDir=2 version for the v3
    descriptor supports.
    
    Signed-off-by: David Goulet <dgoulet at torproject.org>
---
 src/or/or.h          | 10 ++++++++++
 src/or/routerparse.c |  4 ++++
 2 files changed, 14 insertions(+)

diff --git a/src/or/or.h b/src/or/or.h
index 8a73cc2..f36b12b 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -2278,6 +2278,16 @@ typedef struct routerstatus_t {
    * ed25519 identity keys on a link handshake. */
   unsigned int supports_ed25519_link_handshake:1;
 
+  /** True iff this router has a protocol list that allows it to be an
+   * introduction point supporting ed25519 authentication key which is part of
+   * the v3 protocol detailed in proposal 224. This requires HSIntro=4. */
+  unsigned int supports_ed25519_hs_intro : 1;
+
+  /** True iff this router has a protocol list that allows it to be an hidden
+   * service directory supporting version 3 as seen in proposal 224. This
+   * requires HSDir=2. */
+  unsigned int supports_v3_hsdir : 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
diff --git a/src/or/routerparse.c b/src/or/routerparse.c
index 7220b99..fc0a4ab 100644
--- a/src/or/routerparse.c
+++ b/src/or/routerparse.c
@@ -2667,6 +2667,10 @@ routerstatus_parse_entry_from_string(memarea_t *area,
       protocol_list_supports_protocol(tok->args[0], PRT_RELAY, 2);
     rs->supports_ed25519_link_handshake =
       protocol_list_supports_protocol(tok->args[0], PRT_LINKAUTH, 3);
+    rs->supports_ed25519_hs_intro =
+      protocol_list_supports_protocol(tok->args[0], PRT_HSINTRO, 4);
+    rs->supports_v3_hsdir =
+      protocol_list_supports_protocol(tok->args[0], PRT_HSDIR, 2);
   }
   if ((tok = find_opt_by_keyword(tokens, K_V))) {
     tor_assert(tok->n_args == 1);





More information about the tor-commits mailing list