- DNS: fix slow response to /status and /access/list requests
This commit is contained in:
parent
04de9d0f7b
commit
8521635f63
|
@ -119,13 +119,13 @@ type accessListJSON struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) handleAccessList(w http.ResponseWriter, r *http.Request) {
|
func (s *Server) handleAccessList(w http.ResponseWriter, r *http.Request) {
|
||||||
s.Lock()
|
s.RLock()
|
||||||
j := accessListJSON{
|
j := accessListJSON{
|
||||||
AllowedClients: s.conf.AllowedClients,
|
AllowedClients: s.conf.AllowedClients,
|
||||||
DisallowedClients: s.conf.DisallowedClients,
|
DisallowedClients: s.conf.DisallowedClients,
|
||||||
BlockedHosts: s.conf.BlockedHosts,
|
BlockedHosts: s.conf.BlockedHosts,
|
||||||
}
|
}
|
||||||
s.Unlock()
|
s.RUnlock()
|
||||||
|
|
||||||
w.Header().Set("Content-Type", "application/json")
|
w.Header().Set("Content-Type", "application/json")
|
||||||
err := json.NewEncoder(w).Encode(j)
|
err := json.NewEncoder(w).Encode(j)
|
||||||
|
|
|
@ -94,7 +94,7 @@ func stringArrayDup(a []string) []string {
|
||||||
|
|
||||||
// WriteDiskConfig - write configuration
|
// WriteDiskConfig - write configuration
|
||||||
func (s *Server) WriteDiskConfig(c *FilteringConfig) {
|
func (s *Server) WriteDiskConfig(c *FilteringConfig) {
|
||||||
s.Lock()
|
s.RLock()
|
||||||
sc := s.conf.FilteringConfig
|
sc := s.conf.FilteringConfig
|
||||||
*c = sc
|
*c = sc
|
||||||
c.RatelimitWhitelist = stringArrayDup(sc.RatelimitWhitelist)
|
c.RatelimitWhitelist = stringArrayDup(sc.RatelimitWhitelist)
|
||||||
|
@ -103,7 +103,7 @@ func (s *Server) WriteDiskConfig(c *FilteringConfig) {
|
||||||
c.DisallowedClients = stringArrayDup(sc.DisallowedClients)
|
c.DisallowedClients = stringArrayDup(sc.DisallowedClients)
|
||||||
c.BlockedHosts = stringArrayDup(sc.BlockedHosts)
|
c.BlockedHosts = stringArrayDup(sc.BlockedHosts)
|
||||||
c.UpstreamDNS = stringArrayDup(sc.UpstreamDNS)
|
c.UpstreamDNS = stringArrayDup(sc.UpstreamDNS)
|
||||||
s.Unlock()
|
s.RUnlock()
|
||||||
}
|
}
|
||||||
|
|
||||||
// FilteringConfig represents the DNS filtering configuration of AdGuard Home
|
// FilteringConfig represents the DNS filtering configuration of AdGuard Home
|
||||||
|
|
2
go.mod
2
go.mod
|
@ -3,7 +3,7 @@ module github.com/AdguardTeam/AdGuardHome
|
||||||
go 1.13
|
go 1.13
|
||||||
|
|
||||||
require (
|
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/golibs v0.3.0
|
||||||
github.com/AdguardTeam/urlfilter v0.7.0
|
github.com/AdguardTeam/urlfilter v0.7.0
|
||||||
github.com/NYTimes/gziphandler v1.1.1
|
github.com/NYTimes/gziphandler v1.1.1
|
||||||
|
|
4
go.sum
4
go.sum
|
@ -1,5 +1,5 @@
|
||||||
github.com/AdguardTeam/dnsproxy v0.23.2 h1:HbBzoe9Pssj4UjvbeBUPHz7cpCt/7/LpVKu4olhPcKk=
|
github.com/AdguardTeam/dnsproxy v0.23.3 h1:RzI9M0sX99t7qnlikvKTPW25sCFzgfBStxUJ+2z1KQI=
|
||||||
github.com/AdguardTeam/dnsproxy v0.23.2/go.mod h1:2qy8rpdfBzKgMPxkHmPdaNK4XZJ322v4KtVGI8s8Bn0=
|
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 h1:GUssokegKxKF13K67Pgl0ZGwqHjNN6X7sep5ik6ORdY=
|
||||||
github.com/AdguardTeam/golibs v0.2.4/go.mod h1:R3M+mAg3nWG4X4Hsag5eef/TckHFH12ZYhK7AzJc8+U=
|
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=
|
github.com/AdguardTeam/golibs v0.3.0 h1:1zO8ulGEOdXDDM++Ap4sYfTsT/Z4tZBZtiWSA4ykcOU=
|
||||||
|
|
Loading…
Reference in New Issue