diff --git a/README.markdown b/README.markdown index 12f002b3..1563106e 100644 --- a/README.markdown +++ b/README.markdown @@ -45,6 +45,7 @@ Miek Gieben - 2010, 2011 - miek@miek.nl * 4408 - SPF * 4509 - SHA256 Hash in DS * 4635 - HMAC SHA TSIG +* 4892 - id.server * 5001 - NSID * 5155 - NSEC * 5933 - GOST diff --git a/_examples/ns/ns.go b/_examples/ns/ns.go index 87dacdcc..12836a76 100644 --- a/_examples/ns/ns.go +++ b/_examples/ns/ns.go @@ -5,6 +5,7 @@ import ( "dns" "fmt" "bufio" + "strings" "os/signal" ) @@ -25,7 +26,7 @@ func send(w dns.ResponseWriter, m *dns.Msg) { func handleQueryCHAOS(w dns.ResponseWriter, req *dns.Msg) { println(req.String()) m := new(dns.Msg) - qname := req.Question[0].Name + qname := strings.ToLower(req.Question[0].Name) qtype := req.Question[0].Qtype qclass := req.Question[0].Qclass @@ -38,7 +39,7 @@ func handleQueryCHAOS(w dns.ResponseWriter, req *dns.Msg) { return } - if qname == "version.bind." && qtype == dns.TypeTXT { + if (qname == "version.bind." || qname == "id.server.") && qtype == dns.TypeTXT { m.SetReply(req) m.Answer = make([]dns.RR, 1) m.Answer[0] = &dns.RR_TXT{Hdr: dns.RR_Header{Name: qname, @@ -46,7 +47,7 @@ func handleQueryCHAOS(w dns.ResponseWriter, req *dns.Msg) { send(w, m) return } - if qname == "authors.bind." && qtype == dns.TypeTXT { + if (qname == "authors.bind." || qname == "authors.server.") && qtype == dns.TypeTXT { m.SetReply(req) m.Answer = make([]dns.RR, 1) m.Answer[0] = &dns.RR_TXT{Hdr: dns.RR_Header{Name: qname, @@ -140,6 +141,7 @@ func main() { dns.HandleFunc("miek.nl.", handleQuery) dns.HandleFunc("bind.", handleQueryCHAOS) + dns.HandleFunc("server.", handleQueryCHAOS) go func() { err := dns.ListenAndServe(":8053", "udp", nil) if err != nil {