diff --git a/dns_server.go b/dns_server.go index 60cceae..19bc5ce 100644 --- a/dns_server.go +++ b/dns_server.go @@ -4,6 +4,7 @@ import ( "fmt" "net" "strconv" + "strings" "sync" "github.com/miekg/dns" @@ -33,11 +34,10 @@ func newDnsRecords(hostMap *HostMap) *dnsRecords { func (d *dnsRecords) Query(data string) string { d.RLock() - if r, ok := d.dnsMap[data]; ok { - d.RUnlock() + defer d.RUnlock() + if r, ok := d.dnsMap[strings.ToLower(data)]; ok { return r } - d.RUnlock() return "" } @@ -62,8 +62,8 @@ func (d *dnsRecords) QueryCert(data string) string { func (d *dnsRecords) Add(host, data string) { d.Lock() - d.dnsMap[host] = data - d.Unlock() + defer d.Unlock() + d.dnsMap[strings.ToLower(host)] = data } func parseQuery(l *logrus.Logger, m *dns.Msg, w dns.ResponseWriter) {