dnf icon indicating copy to clipboard operation
dnf copied to clipboard

Fix handling of multiple OPENPGPKEY records in the DNSSEC module

Open msehnout opened this issue 4 years ago • 7 comments

Work in progress. I mainly want to trigger CI.

msehnout avatar Feb 19 '21 10:02 msehnout

LGTM

Here is a background http://miroslav.suchy.cz/blog/archives/2021/02/18/different_opengpg_dns_entries_for_the_same_email/index.html

xsuchy avatar Feb 19 '21 11:02 xsuchy

Just testing the CI... bors try

lukash avatar Feb 22 '21 09:02 lukash

try

Build succeeded:

bors[bot] avatar Feb 22 '21 12:02 bors[bot]

I'd like to use a packit build to verify that this modification works but it seems to fail consistently in all PRs. Are there any plans to fix it, @lukash ?

msehnout avatar Feb 24 '21 08:02 msehnout

There is an issue. The code stores to DNSSECKeyVerification._cache only one key, not the whole set.

You can try it with [email protected] who already has keys in DNS and has 3 keys there. The first cache_miss results in VALID, but the next loop for [email protected] goes into cache_hit but the key in the cache does not match input_key.key

xsuchy avatar May 03 '21 13:05 xsuchy

There is an issue. The code stores to DNSSECKeyVerification._cache only one key, not the whole set.

You can try it with [email protected] who already has keys in DNS and has 3 keys there. The first cache_miss results in VALID, but the next loop for [email protected] goes into cache_hit but the key in the cache does not match input_key.key

Good catch!

msehnout avatar May 07 '21 07:05 msehnout

I tried to patch the code to include the whole set in the cache, but I haven't had time to run it yet.

msehnout avatar Jul 14 '21 11:07 msehnout

I am really sorry but the PR is open to long as Draft, therefore I am closing it.

Note: The future of software-management is in DNF5. DNF5 is written in C++ therefore the support of DNSSEC will require completely different implementation.

j-mracek avatar Mar 27 '23 14:03 j-mracek