From 866e63aafabad71400737a26b51e3e0d72a1b31b Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Mon, 28 Mar 2011 16:13:34 +0200 Subject: [PATCH] fix client stuff --- _examples/q/q.go | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/_examples/q/q.go b/_examples/q/q.go index 2f7bbd43..48142886 100644 --- a/_examples/q/q.go +++ b/_examples/q/q.go @@ -1,7 +1,6 @@ package main import ( - "net" "dns" "os" "flag" @@ -66,21 +65,12 @@ Flags: // Anything else is a qname qname = append(qname, flag.Arg(i)) } - r := new(dns.Resolver) - r.FromFile("/etc/resolv.conf") - r.Timeout = 2 - r.Port = *port - r.Tcp = *tcp - r.Attempts = 1 - // @server may be a name, resolv that - var err os.Error + nameserver = string([]byte(nameserver)[1:]) // chop off @ - _, addr, err := net.LookupHost(nameserver) - if err == nil { - r.Servers = addr - } else { - r.Servers = []string{nameserver} - } + + d := new(dns.Conn) + d.RemoteAddr = nameserver + ":" + *port + d.Attempts = 1 m := new(dns.Msg) m.MsgHdr.Authoritative = *aa @@ -100,6 +90,14 @@ Flags: m.Extra[0] = opt } + in := make(chan dns.Query) + var out chan dns.Query + if *tcp { + out = dns.QueryAndServerTCP(in, nil) + } else { + out = dns.QueryAndServerUDP(in, nil) + } + for _, v := range qname { m.Question[0] = dns.Question{v, qtype, qclass} m.Id = dns.Id()