diff options
author | Karsten Loesing <karsten.loesing@gmx.net> | 2011-08-04 14:45:24 +0200 |
---|---|---|
committer | Karsten Loesing <karsten.loesing@gmx.net> | 2011-08-04 21:18:19 +0200 |
commit | d690a99dfe65ba164aa3de0662be2a8fedc69b01 (patch) | |
tree | 1d939eb911af602d265845b6466f5a018e6d4d0f /src/or | |
parent | 88083463cb895df0286210830e14c635c9e026a5 (diff) | |
download | tor-d690a99dfe65ba164aa3de0662be2a8fedc69b01.tar.gz tor-d690a99dfe65ba164aa3de0662be2a8fedc69b01.zip |
Clean up bridge-stats code.
Only write a bridge-stats string if bridge stats have been
initialized. This behavior is similar to dirreq-stats, entry-stats,
etc.
Also add a few unit tests for the bridge-stats code.
Diffstat (limited to 'src/or')
-rw-r--r-- | src/or/geoip.c | 8 | ||||
-rw-r--r-- | src/or/geoip.h | 1 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/or/geoip.c b/src/or/geoip.c index e525b2a095..67dea965f3 100644 --- a/src/or/geoip.c +++ b/src/or/geoip.c @@ -1197,8 +1197,8 @@ static char *bridge_stats_extrainfo = NULL; /** Return a newly allocated string holding our bridge usage stats by country * in a format suitable for inclusion in an extrainfo document. Return NULL on * failure. */ -static char * -format_bridge_stats_extrainfo(time_t now) +char * +geoip_format_bridge_stats(time_t now) { char *out = NULL, *data = NULL; long duration = now - start_of_bridge_stats_interval; @@ -1206,6 +1206,8 @@ format_bridge_stats_extrainfo(time_t now) if (duration < 0) return NULL; + if (!start_of_bridge_stats_interval) + return NULL; /* Not initialized. */ format_iso_time(written, now); data = geoip_get_client_history(GEOIP_CLIENT_CONNECT); @@ -1255,7 +1257,7 @@ geoip_bridge_stats_write(time_t now) geoip_remove_old_clients(start_of_bridge_stats_interval); /* Generate formatted string */ - val = format_bridge_stats_extrainfo(now); + val = geoip_format_bridge_stats(now); if (val == NULL) goto done; diff --git a/src/or/geoip.h b/src/or/geoip.h index 3372260357..ce3841967f 100644 --- a/src/or/geoip.h +++ b/src/or/geoip.h @@ -53,6 +53,7 @@ void geoip_entry_stats_term(void); void geoip_reset_entry_stats(time_t now); char *geoip_format_entry_stats(time_t now); void geoip_bridge_stats_init(time_t now); +char *geoip_format_bridge_stats(time_t now); time_t geoip_bridge_stats_write(time_t now); void geoip_bridge_stats_term(void); const char *geoip_get_bridge_stats_extrainfo(time_t); |