[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r12868: Re-parse annotations in another place. Good catch, arma. (in tor/trunk: . doc src/or)
Author: nickm
Date: 2007-12-18 22:55:40 -0500 (Tue, 18 Dec 2007)
New Revision: 12868
Modified:
tor/trunk/
tor/trunk/doc/TODO
tor/trunk/src/or/routerlist.c
Log:
r15558@tombo: nickm | 2007-12-18 22:55:23 -0500
Re-parse annotations in another place. Good catch, arma.
Property changes on: tor/trunk
___________________________________________________________________
svk:merge ticket from /tor/trunk [r15558] on d9e39d38-0f13-419c-a857-e10a0ce2aa0c
Modified: tor/trunk/doc/TODO
===================================================================
--- tor/trunk/doc/TODO 2007-12-19 03:11:02 UTC (rev 12867)
+++ tor/trunk/doc/TODO 2007-12-19 03:55:40 UTC (rev 12868)
@@ -42,6 +42,8 @@
- 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
Modified: tor/trunk/src/or/routerlist.c
===================================================================
--- tor/trunk/src/or/routerlist.c 2007-12-19 03:11:02 UTC (rev 12867)
+++ tor/trunk/src/or/routerlist.c 2007-12-19 03:55:40 UTC (rev 12868)
@@ -2506,18 +2506,19 @@
#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));