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
This commit is contained in:
Roger Dingledine 2007-12-11 20:18:12 +00:00
parent 52363d23d7
commit 78f532678c
3 changed files with 7 additions and 4 deletions

View File

@ -20,6 +20,9 @@ Changes in version 0.2.0.13-alpha - 2007-12-??
crashing or mis-answering these requests.
- Stop being so aggressive about fetching v2 dir info if your
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:
- Bridges now behave like clients with respect to time intervals for

View File

@ -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
directory publishing for you.) Otherwise, Tor will publish its descriptor
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
.TP
\fBRedirectExit \fR\fIpattern target\fP

View File

@ -234,7 +234,7 @@ static config_var_t _option_vars[] = {
V(PidFile, STRING, NULL),
V(PreferTunneledDirConns, BOOL, "0"),
V(ProtocolWarnings, BOOL, "0"),
V(PublishServerDescriptor, CSV, "v1,v2"),
V(PublishServerDescriptor, CSV, "v2,v3"),
V(PublishHidServDescriptors, BOOL, "1"),
V(ReachableAddresses, 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
* <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
* case the value of *<b>auth</b> is undefined). */
static int
@ -2435,7 +2435,7 @@ parse_authority_type_from_list(smartlist_t *list, authority_type_t *auth,
if (!strcasecmp(string, "v1"))
*auth |= V1_AUTHORITY;
else if (compatible && !strcmp(string, "1"))
*auth |= V1_AUTHORITY | V2_AUTHORITY;
*auth |= V2_AUTHORITY | V3_AUTHORITY;
else if (!strcasecmp(string, "v2"))
*auth |= V2_AUTHORITY;
else if (!strcasecmp(string, "v3"))