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" "strconv"
) )
var dom = "whoami.miek.nl"
func handleReflect(w dns.ResponseWriter, r *dns.Msg) { func handleReflect(w dns.ResponseWriter, r *dns.Msg) {
m := new(dns.Msg) m := new(dns.Msg)
m.SetReply(r) m.SetReply(r)
@ -49,16 +51,16 @@ func handleReflect(w dns.ResponseWriter, r *dns.Msg) {
if v4 { if v4 {
rr = new(dns.RR_A) 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 rr.(*dns.RR_A).A = a
} else { } else {
rr = new(dns.RR_AAAA) 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 rr.(*dns.RR_AAAA).AAAA = a
} }
t := new(dns.RR_TXT) 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 t.Txt = str
m.Extra[0] = t m.Extra[0] = t
m.Answer[0] = rr m.Answer[0] = rr
@ -71,7 +73,7 @@ func handleReflect(w dns.ResponseWriter, r *dns.Msg) {
func serve(net string) { func serve(net string) {
err := dns.ListenAndServe(":8053", net, nil) err := dns.ListenAndServe(":8053", net, nil)
if err != 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 { for {
select { select {
case <-signal.Incoming: case <-signal.Incoming:
fmt.Printf("Signal received, stopping") fmt.Printf("Signal received, stopping\n")
break forever break forever
} }
} }