mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-28 14:23:30 +01:00
Stop assuming every authority is a v1 authority
svn:r6377
This commit is contained in:
parent
1fbc74661f
commit
beb9e0721a
@ -3140,7 +3140,7 @@ parse_dir_server_line(const char *line, int validate_only)
|
||||
char *addrport=NULL, *address=NULL, *nickname=NULL, *fingerprint=NULL;
|
||||
uint16_t port;
|
||||
char digest[DIGEST_LEN];
|
||||
int supports_v1 = 1; /*XXXX011 change default when clients support v2. */
|
||||
int is_v1_authority = 0;
|
||||
|
||||
items = smartlist_create();
|
||||
smartlist_split_string(items, line, NULL,
|
||||
@ -3159,7 +3159,7 @@ parse_dir_server_line(const char *line, int validate_only)
|
||||
if (!strcmp(smartlist_get(items, 0), "v1")) {
|
||||
char *v1 = smartlist_get(items, 0);
|
||||
tor_free(v1);
|
||||
supports_v1 = 1;
|
||||
is_v1_authority = 1;
|
||||
smartlist_del_keeporder(items, 0);
|
||||
}
|
||||
|
||||
@ -3191,7 +3191,7 @@ parse_dir_server_line(const char *line, int validate_only)
|
||||
if (!validate_only) {
|
||||
log_debug(LD_DIR, "Trusted dirserver at %s:%d (%s)", address, (int)port,
|
||||
(char*)smartlist_get(items,1));
|
||||
add_trusted_dir_server(nickname, address, port, digest, supports_v1);
|
||||
add_trusted_dir_server(nickname, address, port, digest, is_v1_authority);
|
||||
}
|
||||
|
||||
r = 0;
|
||||
|
@ -792,7 +792,7 @@ run_scheduled_events(time_t now)
|
||||
if (options->DirPort && !options->V1AuthoritativeDir) {
|
||||
/* XXX actually, we should only do this if we want to advertise
|
||||
* our dirport. not simply if we configured one. -RD */
|
||||
if (any_trusted_dir_supports_v1())
|
||||
if (any_trusted_dir_is_v1_authority())
|
||||
directory_get_from_dirserver(DIR_PURPOSE_FETCH_DIR, NULL, 1);
|
||||
}
|
||||
|
||||
|
@ -2339,9 +2339,9 @@ int router_exit_policy_rejects_all(routerinfo_t *router);
|
||||
|
||||
void add_trusted_dir_server(const char *nickname,
|
||||
const char *address, uint16_t port,
|
||||
const char *digest, int supports_v1);
|
||||
const char *digest, int is_v1_authority);
|
||||
void clear_trusted_dir_servers(void);
|
||||
int any_trusted_dir_supports_v1(void);
|
||||
int any_trusted_dir_is_v1_authority(void);
|
||||
networkstatus_t *networkstatus_get_by_digest(const char *digest);
|
||||
local_routerstatus_t *router_get_combined_status_by_digest(const char *digest);
|
||||
void update_networkstatus_downloads(time_t now);
|
||||
|
@ -2487,7 +2487,7 @@ router_exit_policy_rejects_all(routerinfo_t *router)
|
||||
* <b>address</b> is NULL, add ourself. */
|
||||
void
|
||||
add_trusted_dir_server(const char *nickname, const char *address,
|
||||
uint16_t port, const char *digest, int supports_v1)
|
||||
uint16_t port, const char *digest, int is_v1_authority)
|
||||
{
|
||||
trusted_dir_server_t *ent;
|
||||
uint32_t a;
|
||||
@ -2520,7 +2520,7 @@ add_trusted_dir_server(const char *nickname, const char *address,
|
||||
ent->addr = a;
|
||||
ent->dir_port = port;
|
||||
ent->is_running = 1;
|
||||
ent->is_v1_authority = supports_v1;
|
||||
ent->is_v1_authority = is_v1_authority;
|
||||
memcpy(ent->digest, digest, DIGEST_LEN);
|
||||
|
||||
dlen = 64 + strlen(hostname) + (nickname?strlen(nickname):0);
|
||||
@ -2570,7 +2570,7 @@ clear_trusted_dir_servers(void)
|
||||
/** Return 1 if any trusted dir server supports v1 directories,
|
||||
* else return 0. */
|
||||
int
|
||||
any_trusted_dir_supports_v1(void)
|
||||
any_trusted_dir_is_v1_authority(void)
|
||||
{
|
||||
if (trusted_dir_servers)
|
||||
SMARTLIST_FOREACH(trusted_dir_servers, trusted_dir_server_t *, ent,
|
||||
|
Loading…
Reference in New Issue
Block a user