Commit b73e592e authored by Stephen Ma's avatar Stephen Ma

net: correct DNS configuration

Set defaults to the same values as various C DNS resolver libraries.
Use the timeout value from the configuration.
Fixes #632.

R=rsc
CC=golang-dev
https://golang.org/cl/223094
parent 486d9eb4
...@@ -62,7 +62,7 @@ func _Exchange(cfg *_DNS_Config, c Conn, name string) (m *_DNS_Msg, err os.Error ...@@ -62,7 +62,7 @@ func _Exchange(cfg *_DNS_Config, c Conn, name string) (m *_DNS_Msg, err os.Error
return nil, err return nil, err
} }
c.SetReadTimeout(1e9) // nanoseconds c.SetReadTimeout(int64(cfg.timeout) * 1e9) // nanoseconds
buf := make([]byte, 2000) // More than enough. buf := make([]byte, 2000) // More than enough.
n, err = c.Read(buf) n, err = c.Read(buf)
......
...@@ -32,8 +32,8 @@ func _DNS_ReadConfig() (*_DNS_Config, os.Error) { ...@@ -32,8 +32,8 @@ func _DNS_ReadConfig() (*_DNS_Config, os.Error) {
conf.servers = make([]string, 3)[0:0] // small, but the standard limit conf.servers = make([]string, 3)[0:0] // small, but the standard limit
conf.search = make([]string, 0) conf.search = make([]string, 0)
conf.ndots = 1 conf.ndots = 1
conf.timeout = 1 conf.timeout = 5
conf.attempts = 1 conf.attempts = 2
conf.rotate = false conf.rotate = false
for line, ok := file.readLine(); ok; line, ok = file.readLine() { for line, ok := file.readLine(); ok; line, ok = file.readLine() {
f := getFields(line) f := getFields(line)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment