validate: don't turn all NS records insecure on non-existent DS
Currently this lists all NS records in the auth_selected from the same query UID and marks them as insecure.
It should only mark NS records matching the DS record as insecure, as parent NS records may be in the same response and the absence of DS doesn't say anything about them.
This happens rarely on some zones, and I'm not sure about the reproducer. I suspect it's something like:
- Query for
child.test DS
- Response for
child.test DS
says thatchild.test DS
doesn't exist in thetest
authority (sotest NS
gets added to theauth_selected
) -
test NS
rank inauth_selected
gets downgraded because of that
Edited by Vladimír Čunát