Fix q to use the simpler api
This commit is contained in:
parent
cf84dce538
commit
4b51a293d6
29
ex/q/q.go
29
ex/q/q.go
|
@ -13,25 +13,6 @@ import (
|
||||||
|
|
||||||
var dnskey *dns.RR_DNSKEY
|
var dnskey *dns.RR_DNSKEY
|
||||||
|
|
||||||
func q(w dns.RequestWriter, m *dns.Msg) {
|
|
||||||
if err := w.Send(m); err != nil {
|
|
||||||
fmt.Printf("%s\n", err.Error())
|
|
||||||
w.Write(nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
r, err := w.Receive()
|
|
||||||
if err != nil {
|
|
||||||
fmt.Printf("%s\n", err.Error())
|
|
||||||
w.Write(nil)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
w.Close()
|
|
||||||
if w.TsigStatus() != nil {
|
|
||||||
fmt.Printf(";; Couldn't verify TSIG signature: %s\n", w.TsigStatus().Error())
|
|
||||||
}
|
|
||||||
w.Write(r)
|
|
||||||
}
|
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
dnssec := flag.Bool("dnssec", false, "request DNSSEC records")
|
dnssec := flag.Bool("dnssec", false, "request DNSSEC records")
|
||||||
query := flag.Bool("question", false, "show question")
|
query := flag.Bool("question", false, "show question")
|
||||||
|
@ -137,8 +118,6 @@ Flags:
|
||||||
nameserver += ":" + strconv.Itoa(*port)
|
nameserver += ":" + strconv.Itoa(*port)
|
||||||
|
|
||||||
// We use the async query handling, just to show how it is to be used.
|
// We use the async query handling, just to show how it is to be used.
|
||||||
dns.HandleQuery(".", q)
|
|
||||||
dns.ListenAndQuery(nil)
|
|
||||||
c := new(dns.Client)
|
c := new(dns.Client)
|
||||||
if *tcp {
|
if *tcp {
|
||||||
c.Net = "tcp"
|
c.Net = "tcp"
|
||||||
|
@ -217,7 +196,7 @@ Flags:
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
c.Do2(m, nameserver, nil, func(m, r *dns.Msg, e error, data interface{}) {
|
c.Do(m, nameserver, nil, func(m, r *dns.Msg, e error, data interface{}) {
|
||||||
defer func() {
|
defer func() {
|
||||||
if i == len(qname)-1 {
|
if i == len(qname)-1 {
|
||||||
os.Exit(0)
|
os.Exit(0)
|
||||||
|
@ -243,13 +222,15 @@ Flags:
|
||||||
o.SetUDPSize(dns.DefaultMsgSize)
|
o.SetUDPSize(dns.DefaultMsgSize)
|
||||||
m.Extra = append(m.Extra, o)
|
m.Extra = append(m.Extra, o)
|
||||||
*dnssec = true
|
*dnssec = true
|
||||||
c.Do(m, nameserver)
|
// This does not work yet
|
||||||
|
//c.Do(m, nameserver)
|
||||||
return
|
return
|
||||||
} else {
|
} else {
|
||||||
// First EDNS, then TCP
|
// First EDNS, then TCP
|
||||||
fmt.Printf(";; Truncated, trying TCP\n")
|
fmt.Printf(";; Truncated, trying TCP\n")
|
||||||
c.Net = "tcp"
|
c.Net = "tcp"
|
||||||
c.Do(m, nameserver)
|
// This not work yet
|
||||||
|
// c.Do(m, nameserver)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue