Fix the examples

Esp. those using xfr functions
This commit is contained in:
Miek Gieben 2011-09-10 21:37:57 +02:00
parent 406edadf20
commit c939840fb2
5 changed files with 25 additions and 20 deletions

View File

@ -1,7 +1,6 @@
package main
import (
"fmt"
"dns"
"flag"
)
@ -20,11 +19,13 @@ func main() {
} else {
m.SetAxfr(zone)
}
axfr, err := client.XfrReceive(m, *nameserver)
if err != nil {
if err := client.XfrReceive(m, *nameserver); err != nil {
println(err.String())
return
}
/*
for _, v := range axfr {
fmt.Printf("%v\n", v)
}
*/
}

View File

@ -64,8 +64,8 @@ forever:
for {
select {
case r := <-dns.DefaultReplyChan:
if r[1] !=nil && r[1].Rcode == dns.RcodeSuccess {
for _, aa := range r[1].Answer {
if r.Reply !=nil && r.Reply.Rcode == dns.RcodeSuccess {
for _, aa := range r.Reply.Answer {
switch aa.(type) {
case *dns.RR_A:
ips = append(ips, aa.(*dns.RR_A).A.String()+":53")

View File

@ -132,16 +132,16 @@ forever:
for {
select {
case r := <-dns.DefaultReplyChan:
if r[1] != nil {
if r[1].Rcode == dns.RcodeSuccess {
if r[0].Id != r[1].Id {
if r.Reply != nil {
if r.Reply.Rcode == dns.RcodeSuccess {
if r.Request.Id != r.Reply.Id {
fmt.Printf("Id mismatch\n")
}
}
if *short {
r[1] = shortMsg(r[1])
r.Reply = shortMsg(r.Reply)
}
fmt.Printf("%v", r[1])
fmt.Printf("%v", r.Reply)
}
i++
if i == len(qname) {

View File

@ -134,11 +134,12 @@ type Client struct {
}
// NewClient creates a new client, with Net set to "udp" and Attempts to 1.
// The client's ChannelReply is set to DefaultReplyChan.
func NewClient() *Client {
c := new(Client)
c.Net = "udp"
c.Attempts = 1
c.ChannelReply = DefaultReplyChan
c.ChannelReply = DefaultReplyChan
c.ReadTimeout = 5000
c.WriteTimeout = 5000
return c
@ -178,8 +179,8 @@ func (q *Query) ListenAndQuery() os.Error {
// ListenAndQuery starts the listener for firing off the queries. If
// c is nil DefaultQueryChan is used. If handler is nil
// DefaultQueryMux is used.
func ListenAndQuery(c chan *Request, handler QueryHandler) {
q := &Query{ChannelQuery: c, Handler: handler}
func ListenAndQuery(request chan *Request, handler QueryHandler) {
q := &Query{ChannelQuery: request, Handler: handler}
go q.ListenAndQuery()
}

View File

@ -88,11 +88,14 @@ func TestClientTsigAXFR(t *testing.T) {
c.Net = "tcp"
c.TsigSecret = secrets
c.XfrReceive(m, "85.223.71.124:53")
/*
if err != nil {
t.Log("%s\n", err.String())
t.Fail()
}
*/
if err := c.XfrReceive(m, "85.223.71.124:53"); err != nil {
t.Log("Failed to setup axfr" + err.String())
t.Fail()
}
/*
for {
// select on c.ReplyChannel
// and receive the *Exchange messages
}
*/
}