mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-27 22:03:31 +01:00
the second piece of bug 969 fixing
whenever we remove a relay from the main routerlist, tell the rephist module that it's no longer running.
This commit is contained in:
parent
0cd16c4ad3
commit
bdca5476da
@ -797,7 +797,7 @@ directory_remove_invalid(void)
|
||||
if (r & FP_REJECT) {
|
||||
log_info(LD_DIRSERV, "Router '%s' is now rejected: %s",
|
||||
ent->nickname, msg?msg:"");
|
||||
routerlist_remove(rl, ent, 0);
|
||||
routerlist_remove(rl, ent, 0, time(NULL));
|
||||
i--;
|
||||
changed = 1;
|
||||
continue;
|
||||
|
@ -4411,7 +4411,8 @@ void routerinfo_free(routerinfo_t *router);
|
||||
void extrainfo_free(extrainfo_t *extrainfo);
|
||||
void routerlist_free(routerlist_t *rl);
|
||||
void dump_routerlist_mem_usage(int severity);
|
||||
void routerlist_remove(routerlist_t *rl, routerinfo_t *ri, int make_old);
|
||||
void routerlist_remove(routerlist_t *rl, routerinfo_t *ri, int make_old,
|
||||
time_t now);
|
||||
void routerlist_free_all(void);
|
||||
void routerlist_reset_warnings(void);
|
||||
void router_set_status(const char *digest, int up);
|
||||
|
@ -2629,7 +2629,7 @@ routerlist_insert_old(routerlist_t *rl, routerinfo_t *ri)
|
||||
* If <b>make_old</b> is true, instead of deleting the router, we try adding
|
||||
* it to rl->old_routers. */
|
||||
void
|
||||
routerlist_remove(routerlist_t *rl, routerinfo_t *ri, int make_old)
|
||||
routerlist_remove(routerlist_t *rl, routerinfo_t *ri, int make_old, time_t now)
|
||||
{
|
||||
routerinfo_t *ri_tmp;
|
||||
extrainfo_t *ei_tmp;
|
||||
@ -2637,6 +2637,9 @@ routerlist_remove(routerlist_t *rl, routerinfo_t *ri, int make_old)
|
||||
tor_assert(0 <= idx && idx < smartlist_len(rl->routers));
|
||||
tor_assert(smartlist_get(rl->routers, idx) == ri);
|
||||
|
||||
/* make sure the rephist module knows that it's not running */
|
||||
rep_hist_note_router_unreachable(ri->cache_info.identity_digest, now);
|
||||
|
||||
ri->cache_info.routerlist_index = -1;
|
||||
smartlist_del(rl->routers, idx);
|
||||
if (idx < smartlist_len(rl->routers)) {
|
||||
@ -3328,7 +3331,7 @@ routerlist_remove_old_routers(void)
|
||||
log_info(LD_DIR,
|
||||
"Forgetting obsolete (too old) routerinfo for router '%s'",
|
||||
router->nickname);
|
||||
routerlist_remove(routerlist, router, 1);
|
||||
routerlist_remove(routerlist, router, 1, now);
|
||||
i--;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user