From 8521635f63e9570a4e75033533dec8180e7f130a Mon Sep 17 00:00:00 2001 From: Simon Zolin Date: Tue, 17 Dec 2019 13:09:03 +0300 Subject: [PATCH] - DNS: fix slow response to /status and /access/list requests --- dnsforward/access.go | 4 ++-- dnsforward/dnsforward.go | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dnsforward/access.go b/dnsforward/access.go index e27ddb1f..6868c6d7 100644 --- a/dnsforward/access.go +++ b/dnsforward/access.go @@ -119,13 +119,13 @@ type accessListJSON struct { } func (s *Server) handleAccessList(w http.ResponseWriter, r *http.Request) { - s.Lock() + s.RLock() j := accessListJSON{ AllowedClients: s.conf.AllowedClients, DisallowedClients: s.conf.DisallowedClients, BlockedHosts: s.conf.BlockedHosts, } - s.Unlock() + s.RUnlock() w.Header().Set("Content-Type", "application/json") err := json.NewEncoder(w).Encode(j) diff --git a/dnsforward/dnsforward.go b/dnsforward/dnsforward.go index beacbabf..c3c05ad7 100644 --- a/dnsforward/dnsforward.go +++ b/dnsforward/dnsforward.go @@ -94,7 +94,7 @@ func stringArrayDup(a []string) []string { // WriteDiskConfig - write configuration func (s *Server) WriteDiskConfig(c *FilteringConfig) { - s.Lock() + s.RLock() sc := s.conf.FilteringConfig *c = sc c.RatelimitWhitelist = stringArrayDup(sc.RatelimitWhitelist) @@ -103,7 +103,7 @@ func (s *Server) WriteDiskConfig(c *FilteringConfig) { c.DisallowedClients = stringArrayDup(sc.DisallowedClients) c.BlockedHosts = stringArrayDup(sc.BlockedHosts) c.UpstreamDNS = stringArrayDup(sc.UpstreamDNS) - s.Unlock() + s.RUnlock() } // FilteringConfig represents the DNS filtering configuration of AdGuard Home diff --git a/go.mod b/go.mod index 1e6f708d..67fc7d0c 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/AdguardTeam/AdGuardHome go 1.13 require ( - github.com/AdguardTeam/dnsproxy v0.23.2 + github.com/AdguardTeam/dnsproxy v0.23.3 github.com/AdguardTeam/golibs v0.3.0 github.com/AdguardTeam/urlfilter v0.7.0 github.com/NYTimes/gziphandler v1.1.1 diff --git a/go.sum b/go.sum index af55f042..3945fdff 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -github.com/AdguardTeam/dnsproxy v0.23.2 h1:HbBzoe9Pssj4UjvbeBUPHz7cpCt/7/LpVKu4olhPcKk= -github.com/AdguardTeam/dnsproxy v0.23.2/go.mod h1:2qy8rpdfBzKgMPxkHmPdaNK4XZJ322v4KtVGI8s8Bn0= +github.com/AdguardTeam/dnsproxy v0.23.3 h1:RzI9M0sX99t7qnlikvKTPW25sCFzgfBStxUJ+2z1KQI= +github.com/AdguardTeam/dnsproxy v0.23.3/go.mod h1:2qy8rpdfBzKgMPxkHmPdaNK4XZJ322v4KtVGI8s8Bn0= github.com/AdguardTeam/golibs v0.2.4 h1:GUssokegKxKF13K67Pgl0ZGwqHjNN6X7sep5ik6ORdY= github.com/AdguardTeam/golibs v0.2.4/go.mod h1:R3M+mAg3nWG4X4Hsag5eef/TckHFH12ZYhK7AzJc8+U= github.com/AdguardTeam/golibs v0.3.0 h1:1zO8ulGEOdXDDM++Ap4sYfTsT/Z4tZBZtiWSA4ykcOU=