|
@@ -21,16 +21,18 @@ func serve(w dns.ResponseWriter, req *dns.Msg, z *Zone) {
|
|
logPrintf("[zone %s] incoming %s %s %d from %s\n", z.Origin, req.Question[0].Name,
|
|
logPrintf("[zone %s] incoming %s %s %d from %s\n", z.Origin, req.Question[0].Name,
|
|
dns.Rr_str[qtype], req.MsgHdr.Id, w.RemoteAddr())
|
|
dns.Rr_str[qtype], req.MsgHdr.Id, w.RemoteAddr())
|
|
|
|
|
|
- //log.Printf("ZONE DATA %#v\n", z)
|
|
|
|
-
|
|
|
|
- log.Println("Got request", req)
|
|
|
|
|
|
+ if *flaglog {
|
|
|
|
+ log.Println("Got request", req)
|
|
|
|
+ }
|
|
|
|
|
|
label := getQuestionName(z, req)
|
|
label := getQuestionName(z, req)
|
|
|
|
|
|
var country string
|
|
var country string
|
|
if geoIP != nil {
|
|
if geoIP != nil {
|
|
country = geoIP.GetCountry(w.RemoteAddr().String())
|
|
country = geoIP.GetCountry(w.RemoteAddr().String())
|
|
- log.Println("Country:", country)
|
|
|
|
|
|
+ if *flaglog {
|
|
|
|
+ log.Println("Country:", country)
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
m := new(dns.Msg)
|
|
m := new(dns.Msg)
|
|
@@ -59,13 +61,10 @@ func serve(w dns.ResponseWriter, req *dns.Msg, z *Zone) {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
- log.Println("Has the label, looking for records")
|
|
|
|
-
|
|
|
|
if servers := labels.Picker(qtype, 4); servers != nil {
|
|
if servers := labels.Picker(qtype, 4); servers != nil {
|
|
var rrs []dns.RR
|
|
var rrs []dns.RR
|
|
for _, record := range servers {
|
|
for _, record := range servers {
|
|
rr := record.RR
|
|
rr := record.RR
|
|
- log.Println("RR", rr)
|
|
|
|
rr.Header().Name = req.Question[0].Name
|
|
rr.Header().Name = req.Question[0].Name
|
|
log.Println(rr)
|
|
log.Println(rr)
|
|
rrs = append(rrs, rr)
|
|
rrs = append(rrs, rr)
|
|
@@ -84,8 +83,6 @@ func serve(w dns.ResponseWriter, req *dns.Msg, z *Zone) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- log.Println("Writing reply")
|
|
|
|
-
|
|
|
|
w.Write(m)
|
|
w.Write(m)
|
|
return
|
|
return
|
|
}
|
|
}
|