save changes
This commit is contained in:
@@ -31,6 +31,17 @@ func (r *Resolver) Resolve(name string) ([]*resolver.Record, error) {
|
||||
r.Address = "1.0.0.1:53"
|
||||
}
|
||||
|
||||
//nolint:prealloc
|
||||
var records []*resolver.Record
|
||||
|
||||
// parsed an actual ip
|
||||
if v := net.ParseIP(host); v != nil {
|
||||
records = append(records, &resolver.Record{
|
||||
Address: net.JoinHostPort(host, port),
|
||||
})
|
||||
return records, nil
|
||||
}
|
||||
|
||||
m := new(dns.Msg)
|
||||
m.SetQuestion(dns.Fqdn(host), dns.TypeA)
|
||||
rec, err := dns.ExchangeContext(context.Background(), m, r.Address)
|
||||
@@ -38,9 +49,6 @@ func (r *Resolver) Resolve(name string) ([]*resolver.Record, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
//nolint:prealloc
|
||||
var records []*resolver.Record
|
||||
|
||||
for _, answer := range rec.Answer {
|
||||
h := answer.Header()
|
||||
// check record type matches
|
||||
@@ -59,5 +67,12 @@ func (r *Resolver) Resolve(name string) ([]*resolver.Record, error) {
|
||||
})
|
||||
}
|
||||
|
||||
// no records returned so just best effort it
|
||||
if len(records) == 0 {
|
||||
records = append(records, &resolver.Record{
|
||||
Address: net.JoinHostPort(host, port),
|
||||
})
|
||||
}
|
||||
|
||||
return records, nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user