mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-28 14:23:30 +01:00
f367453cb5
As of ac2f6b608a
in 0.2.1.19-alpha,
Sebastian fixed bug 888 by marking descriptors as "impossible" by
digest if they got rejected during the
router_load_routers_from_string() phase. This fix stopped clients
and relays from downloading the same thing over and over.
But we never made the same change for descriptors rejected during
dirserv_add_{descriptor,extrainfo}. Instead, we tried to notice in
advance that we'd reject them with dirserv_would_reject().
This notice-in-advance check stopped working once we added
key-pinning and didn't make a corresponding key-pinning change to
dirserv_would_reject() [since a routerstatus_t doesn't include an
ed25519 key].
So as a fix, let's make the dirserv_add_*() functions mark digests
as undownloadable when they are rejected.
Fixes bug 22349; I am calling this a fix on 0.2.1.19-alpha, though
you could also argue for it being a fix on 0.2.7.2-alpha.
10 lines
549 B
Plaintext
10 lines
549 B
Plaintext
o Minor bugfixes (directory authority):
|
|
- When a directory authority rejects a descriptor or extrainfo with
|
|
a given digest, mark that digest as undownloadable, so that we
|
|
do not attempt to download it again over and over. We previously
|
|
tried to avoid downloading such descriptors by other means, but
|
|
we didn't notice if we accidentally downloaded one anyway. This
|
|
behavior became problematic in 0.2.7.2-alpha, when authorities
|
|
began pinning Ed25519 keys. Fixes ticket
|
|
22349; bugfix on 0.2.1.19-alpha.
|