From 32dad3b83bb21c4f1af4a8e45f539ab8cf8a6779 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 28 Jan 2015 11:28:21 -0500 Subject: [PATCH] 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 a25413a12f..9d6d5abe6a 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; } -- 2.47.3