|
@@ -803,8 +803,12 @@ networkstatus_add_signatures_impl(networkstatus_vote_t *target,
|
|
|
networkstatus_check_voter_signature(target, src_voter, cert);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- if (src_voter->good_signature || !target_voter->signature) {
|
|
|
+
|
|
|
+ * pending the arrival of the cert information. But this means we need
|
|
|
+ * to replace them if a better one comes along, and that's not
|
|
|
+ * implemented yet. */
|
|
|
+
|
|
|
+ if (src_voter->good_signature) {
|
|
|
tor_free(target_voter->signature);
|
|
|
target_voter->signature =
|
|
|
tor_memdup(src_voter->signature, src_voter->signature_len);
|
|
@@ -1325,6 +1329,9 @@ dirvote_compute_consensus(void)
|
|
|
log_warn(LD_DIR, "Couldn't parse consensus we generated!");
|
|
|
goto err;
|
|
|
}
|
|
|
+
|
|
|
+ networkstatus_check_consensus_signature(consensus);
|
|
|
+
|
|
|
signatures = networkstatus_get_detached_signatures(consensus);
|
|
|
if (!signatures) {
|
|
|
log_warn(LD_DIR, "Couldn't extract signatures.");
|