Documentation

Index

Constants

View Source
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."
	// DefaultMsgSize EDNS0 message size
	DefaultMsgSize = 1232
)
View Source
const (
	// MinimalDefaultTTL is the absolute lowest TTL.
	MinimalDefaultTTL = 5 * time.Second
	// MaximumDefaulTTL is the maximum TTL.
	MaximumDefaulTTL = 24 * time.Hour
)

Variables

This section is empty.

Functions

func ClearDNSSEC

func ClearDNSSEC(msg *dns.Msg) *dns.Msg

    ClearDNSSEC returns cleared RRSIG and NSECx message

    func ClearOPT

    func ClearOPT(msg *dns.Msg) *dns.Msg

      ClearOPT returns cleared opt message

      func ExchangeInternal

      func ExchangeInternal(ctx context.Context, r *dns.Msg) (*dns.Msg, error)

        ExchangeInternal exchange dns request internal

        func ExtractAddressFromReverse

        func ExtractAddressFromReverse(reverseName string) string

          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 GenerateServerCookie

          func GenerateServerCookie(secret, remoteip, cookie string) string

            GenerateServerCookie return generated edns server cookie

            func IsReverse

            func IsReverse(name string) int

              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 MinimalTTL

              func MinimalTTL(m *dns.Msg, mt response.Type) time.Duration

                MinimalTTL scans the message returns the lowest TTL found taking into the response.Type of the message.

                func NotSupported

                func NotSupported(w dns.ResponseWriter, req *dns.Msg) error

                  NotSupported response to writer a empty notimplemented message

                  func ParsePurgeQuestion

                  func ParsePurgeQuestion(req *dns.Msg) (qname string, qtype uint16, ok bool)

                    ParsePurgeQuestion can parse query for purge questions

                    func SetEdns0

                    func SetEdns0(req *dns.Msg) (*dns.OPT, int, string, bool, bool)

                      SetEdns0 returns replaced or new opt rr and if request has do

                      func SetRcode

                      func SetRcode(req *dns.Msg, rcode int, do bool) *dns.Msg

                        SetRcode returns message specified with rcode.

                        Types

                        This section is empty.

                        Source Files