|
@@ -3513,6 +3513,7 @@ router_load_routers_from_string(const char *s, const char *eos,
|
|
|
|
|
|
SMARTLIST_FOREACH_BEGIN(routers, routerinfo_t *, ri) {
|
|
|
was_router_added_t r;
|
|
|
+ char d[DIGEST_LEN];
|
|
|
if (requested_fingerprints) {
|
|
|
base16_encode(fp, sizeof(fp), descriptor_digests ?
|
|
|
ri->cache_info.signed_descriptor_digest :
|
|
@@ -3533,6 +3534,7 @@ router_load_routers_from_string(const char *s, const char *eos,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ memcpy(d, ri->cache_info.signed_descriptor_digest, DIGEST_LEN);
|
|
|
r = router_add_to_routerlist(ri, &msg, from_cache, !from_cache);
|
|
|
if (WRA_WAS_ADDED(r)) {
|
|
|
any_changed++;
|
|
@@ -3541,11 +3543,10 @@ router_load_routers_from_string(const char *s, const char *eos,
|
|
|
smartlist_clear(changed);
|
|
|
} else if (WRA_WAS_REJECTED(r)) {
|
|
|
download_status_t *dl_status;
|
|
|
- dl_status = router_get_dl_status_by_descriptor_digest(
|
|
|
- ri->cache_info.signed_descriptor_digest);
|
|
|
+ dl_status = router_get_dl_status_by_descriptor_digest(d);
|
|
|
if (dl_status) {
|
|
|
log_info(LD_GENERAL, "Marking router %s as never downloadable",
|
|
|
- hex_str(ri->cache_info.signed_descriptor_digest, DIGEST_LEN));
|
|
|
+ hex_str(d, DIGEST_LEN));
|
|
|
download_status_mark_impossible(dl_status);
|
|
|
}
|
|
|
}
|