Explorar el Código

Fix bug 932 even more.

Ignore connections two hours after switching from bridge to relay or back.
Karsten Loesing hace 17 años
padre
commit
5f03d6c547
Se han modificado 2 ficheros con 4 adiciones y 1 borrados
  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;