package resolvconf
import "github.com/docker/docker/libnetwork/resolvconf"
Package resolvconf provides utility code to query and update DNS configuration in /etc/resolv.conf
Index ¶
- Constants
- func GetNameservers(resolvConf []byte, kind int) []string
- func GetNameserversAsCIDR(resolvConf []byte) []string
- func GetOptions(resolvConf []byte) []string
- func GetSearchDomains(resolvConf []byte) []string
- func Path() string
- type File
Constants ¶
const ( IP = iota // IPv4 and IPv6 IPv4 IPv6 )
constants for the IP address type
Functions ¶
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 GetOptions ¶
GetOptions returns options (if any) listed in /etc/resolv.conf If more than one options line is encountered, only the contents of the last one is returned.
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 Path ¶
func Path() string
Path returns the path to the resolv.conf file that libnetwork should use.
When /etc/resolv.conf contains 127.0.0.53 as the only nameserver, then it is assumed systemd-resolved manages DNS. Because inside the container 127.0.0.53 is not a valid DNS server, Path() returns /run/systemd/resolve/resolv.conf which is the resolv.conf that systemd-resolved generates and manages. Otherwise Path() returns /etc/resolv.conf.
Errors are silenced as they will inevitably resurface at future open/read calls.
More information at https://www.freedesktop.org/software/systemd/man/systemd-resolved.service.html#/etc/resolv.conf
Types ¶
type File ¶
File contains the resolv.conf content and its hash
func Build ¶
Build generates and writes a configuration file to path containing a nameserver entry for every element in nameservers, a "search" entry for every element in dnsSearch, and an "options" entry for every element in dnsOptions. It returns a File containing the generated content and its (sha256) hash.
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
func Get ¶
Get returns the contents of /etc/resolv.conf and its hash
func GetSpecific ¶
GetSpecific returns the contents of the user specified resolv.conf file and its hash
Source Files ¶
- Version
- v25.0.0-beta.3+incompatible
- Published
- Dec 20, 2023
- Platform
- js/wasm
- Imports
- 9 packages
- Last checked
- 35 minutes ago –
Tools for package owners.