better check for dnssec-verifying resolver

check the authentic data bit for the NS records of "com.", not for ".": some
dnssec-verifying resolvers return unauthentic data for ".".

for issue #139 by triatic, thanks!
This commit is contained in:
Mechiel Lukkien
2024-03-07 10:34:13 +01:00
parent 9e7d6b85b7
commit 4db1f5593c
2 changed files with 4 additions and 2 deletions

View File

@ -529,7 +529,8 @@ func checkDomain(ctx context.Context, resolver dns.Resolver, dialer *net.Dialer,
defer logPanic(ctx)
defer wg.Done()
_, result, err := resolver.LookupNS(ctx, ".")
// Some DNSSEC-verifying resolvers return unauthentic data for ".", so we check "com".
_, result, err := resolver.LookupNS(ctx, "com.")
if err != nil {
addf(&r.DNSSEC.Errors, "Looking up NS for DNS root (.) to check support in resolver for DNSSEC-verification: %s", err)
} else if !result.Authentic {