]> the.earth.li Git - onak.git/commitdiff
Improve handling of colliding 64-bit key IDs
authorJonathan McDowell <noodles@earth.li>
Thu, 1 Aug 2019 18:19:30 +0000 (19:19 +0100)
committerJonathan McDowell <noodles@earth.li>
Thu, 1 Aug 2019 18:19:30 +0000 (19:19 +0100)
Originally key retrieval was all performed on the 64 bit key ID but back
in 2013 support was added for fetching by fingerprint. However not all
the pieces to deal with colliding 64 bit IDs were added at this time.
This commit improves things by:

 * Using the fingerprint to retrieve the key to update in update_keys()
 * Returning all keys that share a 64 bit key ID from the DB4 backend,
   rather than just the first found.
 * Adding a test to ensure multiple keys are returned for a colliding
   key lookup.

It also removes the old compatibility code for the DB4 backend with key
lookups by 64 bit key ID.

Note this isn't yet common in the wild; unlike Evil32 it is not possible
to create collisions for arbitrary key IDs.


No differences found