recursor

package
v1.0.5 Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2026 License: BSD-2-Clause Imports: 19 Imported by: 0

Documentation

Overview

Package recursor performs iterative DNS recursion for lookup helpers.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Recursor

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

Recursor holds root hints and fake delegations.

func New

func New() (*Recursor, error)

New creates a Recursor and initializes it with root hints.

func (*Recursor) AddFakeAddresses

func (r *Recursor) AddFakeAddresses(domain string, data map[string][]string) error

AddFakeAddresses stores fake addresses for a domain.

func (*Recursor) ClearCache

func (r *Recursor) ClearCache()

ClearCache clears the recursive cache.

func (*Recursor) Client

func (r *Recursor) Client() *transport.Client

Client returns the transport client used by the recursor.

func (*Recursor) GetAddressesFor

func (r *Recursor) GetAddressesFor(ctx context.Context, name string) ([]netip.Addr, error)

GetAddressesFor resolves A and AAAA addresses for a nameserver name.

func (*Recursor) GetFakeAddresses

func (r *Recursor) GetFakeAddresses(domain string, nsname string) []netip.Addr

GetFakeAddresses returns fake addresses for a domain and nameserver name.

func (*Recursor) GetFakeNames

func (r *Recursor) GetFakeNames(domain string) []string

GetFakeNames returns fake nameserver names for a domain.

func (*Recursor) HasFakeAddresses

func (r *Recursor) HasFakeAddresses(domain string) bool

HasFakeAddresses reports whether a domain has fake address data.

func (*Recursor) Parent

func (r *Recursor) Parent(ctx context.Context, name string) (string, packet.Packet, error)

Parent resolves the parent zone name for a domain.

func (*Recursor) Recurse

func (r *Recursor) Recurse(ctx context.Context, name string, qtype string, qclass string) (packet.Packet, error)

Recurse performs a recursive lookup using root servers.

func (*Recursor) RecurseWithNameservers

func (r *Recursor) RecurseWithNameservers(ctx context.Context, name string, qtype string, qclass string, ns []nameserver.Nameserver) (packet.Packet, error)

RecurseWithNameservers performs a recursive lookup using a specific nameserver set.

func (*Recursor) RemoveFakeAddresses

func (r *Recursor) RemoveFakeAddresses(domain string)

RemoveFakeAddresses deletes fake address data for a domain.

func (*Recursor) RootServers

func (r *Recursor) RootServers(ctx context.Context) ([]nameserver.Nameserver, error)

RootServers returns nameservers initialized from root hints.

Jump to

Keyboard shortcuts

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