mirror of
https://github.com/AdguardTeam/AdGuardHome.git
synced 2024-11-25 06:25:44 +03:00
Merge remote-tracking branch 'origin/master' into 2499-rewrites-3
This commit is contained in:
commit
990311c9e0
4 changed files with 17 additions and 25 deletions
|
@ -34,7 +34,13 @@ See also the [v0.107.21 GitHub milestone][ms-v0.107.21].
|
||||||
to update the URLs to the new ones. Custom filters added by users themselves
|
to update the URLs to the new ones. Custom filters added by users themselves
|
||||||
do not require re-adding.
|
do not require re-adding.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Errors popping up during updates of settings, which could sometimes cause the
|
||||||
|
server to stop responding ([#5251]).
|
||||||
|
|
||||||
[#5238]: https://github.com/AdguardTeam/AdGuardHome/issues/5238
|
[#5238]: https://github.com/AdguardTeam/AdGuardHome/issues/5238
|
||||||
|
[#5251]: https://github.com/AdguardTeam/AdGuardHome/issues/5251
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
2
go.mod
2
go.mod
|
@ -3,7 +3,7 @@ module github.com/AdguardTeam/AdGuardHome
|
||||||
go 1.18
|
go 1.18
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/AdguardTeam/dnsproxy v0.46.4
|
github.com/AdguardTeam/dnsproxy v0.46.5
|
||||||
github.com/AdguardTeam/golibs v0.11.3
|
github.com/AdguardTeam/golibs v0.11.3
|
||||||
github.com/AdguardTeam/urlfilter v0.16.0
|
github.com/AdguardTeam/urlfilter v0.16.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.46.4 h1:/+wnTG0q2TkGQyA1PeSsjv4/f5ZprGduKPSoOcG+rOU=
|
github.com/AdguardTeam/dnsproxy v0.46.5 h1:TiJZhwaIDDaKkqEfJ9AD9aroFjcHN8oEbKB8WfTjSIs=
|
||||||
github.com/AdguardTeam/dnsproxy v0.46.4/go.mod h1:yYDMAH6ay2PxLcLtfVM3FUiyv/U9B/zYO+cIIssuJNU=
|
github.com/AdguardTeam/dnsproxy v0.46.5/go.mod h1:yKBVgFlE6CqTQtye++3e7SATaMPc4Ixij+KkHsM6HhM=
|
||||||
github.com/AdguardTeam/golibs v0.4.0/go.mod h1:skKsDKIBB7kkFflLJBpfGX+G8QFTx0WKUzB6TIgtUj4=
|
github.com/AdguardTeam/golibs v0.4.0/go.mod h1:skKsDKIBB7kkFflLJBpfGX+G8QFTx0WKUzB6TIgtUj4=
|
||||||
github.com/AdguardTeam/golibs v0.10.4/go.mod h1:rSfQRGHIdgfxriDDNgNJ7HmE5zRoURq8R+VdR81Zuzw=
|
github.com/AdguardTeam/golibs v0.10.4/go.mod h1:rSfQRGHIdgfxriDDNgNJ7HmE5zRoURq8R+VdR81Zuzw=
|
||||||
github.com/AdguardTeam/golibs v0.11.3 h1:Oif+REq2WLycQ2Xm3ZPmJdfftptss0HbGWbxdFaC310=
|
github.com/AdguardTeam/golibs v0.11.3 h1:Oif+REq2WLycQ2Xm3ZPmJdfftptss0HbGWbxdFaC310=
|
||||||
|
|
|
@ -570,46 +570,32 @@ func (s *Server) Stop() error {
|
||||||
|
|
||||||
// stopLocked stops the DNS server without locking. For internal use only.
|
// stopLocked stops the DNS server without locking. For internal use only.
|
||||||
func (s *Server) stopLocked() (err error) {
|
func (s *Server) stopLocked() (err error) {
|
||||||
|
// TODO(e.burkov, a.garipov): Return critical errors, not just log them.
|
||||||
|
// This will require filtering all the non-critical errors in
|
||||||
|
// [upstream.Upstream] implementations.
|
||||||
|
|
||||||
if s.dnsProxy != nil {
|
if s.dnsProxy != nil {
|
||||||
err = s.dnsProxy.Stop()
|
err = s.dnsProxy.Stop()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("closing primary resolvers: %w", err)
|
log.Error("dnsforward: closing primary resolvers: %s", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var errs []error
|
|
||||||
|
|
||||||
if upsConf := s.internalProxy.UpstreamConfig; upsConf != nil {
|
if upsConf := s.internalProxy.UpstreamConfig; upsConf != nil {
|
||||||
const action = "closing internal resolvers"
|
|
||||||
|
|
||||||
err = upsConf.Close()
|
err = upsConf.Close()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if errors.Is(err, net.ErrClosed) {
|
log.Error("dnsforward: closing internal resolvers: %s", err)
|
||||||
log.Debug("dnsforward: %s: %s", action, err)
|
|
||||||
} else {
|
|
||||||
errs = append(errs, fmt.Errorf("%s: %w", action, err))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if upsConf := s.localResolvers.UpstreamConfig; upsConf != nil {
|
if upsConf := s.localResolvers.UpstreamConfig; upsConf != nil {
|
||||||
const action = "closing local resolvers"
|
|
||||||
|
|
||||||
err = upsConf.Close()
|
err = upsConf.Close()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if errors.Is(err, net.ErrClosed) {
|
log.Error("dnsforward: closing local resolvers: %s", err)
|
||||||
log.Debug("dnsforward: %s: %s", action, err)
|
|
||||||
} else {
|
|
||||||
errs = append(errs, fmt.Errorf("%s: %w", action, err))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(errs) > 0 {
|
|
||||||
return errors.List("stopping dns server", errs...)
|
|
||||||
} else {
|
|
||||||
s.isRunning = false
|
s.isRunning = false
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue