refactor: always probe DNSKEY regardless of parent DS presence

Move the "skip DNSKEY when no parent DS" decision out of Collect and
into the rules, so the prober stays a pure observer. The dnskeyQueryRule
and dnskeyMatchesDSRule already return StatusUnknown when no parent DS
is present.
This commit is contained in:
nemunaire 2026-05-16 13:18:25 +08:00
commit 3366cebf7d

View file

@ -142,22 +142,12 @@ func (p *delegationProvider) Collect(ctx context.Context, opts sdk.CheckerOption
av.ChildGlueAddrs = addrsAt av.ChildGlueAddrs = addrsAt
} }
// DNSKEY is only useful when there's a parent DS to match against. keys, kerr := queryDNSKEY(ctx, srv, delegatedFQDN)
parentHasDS := false if kerr != nil {
for _, pv := range data.ParentViews { av.DNSKEYError = kerr.Error()
if len(pv.DS) > 0 { } else {
parentHasDS = true for _, k := range keys {
break av.DNSKEYs = append(av.DNSKEYs, NewDNSKEYRecord(k))
}
}
if parentHasDS {
keys, kerr := queryDNSKEY(ctx, srv, delegatedFQDN)
if kerr != nil {
av.DNSKEYError = kerr.Error()
} else {
for _, k := range keys {
av.DNSKEYs = append(av.DNSKEYs, NewDNSKEYRecord(k))
}
} }
} }