]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Merge remote-tracking branch 'public/bug24104_029_squashed' into maint-0.2.9
authorNick Mathewson <nickm@torproject.org>
Thu, 15 Nov 2018 21:43:50 +0000 (16:43 -0500)
committerNick Mathewson <nickm@torproject.org>
Thu, 15 Nov 2018 21:43:50 +0000 (16:43 -0500)
Resolved conflicts with the 26269 fix in 015fcd0e1191aa6f.

1  2 
src/or/router.c
src/test/test.c

diff --cc src/or/router.c
index 35b6bd203cb1d86d6d6f12c2e164c8aa1ad8bc12,f1a99364e6ec96a3331412bc34c79613cee7cb10..c416474226cdd59a34b8d354397c9f9c916373af
@@@ -2433,15 -2440,21 +2441,23 @@@ check_descriptor_bandwidth_changed(time
  {
    static time_t last_changed = 0;
    uint64_t prev, cur;
 -  if (!router_get_my_routerinfo())
 +  const routerinfo_t *my_ri = router_get_my_routerinfo();
++
+   int hibernating = we_are_hibernating();
+   /* 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 && !hibernating)
+     return;
 +  if (!my_ri) /* make sure routerinfo exists */
      return;
  
 -  prev = router_get_my_routerinfo()->bandwidthcapacity;
 +  prev = my_ri->bandwidthcapacity;
-   cur = we_are_hibernating() ? 0 : rep_hist_bandwidth_assess();
+   cur = hibernating ? 0 : rep_hist_bandwidth_assess();
    if ((prev != cur && (!prev || !cur)) ||
-       cur > prev*2 ||
-       cur < prev/2) {
+       cur > (prev * BANDWIDTH_CHANGE_FACTOR) ||
+       cur < (prev / BANDWIDTH_CHANGE_FACTOR) ) {
      if (last_changed+MAX_BANDWIDTH_CHANGE_FREQ < now || !prev) {
        log_info(LD_GENERAL,
                 "Measured bandwidth has changed; rebuilding descriptor.");
@@@ -3640,4 -3652,4 +3656,3 @@@ router_get_all_orports(const routerinfo
    fake_node.ri = (routerinfo_t *)ri;
    return node_get_all_orports(&fake_node);
  }
--
diff --cc src/test/test.c
Simple merge