Skip to content

Commit

Permalink
all: upd chlog
Browse files Browse the repository at this point in the history
  • Loading branch information
schzhn committed Aug 3, 2023
1 parent 4f9e8fc commit fbcccc2
Show file tree
Hide file tree
Showing 7 changed files with 17 additions and 13 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,13 @@ In this release, the schema version has changed from 24 to 25.
remove the new object `pprof`, set back `debug_pprof`, and change the
`schema_version` back to `24`.

### Fixed

- Panic on stopping AdGuard Home while DNS requests are in process of filtering
([#5948]).

[#5948]: https://github.com/AdguardTeam/AdGuardHome/issues/5948

<!--
NOTE: Add new changes ABOVE THIS COMMENT.
-->
Expand Down
5 changes: 5 additions & 0 deletions internal/dnsforward/dnsforward.go
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,11 @@ func (s *Server) Close() {
s.serverLock.Lock()
defer s.serverLock.Unlock()

// TODO(s.chzhen): Remove it.
s.stats = nil
s.queryLog = nil
s.dnsProxy = nil

if err := s.ipset.close(); err != nil {
log.Error("dnsforward: closing ipset: %s", err)
}
Expand Down
4 changes: 2 additions & 2 deletions internal/dnsforward/dnsforward_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -335,7 +335,7 @@ func TestServer_timeout(t *testing.T) {
},
}

s, err := NewServer(DNSCreateParams{})
s, err := NewServer(DNSCreateParams{DNSFilter: &filtering.DNSFilter{}})
require.NoError(t, err)

err = s.Prepare(srvConf)
Expand All @@ -345,7 +345,7 @@ func TestServer_timeout(t *testing.T) {
})

t.Run("default", func(t *testing.T) {
s, err := NewServer(DNSCreateParams{})
s, err := NewServer(DNSCreateParams{DNSFilter: &filtering.DNSFilter{}})
require.NoError(t, err)

s.conf.FilteringConfig.BlockingMode = BlockingModeDefault
Expand Down
4 changes: 0 additions & 4 deletions internal/dnsforward/filter.go
Original file line number Diff line number Diff line change
Expand Up @@ -145,10 +145,6 @@ func (s *Server) checkHostRules(host string, rrtype uint16, setts *filtering.Set
s.serverLock.RLock()
defer s.serverLock.RUnlock()

if s.dnsFilter == nil {
return nil, nil
}

var res filtering.Result
res, err = s.dnsFilter.CheckHostRules(host, rrtype, setts)
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion internal/dnsforward/http.go
Original file line number Diff line number Diff line change
Expand Up @@ -667,7 +667,7 @@ func (s *Server) parseUpstreamLine(
PreferIPv6: opts.PreferIPv6,
}

if s.dnsFilter != nil && s.dnsFilter.EtcHosts != nil {
if s.dnsFilter.EtcHosts != nil {
resolved := s.resolveUpstreamHost(extractUpstreamHost(upstreamAddr))
sortNetIPAddrs(resolved, opts.PreferIPv6)
opts.ServerIPAddrs = resolved
Expand Down
6 changes: 1 addition & 5 deletions internal/dnsforward/process.go
Original file line number Diff line number Diff line change
Expand Up @@ -762,10 +762,6 @@ func (s *Server) processFilteringBeforeRequest(ctx *dnsContext) (rc resultCode)
s.serverLock.RLock()
defer s.serverLock.RUnlock()

if s.dnsFilter == nil {
return resultCodeSuccess
}

var err error
if ctx.result, err = s.filterDNSRequest(ctx); err != nil {
ctx.err = err
Expand Down Expand Up @@ -972,7 +968,7 @@ func (s *Server) filterAfterResponse(dctx *dnsContext, pctx *proxy.DNSContext) (
// Check the response only if it's from an upstream. Don't check the
// response if the protection is disabled since dnsrewrite rules aren't
// applied to it anyway.
if !dctx.protectionEnabled || !dctx.responseFromUpstream || s.dnsFilter == nil {
if !dctx.protectionEnabled || !dctx.responseFromUpstream {
return resultCodeSuccess
}

Expand Down
2 changes: 1 addition & 1 deletion internal/dnsforward/upstreams.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ func (s *Server) prepareUpstreamConfig(
uc.Upstreams = defaultUpstreamConfig.Upstreams
}

if s.dnsFilter != nil && s.dnsFilter.EtcHosts != nil {
if s.dnsFilter.EtcHosts != nil {
err = s.replaceUpstreamsWithHosts(uc, opts)
if err != nil {
return nil, fmt.Errorf("resolving upstreams with hosts: %w", err)
Expand Down

0 comments on commit fbcccc2

Please sign in to comment.