Переглянути джерело

Relays were publishing their server descriptor to v1 and v2
directory authorities, but they didn't try publishing to v3-only
authorities. Fix this; and also stop publishing to v1 authorities.


svn:r12759

Roger Dingledine 17 роки тому
батько
коміт
78f532678c
3 змінених файлів з 7 додано та 4 видалено
  1. 3 0
      ChangeLog
  2. 1 1
      doc/tor.1.in
  3. 3 3
      src/or/config.c

+ 3 - 0
ChangeLog

@@ -20,6 +20,9 @@ Changes in version 0.2.0.13-alpha - 2007-12-??
       crashing or mis-answering these requests.
       crashing or mis-answering these requests.
     - Stop being so aggressive about fetching v2 dir info if your
     - Stop being so aggressive about fetching v2 dir info if your
       DirPort is on but your ORPort is off.
       DirPort is on but your ORPort is off.
+    - Relays were publishing their server descriptor to v1 and v2
+      directory authorities, but they didn't try publishing to v3-only
+      authorities. Fix this; and also stop publishing to v1 authorities.
 
 
   o Major features:
   o Major features:
     - Bridges now behave like clients with respect to time intervals for
     - Bridges now behave like clients with respect to time intervals for

+ 1 - 1
doc/tor.1.in

@@ -853,7 +853,7 @@ descriptor to the directory authorities. (This is useful if you're
 testing out your server, or if you're using a Tor controller that handles
 testing out your server, or if you're using a Tor controller that handles
 directory publishing for you.) Otherwise, Tor will publish its descriptor
 directory publishing for you.) Otherwise, Tor will publish its descriptor
 to all directory authorities of the type(s) specified. The value "1" is
 to all directory authorities of the type(s) specified. The value "1" is
-treated as a synonym for the default, which is currently "v1,v2".
+treated as a synonym for the default, which is currently "v2,v3".
 .LP
 .LP
 .TP
 .TP
 \fBRedirectExit \fR\fIpattern target\fP
 \fBRedirectExit \fR\fIpattern target\fP

+ 3 - 3
src/or/config.c

@@ -234,7 +234,7 @@ static config_var_t _option_vars[] = {
   V(PidFile,                     STRING,   NULL),
   V(PidFile,                     STRING,   NULL),
   V(PreferTunneledDirConns,      BOOL,     "0"),
   V(PreferTunneledDirConns,      BOOL,     "0"),
   V(ProtocolWarnings,            BOOL,     "0"),
   V(ProtocolWarnings,            BOOL,     "0"),
-  V(PublishServerDescriptor,     CSV,      "v1,v2"),
+  V(PublishServerDescriptor,     CSV,      "v2,v3"),
   V(PublishHidServDescriptors,   BOOL,     "1"),
   V(PublishHidServDescriptors,   BOOL,     "1"),
   V(ReachableAddresses,          LINELIST, NULL),
   V(ReachableAddresses,          LINELIST, NULL),
   V(ReachableDirAddresses,       LINELIST, NULL),
   V(ReachableDirAddresses,       LINELIST, NULL),
@@ -2420,7 +2420,7 @@ ensure_bandwidth_cap(uint64_t *value, const char *desc, char **msg)
 }
 }
 
 
 /** Parse an authority type from <b>list</b> and write it to *<b>auth</b>.  If
 /** Parse an authority type from <b>list</b> and write it to *<b>auth</b>.  If
- * <b>compatible</b> is non-zero, treat "1" as "v1,v2" and treat "0" as "".
+ * <b>compatible</b> is non-zero, treat "1" as "v2,v3" and treat "0" as "".
  * Return 0 on success or -1 if not a recognized authority type (in which
  * Return 0 on success or -1 if not a recognized authority type (in which
  * case the value of *<b>auth</b> is undefined). */
  * case the value of *<b>auth</b> is undefined). */
 static int
 static int
@@ -2435,7 +2435,7 @@ parse_authority_type_from_list(smartlist_t *list, authority_type_t *auth,
     if (!strcasecmp(string, "v1"))
     if (!strcasecmp(string, "v1"))
       *auth |= V1_AUTHORITY;
       *auth |= V1_AUTHORITY;
     else if (compatible && !strcmp(string, "1"))
     else if (compatible && !strcmp(string, "1"))
-      *auth |= V1_AUTHORITY | V2_AUTHORITY;
+      *auth |= V2_AUTHORITY | V3_AUTHORITY;
     else if (!strcasecmp(string, "v2"))
     else if (!strcasecmp(string, "v2"))
       *auth |= V2_AUTHORITY;
       *auth |= V2_AUTHORITY;
     else if (!strcasecmp(string, "v3"))
     else if (!strcasecmp(string, "v3"))