This commit is contained in:
Miek Gieben 2011-02-08 20:22:43 +01:00
parent d0e343e35e
commit f6d6e1524a
1 changed files with 7 additions and 25 deletions

View File

@ -1,11 +1,8 @@
package main
// a (simple) dig-like query tool in 99 lines of Go
import (
"net"
"dns"
"dns/resolver"
// "bytes"
// "compress/gzip"
"os"
"flag"
"fmt"
@ -58,13 +55,12 @@ FLAGS:
// Anything else is a qname
qname = append(qname, flag.Arg(i))
}
r := new(resolver.Resolver)
r := new(dns.Resolver)
r.FromFile("/etc/resolv.conf")
r.Timeout = 2
r.Port = *port
r.Tcp = *tcp
r.Attempts = 1
qr := r.NewQuerier()
// @server may be a name, resolv that
var err os.Error
nameserver = string([]byte(nameserver)[1:]) // chop off @
@ -99,31 +95,17 @@ FLAGS:
for _, v := range qname {
m.Question[0] = dns.Question{v, qtype, qclass}
m.SetId()
qr <- resolver.Msg{m, nil, nil}
in := <-qr
if in.Dns != nil {
if m.Id != in.Dns.Id {
in, err := r.Query(m)
if in != nil {
if m.Id != in.Id {
fmt.Printf("Id mismatch\n")
}
fmt.Printf("%v\n", in.Dns)
fmt.Printf("%s\n", in.Meta)
/*
// zip the message
msgbuf, _ := in.Dns.Pack()
var zbuff bytes.Buffer
w, _ := gzip.NewWriterLevel(&zbuff, gzip.BestCompression)
w.Write(msgbuf)
w.Close()
fmt.Printf(";; Compressed: %d\n", zbuff.Len())
*/
fmt.Printf("%v\n", in)
} else {
fmt.Printf("%v\n", in.Error.String())
fmt.Printf("%v\n", err.String())
}
}
qr <- resolver.Msg{}
<-qr
}
/*
41 func (m *Meta) String() string {
42 s := ";; Query time: " + strconv.Itoa(int(m.QueryEnd-m.QueryStart)) + " nsec"