From ac2ecaf4f52729b677878a56484d7e13e80efaf3 Mon Sep 17 00:00:00 2001 From: Eugene Burkov Date: Mon, 24 Jul 2023 15:11:11 +0300 Subject: [PATCH] Pull request 1936: fix-addr-proc Merge in DNS/adguard-home from fix-addr-proc to master Squashed commit of the following: commit eb48be2aa4ceb27aa95c55034b35486d8f8d3c9e Author: Eugene Burkov Date: Fri Jul 21 14:43:04 2023 +0300 dnsforward: rm redundant precaution commit c58f1464e2c72b79724217f6ec1445da4a4ee5f5 Author: Eugene Burkov Date: Fri Jul 21 14:40:09 2023 +0300 all: revise the addr proc crutch commit 8a01be9e1abe70268eff996460d2e56132462887 Author: Eugene Burkov Date: Thu Jul 20 20:05:54 2023 +0300 dnsforward: fix tests panic --- internal/dnsforward/dnsforward.go | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/internal/dnsforward/dnsforward.go b/internal/dnsforward/dnsforward.go index 9cf979e5..a2f77950 100644 --- a/internal/dnsforward/dnsforward.go +++ b/internal/dnsforward/dnsforward.go @@ -562,9 +562,20 @@ func (s *Server) Prepare(conf *ServerConfig) (err error) { s.recDetector.clear() + s.setupAddrProc() + + s.registerHandlers() + + return nil +} + +// setupAddrProc initializes the address processor. For internal use only. +func (s *Server) setupAddrProc() { + // TODO(a.garipov): This is a crutch for tests; remove. if s.conf.AddrProcConf == nil { - // TODO(a.garipov): This is a crutch for tests; remove. s.conf.AddrProcConf = &client.DefaultAddrProcConfig{} + } + if s.conf.AddrProcConf.AddressUpdater == nil { s.addrProc = client.EmptyAddrProc{} } else { c := s.conf.AddrProcConf @@ -579,10 +590,6 @@ func (s *Server) Prepare(conf *ServerConfig) (err error) { // logic is moved to package client. c.InitialAddresses = nil } - - s.registerHandlers() - - return nil } // validateBlockingMode returns an error if the blocking mode data aren't valid.