validator: bottom->up chase DS if RRSIG(s) are missing
This is about situations when validator *thinks* it's in a signed zone but an unsigned answer comes in. The assumption was that RRSIGs didn't make it through some middle-boxes and it retried with explicit QTYPE=RRSIG. There were two issues with that. 1. It seems that in most cases the cause of the situation is that we skipped over a zone cut that transitioned to insecure state, so the signatures correctly don't exist. 2. An explicit RRSIG query appears to be more trouble than worth; it seems reasonable for servers not to answer it (fully); see RFC 8482 sect. 7. The new approach simply tries to find a proof that the name is insecure, by spawning a QTYPE=DS sub-query on that name. That fixes some real-life cases; usually this happens in iteration mode where one IP address serves zones on both sides of a cut that transitions to insecure. For details see new comments in that rrsig_not_found() function. The change resulted in the iterator fallback not making sense anymore so it was removed.
Showing
Please register or sign in to comment