mirror of
https://github.com/miekg/dns.git
synced 2025-10-19 13:51:12 +02:00
Some tweaks for reflect
This commit is contained in:
parent
e37fe55e7e
commit
7047ab5809
@ -30,6 +30,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var printf *bool
|
var printf *bool
|
||||||
|
|
||||||
const dom = "whoami.miek.nl."
|
const dom = "whoami.miek.nl."
|
||||||
|
|
||||||
func handleReflect(w dns.ResponseWriter, r *dns.Msg) {
|
func handleReflect(w dns.ResponseWriter, r *dns.Msg) {
|
||||||
@ -66,41 +67,29 @@ func handleReflect(w dns.ResponseWriter, r *dns.Msg) {
|
|||||||
t.Hdr = dns.RR_Header{Name: dom, 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 = []string{str}
|
t.Txt = []string{str}
|
||||||
|
|
||||||
switch r.Question[0].Qtype {
|
switch r.Question[0].Qtype {
|
||||||
case dns.TypeTXT:
|
case dns.TypeTXT:
|
||||||
m.Answer = append(m.Answer, t)
|
m.Answer = append(m.Answer, t)
|
||||||
m.Extra = append(m.Extra, rr)
|
m.Extra = append(m.Extra, rr)
|
||||||
default: fallthrough
|
default:
|
||||||
case dns.TypeAAAA, dns.TypeA:
|
fallthrough
|
||||||
|
case dns.TypeAAAA, dns.TypeA:
|
||||||
m.Answer = append(m.Answer, rr)
|
m.Answer = append(m.Answer, rr)
|
||||||
m.Extra = append(m.Extra, t)
|
m.Extra = append(m.Extra, t)
|
||||||
|
}
|
||||||
}
|
|
||||||
/*
|
|
||||||
nsec3 := new(dns.RR_NSEC3)
|
|
||||||
nsec3.Hdr = dns.RR_Header{Name: dom, Rrtype: dns.TypeNSEC3, Class: dns.ClassINET, Ttl: 0}
|
|
||||||
nsec3.Hash = dns.SHA1
|
|
||||||
nsec3.Flags = 0
|
|
||||||
nsec3.Iterations = 1
|
|
||||||
nsec3.Salt = "AABB"
|
|
||||||
nsec3.SaltLength = uint8(len(nsec3.Salt)/2)
|
|
||||||
nsec3.NextDomain = "miek.nl."
|
|
||||||
nsec3.TypeBitMap = []uint16{dns.TypeA, dns.TypeNS, dns.TypeSOA, dns.TypeTXT, dns.TypeRRSIG, 4000, 4001, 5949}
|
|
||||||
nsec3.HashNames("miek.nl.")
|
|
||||||
m.Extra = append(m.Extra, nsec3)
|
|
||||||
*/
|
|
||||||
|
|
||||||
b, ok := m.Pack()
|
b, ok := m.Pack()
|
||||||
if *printf {
|
if *printf {
|
||||||
fmt.Printf("%v\n", m.String())
|
fmt.Printf("%v\n", m.String())
|
||||||
}
|
}
|
||||||
if !ok {
|
if !ok {
|
||||||
log.Print("Packing failed")
|
log.Print("Packing failed")
|
||||||
m.SetRcode(r, dns.RcodeServerFailure)
|
m.SetRcode(r, dns.RcodeServerFailure)
|
||||||
m.Extra = nil
|
m.Extra = nil
|
||||||
m.Answer = nil
|
m.Answer = nil
|
||||||
b, _ = m.Pack()
|
b, _ = m.Pack()
|
||||||
}
|
}
|
||||||
|
// The reply is smaller then 512 bytes, so it will always "fit"
|
||||||
w.Write(b)
|
w.Write(b)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user