use global 'timeout' option for forwarding queries (#1284)

* Update plugins.go

* Update plugin_forward.go
This commit is contained in:
29f 2020-04-18 02:57:23 +08:00 committed by GitHub
parent 4f41fc3fee
commit f71244ed74
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 1 deletions

View File

@ -93,7 +93,7 @@ func (plugin *PluginForward) Eval(pluginsState *PluginsState, msg *dns.Msg) erro
}
server := servers[rand.Intn(len(servers))]
pluginsState.serverName = server
client := dns.Client{Net: pluginsState.serverProto}
client := dns.Client{Net: pluginsState.serverProto, Timeout: pluginsState.timeout}
respMsg, _, err := client.Exchange(msg, server)
if err != nil {
return err

View File

@ -87,6 +87,7 @@ type PluginsState struct {
returnCode PluginsReturnCode
serverName string
serverProto string
timeout time.Duration
}
func (proxy *Proxy) InitPluginsGlobals() error {
@ -240,6 +241,7 @@ func NewPluginsState(proxy *Proxy, clientProto string, clientAddr *net.Addr, ser
qName: "",
serverName: "-",
serverProto: serverProto,
timeout: proxy.timeout,
requestStart: start,
maxUnencryptedUDPSafePayloadSize: MaxDNSUDPSafePacketSize,
sessionData: make(map[string]interface{}),