Documentation ¶
Overview ¶
Package resolvconf provides utility code to query and update DNS configuration in /etc/resolv.conf
Index ¶
- func Build(path string, dns, dnsSearch []string) error
- func FilterResolvDns(resolvConf []byte, ipv6Enabled bool) ([]byte, bool)
- func Get() ([]byte, error)
- func GetIfChanged() ([]byte, string, error)
- func GetLastModified() ([]byte, string)
- func GetNameservers(resolvConf []byte) []string
- func GetNameserversAsCIDR(resolvConf []byte) []string
- func GetSearchDomains(resolvConf []byte) []string
- func IsLocalhost(ip string) bool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Build ¶
Build writes a configuration file to path containing a "nameserver" entry for every element in dns, and a "search" entry for every element in dnsSearch.
func FilterResolvDns ¶
FilterResolvDns cleans up the config in resolvConf. It has two main jobs:
- It looks for localhost (127.*|::1) entries in the provided resolv.conf, removing local nameserver entries, and, if the resulting cleaned config has no defined nameservers left, adds default DNS entries
- Given the caller provides the enable/disable state of IPv6, the filter code will remove all IPv6 nameservers if it is not enabled for containers
It returns a boolean to notify the caller if changes were made at all
func GetIfChanged ¶
GetIfChanged retrieves the host /etc/resolv.conf file, checks against the last hash and, if modified since last check, returns the bytes and new hash. This feature is used by the resolv.conf updater for containers
func GetLastModified ¶
GetLastModified retrieves the last used contents and hash of the host resolv.conf. Used by containers updating on restart
func GetNameservers ¶
GetNameservers returns nameservers (if any) listed in /etc/resolv.conf
func GetNameserversAsCIDR ¶
GetNameserversAsCIDR returns nameservers (if any) listed in /etc/resolv.conf as CIDR blocks (e.g., "1.2.3.4/32") This function's output is intended for net.ParseCIDR
func GetSearchDomains ¶
GetSearchDomains returns search domains (if any) listed in /etc/resolv.conf If more than one search line is encountered, only the contents of the last one is returned.
func IsLocalhost ¶
IsLocalhost returns true if ip matches the localhost IP regular expression. Used for determining if nameserver settings are being passed which are localhost addresses
Types ¶
This section is empty.