Fixing review comments
This commit is contained in:
@@ -125,7 +125,7 @@ func (s *Server) startInternal(config *ServerConfig) error {
|
||||
RefuseAny: s.RefuseAny,
|
||||
CacheEnabled: true,
|
||||
Upstreams: s.Upstreams,
|
||||
Handler: s,
|
||||
Handler: s.handleDNSRequest,
|
||||
}
|
||||
|
||||
if proxyConfig.UDPListenAddr == nil {
|
||||
@@ -220,8 +220,8 @@ func (s *Server) Reconfigure(config *ServerConfig) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// ServeDNS filters the incoming DNS requests and writes them to the query log
|
||||
func (s *Server) ServeDNS(d *proxy.DNSContext, next proxy.Handler) error {
|
||||
// handleDNSRequest filters the incoming DNS requests and writes them to the query log
|
||||
func (s *Server) handleDNSRequest(p *proxy.Proxy, d *proxy.DNSContext) error {
|
||||
start := time.Now()
|
||||
|
||||
// use dnsfilter before cache -- changed settings or filters would require cache invalidation otherwise
|
||||
@@ -232,7 +232,7 @@ func (s *Server) ServeDNS(d *proxy.DNSContext, next proxy.Handler) error {
|
||||
|
||||
if d.Res == nil {
|
||||
// request was not filtered so let it be processed further
|
||||
err = next.ServeDNS(d, nil)
|
||||
err = p.Resolve(d)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -10,20 +10,16 @@ import (
|
||||
"github.com/miekg/dns"
|
||||
)
|
||||
|
||||
const (
|
||||
listenPort = 48122
|
||||
)
|
||||
|
||||
func TestServer(t *testing.T) {
|
||||
s := Server{}
|
||||
s.UDPListenAddr = &net.UDPAddr{Port: listenPort}
|
||||
s.UDPListenAddr = &net.UDPAddr{Port: 0}
|
||||
err := s.Start(nil)
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to start server: %s", err)
|
||||
}
|
||||
|
||||
// server is running, send a message
|
||||
addr := s.UDPListenAddr
|
||||
addr := s.dnsProxy.Addr("udp")
|
||||
req := dns.Msg{}
|
||||
req.Id = dns.Id()
|
||||
req.RecursionDesired = true
|
||||
@@ -54,14 +50,14 @@ func TestServer(t *testing.T) {
|
||||
|
||||
func TestInvalidRequest(t *testing.T) {
|
||||
s := Server{}
|
||||
s.UDPListenAddr = &net.UDPAddr{Port: listenPort}
|
||||
s.UDPListenAddr = &net.UDPAddr{Port: 0}
|
||||
err := s.Start(nil)
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to start server: %s", err)
|
||||
}
|
||||
|
||||
// server is running, send a message
|
||||
addr := s.UDPListenAddr
|
||||
addr := s.dnsProxy.Addr("udp")
|
||||
req := dns.Msg{}
|
||||
req.Id = dns.Id()
|
||||
req.RecursionDesired = true
|
||||
@@ -80,12 +76,12 @@ func TestInvalidRequest(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestBlockedRequest(t *testing.T) {
|
||||
s, addr := createTestServer()
|
||||
|
||||
s := createTestServer()
|
||||
err := s.Start(nil)
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to start server: %s", err)
|
||||
}
|
||||
addr := s.dnsProxy.Addr("udp")
|
||||
|
||||
//
|
||||
// NXDomain blocking
|
||||
@@ -112,12 +108,12 @@ func TestBlockedRequest(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestBlockedByHosts(t *testing.T) {
|
||||
s, addr := createTestServer()
|
||||
|
||||
s := createTestServer()
|
||||
err := s.Start(nil)
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to start server: %s", err)
|
||||
}
|
||||
addr := s.dnsProxy.Addr("udp")
|
||||
|
||||
//
|
||||
// Hosts blocking
|
||||
@@ -151,12 +147,12 @@ func TestBlockedByHosts(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestBlockedBySafeBrowsing(t *testing.T) {
|
||||
s, addr := createTestServer()
|
||||
|
||||
s := createTestServer()
|
||||
err := s.Start(nil)
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to start server: %s", err)
|
||||
}
|
||||
addr := s.dnsProxy.Addr("udp")
|
||||
|
||||
//
|
||||
// Safebrowsing blocking
|
||||
@@ -200,10 +196,9 @@ func TestBlockedBySafeBrowsing(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func createTestServer() (*Server, net.Addr) {
|
||||
func createTestServer() *Server {
|
||||
s := Server{}
|
||||
addr := &net.UDPAddr{Port: listenPort}
|
||||
s.UDPListenAddr = addr
|
||||
s.UDPListenAddr = &net.UDPAddr{Port: 0}
|
||||
s.FilteringConfig.FilteringEnabled = true
|
||||
s.FilteringConfig.ProtectionEnabled = true
|
||||
s.FilteringConfig.SafeBrowsingEnabled = true
|
||||
@@ -215,5 +210,5 @@ func createTestServer() (*Server, net.Addr) {
|
||||
}
|
||||
filter := dnsfilter.Filter{ID: 1, Rules: rules}
|
||||
s.Filters = append(s.Filters, filter)
|
||||
return &s, addr
|
||||
return &s
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user