[or-cvs] fix bug: we were caching the newest descriptor for each ser...

arma at seul.org arma at seul.org
Sun Feb 5 02:07:30 UTC 2006


Update of /home2/or/cvsroot/tor/src/or
In directory moria:/home/arma/work/onion/cvs/tor/src/or

Modified Files:
	routerlist.c 
Log Message:
fix bug: we were caching the newest descriptor for each server,
well, forever. i imagine this just keeps growing in size.


Index: routerlist.c
===================================================================
RCS file: /home2/or/cvsroot/tor/src/or/routerlist.c,v
retrieving revision 1.434
retrieving revision 1.435
diff -u -p -d -r1.434 -r1.435
--- routerlist.c	3 Feb 2006 15:17:48 -0000	1.434
+++ routerlist.c	5 Feb 2006 02:07:28 -0000	1.435
@@ -1708,7 +1708,8 @@ routerlist_remove_old_routers(void)
 {
   int i, hi=-1;
   const char *cur_id = NULL;
-  time_t now, cutoff;
+  time_t now = time(NULL);
+  time_t cutoff;
   routerinfo_t *router;
   signed_descriptor_t *sd;
   digestmap_t *retain;
@@ -1717,15 +1718,16 @@ routerlist_remove_old_routers(void)
     return;
 
   retain = digestmap_new();
+  cutoff = now - OLD_ROUTER_DESC_MAX_AGE;
   if (server_mode(options) && options->DirPort) {
     SMARTLIST_FOREACH(networkstatus_list, networkstatus_t *, ns,
       {
         SMARTLIST_FOREACH(ns->entries, routerstatus_t *, rs,
-          digestmap_set(retain, rs->descriptor_digest, (void*)1));
+          if (rs->published_on >= cutoff)
+            digestmap_set(retain, rs->descriptor_digest, (void*)1));
       });
   }
 
-  now = time(NULL);
   cutoff = now - ROUTER_MAX_AGE;
   /* Remove too-old members of routerlist->routers. */
   for (i = 0; i < smartlist_len(routerlist->routers); ++i) {



More information about the tor-commits mailing list