From c312d0e0cacb419a414578a7eb3fb56ceb3964e3 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Wed, 10 Feb 2010 16:35:35 -0800 Subject: [PATCH] net: use slightly less predictable dns request id not trying to be secure, just not repetitive (sending with the same id repeatedly makes some resolvers stop replying.) eventually we'll replace this with linking against the system's native resolver. R=p CC=golang-dev https://golang.org/cl/207051 --- src/pkg/net/dnsclient.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/pkg/net/dnsclient.go b/src/pkg/net/dnsclient.go index 7820244b28..0a6fca0115 100644 --- a/src/pkg/net/dnsclient.go +++ b/src/pkg/net/dnsclient.go @@ -17,6 +17,8 @@ package net import ( "once" "os" + "rand" + "time" ) // DNSError represents a DNS lookup error. @@ -44,7 +46,7 @@ func _Exchange(cfg *_DNS_Config, c Conn, name string) (m *_DNS_Msg, err os.Error return nil, &DNSError{"name too long", name, ""} } out := new(_DNS_Msg) - out.id = 0x1234 + out.id = uint16(rand.Int()) ^ uint16(time.Nanoseconds()) out.question = []_DNS_Question{ _DNS_Question{name, _DNS_TypeA, _DNS_ClassINET}, } -- 2.50.0