[tor-commits] [tor/master] When there are no package lines, make consensus/packages say "".
nickm at torproject.org
nickm at torproject.org
Fri Jan 30 12:37:04 UTC 2015
commit b4a8fd895802801198229574c55b3df975aa2244
Author: Nick Mathewson <nickm at torproject.org>
Date: Thu Jan 29 14:14:59 2015 -0500
When there are no package lines, make consensus/packages say "".
Also, give a better error message when there is no consensus.
---
src/or/networkstatus.c | 6 +++++-
src/or/routerparse.c | 2 +-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c
index 9d6d5ab..da110fd 100644
--- a/src/or/networkstatus.c
+++ b/src/or/networkstatus.c
@@ -1916,7 +1916,9 @@ getinfo_helper_networkstatus(control_connection_t *conn,
} else if (!strcmp(question, "consensus/packages")) {
const networkstatus_t *ns = networkstatus_get_latest_consensus();
if (ns && ns->package_lines)
- *answer = smartlist_join_strings(ns->package_lines, "\n", 1, NULL);
+ *answer = smartlist_join_strings(ns->package_lines, "\n", 0, NULL);
+ else
+ *errmsg = "No consensus available";
return *answer ? 0 : -1;
} else if (!strcmp(question, "consensus/valid-after") ||
!strcmp(question, "consensus/fresh-until") ||
@@ -1934,6 +1936,8 @@ getinfo_helper_networkstatus(control_connection_t *conn,
char tbuf[ISO_TIME_LEN+1];
format_iso_time(tbuf, t);
*answer = tor_strdup(tbuf);
+ } else {
+ *errmsg = "No consensus available";
}
return *answer ? 0 : -1;
} else {
diff --git a/src/or/routerparse.c b/src/or/routerparse.c
index 6f3acd0..f7687e0 100644
--- a/src/or/routerparse.c
+++ b/src/or/routerparse.c
@@ -2630,8 +2630,8 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
{
smartlist_t *package_lst = find_all_by_keyword(tokens, K_PACKAGE);
+ ns->package_lines = smartlist_new();
if (package_lst) {
- ns->package_lines = smartlist_new();
SMARTLIST_FOREACH(package_lst, directory_token_t *, t,
smartlist_add(ns->package_lines, tor_strdup(t->args[0])));
}
More information about the tor-commits
mailing list