Opened 13 years ago

Last modified 8 years ago

#653 closed defect (Fixed)

geoip_remove_old_clients() never gets called?

Reported by: arma Owned by:
Priority: Low Milestone: post 0.2.0.x
Component: Core Tor/Tor Version:
Severity: Keywords:
Cc: arma, nickm Actual Points:
Parent ID: Points:
Reviewer: Sponsor:


We never call geoip_remove_old_clients(). This means bridge relays
just grow a larger and larger pile of client geoip entries.

I would fix suggest to fix it in the same way we clean up other

--- main.c (revision 14322)
+++ main.c (working copy)
@@ -988,6 +988,7 @@

/* Remove old information from rephist and the rend cache. */
if (time_to_clean_caches < now) {

rep_history_clean(now - options->RephistTrackTime);

+ geoip_remove_old_clients(now - options->RephistTrackTime);



--- geoip.c (revision 14322)
+++ geoip.c (working copy)
@@ -326,6 +326,7 @@

char *result = NULL;
if (!geoip_is_loaded())

return NULL;

+ geoip_remove_old_clients(now - get_options()->RephistTrackTime);

if (client_history_starts < (now - 12*60*60)) {

char buf[32];
smartlist_t *chunks = NULL;

But there's a problem. If we publish a descriptor very often, then the
difference between "the past 24 hours at point x" and "the past 24 hours
at point x+\delta" will give away what happened a day ago, to whatever
granularity we happen to have between the two descriptor updates.

[Automatically added by flyspray2trac: Operating System: All]

Child Tickets

Change History (4)

comment:1 Changed 13 years ago by nickm

How about we call geoip_remove_old_clients, say, every 24 hours and no more? We could do the check immediately
before we publish.

comment:2 Changed 12 years ago by arma

Looks like we call it now in 0.2.1.x. Closing.

comment:3 Changed 12 years ago by arma

flyspray2trac: bug closed.

comment:4 Changed 8 years ago by nickm

Component: Tor RelayTor
Note: See TracTickets for help on using tickets.