r15558@tombo: nickm | 2007-12-18 22:55:23 -0500

Re-parse annotations in another place.  Good catch, arma.


svn:r12868
This commit is contained in:
Nick Mathewson 2007-12-19 03:55:40 +00:00
parent 07c7f9e9e7
commit 95d500f33f
2 changed files with 8 additions and 5 deletions

View File

@ -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

View 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));