[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[or-cvs] [tor/master] Fix bug 932 even more.



Author: Karsten Loesing <karsten.loesing@xxxxxxx>
Date: Tue, 26 May 2009 21:41:42 +0200
Subject: Fix bug 932 even more.
Commit: 5f03d6c547629af73dea2cfdaf888bc3a7caab5d

Ignore connections two hours after switching from bridge to relay or back.
---
 src/or/config.c |    2 +-
 src/or/geoip.c  |    3 +++
 2 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/src/or/config.c b/src/or/config.c
index 25364b6..6030849 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -1331,7 +1331,7 @@ options_act(or_options_t *old_options)
 
     if (! bool_eq(options->BridgeRelay, old_options->BridgeRelay)) {
       log_info(LD_GENERAL, "Bridge status changed.  Forgetting GeoIP stats.");
-      geoip_remove_old_clients(time(NULL)+3600);
+      geoip_remove_old_clients(time(NULL)+(2*60*60));
     }
 
     if (options_transition_affects_workers(old_options, options)) {
diff --git a/src/or/geoip.c b/src/or/geoip.c
index eb0d7e4..e1477d4 100644
--- a/src/or/geoip.c
+++ b/src/or/geoip.c
@@ -308,6 +308,9 @@ geoip_note_client_seen(geoip_client_action_t action,
   if (action == GEOIP_CLIENT_CONNECT) {
     if (!(options->BridgeRelay && options->BridgeRecordUsageByCountry))
       return;
+    /* Did we recently switch from bridge to relay or back? */
+    if (client_history_starts > now)
+      return;
   } else {
 #ifndef ENABLE_GEOIP_STATS
     return;
-- 
1.5.6.5