Extract makeDNSReply function
This commit is contained in:
1 parent
673b420afa
commit
b49eb5c2ac
1 file changed
+10
-5
+10
-5
@@ -9,16 +9,21 @@ import (
|
||||
|
||||
var zone = new(weavedns.ZoneDb)
|
||||
|
||||
func handleLocal(w dns.ResponseWriter, r *dns.Msg) {
|
||||
func makeDNSReply(r *dns.Msg, name string, addr net.IP) *dns.Msg {
|
||||
m := new(dns.Msg)
|
||||
m.SetReply(r)
|
||||
hdr := dns.RR_Header{Name: name, Rrtype: dns.TypeA,
|
||||
Class: dns.ClassINET, Ttl: 3600}
|
||||
a := &dns.A{hdr, addr}
|
||||
m.Answer = append(m.Answer, a)
|
||||
return m
|
||||
}
|
||||
|
||||
func handleLocal(w dns.ResponseWriter, r *dns.Msg) {
|
||||
q := r.Question[0]
|
||||
ip, err := zone.MatchLocal(q.Name)
|
||||
if err == nil {
|
||||
hdr := dns.RR_Header{Name: q.Name, Rrtype: dns.TypeA,
|
||||
Class: dns.ClassINET, Ttl: 3600}
|
||||
a := &dns.A{hdr, net.ParseIP(ip)}
|
||||
m.Answer = append(m.Answer, a)
|
||||
m := makeDNSReply(r, q.Name, net.ParseIP(ip))
|
||||
w.WriteMsg(m)
|
||||
} else {
|
||||
log.Printf("Failed lookup for %s", q.Name)
|
||||
|
||||
Reference in new issue
Block a user