浏览代码

Directory mirrors store and serve v2 hidden service descriptors by default.

svn:r16858
Karsten Loesing 17 年之前
父节点
当前提交
f0a5ef804f
共有 5 个文件被更改,包括 7 次插入7 次删除
  1. 2 0
      ChangeLog
  2. 1 1
      doc/tor.1.in
  3. 1 4
      src/or/config.c
  4. 2 1
      src/or/router.c
  5. 1 1
      src/or/routerlist.c

+ 2 - 0
ChangeLog

@@ -28,6 +28,8 @@ Changes in version 0.2.1.6-alpha - 2008-09-xx
   o Minor features:
     - Use a lockfile to make sure that two Tor processes are not
       simultaneously running with the same datadir.
+    - Directory mirrors store and serve v2 hidden service descriptors by
+      default (new default value for HidServDirectoryV2 is 1).
 
   o Code simplifications and refactoring:
     - Revise the connection_new functions so that a more typesafe variant

+ 1 - 1
doc/tor.1.in

@@ -1077,7 +1077,7 @@ usage to a file \fBhsusage\fP  in its data directory. (Default: 0)
 .TP
 \fBHidServDirectoryV2 \fR\fB0\fR|\fB1\fR\fP
 When this option is set, Tor accepts and serves v2 hidden service
-descriptors. (Default: 0)
+descriptors. (Default: 1)
 .LP
 .TP
 \fBBridgeAuthoritativeDir \fR\fB0\fR|\fB1\fR\fP

+ 1 - 4
src/or/config.c

@@ -219,7 +219,7 @@ static config_var_t _option_vars[] = {
   V(Group,                       STRING,   NULL),
   V(HardwareAccel,               BOOL,     "0"),
   V(HashedControlPassword,       LINELIST, NULL),
-  V(HidServDirectoryV2,          BOOL,     "0"),
+  V(HidServDirectoryV2,          BOOL,     "1"),
   VAR("HiddenServiceDir",    LINELIST_S, RendConfigLines,    NULL),
   OBSOLETE("HiddenServiceExcludeNodes"),
   OBSOLETE("HiddenServiceNodes"),
@@ -3022,9 +3022,6 @@ options_validate(or_options_t *old_options, or_options_t *options,
     REJECT("HSAuthorityRecordStats is set but we're not running as "
            "a hidden service authority.");
 
-  if (options->HidServDirectoryV2 && !options->DirPort)
-    REJECT("Running as hidden service directory, but no DirPort set.");
-
   if (options->ConnLimit <= 0) {
     r = tor_snprintf(buf, sizeof(buf),
         "ConnLimit must be greater than 0, but was set to %d",

+ 2 - 1
src/or/router.c

@@ -1702,7 +1702,8 @@ router_dump_router_to_string(char *s, size_t maxlen, routerinfo_t *router,
     onion_pkey, identity_pkey,
     family_line,
     we_are_hibernating() ? "opt hibernating 1\n" : "",
-    options->HidServDirectoryV2 ? "opt hidden-service-dir\n" : "");
+    (options->DirPort && options->HidServDirectoryV2) ?
+        "opt hidden-service-dir\n" : "");
 
   tor_free(family_line);
   tor_free(onion_pkey);

+ 1 - 1
src/or/routerlist.c

@@ -4936,7 +4936,7 @@ hid_serv_acting_as_directory(void)
   routerstatus_t *rs;
   if (!me)
     return 0;
-  if (!get_options()->HidServDirectoryV2) {
+  if (!get_options()->DirPort || !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;