From 9305c45813809abe0efede5dbebb38446a1cbd84 Mon Sep 17 00:00:00 2001 From: Eugene Burkov <e.burkov@adguard.com> Date: Fri, 29 Mar 2024 10:45:20 +0300 Subject: [PATCH] Pull request 2184: 6851 upstream mode reset Updates #6851. Squashed commit of the following: commit ffc50daff8e9a2b0fd48f10c5e66cdc0ab350488 Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Mon Mar 25 17:55:39 2024 +0300 all: fix changelog commit cdc2193875e72f6504cf283c84e1e6c6768d4f6e Author: Eugene Burkov <E.Burkov@AdGuard.COM> Date: Mon Mar 25 17:28:06 2024 +0300 dnsforward: fix upstream mode set --- CHANGELOG.md | 5 +++++ internal/dnsforward/http.go | 2 -- internal/dnsforward/http_test.go | 4 ++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 59a30bf1..9579a6e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,7 +35,12 @@ NOTE: Add new changes BELOW THIS COMMENT. will cause errors on startup in a future version. - Node.JS 16. Future versions will require at least Node.JS 18 to build. +### Fixed + +- Resetting DNS upstream mode when applying unrelated settings ([#6851]). + [#5829]: https://github.com/AdguardTeam/AdGuardHome/issues/5829 +[#6851]: https://github.com/AdguardTeam/AdGuardHome/issues/6851 <!-- NOTE: Add new changes ABOVE THIS COMMENT. diff --git a/internal/dnsforward/http.go b/internal/dnsforward/http.go index 9ad2395a..2d446ac9 100644 --- a/internal/dnsforward/http.go +++ b/internal/dnsforward/http.go @@ -474,8 +474,6 @@ func (s *Server) setConfig(dc *jsonDNSConfig) (shouldRestart bool) { if dc.UpstreamMode != nil { s.conf.UpstreamMode = mustParseUpstreamMode(*dc.UpstreamMode) - } else { - s.conf.UpstreamMode = UpstreamModeLoadBalance } if dc.EDNSCSUseCustom != nil && *dc.EDNSCSUseCustom { diff --git a/internal/dnsforward/http_test.go b/internal/dnsforward/http_test.go index 408e2e46..b0145b23 100644 --- a/internal/dnsforward/http_test.go +++ b/internal/dnsforward/http_test.go @@ -29,6 +29,10 @@ import ( "github.com/stretchr/testify/require" ) +// TODO(e.burkov): Use the better approach to testdata with a separate +// directory for each test, and a separate file for each subtest. See the +// [configmigrate] package. + // emptySysResolvers is an empty [SystemResolvers] implementation that always // returns nil. type emptySysResolvers struct{}