when sending tls reports, ensure we use ASCII A-labels, not U-labels in the policy-domain field

This commit is contained in:
Mechiel Lukkien
2024-01-24 10:36:20 +01:00
parent 14aa85482e
commit 62be829df0
5 changed files with 64 additions and 60 deletions

View File

@ -441,11 +441,15 @@ func sendReportDomain(ctx context.Context, log mlog.Log, resolver dns.Resolver,
if slices.Equal(rcptDomAddresses[tlsResult.RecipientDomain], recipientStrs) {
continue
}
rcptDom, err := dns.ParseDomain(tlsResult.RecipientDomain)
if err != nil {
return true, fmt.Errorf("parsing recipient domain %q from result: %v", tlsResult.RecipientDomain, err)
}
for j, r := range tlsResult.Results {
if tlsResult.IsHost {
tlsResults[i].Results[j].Policy.MXHost = []string{r.Policy.Domain}
}
tlsResults[i].Results[j].Policy.Domain = tlsResult.RecipientDomain
tlsResults[i].Results[j].Policy.Domain = rcptDom.ASCII
}
}