Fix: dns not cache RcodeServerFailure

This commit is contained in:
Dreamacro 2020-02-25 21:51:48 +08:00
parent 0740d20ba0
commit c4994d6429

View file

@ -168,7 +168,13 @@ func (r *Resolver) batchExchange(clients []dnsClient, m *D.Msg) (msg *D.Msg, err
for _, client := range clients {
r := client
fast.Go(func() (interface{}, error) {
return r.ExchangeContext(ctx, m)
m, err := r.ExchangeContext(ctx, m)
if err != nil {
return nil, err
} else if m.Rcode == D.RcodeServerFailure {
return nil, errors.New("server failure")
}
return m, nil
})
}