Skip to content
Snippets Groups Projects
Commit 78051c88 authored by teor's avatar teor
Browse files

dirvote: Move required protos into private header

Move the recommended and required protocol version lists into the
private section of the dirvote header, and turn them into macros.

Preparation for 33285.
parent 41a9eddf
No related branches found
No related tags found
No related merge requests found
......@@ -4619,17 +4619,14 @@ dirserv_generate_networkstatus_vote_obj(crypto_pk_t *private_key,
/* These are hardwired, to avoid disaster. */
v3_out->recommended_relay_protocols =
tor_strdup("Cons=1-2 Desc=1-2 DirCache=1 HSDir=1 HSIntro=3 HSRend=1 "
"Link=4 Microdesc=1-2 Relay=2");
tor_strdup(DIRVOTE_RECCOMEND_RELAY_PROTO);
v3_out->recommended_client_protocols =
tor_strdup("Cons=1-2 Desc=1-2 DirCache=1 HSDir=1 HSIntro=3 HSRend=1 "
"Link=4 Microdesc=1-2 Relay=2");
tor_strdup(DIRVOTE_RECCOMEND_CLIENT_PROTO);
v3_out->required_client_protocols =
tor_strdup("Cons=1-2 Desc=1-2 DirCache=1 HSDir=1 HSIntro=3 HSRend=1 "
"Link=4 Microdesc=1-2 Relay=2");
tor_strdup(DIRVOTE_REQUIRE_CLIENT_PROTO);
v3_out->required_relay_protocols =
tor_strdup("Cons=1 Desc=1 DirCache=1 HSDir=1 HSIntro=3 HSRend=1 "
"Link=3-4 Microdesc=1 Relay=1-2");
tor_strdup(DIRVOTE_REQUIRE_RELAY_PROTO);
/* We are not allowed to vote to require anything we don't have. */
tor_assert(protover_all_supported(v3_out->required_relay_protocols, NULL));
......
......@@ -230,6 +230,21 @@ char *networkstatus_get_detached_signatures(smartlist_t *consensuses);
STATIC microdesc_t *dirvote_create_microdescriptor(const routerinfo_t *ri,
int consensus_method);
/* These are hardwired, to avoid disaster. */
#define DIRVOTE_RECCOMEND_RELAY_PROTO \
"Cons=1-2 Desc=1-2 DirCache=1 HSDir=1 HSIntro=3 HSRend=1 " \
"Link=4 Microdesc=1-2 Relay=2"
#define DIRVOTE_RECCOMEND_CLIENT_PROTO \
"Cons=1-2 Desc=1-2 DirCache=1 HSDir=1 HSIntro=3 HSRend=1 " \
"Link=4 Microdesc=1-2 Relay=2"
#define DIRVOTE_REQUIRE_CLIENT_PROTO \
"Cons=1-2 Desc=1-2 DirCache=1 HSDir=1 HSIntro=3 HSRend=1 " \
"Link=4 Microdesc=1-2 Relay=2"
#define DIRVOTE_REQUIRE_RELAY_PROTO \
"Cons=1 Desc=1 DirCache=1 HSDir=1 HSIntro=3 HSRend=1 " \
"Link=3-4 Microdesc=1 Relay=1-2"
#endif /* defined(DIRVOTE_PRIVATE) */
#endif /* !defined(TOR_DIRVOTE_H) */
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment