diff options
author | Nick Mathewson <nickm@torproject.org> | 2016-09-14 10:31:56 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2016-09-26 10:56:53 -0700 |
commit | 4cbfee14d40221a25545d2d2c3d6e6ce76f6afe9 (patch) | |
tree | 58f95d804ce0a54460ac6e9b7054c60f67ec575a | |
parent | 0a3da5ce79768c15da3897097f0cc7ba727a7d35 (diff) | |
download | tor-4cbfee14d40221a25545d2d2c3d6e6ce76f6afe9.tar.gz tor-4cbfee14d40221a25545d2d2c3d6e6ce76f6afe9.zip |
Update prop264 implementation to split HSMid->HS{Intro,Rend}
-rw-r--r-- | src/or/dirserv.c | 16 | ||||
-rw-r--r-- | src/or/protover.c | 17 | ||||
-rw-r--r-- | src/or/protover.h | 3 |
3 files changed, 23 insertions, 13 deletions
diff --git a/src/or/dirserv.c b/src/or/dirserv.c index 99b2e8acd4..d3bc615abc 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -2922,17 +2922,17 @@ 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 HSMid=1 Link=4 " - "LinkAuth=1 Microdesc=1-2 Relay=2"); + tor_strdup("Cons=1-2 Desc=1-2 DirCache=1 HSDir=1 HSIntro=3 HSRend=1 " + "Link=4 LinkAuth=1 Microdesc=1-2 Relay=2"); v3_out->recommended_client_protocols = - tor_strdup("Cons=1-2 Desc=1-2 DirCache=1 HSDir=1 HSMid=1 Link=4 " - "LinkAuth=1 Microdesc=1-2 Relay=2"); + tor_strdup("Cons=1-2 Desc=1-2 DirCache=1 HSDir=1 HSIntro=3 HSRend=1 " + "Link=4 LinkAuth=1 Microdesc=1-2 Relay=2"); v3_out->required_client_protocols = - tor_strdup("Cons=1-2 Desc=1-2 DirCache=1 HSDir=1 HSMid=1 Link=4 " - "LinkAuth=1 Microdesc=1-2 Relay=2"); + tor_strdup("Cons=1-2 Desc=1-2 DirCache=1 HSDir=1 HSIntro=3 HSRend=1 " + "Link=4 LinkAuth=1 Microdesc=1-2 Relay=2"); v3_out->required_relay_protocols = - tor_strdup("Cons=1 Desc=1 DirCache=1 HSDir=1 HSMid=1 Link=3-4 " - "LinkAuth=1 Microdesc=1 Relay=1-2"); + tor_strdup("Cons=1 Desc=1 DirCache=1 HSDir=1 HSIntro=3 HSRend=1 " + "Link=3-4 LinkAuth=1 Microdesc=1 Relay=1-2"); v3_out->package_lines = smartlist_new(); { diff --git a/src/or/protover.c b/src/or/protover.c index a2471b0c01..74fc3d0f74 100644 --- a/src/or/protover.c +++ b/src/or/protover.c @@ -17,9 +17,10 @@ static const struct { { PRT_LINK, "Link" }, { PRT_LINKAUTH, "LinkAuth" }, { PRT_RELAY, "Relay" }, - { PRT_HSMID, "HSMid" }, { PRT_DIRCACHE, "DirCache" }, { PRT_HSDIR, "HSDir" }, + { PRT_HSINTRO, "HSIntro" }, + { PRT_HSREND, "HSRend" }, { PRT_DESC, "Desc" }, { PRT_MICRODESC, "Microdesc"}, { PRT_CONS, "Cons" } @@ -267,7 +268,8 @@ protover_get_supported_protocols(void) "Desc=1-2 " "DirCache=1 " "HSDir=1 " - "HSMid=1 " + "HSIntro=3 " + "HSRend=1-2 " "Link=1-4 " "LinkAuth=1 " "Microdesc=1-2 " @@ -674,15 +676,22 @@ protover_compute_for_old_tor(const char *version) FIRST_TOR_VERSION_TO_ADVERTISE_PROTOCOLS)) { return ""; } else if (tor_version_as_new_as(version, "0.2.7.5")) { + /* 0.2.9.1-alpha HSRend=2 */ + return "Cons=1-2 Desc=1-2 DirCache=1 HSDir=1 HSIntro=3 HSRend=1-2 " + "Link=1-4 LinkAuth=1 " + "Microdesc=1-2 Relay=1-2"; + } else if (tor_version_as_new_as(version, "0.2.7.5")) { /* 0.2.7-stable added Desc=2, Microdesc=2, Cons=2, which indicate * ed25519 support. We'll call them present only in "stable" 027, * though. */ - return "Cons=1-2 Desc=1-2 DirCache=1 HSDir=1 HSMid=1 Link=1-4 LinkAuth=1 " + return "Cons=1-2 Desc=1-2 DirCache=1 HSDir=1 HSIntro=3 HSRend=1 " + "Link=1-4 LinkAuth=1 " "Microdesc=1-2 Relay=1-2"; } else if (tor_version_as_new_as(version, "0.2.4.19")) { /* No currently supported Tor server versions are older than this, or * lack these protocols. */ - return "Cons=1 Desc=1 DirCache=1 HSDir=1 HSMid=1 Link=1-4 LinkAuth=1 " + return "Cons=1 Desc=1 DirCache=1 HSDir=1 HSIntro=3 HSRend=1 " + "Link=1-4 LinkAuth=1 " "Microdesc=1 Relay=1-2"; } else { /* Cannot infer protocols. */ diff --git a/src/or/protover.h b/src/or/protover.h index 5f4789d71e..075405e7ca 100644 --- a/src/or/protover.h +++ b/src/or/protover.h @@ -15,9 +15,10 @@ typedef enum protocol_type_t { PRT_LINK, PRT_LINKAUTH, PRT_RELAY, - PRT_HSMID, PRT_DIRCACHE, PRT_HSDIR, + PRT_HSINTRO, + PRT_HSREND, PRT_DESC, PRT_MICRODESC, PRT_CONS, |