]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Make insert_old try hard to never add a duplicate.
authorNick Mathewson <nickm@torproject.org>
Tue, 27 Dec 2005 05:58:12 +0000 (05:58 +0000)
committerNick Mathewson <nickm@torproject.org>
Tue, 27 Dec 2005 05:58:12 +0000 (05:58 +0000)
svn:r5661

src/or/routerlist.c

index d3bb3c4c0cd01c470af811e69a46d882b0966a8e..7fc1808b4d4392d231f2ef37ebd74a2f359ed6dc 100644 (file)
@@ -1226,7 +1226,9 @@ routerlist_insert(routerlist_t *rl, routerinfo_t *ri)
 static void
 routerlist_insert_old(routerlist_t *rl, routerinfo_t *ri)
 {
-  if (get_options()->DirPort) {
+  if (get_options()->DirPort &&
+      !digestmap_get(rl->desc_digest_map,
+                     ri->cache_info.signed_descriptor_digest)) {
     signed_descriptor_t *sd = signed_descriptor_from_routerinfo(ri);
     digestmap_set(rl->desc_digest_map, sd->signed_descriptor_digest, sd);
     smartlist_add(rl->old_routers, sd);