Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { // Nameservers are the IP addresses of the nameservers to use. Nameservers []netaddr.IP // Domains are the search domains to use. Domains []string // PerDomain indicates whether it is preferred to use Nameservers // only for DNS queries for subdomains of Domains. // Note that Nameservers may still be applied to all queries // if the manager does not support per-domain settings. PerDomain bool // Proxied indicates whether DNS requests are proxied through a tsdns.Resolver. // This enables Magic DNS. Proxied bool }
Config is the set of parameters that uniquely determine the state to which a manager should bring system DNS settings.
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager manages system DNS settings.
func NewManager ¶
func NewManager(mconfig ManagerConfig) *Manager
NewManagers created a new manager from the given config.
type ManagerConfig ¶
type ManagerConfig struct { // Logf is the logger for the manager to use. // It is wrapped with a "dns: " prefix. Logf logger.Logf // InterfaceName is the name of the interface with which DNS settings should be associated. InterfaceName string // Cleanup indicates that the manager is created for cleanup only. // A no-op manager will be instantiated if the system needs no cleanup. Cleanup bool // PerDomain indicates that a manager capable of per-domain configuration is preferred. // Certain managers are per-domain only; they will not be considered if this is false. PerDomain bool }
ManagerConfig is the set of parameters from which a manager implementation is chosen and initialized.
Click to show internal directories.
Click to hide internal directories.