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:
parent
7e8faa7169
commit
3366cebf7d
1 changed files with 6 additions and 16 deletions
|
|
@ -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))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue