From 374b531dba966780f2e59163ca80b1b5a0b8f14c Mon Sep 17 00:00:00 2001 From: Isis Lovecruft Date: Mon, 25 Aug 2014 23:13:03 +0000 Subject: [PATCH] Add `published` line to `@type bridge-network-status` documents. This modifies the format of the bridge networkstatus documents produced by the BridgeAuth. The new format adds a `published` line to the header of the file, before the `flag-thresholds` line. This is done once per networkstatus file that is written. The timestamp in the `published` line is the standard ISO 8601 format (with a space as the separator) used throughout the rest of tor. * FIXES #12951 https://bugs.torproject.org/12951 --- src/or/networkstatus.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c index 890da0ad17..7a14d17894 100644 --- a/src/or/networkstatus.c +++ b/src/or/networkstatus.c @@ -1672,17 +1672,22 @@ networkstatus_dump_bridge_status_to_file(time_t now) char *status = networkstatus_getinfo_by_purpose("bridge", now); const or_options_t *options = get_options(); char *fname = NULL; - char *thresholds = NULL, *thresholds_and_status = NULL; + char *thresholds = NULL; + char *published_thresholds_and_status = NULL; routerlist_t *rl = router_get_routerlist(); + char published[ISO_TIME_LEN+1]; + + format_iso_time(published, now); dirserv_compute_bridge_flag_thresholds(rl); thresholds = dirserv_get_flag_thresholds_line(); - tor_asprintf(&thresholds_and_status, "flag-thresholds %s\n%s", - thresholds, status); + tor_asprintf(&published_thresholds_and_status, + "published %s\nflag-thresholds %s\n%s", + published, thresholds, status); tor_asprintf(&fname, "%s"PATH_SEPARATOR"networkstatus-bridges", options->DataDirectory); - write_str_to_file(fname,thresholds_and_status,0); + write_str_to_file(fname,published_thresholds_and_status,0); tor_free(thresholds); - tor_free(thresholds_and_status); + tor_free(published_thresholds_and_status); tor_free(fname); tor_free(status); }