nameserver

package
v0.0.0-...-406e817 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 2, 2022 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ClientIP

func ClientIP(w dns.ResponseWriter) net.IP

Types

type CacheZone

type CacheZone struct {
	*Zone
	// contains filtered or unexported fields
}

func NewCacheZone

func NewCacheZone(origin string) *CacheZone

func (*CacheZone) Resolve

func (p *CacheZone) Resolve(q dns.Question) []dns.RR

func (*CacheZone) ServeDNS

func (p *CacheZone) ServeDNS(w dns.ResponseWriter, req *dns.Msg) bool

type CachedProvider

type CachedProvider struct {
	Resolver Resolver
	// contains filtered or unexported fields
}

func (*CachedProvider) Resolve

func (p *CachedProvider) Resolve(q dns.Question) []dns.RR

func (*CachedProvider) ServeDNS

func (p *CachedProvider) ServeDNS(w dns.ResponseWriter, req *dns.Msg) bool

type DNSProvider

type DNSProvider interface {
	ServeDNS(w dns.ResponseWriter, req *dns.Msg) bool
}

func NewCacheProvider

func NewCacheProvider(r Resolver) DNSProvider

type Handler

type Handler struct {
	// contains filtered or unexported fields
}

func NewHander

func NewHander() *Handler

func (*Handler) AddProvider

func (h *Handler) AddProvider(p DNSProvider)

func (*Handler) ServeDNS

func (h *Handler) ServeDNS(w dns.ResponseWriter, req *dns.Msg)

type Resolver

type Resolver interface {
	Resolve(dns.Question) []dns.RR
}

type Server

type Server struct {
	Mux *dns.ServeMux
	// contains filtered or unexported fields
}

func NewServer

func NewServer() *Server

func (*Server) AddProvider

func (s *Server) AddProvider(pattern string, provider DNSProvider)

func (*Server) RunServer

func (s *Server) RunServer(listen string)

type Zone

type Zone struct {
	// contains filtered or unexported fields
}

func NewZone

func NewZone(origin string) *Zone

func (*Zone) AddRR

func (z *Zone) AddRR(rr dns.RR)

func (*Zone) ParseReader

func (z *Zone) ParseReader(r io.Reader)

func (*Zone) ParseString

func (z *Zone) ParseString(s string)

func (*Zone) Resolve

func (z *Zone) Resolve(q dns.Question) []dns.RR

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL