summaryrefslogtreecommitdiff
path: root/src/or/geoip.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/or/geoip.c')
-rw-r--r--src/or/geoip.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/or/geoip.c b/src/or/geoip.c
index eeeb453f2f..c9fb91cdfb 100644
--- a/src/or/geoip.c
+++ b/src/or/geoip.c
@@ -81,9 +81,14 @@ geoip_load_file(const char *filename)
geoip_entries = smartlist_create();
country_idxplus1_by_lc_code = strmap_new();
while (!feof(f)) {
+ char buf[512];
unsigned int low, high;
char b[3];
- if (fscanf(f, "%u,%u,%2s", &low, &high, b) == 3) {
+ if (fgets(buf, sizeof(buf), f) == NULL)
+ break;
+ if (sscanf(buf,"%u,%u,%2s", &low, &high, b) == 3) {
+ geoip_add_entry(low, high, b);
+ } else if (sscanf(buf,"\"%u\",\"%u\",\"%2s\",", &low, &high, b) == 3) {
geoip_add_entry(low, high, b);
}
}
@@ -200,6 +205,12 @@ geoip_remove_old_clients(time_t cutoff)
#define MIN_IPS_TO_NOTE_ANYTHING 16
#define IP_GRANULARITY 8
+time_t
+geoip_get_history_start(void)
+{
+ return client_history_starts;
+}
+
char *
geoip_get_client_history(time_t now)
{