diff --git a/changes/bridge-geoip-delay b/changes/bridge-geoip-delay new file mode 100644 index 0000000000..1f8e751bc0 --- /dev/null +++ b/changes/bridge-geoip-delay @@ -0,0 +1,6 @@ + o Minor bugfixes: + - Delay geoip stats collection by bridges for 6 hours, not 2 hours, + when we switch from being a public relay to a bridge. Otherwise + there will still be clients that see the relay in their consensus, + and the stats will end up wrong. Bugfix on 0.2.1.15-rc; fixes bug + 932 even more. diff --git a/src/or/config.c b/src/or/config.c index d020c889c8..9d98d15450 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -1255,8 +1255,9 @@ options_act(or_options_t *old_options) /* How long should we delay counting bridge stats after becoming a bridge? * We use this so we don't count people who used our bridge thinking it is * a relay. If you change this, don't forget to change the log message - * below. */ -#define RELAY_BRIDGE_STATS_DELAY (2 * 60 * 60) + * below. It's 4 hours (the time it takes to stop being used by clients) + * plus some extra time for clock skew. */ +#define RELAY_BRIDGE_STATS_DELAY (6 * 60 * 60) if (! bool_eq(options->BridgeRelay, old_options->BridgeRelay)) { int was_relay = 0; @@ -1268,7 +1269,7 @@ options_act(or_options_t *old_options) } geoip_bridge_stats_init(int_start); log_info(LD_CONFIG, "We are acting as a bridge now. Starting new " - "GeoIP stats interval%s.", was_relay ? " in 2 " + "GeoIP stats interval%s.", was_relay ? " in 6 " "hours from now" : ""); } else { geoip_bridge_stats_term();