[tor-commits] [tor/master] Add GETINFO consensus/{valid-{after, until}, fresh-until}
nickm at torproject.org
nickm at torproject.org
Fri Jan 30 12:37:04 UTC 2015
commit 32dad3b83bb21c4f1af4a8e45f539ab8cf8a6779
Author: Nick Mathewson <nickm at torproject.org>
Date: Wed Jan 28 11:28:21 2015 -0500
Add GETINFO consensus/{valid-{after,until},fresh-until}
---
src/or/networkstatus.c | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c
index a25413a..9d6d5ab 100644
--- a/src/or/networkstatus.c
+++ b/src/or/networkstatus.c
@@ -1915,9 +1915,27 @@ getinfo_helper_networkstatus(control_connection_t *conn,
return *answer ? 0 : -1;
} else if (!strcmp(question, "consensus/packages")) {
const networkstatus_t *ns = networkstatus_get_latest_consensus();
- if (ns->package_lines)
+ if (ns && ns->package_lines)
*answer = smartlist_join_strings(ns->package_lines, "\n", 1, NULL);
return *answer ? 0 : -1;
+ } else if (!strcmp(question, "consensus/valid-after") ||
+ !strcmp(question, "consensus/fresh-until") ||
+ !strcmp(question, "consensus/valid-until")) {
+ const networkstatus_t *ns = networkstatus_get_latest_consensus();
+ if (ns) {
+ time_t t;
+ if (!strcmp(question, "consensus/valid-after"))
+ t = ns->valid_after;
+ else if (!strcmp(question, "consensus/fresh-until"))
+ t = ns->fresh_until;
+ else
+ t = ns->valid_until;
+
+ char tbuf[ISO_TIME_LEN+1];
+ format_iso_time(tbuf, t);
+ *answer = tor_strdup(tbuf);
+ }
+ return *answer ? 0 : -1;
} else {
return 0;
}
More information about the tor-commits
mailing list