]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
r15558@tombo: nickm | 2007-12-18 22:55:23 -0500
authorNick Mathewson <nickm@torproject.org>
Wed, 19 Dec 2007 03:55:40 +0000 (03:55 +0000)
committerNick Mathewson <nickm@torproject.org>
Wed, 19 Dec 2007 03:55:40 +0000 (03:55 +0000)
 Re-parse annotations in another place.  Good catch, arma.

svn:r12868

doc/TODO
src/or/routerlist.c

index 9cb9231207eddf269c57feb08af2315d60b89809..db161d38409552b890f42bb808ba9ba0db3bc960 100644 (file)
--- a/doc/TODO
+++ b/doc/TODO
@@ -42,6 +42,8 @@ R   . spec
       - Track consecutive time up, not time since last-forgotten IP.
       o Add log lines.
     o Tests
+      - Run a tweaked version on peacetime.  Verify lack of kaboom.
+      - Write some basic unit tests.
     - Mention in dir-spec.txt
     - Mention in control-spec.txt
     d let Vidalia use the geoip data too rather than doing its own
index 156285a47fd72828eda0e09e306689b654771794..87cf78f61dd7b091d723af94c78036cf18745d23 100644 (file)
@@ -2506,18 +2506,19 @@ routerlist_replace(routerlist_t *rl, routerinfo_t *ri_old,
 #endif
 }
 
-/** DOCDOC -NM */
-/* XXX020 why are we dropping all router annotations here? -RD */
+/** Extract the descriptor <b>sd</b> from old_routerlist, and re-parse
+ * it as a fresh routerinfo_t. */
 static routerinfo_t *
 routerlist_reparse_old(routerlist_t *rl, signed_descriptor_t *sd)
 {
   routerinfo_t *ri;
   const char *body;
 
-  body = signed_descriptor_get_body(sd);
+  body = signed_descriptor_get_annotations(sd);
 
-  ri = router_parse_entry_from_string(body, body+sd->signed_descriptor_len,
-                                      0, 0, NULL);
+  ri = router_parse_entry_from_string(body,
+                         body+sd->signed_descriptor_len+sd->annotations_len,
+                         0, 1, NULL);
   if (!ri)
     return NULL;
   memcpy(&ri->cache_info, sd, sizeof(signed_descriptor_t));