mirror of
https://github.com/coredns/coredns.git
synced 2026-04-05 03:35:33 -04:00
* plugin/file: expand SVCB/HTTPS record support Add proper SVCB (type 64) and HTTPS (type 65) handling: - Additional section processing: include A/AAAA glue for in-bailiwick SVCB/HTTPS targets, matching existing SRV/MX behavior - Target name normalization: lowercase SVCB/HTTPS Target on zone insert, consistent with CNAME/MX handling - Metrics: add TypeSVCB to monitored query types (TypeHTTPS was already present) - Test helpers: add SVCB()/HTTPS() constructors and Section comparison cases - Tests: basic queries with glue, AliasMode, wildcards, NoData, NXDOMAIN, target normalization, and DNS-AID private-use key (65400-65408) round-trip Signed-off-by: Ingmar <ivanglabbeek@infoblox.com> * plugin/file: simplify HTTPS target access via field promotion dns.HTTPS embeds dns.SVCB, so .Target is directly accessible without the redundant .SVCB. qualifier. Fixes gosimple S1027. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Ingmar <ivanglabbeek@infoblox.com> --------- Signed-off-by: Ingmar <ivanglabbeek@infoblox.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
38 lines
805 B
Go
38 lines
805 B
Go
package vars
|
|
|
|
import (
|
|
"github.com/miekg/dns"
|
|
)
|
|
|
|
var monitorType = map[uint16]struct{}{
|
|
dns.TypeAAAA: {},
|
|
dns.TypeA: {},
|
|
dns.TypeCNAME: {},
|
|
dns.TypeDNSKEY: {},
|
|
dns.TypeDS: {},
|
|
dns.TypeMX: {},
|
|
dns.TypeNSEC3: {},
|
|
dns.TypeNSEC: {},
|
|
dns.TypeNS: {},
|
|
dns.TypePTR: {},
|
|
dns.TypeRRSIG: {},
|
|
dns.TypeSOA: {},
|
|
dns.TypeSRV: {},
|
|
dns.TypeTXT: {},
|
|
dns.TypeHTTPS: {},
|
|
dns.TypeSVCB: {},
|
|
// Meta Qtypes
|
|
dns.TypeIXFR: {},
|
|
dns.TypeAXFR: {},
|
|
dns.TypeANY: {},
|
|
}
|
|
|
|
// qTypeString returns the RR type based on monitorType. It returns the text representation
|
|
// of those types. RR types not in that list will have "other" returned.
|
|
func qTypeString(qtype uint16) string {
|
|
if _, known := monitorType[qtype]; known {
|
|
return dns.Type(qtype).String()
|
|
}
|
|
return "other"
|
|
}
|