From b78ac2eeb1b408586808ddbd1c87107f373b11b0 Mon Sep 17 00:00:00 2001 From: Eugene Burkov Date: Wed, 26 May 2021 17:20:34 +0300 Subject: [PATCH] all: rename dns config field --- client/src/__locales/en.json | 4 +-- .../components/Settings/Dns/Upstream/Form.js | 6 ++-- .../components/Settings/Dns/Upstream/index.js | 8 ++--- internal/dnsforward/config.go | 6 ++-- internal/dnsforward/dns.go | 3 +- internal/dnsforward/dns_test.go | 2 +- internal/dnsforward/dnsforward.go | 6 ++-- internal/dnsforward/dnsforward_test.go | 6 ++-- internal/dnsforward/http.go | 10 +++--- .../TestDNSForwardHTTTP_handleGetConfig.json | 6 ++-- .../TestDNSForwardHTTTP_handleSetConfig.json | 32 +++++++++---------- internal/home/clients.go | 2 ++ internal/home/dns.go | 2 +- openapi/CHANGELOG.md | 6 ++-- openapi/openapi.yaml | 2 +- 15 files changed, 52 insertions(+), 49 deletions(-) diff --git a/client/src/__locales/en.json b/client/src/__locales/en.json index 837bd969722..b50675f5430 100644 --- a/client/src/__locales/en.json +++ b/client/src/__locales/en.json @@ -13,8 +13,8 @@ "local_ptr_placeholder": "Enter one server address per line", "resolve_clients_title": "Enable reverse resolving of clients' IP addresses", "resolve_clients_desc": "If enabled, AdGuard Home will attempt to reversely resolve clients' IP addresses into their hostnames by sending PTR queries to corresponding resolvers (private DNS servers for local clients, upstream server for clients with public IP addresses).", - "local_ips_rdns_title": "Use private rDNS resolvers", - "local_ips_rdns_desc": "Perform reverse DNS lookups for locally-served addresses using these upstream servers. If disabled, AdGuard Home responds with NXDOMAIN to all such PTR requests except for clients known from DHCP, /etc/hosts, and so on.", + "use_private_ptr_resolvers_title": "Use private rDNS resolvers", + "use_private_ptr_resolvers_desc": "Perform reverse DNS lookups for locally-served addresses using these upstream servers. If disabled, AdGuard Home responds with NXDOMAIN to all such PTR requests except for clients known from DHCP, /etc/hosts, and so on.", "check_dhcp_servers": "Check for DHCP servers", "save_config": "Save configuration", "enabled_dhcp": "DHCP server enabled", diff --git a/client/src/components/Settings/Dns/Upstream/Form.js b/client/src/components/Settings/Dns/Upstream/Form.js index a0a179eb385..99364549d43 100644 --- a/client/src/components/Settings/Dns/Upstream/Form.js +++ b/client/src/components/Settings/Dns/Upstream/Form.js @@ -224,11 +224,11 @@ const Form = ({ />
diff --git a/client/src/components/Settings/Dns/Upstream/index.js b/client/src/components/Settings/Dns/Upstream/index.js index 83665227570..05dc929ed8b 100644 --- a/client/src/components/Settings/Dns/Upstream/index.js +++ b/client/src/components/Settings/Dns/Upstream/index.js @@ -14,7 +14,7 @@ const Upstream = () => { upstream_mode, resolve_clients, local_ptr_upstreams, - local_ips_rdns, + use_private_ptr_resolvers, } = useSelector((state) => state.dnsConfig, shallowEqual); const upstream_dns_file = useSelector((state) => state.dnsConfig.upstream_dns_file); @@ -26,7 +26,7 @@ const Upstream = () => { upstream_mode, resolve_clients, local_ptr_upstreams, - local_ips_rdns, + use_private_ptr_resolvers, } = values; const dnsConfig = { @@ -34,7 +34,7 @@ const Upstream = () => { upstream_mode, resolve_clients, local_ptr_upstreams, - local_ips_rdns, + use_private_ptr_resolvers, ...(upstream_dns_file ? null : { upstream_dns }), }; @@ -56,7 +56,7 @@ const Upstream = () => { upstream_mode, resolve_clients, local_ptr_upstreams, - local_ips_rdns, + use_private_ptr_resolvers, }} onSubmit={handleSubmit} /> diff --git a/internal/dnsforward/config.go b/internal/dnsforward/config.go index fdc4d6d8b99..0fea1bd9a18 100644 --- a/internal/dnsforward/config.go +++ b/internal/dnsforward/config.go @@ -153,9 +153,9 @@ type ServerConfig struct { // ResolveClients signals if the RDNS should resolve clients' addresses. ResolveClients bool - // UsePrivateResolvers defines if the PTR requests for addresses from - // locally-served networks should be handled. - UsePrivateResolvers bool + // UsePrivateRDNS defines if the PTR requests for unknown addresses from + // locally-served networks should be resolved via private PTR resolvers. + UsePrivateRDNS bool // LocalPTRResolvers is a slice of addresses to be used as upstreams for // resolving PTR queries for local addresses. diff --git a/internal/dnsforward/dns.go b/internal/dnsforward/dns.go index b4fac7b531a..364d447abf3 100644 --- a/internal/dnsforward/dns.go +++ b/internal/dnsforward/dns.go @@ -421,7 +421,7 @@ func (s *Server) processLocalPTR(ctx *dnsContext) (rc resultCode) { return resultCodeSuccess } - if s.conf.UsePrivateResolvers { + if s.conf.UsePrivateRDNS { if err := s.localResolvers.Resolve(d); err != nil { ctx.err = err @@ -432,6 +432,7 @@ func (s *Server) processLocalPTR(ctx *dnsContext) (rc resultCode) { if d.Res == nil { d.Res = s.genNXDomain(d.Req) + // Do not even put into query log. return resultCodeFinish } diff --git a/internal/dnsforward/dns_test.go b/internal/dnsforward/dns_test.go index bb229b4d5f5..06a3c0e159a 100644 --- a/internal/dnsforward/dns_test.go +++ b/internal/dnsforward/dns_test.go @@ -358,7 +358,7 @@ func TestServer_ProcessLocalPTR_usingResolvers(t *testing.T) { proxyCtx: proxyCtx, unreversedReqIP: net.IP{192, 168, 1, 1}, } - s.conf.UsePrivateResolvers = use + s.conf.UsePrivateRDNS = use } t.Run("enabled", func(t *testing.T) { diff --git a/internal/dnsforward/dnsforward.go b/internal/dnsforward/dnsforward.go index 72f44911728..15ddbc57804 100644 --- a/internal/dnsforward/dnsforward.go +++ b/internal/dnsforward/dnsforward.go @@ -210,7 +210,7 @@ func (s *Server) RDNSSettings() (localPTRResolvers []string, resolveClients, res return aghstrings.CloneSlice(s.conf.LocalPTRResolvers), s.conf.ResolveClients, - s.conf.UsePrivateResolvers + s.conf.UsePrivateRDNS } // Resolve - get IP addresses by host name from an upstream server. @@ -256,7 +256,7 @@ func (s *Server) Exchange(ip net.IP) (host string, err error) { var resolver *proxy.Proxy = s.localResolvers if !s.subnetDetector.IsLocallyServedNetwork(ip) { resolver = s.internalProxy - } else if !s.conf.UsePrivateResolvers { + } else if !s.conf.UsePrivateRDNS { return "", nil } @@ -303,7 +303,7 @@ func (s *Server) ResolvesPrivatePTR() (ok bool) { s.serverLock.RLock() defer s.serverLock.RUnlock() - return s.conf.UsePrivateResolvers + return s.conf.UsePrivateRDNS } // Start starts the DNS server. diff --git a/internal/dnsforward/dnsforward_test.go b/internal/dnsforward/dnsforward_test.go index 0bc5998b8b9..6ced48056e2 100644 --- a/internal/dnsforward/dnsforward_test.go +++ b/internal/dnsforward/dnsforward_test.go @@ -91,7 +91,7 @@ func createTestServer( if localUps != nil { s.localResolvers.Config.UpstreamConfig.Upstreams = []upstream.Upstream{localUps} - s.conf.UsePrivateResolvers = true + s.conf.UsePrivateRDNS = true } return s @@ -1216,7 +1216,7 @@ func TestServer_Exchange(t *testing.T) { }, }) srv.conf.ResolveClients = true - srv.conf.UsePrivateResolvers = true + srv.conf.UsePrivateRDNS = true var err error srv.subnetDetector, err = aghnet.NewSubnetDetector() @@ -1280,7 +1280,7 @@ func TestServer_Exchange(t *testing.T) { } t.Run("resolving_disabled", func(t *testing.T) { - srv.conf.UsePrivateResolvers = false + srv.conf.UsePrivateRDNS = false host, eerr := srv.Exchange(localIP) diff --git a/internal/dnsforward/http.go b/internal/dnsforward/http.go index 7a4d2cb4c3a..8ec9313d962 100644 --- a/internal/dnsforward/http.go +++ b/internal/dnsforward/http.go @@ -41,7 +41,7 @@ type dnsConfig struct { CacheMinTTL *uint32 `json:"cache_ttl_min"` CacheMaxTTL *uint32 `json:"cache_ttl_max"` ResolveClients *bool `json:"resolve_clients"` - LocalIPsRDNS *bool `json:"local_ips_rdns"` + UsePrivateRDNS *bool `json:"use_private_ptr_resolvers"` LocalPTRUpstreams *[]string `json:"local_ptr_upstreams"` } @@ -64,7 +64,7 @@ func (s *Server) getDNSConfig() dnsConfig { cacheMinTTL := s.conf.CacheMinTTL cacheMaxTTL := s.conf.CacheMaxTTL resolveClients := s.conf.ResolveClients - localIPsRDNS := s.conf.UsePrivateResolvers + usePrivateRDNS := s.conf.UsePrivateRDNS localPTRUpstreams := aghstrings.CloneSliceOrEmpty(s.conf.LocalPTRResolvers) var upstreamMode string if s.conf.FastestAddr { @@ -90,7 +90,7 @@ func (s *Server) getDNSConfig() dnsConfig { CacheMaxTTL: &cacheMaxTTL, UpstreamMode: &upstreamMode, ResolveClients: &resolveClients, - LocalIPsRDNS: &localIPsRDNS, + UsePrivateRDNS: &usePrivateRDNS, LocalPTRUpstreams: &localPTRUpstreams, } } @@ -315,8 +315,8 @@ func (s *Server) setConfig(dc dnsConfig) (restart bool) { s.conf.ResolveClients = *dc.ResolveClients } - if dc.LocalIPsRDNS != nil { - s.conf.UsePrivateResolvers = *dc.LocalIPsRDNS + if dc.UsePrivateRDNS != nil { + s.conf.UsePrivateRDNS = *dc.UsePrivateRDNS } return s.setConfigRestartable(dc) diff --git a/internal/dnsforward/testdata/TestDNSForwardHTTTP_handleGetConfig.json b/internal/dnsforward/testdata/TestDNSForwardHTTTP_handleGetConfig.json index f2912da989a..4d810c942f1 100644 --- a/internal/dnsforward/testdata/TestDNSForwardHTTTP_handleGetConfig.json +++ b/internal/dnsforward/testdata/TestDNSForwardHTTTP_handleGetConfig.json @@ -24,7 +24,7 @@ "cache_ttl_min": 0, "cache_ttl_max": 0, "resolve_clients": false, - "local_ips_rdns": false, + "use_private_ptr_resolvers": false, "local_ptr_upstreams": [] }, "fastest_addr": { @@ -52,7 +52,7 @@ "cache_ttl_min": 0, "cache_ttl_max": 0, "resolve_clients": false, - "local_ips_rdns": false, + "use_private_ptr_resolvers": false, "local_ptr_upstreams": [] }, "parallel": { @@ -80,7 +80,7 @@ "cache_ttl_min": 0, "cache_ttl_max": 0, "resolve_clients": false, - "local_ips_rdns": false, + "use_private_ptr_resolvers": false, "local_ptr_upstreams": [] } } \ No newline at end of file diff --git a/internal/dnsforward/testdata/TestDNSForwardHTTTP_handleSetConfig.json b/internal/dnsforward/testdata/TestDNSForwardHTTTP_handleSetConfig.json index 53d1b7de0fb..2d2e34b571f 100644 --- a/internal/dnsforward/testdata/TestDNSForwardHTTTP_handleSetConfig.json +++ b/internal/dnsforward/testdata/TestDNSForwardHTTTP_handleSetConfig.json @@ -31,7 +31,7 @@ "cache_ttl_min": 0, "cache_ttl_max": 0, "resolve_clients": false, - "local_ips_rdns": false, + "use_private_ptr_resolvers": false, "local_ptr_upstreams": [] } }, @@ -63,7 +63,7 @@ "cache_ttl_min": 0, "cache_ttl_max": 0, "resolve_clients": false, - "local_ips_rdns": false, + "use_private_ptr_resolvers": false, "local_ptr_upstreams": [] } }, @@ -96,7 +96,7 @@ "cache_ttl_min": 0, "cache_ttl_max": 0, "resolve_clients": false, - "local_ips_rdns": false, + "use_private_ptr_resolvers": false, "local_ptr_upstreams": [] } }, @@ -129,7 +129,7 @@ "cache_ttl_min": 0, "cache_ttl_max": 0, "resolve_clients": false, - "local_ips_rdns": false, + "use_private_ptr_resolvers": false, "local_ptr_upstreams": [] } }, @@ -162,7 +162,7 @@ "cache_ttl_min": 0, "cache_ttl_max": 0, "resolve_clients": false, - "local_ips_rdns": false, + "use_private_ptr_resolvers": false, "local_ptr_upstreams": [] } }, @@ -195,7 +195,7 @@ "cache_ttl_min": 0, "cache_ttl_max": 0, "resolve_clients": false, - "local_ips_rdns": false, + "use_private_ptr_resolvers": false, "local_ptr_upstreams": [] } }, @@ -228,7 +228,7 @@ "cache_ttl_min": 0, "cache_ttl_max": 0, "resolve_clients": false, - "local_ips_rdns": false, + "use_private_ptr_resolvers": false, "local_ptr_upstreams": [] } }, @@ -261,7 +261,7 @@ "cache_ttl_min": 0, "cache_ttl_max": 0, "resolve_clients": false, - "local_ips_rdns": false, + "use_private_ptr_resolvers": false, "local_ptr_upstreams": [] } }, @@ -294,7 +294,7 @@ "cache_ttl_min": 0, "cache_ttl_max": 0, "resolve_clients": false, - "local_ips_rdns": false, + "use_private_ptr_resolvers": false, "local_ptr_upstreams": [] } }, @@ -327,7 +327,7 @@ "cache_ttl_min": 0, "cache_ttl_max": 0, "resolve_clients": false, - "local_ips_rdns": false, + "use_private_ptr_resolvers": false, "local_ptr_upstreams": [] } }, @@ -362,7 +362,7 @@ "cache_ttl_min": 0, "cache_ttl_max": 0, "resolve_clients": false, - "local_ips_rdns": false, + "use_private_ptr_resolvers": false, "local_ptr_upstreams": [] } }, @@ -397,7 +397,7 @@ "cache_ttl_min": 0, "cache_ttl_max": 0, "resolve_clients": false, - "local_ips_rdns": false, + "use_private_ptr_resolvers": false, "local_ptr_upstreams": [] } }, @@ -431,7 +431,7 @@ "cache_ttl_min": 0, "cache_ttl_max": 0, "resolve_clients": false, - "local_ips_rdns": false, + "use_private_ptr_resolvers": false, "local_ptr_upstreams": [] } }, @@ -464,7 +464,7 @@ "cache_ttl_min": 0, "cache_ttl_max": 0, "resolve_clients": false, - "local_ips_rdns": false, + "use_private_ptr_resolvers": false, "local_ptr_upstreams": [] } }, @@ -499,7 +499,7 @@ "cache_ttl_min": 0, "cache_ttl_max": 0, "resolve_clients": false, - "local_ips_rdns": false, + "use_private_ptr_resolvers": false, "local_ptr_upstreams": [ "123.123.123.123" ] @@ -534,7 +534,7 @@ "cache_ttl_min": 0, "cache_ttl_max": 0, "resolve_clients": false, - "local_ips_rdns": false, + "use_private_ptr_resolvers": false, "local_ptr_upstreams": [] } } diff --git a/internal/home/clients.go b/internal/home/clients.go index 00caa34eed4..5ccb73ffdfb 100644 --- a/internal/home/clients.go +++ b/internal/home/clients.go @@ -53,6 +53,8 @@ type Client struct { type clientSource uint // Client sources. The order determines the priority. +// +// TODO(e.burkov): Is ARP a higher priority source than DHCP? const ( ClientSourceWHOIS clientSource = iota ClientSourceRDNS diff --git a/internal/home/dns.go b/internal/home/dns.go index 9bb23d51cba..82ed4fb226b 100644 --- a/internal/home/dns.go +++ b/internal/home/dns.go @@ -200,7 +200,7 @@ func generateServerConfig() (newConf dnsforward.ServerConfig, err error) { newConf.GetCustomUpstreamByClient = Context.clients.FindUpstreams newConf.ResolveClients = dnsConf.ResolveClients - newConf.UsePrivateResolvers = dnsConf.UsePrivateRDNS + newConf.UsePrivateRDNS = dnsConf.UsePrivateRDNS newConf.LocalPTRResolvers = dnsConf.LocalPTRResolvers return newConf, nil diff --git a/openapi/CHANGELOG.md b/openapi/CHANGELOG.md index 8a2f66797ca..edccb1eec33 100644 --- a/openapi/CHANGELOG.md +++ b/openapi/CHANGELOG.md @@ -4,10 +4,10 @@ ## v0.107: API changes -### The field `"local_ips_rdns"` in DNS configuration +### The field `"use_private_ptr_resolvers"` in DNS configuration -* The new optional field `"local_ips_rdns"` of `"DNSConfig"` specifies if the - DNS server should use `"local_ptr_upstreams"` at all. +* The new optional field `"use_private_ptr_resolvers"` of `"DNSConfig"` + specifies if the DNS server should use `"local_ptr_upstreams"` at all. ## v0.106: API changes diff --git a/openapi/openapi.yaml b/openapi/openapi.yaml index 4f98e454b18..917f1c95f1b 100644 --- a/openapi/openapi.yaml +++ b/openapi/openapi.yaml @@ -1300,7 +1300,7 @@ - '' - 'parallel' - 'fastest_addr' - 'local_ips_rdns': + 'use_private_ptr_resolvers': 'type': 'boolean' 'resolve_clients': 'type': 'boolean'