Releases: AdguardTeam/dnsproxy
Releases · AdguardTeam/dnsproxy
Release v0.68.0
Added
- The field
proxy.Config.PrivateSubnets
used to determine if the address of a client or the address requested via PTR is considered private. Thenetutil.IsLocallyServed
is used by default. - The field
proxy.Config.UsePrivateRDNS
controls if the requests considered private should be resolved viaproxy.Config.PrivateRDNSUpstreamConfig
. Such requests answered withNXDOMAIN
otherwise. - The field
proxy.DNSContext.IsPrivateClient
which determines if the client's address is considered private. - The field
proxy.DNSContext.RequestedPrivateRDNS
containing the prefix parsed from a requested ARPA domain, if the request itself is PTR for a private address and came from a private client. - The
proxy.ValidatePrivateConfig
function to validate if anproxy.UpstreamConfig
may be used for private RDNS.
Changed
- PTR requests for domains containing DNS64 prefixes are now answered with
NXDOMAIN
ifproxy.Config.UseDNS64
is set to true, butproxy.Config.UsePrivateRDNS
is not. - Fallback servers aren't used for the aforementioned requests, as well as for all private RDNS requests.
- All the private RDNS requests coming from external (non-private) client are now answered with
NXDOMAIN
beforeproxy.RequestHandler
. proxy.New
now requiresproxy.Config.PrivateRDNSUpstreamConfig
to be valid as perproxy.ValidatePrivateConfig
ifproxy.Config.UsePrivateRDNS
is set to true.
Release v0.67.0
Added
- The new
proxy.Config.MessageConstructor
field of the newproxy.MessageConstructor
type that is used to build DNS messages. The default legacy implementation is used in case ofnil
.
Changed
- The
proxy.UpstreamConfig.SubdomainExclusions
field type is now*container.MapSet
.
Warning
Previously released v0.66.1
has been removed as it contains breaking changes.
Release v0.66.0
Added
- The new
proxy.New
constructor forproxy.Proxy
structure.
Changed
- The
proxy.Proxy.Start
method now accepts a context. - The
proxy.Proxy.Stop
method has been renamed toproxy.Proxy.Shutdown
and now accepts a context.
Deprecated
- The
proxy.Proxy.Init
method. Useproxy.New
instead.
Release v0.65.2
Fixed
- The
upstream.CachingResolver
caching algorithm, which removed certain resource records within an RR set (AdguardTeam/AdGuardHome#6723).
Release v0.65.0
Changed
- The minimal Go version has been changed to Go 1.21.7.
- The
quic-go
library has been updated.
Release v0.64.1
Fixed
- Parsing of the IPv6 upstreams without a port number (#379).
Release v0.64.0
Added
- The new
proxy.ParseError
error which contains an index of the line of the upstream list.
Changed
proxy.ParseUpstreamsConfig
is now returns wrapped error containingproxy.ParseError
. It also skips empty lines and comments.
Release v0.63.1
Changed
- Improved DNS-over-QUIC concurrent work (#373).
- Improved logging.
Release v0.63.0
Changed
proxy.Config.TrustedProxies
field's type is nownetutil.SubnetSet
instead of[]string
.
Release v0.62.0
Added
- The new
upstream.CachingResolver
implementation of theupstream.Resolver
interface. It's used to account the TTL of resolved addresses and resolve those on demand. - The new
upstream.NewCachingResolver
function to wrap theupstream.UpstreamResolver
s.
Changed
Upstream
s are now bootstrapped on each call ofExchange
, meaning that caching the lookup results is now theOptions.Bootstrap
resolver's responsibility.