commit 2f8cf524ba4e565ab613504a4c41fd724d32facc Author: Nick Mathewson nickm@torproject.org Date: Fri Jul 10 09:03:56 2015 -0400
Remove the HidServDirV2 and VoteOnHidServDirectoriesV2 options
(Mark them as obsolete)
Closes 16543. --- changes/bug16543 | 5 +++++ src/or/config.c | 4 ++-- src/or/directory.c | 6 ++---- src/or/dirserv.c | 18 ++++++------------ src/or/dirvote.h | 3 +-- src/or/networkstatus.c | 2 +- src/or/or.h | 3 --- src/or/router.c | 2 +- src/or/routerlist.c | 5 ----- 9 files changed, 18 insertions(+), 30 deletions(-)
diff --git a/changes/bug16543 b/changes/bug16543 new file mode 100644 index 0000000..6f77eaa --- /dev/null +++ b/changes/bug16543 @@ -0,0 +1,5 @@ + - Removed features: + - Remove the HidServDirectoryV2 option. Now all relays offer to store + hidden service descriptors. Related to 16543. + - Remove the VoteOnHidServDirectoriesV2 option, since all authorities + have long set it to 1. Closes ticket 16543. diff --git a/src/or/config.c b/src/or/config.c index 0d6c300..731dd93 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -278,7 +278,7 @@ static config_var_t option_vars_[] = { V(AccelName, STRING, NULL), V(AccelDir, FILENAME, NULL), V(HashedControlPassword, LINELIST, NULL), - V(HidServDirectoryV2, BOOL, "1"), + OBSOLETE("HidServDirectoryV2"), VAR("HiddenServiceDir", LINELIST_S, RendConfigLines, NULL), VAR("HiddenServiceDirGroupReadable", LINELIST_S, RendConfigLines, NULL), VAR("HiddenServiceOptions",LINELIST_V, RendConfigLines, NULL), @@ -448,6 +448,7 @@ static config_var_t option_vars_[] = { V(V3BandwidthsFile, FILENAME, NULL), V(GuardfractionFile, FILENAME, NULL), VAR("VersioningAuthoritativeDirectory",BOOL,VersioningAuthoritativeDir, "0"), + OBSOLETE("VoteOnHidServDirectoriesV2"), V(VirtualAddrNetworkIPv4, STRING, "127.192.0.0/10"), V(VirtualAddrNetworkIPv6, STRING, "[FE80::]/10"), V(WarnPlaintextPorts, CSV, "23,109,110,143"), @@ -460,7 +461,6 @@ static config_var_t option_vars_[] = { NULL), VAR("__OwningControllerProcess",STRING,OwningControllerProcess, NULL), V(MinUptimeHidServDirectoryV2, INTERVAL, "96 hours"), - V(VoteOnHidServDirectoriesV2, BOOL, "1"), V(TestingServerDownloadSchedule, CSV_INTERVAL, "0, 0, 0, 60, 60, 120, " "300, 900, 2147483647"), V(TestingClientDownloadSchedule, CSV_INTERVAL, "0, 0, 60, 300, 600, " diff --git a/src/or/directory.c b/src/or/directory.c index 8d7f9f4..9461606 100644 --- a/src/or/directory.c +++ b/src/or/directory.c @@ -3095,8 +3095,7 @@ directory_handle_command_get(dir_connection_t *conn, const char *headers, goto done; }
- if (options->HidServDirectoryV2 && - connection_dir_is_encrypted(conn) && + if (connection_dir_is_encrypted(conn) && !strcmpstart(url,"/tor/rendezvous2/")) { /* Handle v2 rendezvous descriptor fetch request. */ const char *descp; @@ -3240,8 +3239,7 @@ directory_handle_command_post(dir_connection_t *conn, const char *headers, log_debug(LD_DIRSERV,"rewritten url as '%s'.", escaped(url));
/* Handle v2 rendezvous service publish request. */ - if (options->HidServDirectoryV2 && - connection_dir_is_encrypted(conn) && + if (connection_dir_is_encrypted(conn) && !strcmpstart(url,"/tor/rendezvous2/publish")) { switch (rend_cache_store_v2_desc_as_dir(body)) { case RCS_NOTDIR: diff --git a/src/or/dirserv.c b/src/or/dirserv.c index ed38ba2..4de197f 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -2129,8 +2129,7 @@ set_routerstatus_from_routerinfo(routerstatus_t *rs, node_t *node, routerinfo_t *ri, time_t now, - int listbadexits, - int vote_on_hsdirs) + int listbadexits) { const or_options_t *options = get_options(); uint32_t routerbw_kb = dirserv_get_credible_bandwidth_kb(ri); @@ -2167,8 +2166,8 @@ set_routerstatus_from_routerinfo(routerstatus_t *rs, }
rs->is_bad_exit = listbadexits && node->is_bad_exit; - node->is_hs_dir = dirserv_thinks_router_is_hs_dir(ri, node, now); - rs->is_hs_dir = vote_on_hsdirs && node->is_hs_dir; + rs->is_hs_dir = node->is_hs_dir = + dirserv_thinks_router_is_hs_dir(ri, node, now);
rs->is_named = rs->is_unnamed = 0;
@@ -2206,8 +2205,7 @@ set_routerstatus_from_routerinfo(routerstatus_t *rs,
if (routerset_contains_routerstatus(options->TestingDirAuthVoteHSDir, rs, 0)) { - /* TestingDirAuthVoteHSDir respects VoteOnHidServDirectoriesV2 */ - rs->is_hs_dir = vote_on_hsdirs; + rs->is_hs_dir = 1; } } } @@ -2733,7 +2731,6 @@ dirserv_generate_networkstatus_vote_obj(crypto_pk_t *private_key, char identity_digest[DIGEST_LEN]; char signing_key_digest[DIGEST_LEN]; int listbadexits = options->AuthDirListBadExits; - int vote_on_hsdirs = options->VoteOnHidServDirectoriesV2; routerlist_t *rl = router_get_routerlist(); time_t now = time(NULL); time_t cutoff = now - ROUTER_MAX_AGE_TO_PUBLISH; @@ -2824,8 +2821,7 @@ dirserv_generate_networkstatus_vote_obj(crypto_pk_t *private_key, vrs = tor_malloc_zero(sizeof(vote_routerstatus_t)); rs = &vrs->status; set_routerstatus_from_routerinfo(rs, node, ri, now, - listbadexits, - vote_on_hsdirs); + listbadexits);
if (ri->signing_key_cert) { memcpy(vrs->ed25519_id, ri->signing_key_cert->signing_key.pubkey, @@ -2922,14 +2918,12 @@ dirserv_generate_networkstatus_vote_obj(crypto_pk_t *private_key,
v3_out->known_flags = smartlist_new(); smartlist_split_string(v3_out->known_flags, - "Authority Exit Fast Guard Stable V2Dir Valid", + "Authority Exit Fast Guard Stable V2Dir Valid HSDir", 0, SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0); if (vote_on_reachability) smartlist_add(v3_out->known_flags, tor_strdup("Running")); if (listbadexits) smartlist_add(v3_out->known_flags, tor_strdup("BadExit")); - if (vote_on_hsdirs) - smartlist_add(v3_out->known_flags, tor_strdup("HSDir")); smartlist_sort_strings(v3_out->known_flags);
if (options->ConsensusParams) { diff --git a/src/or/dirvote.h b/src/or/dirvote.h index 0fb2b25..dca8540 100644 --- a/src/or/dirvote.h +++ b/src/or/dirvote.h @@ -145,8 +145,7 @@ const cached_dir_t *dirvote_get_vote(const char *fp, int flags); void set_routerstatus_from_routerinfo(routerstatus_t *rs, node_t *node, routerinfo_t *ri, time_t now, - int listbadexits, - int vote_on_hsdirs); + int listbadexits); networkstatus_t * dirserv_generate_networkstatus_vote_obj(crypto_pk_t *private_key, authority_cert_t *cert); diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c index 9de1f88..71a2c0f 100644 --- a/src/or/networkstatus.c +++ b/src/or/networkstatus.c @@ -1678,7 +1678,7 @@ networkstatus_getinfo_by_purpose(const char *purpose_string, time_t now) if (bridge_auth && ri->purpose == ROUTER_PURPOSE_BRIDGE) dirserv_set_router_is_running(ri, now); /* then generate and write out status lines for each of them */ - set_routerstatus_from_routerinfo(&rs, node, ri, now, 0, 0); + set_routerstatus_from_routerinfo(&rs, node, ri, now, 0); smartlist_add(statuses, networkstatus_getinfo_helper_single(&rs)); } SMARTLIST_FOREACH_END(ri);
diff --git a/src/or/or.h b/src/or/or.h index 946e7e0..d35c47f 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -3590,10 +3590,7 @@ typedef struct { int PublishHidServDescriptors; int FetchServerDescriptors; /**< Do we fetch server descriptors as normal? */ int FetchHidServDescriptors; /**< and hidden service descriptors? */ - int HidServDirectoryV2; /**< Do we participate in the HS DHT? */
- int VoteOnHidServDirectoriesV2; /**< As a directory authority, vote on - * assignment of the HSDir flag? */ int MinUptimeHidServDirectoryV2; /**< As directory authority, accept hidden * service directories after what time? */
diff --git a/src/or/router.c b/src/or/router.c index 0903eb2..47825e2 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -2583,7 +2583,7 @@ router_dump_router_to_string(routerinfo_t *router, ntor_cc_line ? ntor_cc_line : "", family_line, we_are_hibernating() ? "hibernating 1\n" : "", - options->HidServDirectoryV2 ? "hidden-service-dir\n" : "", + "hidden-service-dir\n", options->AllowSingleHopExits ? "allow-single-hop-exits\n" : "");
if (options->ContactInfo && strlen(options->ContactInfo)) { diff --git a/src/or/routerlist.c b/src/or/routerlist.c index 3502196..dc48862 100644 --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@ -5179,11 +5179,6 @@ hid_serv_acting_as_directory(void) const routerinfo_t *me = router_get_my_routerinfo(); if (!me) return 0; - if (!get_options()->HidServDirectoryV2) { - log_info(LD_REND, "We are not acting as hidden service directory, " - "because we have not been configured as such."); - return 0; - } return 1; }
tor-commits@lists.torproject.org