mirror of
https://github.com/mjl-/mox.git
synced 2025-07-13 09:34:39 +03:00
do not lookup cname after looking up the txt for mta-sts, and follow cnames for mocks
because the txt would already follow cnames. the additional cname lookup didn't hurt, it just didn't do anything. i probably didn't realize that before looking deeper into dns.
This commit is contained in:
12
dns/mock.go
12
dns/mock.go
@ -184,20 +184,20 @@ func (r MockResolver) LookupHost(ctx context.Context, host string) ([]string, ad
|
||||
|
||||
func (r MockResolver) LookupIP(ctx context.Context, network, host string) ([]net.IP, adns.Result, error) {
|
||||
mr := mockReq{"ip", host}
|
||||
_, result, err := r.result(ctx, mr)
|
||||
name, result, err := r.result(ctx, mr)
|
||||
if err != nil {
|
||||
return nil, result, err
|
||||
}
|
||||
var ips []net.IP
|
||||
switch network {
|
||||
case "ip", "ip4":
|
||||
for _, ip := range r.A[host] {
|
||||
for _, ip := range r.A[name] {
|
||||
ips = append(ips, net.ParseIP(ip))
|
||||
}
|
||||
}
|
||||
switch network {
|
||||
case "ip", "ip6":
|
||||
for _, ip := range r.AAAA[host] {
|
||||
for _, ip := range r.AAAA[name] {
|
||||
ips = append(ips, net.ParseIP(ip))
|
||||
}
|
||||
}
|
||||
@ -209,7 +209,7 @@ func (r MockResolver) LookupIP(ctx context.Context, network, host string) ([]net
|
||||
|
||||
func (r MockResolver) LookupMX(ctx context.Context, name string) ([]*net.MX, adns.Result, error) {
|
||||
mr := mockReq{"mx", name}
|
||||
_, result, err := r.result(ctx, mr)
|
||||
name, result, err := r.result(ctx, mr)
|
||||
if err != nil {
|
||||
return nil, result, err
|
||||
}
|
||||
@ -222,7 +222,7 @@ func (r MockResolver) LookupMX(ctx context.Context, name string) ([]*net.MX, adn
|
||||
|
||||
func (r MockResolver) LookupTXT(ctx context.Context, name string) ([]string, adns.Result, error) {
|
||||
mr := mockReq{"txt", name}
|
||||
_, result, err := r.result(ctx, mr)
|
||||
name, result, err := r.result(ctx, mr)
|
||||
if err != nil {
|
||||
return nil, result, err
|
||||
}
|
||||
@ -241,7 +241,7 @@ func (r MockResolver) LookupTLSA(ctx context.Context, port int, protocol string,
|
||||
name = fmt.Sprintf("_%d._%s.%s", port, protocol, host)
|
||||
}
|
||||
mr := mockReq{"tlsa", name}
|
||||
_, result, err := r.result(ctx, mr)
|
||||
name, result, err := r.result(ctx, mr)
|
||||
if err != nil {
|
||||
return nil, result, err
|
||||
}
|
||||
|
Reference in New Issue
Block a user