Fix "Error adding vote: OK" message.
svn:r11986
around indefinitely.
- Correctly check for bad options to the "PublishServerDescriptor"
config option. Bugfix on 0.2.0.1-alpha; reported by Matt Edman.
+ - When we discard a vote as a duplicate, do not report this as an error.
o Minor bugfixes (memory leaks):
- Stop leaking memory on failing case of base32_decode. Bugfix on
tor_free(body); tor_free(headers); tor_free(reason);
return -1;
}
- if (!dirvote_add_vote(body, &msg, &st)) {
+ dirvote_add_vote(body, &msg, &st);
+ if (st > 299) {
log_warn(LD_DIR, "Error adding retrieved vote: %s", msg);
} else {
- log_info(LD_DIR, "Added vote(s) successfully.");
+ log_info(LD_DIR, "Added vote(s) successfully [msg: %s]", msg);
}
}
if (conn->_base.purpose == DIR_PURPOSE_FETCH_DETACHED_SIGNATURES) {
log_info(LD_DIR, "Discarding a vote we already have.");
if (*status_out < 200)
*status_out = 200;
- if (!*msg_out)
- *msg_out = "OK";
goto discard;
} else if (v->vote->published < vote->published) {
log_notice(LD_DIR, "Replacing an older pending vote from this "
if (*status_out < 200)
*status_out = 200;
- if (!*msg_out)
- *msg_out = "ok";
+ if (!*msg_out) {
+ if (!any_failed && !pending_vote) {
+ *msg_out = "Duplicate discarded";
+ } else {
+ *msg_out = "ok";
+ }
+ }
+
return any_failed ? NULL : pending_vote;
}