mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 21:23:58 +01:00
Fix check_expired_networkstatus_callback() if condition
The condition was always true meaning that we would reconsider updating our directory information every 2 minutes. If valid_until is 6am today, then now - 24h == 1pm yesterday which means that "valid_until < (now - 24h)" is false. But at 6:01am tomorrow, "valid_until < (now - 24h)" becomes true which is that point that we shouldn't trust the consensus anymore. Fixes #23091 Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
parent
c4c5077af2
commit
5b03c7ba6d
6
changes/bug23091
Normal file
6
changes/bug23091
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
o Minor bugfixes (consensus expiry):
|
||||||
|
- Tor would reconsider updating its directory information every 2 minutes
|
||||||
|
instead of only doing it for a consensus that is more than 24 hours old
|
||||||
|
(badly expired). This specific check is done in the tor main loop
|
||||||
|
callback that validates if we have an expired consensus. Fixes bug
|
||||||
|
23091; bugfix on tor-0.2.0.19-alpha.
|
@ -1713,7 +1713,7 @@ check_expired_networkstatus_callback(time_t now, const or_options_t *options)
|
|||||||
* networkstatus_get_reasonably_live_consensus(), but that value is way
|
* networkstatus_get_reasonably_live_consensus(), but that value is way
|
||||||
* way too high. Arma: is the bridge issue there resolved yet? -NM */
|
* way too high. Arma: is the bridge issue there resolved yet? -NM */
|
||||||
#define NS_EXPIRY_SLOP (24*60*60)
|
#define NS_EXPIRY_SLOP (24*60*60)
|
||||||
if (ns && ns->valid_until < now+NS_EXPIRY_SLOP &&
|
if (ns && ns->valid_until < (now - NS_EXPIRY_SLOP) &&
|
||||||
router_have_minimum_dir_info()) {
|
router_have_minimum_dir_info()) {
|
||||||
router_dir_info_changed();
|
router_dir_info_changed();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user