aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2007-10-16 15:34:14 +0000
committerNick Mathewson <nickm@torproject.org>2007-10-16 15:34:14 +0000
commit0d26b623eec51e82c8c0475a51493fd5b5f044de (patch)
tree15416783a620ec749a51b579d8a981917d952446 /src
parentc5fb1c19eb9f1a4de223bf96e69f9351d38c6e00 (diff)
downloadtor-0d26b623eec51e82c8c0475a51493fd5b5f044de.tar
tor-0d26b623eec51e82c8c0475a51493fd5b5f044de.tar.gz
r15853@catbus: nickm | 2007-10-16 11:32:55 -0400
Fix "Error adding vote: OK" message. svn:r11986
Diffstat (limited to 'src')
-rw-r--r--src/or/directory.c5
-rw-r--r--src/or/dirvote.c12
2 files changed, 11 insertions, 6 deletions
diff --git a/src/or/directory.c b/src/or/directory.c
index ed49a9278..d0f1abcc6 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -1463,10 +1463,11 @@ connection_dir_client_reached_eof(dir_connection_t *conn)
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) {
diff --git a/src/or/dirvote.c b/src/or/dirvote.c
index 29efcb508..721e8bee1 100644
--- a/src/or/dirvote.c
+++ b/src/or/dirvote.c
@@ -1406,8 +1406,6 @@ dirvote_add_vote(const char *vote_body, const char **msg_out, int *status_out)
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 "
@@ -1468,8 +1466,14 @@ dirvote_add_vote(const char *vote_body, const char **msg_out, int *status_out)
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;
}