[tor-commits] [tor/master] Add `published` line to `@type bridge-network-status` documents.

nickm at torproject.org nickm at torproject.org
Mon Oct 13 17:22:26 UTC 2014


commit 374b531dba966780f2e59163ca80b1b5a0b8f14c
Author: Isis Lovecruft <isis at torproject.org>
Date:   Mon Aug 25 23:13:03 2014 +0000

    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 890da0a..7a14d17 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);
 }





More information about the tor-commits mailing list