clean up r18287

svn:r18288
This commit is contained in:
Roger Dingledine 2009-01-28 07:16:22 +00:00
parent edff606317
commit 9fdae765e3
3 changed files with 19 additions and 19 deletions

View file

@ -1,4 +1,4 @@
Changes in version 0.2.1.12-alpha - 2009-01-?? Changes in version 0.2.1.12-alpha - 2009-02-??
o Minor bugfixes: o Minor bugfixes:
- Let controllers actually ask for the "clients_seen" event. Bugfix - Let controllers actually ask for the "clients_seen" event. Bugfix
on 0.2.1.10-alpha; reported by Matt Edman. on 0.2.1.10-alpha; reported by Matt Edman.
@ -15,6 +15,8 @@ Changes in version 0.2.1.12-alpha - 2009-01-??
o Minor features: o Minor features:
- Support platforms where time_t is 64 bits long. (Congratulations, - Support platforms where time_t is 64 bits long. (Congratulations,
NetBSD!) Patch from Matthias Drochner. NetBSD!) Patch from Matthias Drochner.
- Add a 'getinfo status/clients-seen' controller command, in case
controllers want to hear clients_seen events but connect late.
Changes in version 0.2.1.11-alpha - 2009-01-20 Changes in version 0.2.1.11-alpha - 2009-01-20

View file

@ -1839,23 +1839,20 @@ getinfo_helper_events(control_connection_t *control_conn,
} }
} else if (!strcmp(question, "status/clients-seen")) { } else if (!strcmp(question, "status/clients-seen")) {
char geoip_start[ISO_TIME_LEN+1]; char geoip_start[ISO_TIME_LEN+1];
char *geoip_summary; size_t answer_len;
smartlist_t *sl; char *geoip_summary = extrainfo_get_client_geoip_summary(time(NULL));
geoip_summary = extrainfo_get_client_geoip_summary(time(NULL));
if (!geoip_summary) if (!geoip_summary)
return -1; return -1;
answer_len = strlen("TimeStarted=\"\" CountrySummary=") +
ISO_TIME_LEN + strlen(geoip_summary) + 1;
*answer = tor_malloc(answer_len);
format_iso_time(geoip_start, geoip_get_history_start()); format_iso_time(geoip_start, geoip_get_history_start());
tor_snprintf(*answer, answer_len,
sl = smartlist_create(); "TimeStarted=\"%s\" CountrySummary=%s",
smartlist_add(sl, (char *)"TimeStarted=\""); geoip_start, geoip_summary);
smartlist_add(sl, geoip_start);
smartlist_add(sl, (char *)"\" CountrySummary=");
smartlist_add(sl, geoip_summary);
*answer = smartlist_join_strings(sl, "", 0, 0);
tor_free(geoip_summary); tor_free(geoip_summary);
smartlist_free(sl);
} else { } else {
return 0; return 0;
} }

View file

@ -1906,11 +1906,12 @@ extrainfo_dump_to_string(char *s, size_t maxlen, extrainfo_t *extrainfo,
return (int)strlen(s)+1; return (int)strlen(s)+1;
} }
/** Return a newly allocated comma-separated string containing entries for all /** Wrapper function for geoip_get_client_history(). It first discards
* the countries from which we've seen enough clients connect over the * any items in the client history that are too old -- it dumps anything
* previous 48 hours. The entry format is cc=num where num is the number of * more than 48 hours old, but it only considers whether to dump at most
* IPs we've seen connecting from that country, and cc is a lowercased * once per 48 hours, so we aren't too precise to an observer (see also
* country code. Returns NULL if we don't want to export geoip data yet. */ * r14780).
*/
char * char *
extrainfo_get_client_geoip_summary(time_t now) extrainfo_get_client_geoip_summary(time_t now)
{ {