mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-24 22:58:50 +01:00
Fix log message subjects in networkstatus_parse_vote_from_string()
Some of these messages called the thing being parsed a "vote" whether it is a vote or a consensus. Fixes bug 18368.
This commit is contained in:
parent
6182e34628
commit
c20e34e189
2 changed files with 17 additions and 13 deletions
5
changes/bug18368
Normal file
5
changes/bug18368
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
o Minor bugfixes:
|
||||||
|
- When logging information about an unparseable networkstatus vote or
|
||||||
|
consensus, do not say "vote" when we mean consensus. Fixes bug
|
||||||
|
18368; bugfix on 0.2.0.8-alpha.
|
||||||
|
|
|
@ -2862,7 +2862,7 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
|
||||||
(ns_type == NS_TYPE_CONSENSUS) ?
|
(ns_type == NS_TYPE_CONSENSUS) ?
|
||||||
networkstatus_consensus_token_table :
|
networkstatus_consensus_token_table :
|
||||||
networkstatus_token_table, 0)) {
|
networkstatus_token_table, 0)) {
|
||||||
log_warn(LD_DIR, "Error tokenizing network-status vote header");
|
log_warn(LD_DIR, "Error tokenizing network-status header");
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3085,7 +3085,7 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
|
||||||
base16_decode(voter->identity_digest, sizeof(voter->identity_digest),
|
base16_decode(voter->identity_digest, sizeof(voter->identity_digest),
|
||||||
tok->args[1], HEX_DIGEST_LEN) < 0) {
|
tok->args[1], HEX_DIGEST_LEN) < 0) {
|
||||||
log_warn(LD_DIR, "Error decoding identity digest %s in "
|
log_warn(LD_DIR, "Error decoding identity digest %s in "
|
||||||
"network-status vote.", escaped(tok->args[1]));
|
"network-status document.", escaped(tok->args[1]));
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
if (ns->type != NS_TYPE_CONSENSUS &&
|
if (ns->type != NS_TYPE_CONSENSUS &&
|
||||||
|
@ -3144,7 +3144,7 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
|
||||||
voter = NULL;
|
voter = NULL;
|
||||||
}
|
}
|
||||||
if (smartlist_len(ns->voters) == 0) {
|
if (smartlist_len(ns->voters) == 0) {
|
||||||
log_warn(LD_DIR, "Missing dir-source elements in a vote networkstatus.");
|
log_warn(LD_DIR, "Missing dir-source elements in a networkstatus.");
|
||||||
goto err;
|
goto err;
|
||||||
} else if (ns->type != NS_TYPE_CONSENSUS && smartlist_len(ns->voters) != 1) {
|
} else if (ns->type != NS_TYPE_CONSENSUS && smartlist_len(ns->voters) != 1) {
|
||||||
log_warn(LD_DIR, "Too many dir-source elements in a vote networkstatus.");
|
log_warn(LD_DIR, "Too many dir-source elements in a vote networkstatus.");
|
||||||
|
@ -3205,8 +3205,7 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
|
||||||
}
|
}
|
||||||
if (fast_memcmp(rs1->identity_digest, rs2->identity_digest, DIGEST_LEN)
|
if (fast_memcmp(rs1->identity_digest, rs2->identity_digest, DIGEST_LEN)
|
||||||
>= 0) {
|
>= 0) {
|
||||||
log_warn(LD_DIR, "Vote networkstatus entries not sorted by identity "
|
log_warn(LD_DIR, "Networkstatus entries not sorted by identity digest");
|
||||||
"digest");
|
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3319,12 +3318,12 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
|
||||||
base16_decode(declared_identity, sizeof(declared_identity),
|
base16_decode(declared_identity, sizeof(declared_identity),
|
||||||
id_hexdigest, HEX_DIGEST_LEN) < 0) {
|
id_hexdigest, HEX_DIGEST_LEN) < 0) {
|
||||||
log_warn(LD_DIR, "Error decoding declared identity %s in "
|
log_warn(LD_DIR, "Error decoding declared identity %s in "
|
||||||
"network-status vote.", escaped(id_hexdigest));
|
"network-status document.", escaped(id_hexdigest));
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
if (!(v = networkstatus_get_voter_by_id(ns, declared_identity))) {
|
if (!(v = networkstatus_get_voter_by_id(ns, declared_identity))) {
|
||||||
log_warn(LD_DIR, "ID on signature on network-status vote does not match "
|
log_warn(LD_DIR, "ID on signature on network-status document does "
|
||||||
"any declared directory source.");
|
"not match any declared directory source.");
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
sig = tor_malloc_zero(sizeof(document_signature_t));
|
sig = tor_malloc_zero(sizeof(document_signature_t));
|
||||||
|
@ -3334,7 +3333,7 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
|
||||||
base16_decode(sig->signing_key_digest, sizeof(sig->signing_key_digest),
|
base16_decode(sig->signing_key_digest, sizeof(sig->signing_key_digest),
|
||||||
sk_hexdigest, HEX_DIGEST_LEN) < 0) {
|
sk_hexdigest, HEX_DIGEST_LEN) < 0) {
|
||||||
log_warn(LD_DIR, "Error decoding declared signing key digest %s in "
|
log_warn(LD_DIR, "Error decoding declared signing key digest %s in "
|
||||||
"network-status vote.", escaped(sk_hexdigest));
|
"network-status document.", escaped(sk_hexdigest));
|
||||||
tor_free(sig);
|
tor_free(sig);
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
@ -3353,8 +3352,8 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
|
||||||
/* We already parsed a vote with this algorithm from this voter. Use the
|
/* We already parsed a vote with this algorithm from this voter. Use the
|
||||||
first one. */
|
first one. */
|
||||||
log_fn(LOG_PROTOCOL_WARN, LD_DIR, "We received a networkstatus "
|
log_fn(LOG_PROTOCOL_WARN, LD_DIR, "We received a networkstatus "
|
||||||
"that contains two votes from the same voter with the same "
|
"that contains two signatures from the same voter with the same "
|
||||||
"algorithm. Ignoring the second vote.");
|
"algorithm. Ignoring the second signature.");
|
||||||
tor_free(sig);
|
tor_free(sig);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -3362,7 +3361,7 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
|
||||||
if (ns->type != NS_TYPE_CONSENSUS) {
|
if (ns->type != NS_TYPE_CONSENSUS) {
|
||||||
if (check_signature_token(ns_digests.d[DIGEST_SHA1], DIGEST_LEN,
|
if (check_signature_token(ns_digests.d[DIGEST_SHA1], DIGEST_LEN,
|
||||||
tok, ns->cert->signing_key, 0,
|
tok, ns->cert->signing_key, 0,
|
||||||
"network-status vote")) {
|
"network-status document")) {
|
||||||
tor_free(sig);
|
tor_free(sig);
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
@ -3381,7 +3380,7 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
|
||||||
} SMARTLIST_FOREACH_END(_tok);
|
} SMARTLIST_FOREACH_END(_tok);
|
||||||
|
|
||||||
if (! n_signatures) {
|
if (! n_signatures) {
|
||||||
log_warn(LD_DIR, "No signatures on networkstatus vote.");
|
log_warn(LD_DIR, "No signatures on networkstatus document.");
|
||||||
goto err;
|
goto err;
|
||||||
} else if (ns->type == NS_TYPE_VOTE && n_signatures != 1) {
|
} else if (ns->type == NS_TYPE_VOTE && n_signatures != 1) {
|
||||||
log_warn(LD_DIR, "Received more than one signature on a "
|
log_warn(LD_DIR, "Received more than one signature on a "
|
||||||
|
|
Loading…
Add table
Reference in a new issue