bugfixes #1
@ -121,7 +121,15 @@ func handleRequest(w dns.ResponseWriter, r *dns.Msg, zone zoneView) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if len(m.Answer) == 0 {
|
if len(m.Answer) == 0 {
|
||||||
m.SetRcode(m, dns.RcodeNameError)
|
var soa dns.RR
|
||||||
|
for _, v := range zone.rr[dns.TypeSOA] {
|
||||||
|
if len(v) == 1 {
|
||||||
|
soa = v[0]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if soa != nil {
|
||||||
|
m.Extra = append(m.Extra, soa)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
w.WriteMsg(m)
|
w.WriteMsg(m)
|
||||||
|
@ -12,7 +12,7 @@ import (
|
|||||||
"github.com/miekg/dns"
|
"github.com/miekg/dns"
|
||||||
)
|
)
|
||||||
|
|
||||||
const blockTTL uint32 = 300
|
const blockTTL uint32 = 604800
|
||||||
|
|
||||||
var nullIPv4 = net.IPv4(0, 0, 0, 0)
|
var nullIPv4 = net.IPv4(0, 0, 0, 0)
|
||||||
var nullIPv6 = net.ParseIP("::/0")
|
var nullIPv6 = net.ParseIP("::/0")
|
||||||
@ -86,12 +86,10 @@ func parseRawBlacklist(blacklist configBlacklist, raw string) []string {
|
|||||||
// parseHostFormat parse the string in the format of a hostfile
|
// parseHostFormat parse the string in the format of a hostfile
|
||||||
func parseHostFormat(raw string) []string {
|
func parseHostFormat(raw string) []string {
|
||||||
finalList := make([]string, 0)
|
finalList := make([]string, 0)
|
||||||
reg := regexp.MustCompile(`(?mi)^\s*(#*)\s*(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s+([a-zA-Z0-9\.\- ]+)$`)
|
reg := regexp.MustCompile(`(?m)^\s*(0\.0\.0\.0) ([a-zA-Z0-9-.]*)`)
|
||||||
matches := reg.FindAllStringSubmatch(raw, -1)
|
matches := reg.FindAllStringSubmatch(raw, -1)
|
||||||
for _, match := range matches {
|
for _, match := range matches {
|
||||||
if match[1] != "#" {
|
finalList = append(finalList, dns.Fqdn(match[2]))
|
||||||
finalList = append(finalList, dns.Fqdn(match[3]))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return finalList
|
return finalList
|
||||||
|
Loading…
Reference in New Issue
Block a user