# Functions
IsCommentOrEmpty returns true if s starts with a "#" character or is empty.
NewServer creates a new instance of the dnsforward.Server Note: this function must be called only once
TODO(a.garipov): How many constructors and initializers does this thing have? Refactor!.
UpstreamHTTPVersions returns the HTTP versions for upstream configuration depending on configuration.
ValidateClientID returns an error if id is not a valid ClientID.
ValidateUpstreams validates each upstream and returns an error if any upstream is invalid or if there are no default upstreams specified.
ValidateUpstreamsPrivate validates each upstream and returns an error if any upstream is invalid or if there are no default upstreams specified.
# Constants
DefaultTimeout is the default upstream timeout.
ErrRDNSFailed is returned by [RDNSExchanger.Exchange] if the received response is not a NOERROR or NXDOMAIN.
ErrRDNSNoData is returned by [RDNSExchanger.Exchange] when the answer section of response is either NODATA or has no PTR records.
# Structs
Config represents the DNS filtering configuration of AdGuard Home.
DNSCreateParams are parameters to create a new server.
DNSCryptConfig is the DNSCrypt server configuration struct.
EDNSClientSubnet is the settings list for EDNS Client Subnet.
Server is the main way to start a DNS server.
ServerConfig represents server configuration.
TLSConfig is the TLS configuration for HTTPS, DNS-over-HTTPS, and DNS-over-TLS.
# Interfaces
DHCP is an interface for accessing DHCP lease data needed in this package.