[GH-ISSUE #2294] make validating Recursor cache intermediate DNSSEC validations #958

Closed
opened 2026-03-16 01:05:19 +03:00 by kerem · 4 comments
Owner

Originally created by @japaric on GitHub (Jul 8, 2024).
Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/2294

as it was noted in the description of PR #2289 , the Recursor does not cache the results of each step of the chain of trust validation process. if it did, the Recursor could avoid performing signature validations (crypto operations) on subsequent queries about sibling and parent domains.

This behavior can be observed in the explore example

First query: SOA nameservers.com.

each line of the form "validated ({name}, {record_type}) with " in the logs indicates a RRSIG validation (crypto) operation

validated (com., DS) with (..)
validated (nameservers.com., DS) with (..)
validated (nameservers.com., SOA) with (..)

Second query: DS nameservers.com.

validated (com., DS) with (..)
validated (nameservers.com., DS) with (..)

There it can be seen that two RRSIG validation operations, that colud have been avoided, where repeated in the second query

Originally created by @japaric on GitHub (Jul 8, 2024). Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/2294 as it was noted in the description of PR #2289 , the `Recursor` does *not* cache the results of each step of the chain of trust validation process. if it did, the `Recursor` could avoid performing signature validations (crypto operations) on subsequent queries about sibling and parent domains. This behavior can be observed in the `explore` example First query: `SOA nameservers.com.` each line of the form "validated ({name}, {record_type}) with " in the logs indicates a RRSIG validation (crypto) operation ``` console validated (com., DS) with (..) validated (nameservers.com., DS) with (..) validated (nameservers.com., SOA) with (..) ``` Second query: `DS nameservers.com.` ``` console validated (com., DS) with (..) validated (nameservers.com., DS) with (..) ``` There it can be seen that two RRSIG validation operations, that colud have been avoided, where repeated in the second query
kerem 2026-03-16 01:05:19 +03:00
Author
Owner

@japaric commented on GitHub (Jul 8, 2024):

actually, it seems that the whole chain of trust validation happens (+) even happens even when the exact same query is repeated 🤔

(+) the network operations are not repeated; we have tests for that

<!-- gh-comment-id:2214926406 --> @japaric commented on GitHub (Jul 8, 2024): actually, it seems that the whole chain of trust validation happens (+) even happens even when the exact same query is repeated :thinking: (+) the network operations are not repeated; we have tests for that
Author
Owner

@bluejekyll commented on GitHub (Jul 28, 2024):

Was this fixed in #2297?

<!-- gh-comment-id:2254611840 --> @bluejekyll commented on GitHub (Jul 28, 2024): Was this fixed in #2297?
Author
Owner

@japaric commented on GitHub (Aug 1, 2024):

@bluejekyll no, #2297 only caches the Proof outcome on the "top-most" answer that will be returned to the client. the goal of this ticket is to extend caching of Proofs to each step of the chain of trust validation.

<!-- gh-comment-id:2262828912 --> @japaric commented on GitHub (Aug 1, 2024): @bluejekyll no, #2297 only caches the `Proof` outcome on the "top-most" answer that will be returned to the client. the goal of this ticket is to extend caching of `Proof`s to *each* step of the chain of trust validation.
Author
Owner

@cpu commented on GitHub (Dec 2, 2025):

I believe this is addressed by https://github.com/hickory-dns/hickory-dns/pull/3351, please reopen with details on what's missing if I'm wrong!

<!-- gh-comment-id:3602986866 --> @cpu commented on GitHub (Dec 2, 2025): I believe this is addressed by https://github.com/hickory-dns/hickory-dns/pull/3351, please reopen with details on what's missing if I'm wrong!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/hickory-dns#958
No description provided.