[tor-commits] [tor/master] Remove the HidServDirV2 and VoteOnHidServDirectoriesV2 options

nickm at torproject.org nickm at torproject.org
Thu Jul 16 19:47:05 UTC 2015


commit 2f8cf524ba4e565ab613504a4c41fd724d32facc
Author: Nick Mathewson <nickm at 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;
 }
 





More information about the tor-commits mailing list