This commit is contained in:
Miek Gieben 2011-07-05 20:01:17 +02:00
parent 5d6b1bad8e
commit 73cad7898b
3 changed files with 39 additions and 37 deletions

View File

@ -24,6 +24,8 @@ import (
"strconv"
)
var dom = "whoami.miek.nl"
func handleReflect(w dns.ResponseWriter, r *dns.Msg) {
m := new(dns.Msg)
m.SetReply(r)
@ -49,16 +51,16 @@ func handleReflect(w dns.ResponseWriter, r *dns.Msg) {
if v4 {
rr = new(dns.RR_A)
rr.(*dns.RR_A).Hdr = dns.RR_Header{Name: "whoami.miek.nl.", Rrtype: dns.TypeA, Class: dns.ClassINET, Ttl: 0}
rr.(*dns.RR_A).Hdr = dns.RR_Header{Name: dom, Rrtype: dns.TypeA, Class: dns.ClassINET, Ttl: 0}
rr.(*dns.RR_A).A = a
} else {
rr = new(dns.RR_AAAA)
rr.(*dns.RR_AAAA).Hdr = dns.RR_Header{Name: "whoami.miek.nl.", Rrtype: dns.TypeAAAA, Class: dns.ClassINET, Ttl: 0}
rr.(*dns.RR_AAAA).Hdr = dns.RR_Header{Name: dom, Rrtype: dns.TypeAAAA, Class: dns.ClassINET, Ttl: 0}
rr.(*dns.RR_AAAA).AAAA = a
}
t := new(dns.RR_TXT)
t.Hdr = dns.RR_Header{Name: "whoami.miek.nl.", Rrtype: dns.TypeTXT, Class: dns.ClassINET, Ttl: 0}
t.Hdr = dns.RR_Header{Name: dom, Rrtype: dns.TypeTXT, Class: dns.ClassINET, Ttl: 0}
t.Txt = str
m.Extra[0] = t
m.Answer[0] = rr
@ -71,7 +73,7 @@ func handleReflect(w dns.ResponseWriter, r *dns.Msg) {
func serve(net string) {
err := dns.ListenAndServe(":8053", net, nil)
if err != nil {
fmt.Printf("Failed to setup the " + net + " server: %s", err.String())
fmt.Printf("Failed to setup the " + net + " server: %s\n", err.String())
}
}
@ -85,7 +87,7 @@ forever:
for {
select {
case <-signal.Incoming:
fmt.Printf("Signal received, stopping")
fmt.Printf("Signal received, stopping\n")
break forever
}
}

View File

@ -6,10 +6,10 @@ import (
func TestClientSync(t *testing.T) {
m := new(Msg)
m.SetQuestion("miek.nl", TypeSOA)
m.SetQuestion("miek.nl", TypeSOA)
c := NewClient()
r := c.Exchange(m, "85.223.71.124:53")
c := NewClient()
r := c.Exchange(m, "85.223.71.124:53")
if r != nil && r.Rcode != RcodeSuccess {
t.Log("Failed to get an valid answer")
@ -20,33 +20,33 @@ func TestClientSync(t *testing.T) {
func helloMiek(w RequestWriter, r *Msg) {
w.Send(r)
reply, _ := w.Receive()
w.Write(reply)
w.Send(r)
reply, _ := w.Receive()
w.Write(reply)
}
func TestClientASync(t *testing.T) {
HandleQueryFunc("miek.nl", helloMiek) // All queries for miek.nl will be handled by HelloMiek
ListenAndQuery(nil, nil) // Detect if this isn't running
HandleQueryFunc("miek.nl", helloMiek) // All queries for miek.nl will be handled by HelloMiek
ListenAndQuery(nil, nil) // Detect if this isn't running
m := new(Msg)
m.SetQuestion("miek.nl", TypeSOA)
m.SetQuestion("miek.nl", TypeSOA)
c := NewClient()
c.Do(m, "85.223.71.124:53")
c := NewClient()
c.Do(m, "85.223.71.124:53")
forever:
for {
select {
case n := <-DefaultReplyChan:
if n[1] != nil && n[1].Rcode != RcodeSuccess {
t.Log("Failed to get an valid answer")
t.Fail()
t.Logf("%v\n", n[1])
}
break forever
}
}
for {
select {
case n := <-DefaultReplyChan:
if n[1] != nil && n[1].Rcode != RcodeSuccess {
t.Log("Failed to get an valid answer")
t.Fail()
t.Logf("%v\n", n[1])
}
break forever
}
}
}
// TestClientEDNS

View File

@ -5,15 +5,15 @@ import (
)
func TestPackNsec3(t *testing.T) {
nsec3 := hashName("dnsex.nl",HashSHA1 , 0, "DEAD")
if nsec3 != "ROCCJAE8BJJU7HN6T7NG3TNM8ACRS87J" {
t.Logf("%v\n", nsec3)
t.Fail()
}
nsec3 := hashName("dnsex.nl", HashSHA1, 0, "DEAD")
if nsec3 != "ROCCJAE8BJJU7HN6T7NG3TNM8ACRS87J" {
t.Logf("%v\n", nsec3)
t.Fail()
}
nsec3 = hashName("a.b.c.example.org",HashSHA1 , 2, "DEAD")
if nsec3 != "6LQ07OAHBTOOEU2R9ANI2AT70K5O0RCG" {
t.Logf("%v\n", nsec3)
t.Fail()
}
nsec3 = hashName("a.b.c.example.org", HashSHA1, 2, "DEAD")
if nsec3 != "6LQ07OAHBTOOEU2R9ANI2AT70K5O0RCG" {
t.Logf("%v\n", nsec3)
t.Fail()
}
}