mirror of
https://github.com/mjl-/mox.git
synced 2025-07-10 07:54:40 +03:00
when logging email addresses with IDNA domain and/or special characters or utf8 in localpart, log both native utf8 form and form with escape localpart and ascii-only domain
the idea is to make it clear from the logging if non-ascii characters are used. this is implemented by making mlog recognize if a field value that will be logged has a LogString method. if so, that value is logged. dns.Domain, smtp.Address, smtp.Localpart, smtp.Path now have a LogString method. some explicit calls to String have been replaced to LogString, and some %q formatting have been replaced with %s, because the escaped localpart would already have double quotes, and double doublequotes aren't easy to read.
This commit is contained in:
@ -511,7 +511,7 @@ func checkDomain(ctx context.Context, resolver dns.Resolver, dialer *net.Dialer,
|
||||
|
||||
mxs, err := resolver.LookupMX(ctx, domain.ASCII+".")
|
||||
if err != nil {
|
||||
addf(&r.MX.Errors, "Looking up MX records for %q: %s", domain, err)
|
||||
addf(&r.MX.Errors, "Looking up MX records for %s: %s", domain, err)
|
||||
}
|
||||
r.MX.Records = make([]MX, len(mxs))
|
||||
for i, mx := range mxs {
|
||||
@ -1397,7 +1397,7 @@ func dnsblsStatus(ctx context.Context, resolver dns.Resolver) map[string]map[str
|
||||
if expl != "" {
|
||||
result += ": " + expl
|
||||
}
|
||||
r[ipstr][zone.String()] = result
|
||||
r[ipstr][zone.LogString()] = result
|
||||
}
|
||||
}
|
||||
return r
|
||||
|
Reference in New Issue
Block a user