summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2008-11-11 16:36:03 +0000
committerNick Mathewson <nickm@torproject.org>2008-11-11 16:36:03 +0000
commitb659adadd78c5e42ec66f6426ee0bd7482bb917f (patch)
treec4bcb21df969d61ba2feba9ddad654260f89daac
parent628fd8814a63ee121603a9f97ba4a47735fa5222 (diff)
downloadtor-b659adadd78c5e42ec66f6426ee0bd7482bb917f.tar.gz
tor-b659adadd78c5e42ec66f6426ee0bd7482bb917f.zip
Backport: Fix from rovv: when adding a detached signature, do not automatically assume it is good just because we are adding it. We might also be adding it because it was the first signature we saw for a given voter.
svn:r17249
-rw-r--r--ChangeLog4
-rw-r--r--src/or/dirvote.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index fa95874807..41b4432afa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,8 @@
Changes in version 0.2.0.32 - 2008-??-??
+ o Major bugfixes:
+ - Fix a DOS opportunity during the voting signature collection process
+ at directory authorities. Spotted by rovv. Bugfix on 0.2.0.x.
+
o Minor bugfixes:
- Fix several infrequent memory leaks spotted by Coverity.
- When testing for libevent functions, set the LDFLAGS variable
diff --git a/src/or/dirvote.c b/src/or/dirvote.c
index a34b7f1803..d3c1ce7bbf 100644
--- a/src/or/dirvote.c
+++ b/src/or/dirvote.c
@@ -1089,8 +1089,8 @@ networkstatus_add_detached_signatures(networkstatus_t *target,
memcpy(target_voter->signing_key_digest, src_voter->signing_key_digest,
DIGEST_LEN);
target_voter->signature_len = src_voter->signature_len;
- target_voter->good_signature = 1;
- target_voter->bad_signature = 0;
+ target_voter->good_signature = src_voter->good_signature;
+ target_voter->bad_signature = src_voter->bad_signature;
} else {
log_info(LD_DIR, "Not adding signature from %s", voter_identity);
}