static int dirvote_add_signatures_to_all_pending_consensuses(
const char *detached_signatures_body,
+ const char *source,
const char **msg_out);
static int dirvote_add_signatures_to_pending_consensus(
pending_consensus_t *pc,
ns_detached_signatures_t *sigs,
+ const char *source,
+ int severity,
const char **msg_out);
static char *list_v3_auth_ids(void);
static void dirvote_fetch_missing_votes(void);
int
networkstatus_add_detached_signatures(networkstatus_t *target,
ns_detached_signatures_t *sigs,
+ const char *source,
+ int severity,
const char **msg_out)
{
int r = 0;
if (sig->good_signature || !old_sig || old_sig->bad_signature) {
log_info(LD_DIR, "Adding signature from %s with %s", voter_identity,
algorithm);
+ log(severity, LD_DIR, "Added a signature for %s from %s.",
+ voter_identity, source);
++r;
if (old_sig) {
smartlist_remove(target_voter->sigs, old_sig);
SMARTLIST_FOREACH(pending_consensus_signature_list, char *, sig,
{
const char *msg = NULL;
- int r = dirvote_add_signatures_to_all_pending_consensuses(sig, &msg);
+ int r = dirvote_add_signatures_to_all_pending_consensuses(sig,
+ "pending", &msg);
if (r >= 0)
n_sigs += r;
else
dirvote_add_signatures_to_pending_consensus(
pending_consensus_t *pc,
ns_detached_signatures_t *sigs,
+ const char *source,
+ int severity,
const char **msg_out)
{
const char *flavor_name;
log_info(LD_DIR, "Have %d signatures for adding to %s consensus.",
sig_list ? smartlist_len(sig_list) : 0, flavor_name);
}
- r = networkstatus_add_detached_signatures(pc->consensus, sigs, msg_out);
+ r = networkstatus_add_detached_signatures(pc->consensus, sigs,
+ source, severity, msg_out);
log_info(LD_DIR,"Added %d signatures to consensus.", r);
if (r >= 1) {
static int
dirvote_add_signatures_to_all_pending_consensuses(
const char *detached_signatures_body,
+ const char *source,
const char **msg_out)
{
int r=0, i, n_added = 0, errors = 0;
for (i = 0; i < N_CONSENSUS_FLAVORS; ++i) {
int res;
+ int severity = i == FLAV_NS ? LOG_NOTICE : LOG_INFO;
pending_consensus_t *pc = &pending_consensuses[i];
if (!pc->consensus)
continue;
- res = dirvote_add_signatures_to_pending_consensus(pc, sigs, msg_out);
+ res = dirvote_add_signatures_to_pending_consensus(pc, sigs, source,
+ severity, msg_out);
if (res < 0)
errors++;
else
log_notice(LD_DIR, "Got a signature from %s. "
"Adding it to the pending consensus.", source);
return dirvote_add_signatures_to_all_pending_consensuses(
- detached_signatures_body, msg);
+ detached_signatures_body, source, msg);
} else {
log_notice(LD_DIR, "Got a signature from %s. "
"Queuing it for the next consensus.", source);
/* Try adding it to con2. */
detached_text2 = get_detached_sigs(con2,con_md2);
- test_eq(1, networkstatus_add_detached_signatures(con2, dsig1, &msg));
+ test_eq(1, networkstatus_add_detached_signatures(con2, dsig1, "test",
+ LOG_INFO, &msg));
tor_free(detached_text2);
- test_eq(1, networkstatus_add_detached_signatures(con_md2, dsig1, &msg));
+ test_eq(1, networkstatus_add_detached_signatures(con_md2, dsig1, "test",
+ LOG_INFO, &msg));
tor_free(detached_text2);
detached_text2 = get_detached_sigs(con2,con_md2);
//printf("\n<%s>\n", detached_text2);
"microdesc")));
/* Try adding to con2 twice; verify that nothing changes. */
- test_eq(0, networkstatus_add_detached_signatures(con2, dsig1, &msg));
+ test_eq(0, networkstatus_add_detached_signatures(con2, dsig1, "test",
+ LOG_INFO, &msg));
/* Add to con. */
- test_eq(2, networkstatus_add_detached_signatures(con, dsig2, &msg));
+ test_eq(2, networkstatus_add_detached_signatures(con, dsig2, "test",
+ LOG_INFO, &msg));
/* Check signatures */
voter = smartlist_get(con->voters, 1);
sig = smartlist_get(voter->sigs, 0);