Directory authority in private Tor network doesn't publish consensus
Under certain circumstances a single directory authority in a private Tor network does not manage to publish a consensus. For some reason the directory adds itself to the list of trusted directory authorities twice. The result is that it thinks there are 2 directories and that a single vote is not enough to publish a consensus.
The directory triggers the following warning:
Index: src/or/routerlist.c
--- src/or/routerlist.c (revision 19258) +++ src/or/routerlist.c (working copy) @@ -3706,6 +3706,18 @@ hostname = tor_strdup(address); }
- SMARTLIST_FOREACH(trusted_dir_servers, trusted_dir_server_t *, ent, {
- if (ent->v3_identity_digest &&
-
!memcmp(v3_auth_digest, ent->v3_identity_digest, DIGEST_LEN))
-
log_warn(LD_CONFIG, "We already have a directory with the same "
-
"v3 identity digest %s, address %s, OR port %d, and Dir port %d. "
-
"Now we try to add one with address %s, OR port %d, and Dir port %d. "
-
"Something is wrong here!",
-
hex_str(ent->v3_identity_digest, DIGEST_LEN),
-
ent->address, ent->or_port, ent->dir_port,
-
hostname, or_port, dir_port);
- });
- ent = tor_malloc_zero(sizeof(trusted_dir_server_t)); ent->nickname = nickname ? tor_strdup(nickname) : NULL; ent->address = hostname;
A workaround is to add a return statement to that loop. But it would be better to find out why the directory adds itself to the list twice.
[Automatically added by flyspray2trac: Operating System: All]