Bläddra i källkod

Fix bug 932 even more.

Ignore connections two hours after switching from bridge to relay or back.
Karsten Loesing 15 år sedan
förälder
incheckning
5f03d6c547
2 ändrade filer med 4 tillägg och 1 borttagningar
  1. 1 1
      src/or/config.c
  2. 3 0
      src/or/geoip.c

+ 1 - 1
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)) {

+ 3 - 0
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;