summaryrefslogtreecommitdiff
path: root/src/or/main.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2011-06-22 12:27:27 -0400
committerNick Mathewson <nickm@torproject.org>2011-09-07 15:01:52 -0400
commit1f4b6944c06fce5befc3b8a21d252ba946632f63 (patch)
tree102518e3d0007bd12bae27ddfe626c80ebd754d5 /src/or/main.c
parent41eef6680e814f453cc8eedff415e941429aa627 (diff)
downloadtor-1f4b6944c06fce5befc3b8a21d252ba946632f63.tar.gz
tor-1f4b6944c06fce5befc3b8a21d252ba946632f63.zip
Upload descriptors more often when recent desc is unlisted
Right now we only force a new descriptor upload every 18 hours. This can make servers become unlisted if they upload a descriptor at time T which the authorities reject as being "too similar" to one they uploaded before. Nothing will actually make the server upload a new descriptor later on, until another 18 hours have passed. This patch changes the upload behavior so that the 18 hour interval applies only when we're listed in a live consensus with a descriptor published within the last 18 hours. Otherwise--if we're not listed in the live consensus, or if we're listed with a publication time over 18 hours in the past--we upload a new descriptor every 90 minutes. This is an attempted bugfix for #3327. If we merge it, it should obsolete #535.
Diffstat (limited to 'src/or/main.c')
-rw-r--r--src/or/main.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/src/or/main.c b/src/or/main.c
index 2cdbe71f10..af769c412b 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -1326,11 +1326,7 @@ run_scheduled_events(time_t now)
time_to_check_ipaddress = now + CHECK_IPADDRESS_INTERVAL;
check_descriptor_ipaddress_changed(now);
}
-/** If our router descriptor ever goes this long without being regenerated
- * because something changed, we force an immediate regenerate-and-upload. */
-#define FORCE_REGENERATE_DESCRIPTOR_INTERVAL (18*60*60)
- mark_my_descriptor_dirty_if_older_than(
- now - FORCE_REGENERATE_DESCRIPTOR_INTERVAL);
+ mark_my_descriptor_dirty_if_too_old(now);
consider_publishable_server(0);
/* also, check religiously for reachability, if it's within the first
* 20 minutes of our uptime. */