summaryrefslogtreecommitdiff
path: root/src/or/routerparse.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2014-04-14 18:00:38 -0400
committerNick Mathewson <nickm@torproject.org>2014-04-14 18:00:38 -0400
commit149931571a4c5ad9ec24eb6d4306e8965a454211 (patch)
treecf2b4d83a7a5028526e19cf3f3641d813d9c06ba /src/or/routerparse.c
parent47f7085de7a496b6bfa79de9e1b22ca4a28b0f27 (diff)
parent75b4975d7722d9497847fdab8dcfb2ac10f58fdb (diff)
downloadtor-149931571a4c5ad9ec24eb6d4306e8965a454211.tar.gz
tor-149931571a4c5ad9ec24eb6d4306e8965a454211.zip
Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
Conflicts: src/or/routerlist.h
Diffstat (limited to 'src/or/routerparse.c')
-rw-r--r--src/or/routerparse.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/or/routerparse.c b/src/or/routerparse.c
index 3aa4bdf8a5..a9c711be05 100644
--- a/src/or/routerparse.c
+++ b/src/or/routerparse.c
@@ -2932,6 +2932,14 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
log_warn(LD_DIR,"Mismatch between identities in certificate and vote");
goto err;
}
+ if (ns->type != NS_TYPE_CONSENSUS) {
+ if (authority_cert_is_blacklisted(ns->cert)) {
+ log_warn(LD_DIR, "Rejecting vote signature made with blacklisted "
+ "signing key %s",
+ hex_str(ns->cert->signing_key_digest, DIGEST_LEN));
+ goto err;
+ }
+ }
voter->address = tor_strdup(tok->args[2]);
if (!tor_inet_aton(tok->args[3], &in)) {
log_warn(LD_DIR, "Error decoding IP address %s in network-status.",