diff options
author | David Goulet <dgoulet@torproject.org> | 2017-02-14 10:45:19 -0500 |
---|---|---|
committer | David Goulet <dgoulet@torproject.org> | 2017-04-07 09:44:52 -0400 |
commit | dff50001ec9b805f169a7b1eacb9e45a6490f98a (patch) | |
tree | bda3a94e9667f4afaaa5485f4d26d51ce55bf738 /src | |
parent | 489ef6b38ba66f59bb6562a4702c0500478a7495 (diff) | |
download | tor-dff50001ec9b805f169a7b1eacb9e45a6490f98a.tar.gz tor-dff50001ec9b805f169a7b1eacb9e45a6490f98a.zip |
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@torproject.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/or/or.h | 10 | ||||
-rw-r--r-- | src/or/routerparse.c | 4 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/or/or.h b/src/or/or.h index 8a73cc293f..f36b12b3f7 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 7220b992c4..fc0a4ab50a 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); |