From 355f2b92ebfde7a983528c542b9d05fe8fd23299 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Thu, 14 May 2026 22:21:33 +0800 Subject: [PATCH] checker: build owner FQDN from _domain subdomain label + apex --- checker/collect.go | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/checker/collect.go b/checker/collect.go index ee326e3..a073206 100644 --- a/checker/collect.go +++ b/checker/collect.go @@ -318,16 +318,19 @@ func defaultResolveHost(ctx context.Context, target string) (verdict, detail str // ownerFQDN returns the record owner FQDN, preferring the service's _domain field over subdomain+apex. func ownerFQDN(svcDomain, sub, apex string) string { - if svcDomain != "" { - return strings.TrimSuffix(svcDomain, ".") + fallback := func() string { + if apex == "" { + return sub + } + if sub == "" || sub == "@" { + return apex + } + return sub + "." + apex } - if apex == "" { - return sub + if svcDomain == "" { + return fallback() } - if sub == "" || sub == "@" { - return apex - } - return sub + "." + apex + return preferRRName(svcDomain, fallback(), apex) } // preferRRName returns the RR header Name as an FQDN when present.