[tor/release-0.2.9] Check bandwidth changes only if small uptime

commit 7d70f67deaeea1a3dc80a763f13bcec5d7a2425d Author: juga0 <juga@riseup.net> Date: Sun Jun 3 09:31:19 2018 +0000 Check bandwidth changes only if small uptime to upload a new descriptor. --- src/or/router.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/or/router.c b/src/or/router.c index 31f2ff00d..ab916fb6e 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -2425,13 +2425,24 @@ mark_my_descriptor_dirty(const char *reason) * if our previous bandwidth estimate was exactly 0. */ #define MAX_BANDWIDTH_CHANGE_FREQ (3*60*60) +/** Maximum uptime to republish our descriptor because of large shifts in + * estimated bandwidth. */ +#define MAX_UPTIME_BANDWIDTH_CHANGE (24*60*60) + /** Check whether bandwidth has changed a lot since the last time we announced - * bandwidth. If so, mark our descriptor dirty. */ + * bandwidth while the uptime is smaller than MAX_UPTIME_BANDWIDTH_CHANGE. + * If so, mark our descriptor dirty. */ void check_descriptor_bandwidth_changed(time_t now) { static time_t last_changed = 0; uint64_t prev, cur; + + /* If the relay uptime is bigger than MAX_UPTIME_BANDWIDTH_CHANGE, + * the next regularly scheduled descriptor update (18h) will be enough */ + if (get_uptime() > MAX_UPTIME_BANDWIDTH_CHANGE) + return; + if (!router_get_my_routerinfo()) return;
participants (1)
-
nickm@torproject.org