mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 21:23:58 +01:00
When there are no package lines, make consensus/packages say "".
Also, give a better error message when there is no consensus.
This commit is contained in:
parent
bd630a899a
commit
b4a8fd8958
@ -1916,7 +1916,9 @@ getinfo_helper_networkstatus(control_connection_t *conn,
|
|||||||
} else if (!strcmp(question, "consensus/packages")) {
|
} else if (!strcmp(question, "consensus/packages")) {
|
||||||
const networkstatus_t *ns = networkstatus_get_latest_consensus();
|
const networkstatus_t *ns = networkstatus_get_latest_consensus();
|
||||||
if (ns && ns->package_lines)
|
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;
|
return *answer ? 0 : -1;
|
||||||
} else if (!strcmp(question, "consensus/valid-after") ||
|
} else if (!strcmp(question, "consensus/valid-after") ||
|
||||||
!strcmp(question, "consensus/fresh-until") ||
|
!strcmp(question, "consensus/fresh-until") ||
|
||||||
@ -1934,6 +1936,8 @@ getinfo_helper_networkstatus(control_connection_t *conn,
|
|||||||
char tbuf[ISO_TIME_LEN+1];
|
char tbuf[ISO_TIME_LEN+1];
|
||||||
format_iso_time(tbuf, t);
|
format_iso_time(tbuf, t);
|
||||||
*answer = tor_strdup(tbuf);
|
*answer = tor_strdup(tbuf);
|
||||||
|
} else {
|
||||||
|
*errmsg = "No consensus available";
|
||||||
}
|
}
|
||||||
return *answer ? 0 : -1;
|
return *answer ? 0 : -1;
|
||||||
} else {
|
} else {
|
||||||
|
@ -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);
|
smartlist_t *package_lst = find_all_by_keyword(tokens, K_PACKAGE);
|
||||||
|
ns->package_lines = smartlist_new();
|
||||||
if (package_lst) {
|
if (package_lst) {
|
||||||
ns->package_lines = smartlist_new();
|
|
||||||
SMARTLIST_FOREACH(package_lst, directory_token_t *, t,
|
SMARTLIST_FOREACH(package_lst, directory_token_t *, t,
|
||||||
smartlist_add(ns->package_lines, tor_strdup(t->args[0])));
|
smartlist_add(ns->package_lines, tor_strdup(t->args[0])));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user