mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-24 06:48:05 +01:00
Functionify the descriptor age check so that we can NOP it in tests.
This commit is contained in:
parent
727ed5448a
commit
4245662b28
2 changed files with 11 additions and 2 deletions
|
@ -3292,6 +3292,14 @@ routerlist_reset_warnings(void)
|
|||
networkstatus_reset_warnings();
|
||||
}
|
||||
|
||||
/** Return 1 if the signed descriptor of this router is too old to be used.
|
||||
* Otherwise return 0. */
|
||||
MOCK_IMPL(int,
|
||||
router_descriptor_is_too_old,(const routerinfo_t *router))
|
||||
{
|
||||
return router->cache_info.published_on < time(NULL)-OLD_ROUTER_DESC_MAX_AGE;
|
||||
}
|
||||
|
||||
/** Add <b>router</b> to the routerlist, if we don't already have it. Replace
|
||||
* older entries (if any) with the same key. Note: Callers should not hold
|
||||
* their pointers to <b>router</b> if this function fails; <b>router</b>
|
||||
|
@ -3460,8 +3468,7 @@ router_add_to_routerlist(routerinfo_t *router, const char **msg,
|
|||
}
|
||||
}
|
||||
|
||||
if (!in_consensus && from_cache &&
|
||||
router->cache_info.published_on < time(NULL) - OLD_ROUTER_DESC_MAX_AGE) {
|
||||
if (!in_consensus && from_cache && router_descriptor_is_too_old(router)) {
|
||||
*msg = "Router descriptor was really old.";
|
||||
routerinfo_free(router);
|
||||
return ROUTER_WAS_NOT_NEW;
|
||||
|
|
|
@ -212,6 +212,8 @@ STATIC int choose_array_element_by_weight(const u64_dbl_t *entries,
|
|||
int n_entries);
|
||||
STATIC void scale_array_elements_to_u64(u64_dbl_t *entries, int n_entries,
|
||||
uint64_t *total_out);
|
||||
|
||||
MOCK_DECL(int, router_descriptor_is_too_old, (const routerinfo_t *router));
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Reference in a new issue