Documentation ¶
Overview ¶
Package dnsutil contains DNS related helper functions.
Index ¶
- Constants
- func DuplicateCNAME(r *dns.CNAME, records []dns.RR) bool
- func ExtractAddressFromReverse(reverseName string) string
- func IsReverse(name string) int
- func Join(labels []string) string
- func MinimalTTL(m *dns.Msg, mt response.Type) time.Duration
- func ParseHostPort(s, defaultPort string) (string, error)
- func ParseHostPortOrFile(s ...string) ([]string, error)
- func TrimZone(q string, z string) (string, error)
Constants ¶
const ( // IP4arpa is the reverse tree suffix for v4 IP addresses. IP4arpa = ".in-addr.arpa." // IP6arpa is the reverse tree suffix for v6 IP addresses. IP6arpa = ".ip6.arpa." )
const ( // MinimalDefaultTTL is the absolute lowest TTL we use in CoreDNS. MinimalDefaultTTL = 5 * time.Second // MaximumDefaulTTL is the maximum TTL was use on RRsets in CoreDNS. MaximumDefaulTTL = 1 * time.Hour )
Variables ¶
This section is empty.
Functions ¶
func DuplicateCNAME ¶
DuplicateCNAME returns true if r already exists in records.
func ExtractAddressFromReverse ¶
ExtractAddressFromReverse turns a standard PTR reverse record name into an IP address. This works for ipv4 or ipv6.
54.119.58.176.in-addr.arpa. becomes 176.58.119.54. If the conversion fails the empty string is returned.
func IsReverse ¶
IsReverse returns 0 is name is not in a reverse zone. Anything > 0 indicates name is in a reverse zone. The returned integer will be 1 for in-addr.arpa. (IPv4) and 2 for ip6.arpa. (IPv6).
func Join ¶
Join joins labels to form a fully qualified domain name. If the last label is the root label it is ignored. Not other syntax checks are performed.
func MinimalTTL ¶
MinimalTTL scans the message returns the lowest TTL found taking into the response.Type of the message.
func ParseHostPort ¶
ParseHostPort will check if the host part is a valid IP address, if the IP address is valid, but no port is found, defaultPort is added.
func ParseHostPortOrFile ¶
ParseHostPortOrFile parses the strings in s, each string can either be a address, address:port or a filename. The address part is checked and the filename case a resolv.conf like file is parsed and the nameserver found are returned.
Types ¶
This section is empty.