transformers

package
v0.30.0-beta4 Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2023 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DnstapMessage = map[string]string{
		"AUTH_QUERY":         "AQ",
		"AUTH_RESPONSE":      "AR",
		"RESOLVER_QUERY":     "RQ",
		"RESOLVER_RESPONSE":  "RR",
		"CLIENT_QUERY":       "CQ",
		"CLIENT_RESPONSE":    "CR",
		"FORWARDER_QUERY":    "FQ",
		"FORWARDER_RESPONSE": "FR",
		"STUB_QUERY":         "SQ",
		"STUB_RESPONSE":      "SR",
		"TOOL_QUERY":         "TQ",
		"TOOL_RESPONSE":      "TR",
		"UPDATE_QUERY":       "UQ",
		"UPDATE_RESPONSE":    "UR",
		"DNSQueryType":       "Q",
		"DNSResponseType":    "R",
	}
	DnsQr = map[string]string{
		"QUERY": "Q",
		"REPLY": "R",
	}

	IPversion = map[string]string{
		"INET6": "6",
		"INET":  "4",
	}

	Rcodes = map[string]string{
		"NOERROR":   "0",
		"FORMERR":   "1",
		"SERVFAIL":  "2",
		"NXDOMAIN":  "3",
		"NOIMP":     "4",
		"REFUSED":   "5",
		"YXDOMAIN":  "6",
		"YXRRSET":   "7",
		"NXRRSET":   "8",
		"NOTAUTH":   "9",
		"NOTZONE":   "10",
		"DSOTYPENI": "11",
		"BADSIG":    "16",
		"BADKEY":    "17",
		"BADTIME":   "18",
		"BADMODE":   "19",
		"BADNAME":   "20",
		"BADALG":    "21",
		"BADTRUNC":  "22",
		"BADCOOKIE": "23",
	}
)
View Source
var (
	RETURN_SUCCESS = 1
	RETURN_DROP    = 2
	RETURN_ERROR   = 3
)

Functions

This section is empty.

Types

type FilteringProcessor

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

func NewFilteringProcessor

func NewFilteringProcessor(config *dnsutils.ConfigTransformers, logger *logger.Logger, name string) FilteringProcessor

func (*FilteringProcessor) CheckIfDrop

func (p *FilteringProcessor) CheckIfDrop(dm *dnsutils.DnsMessage) bool

func (*FilteringProcessor) LoadActiveFilters added in v0.25.0

func (p *FilteringProcessor) LoadActiveFilters()

func (*FilteringProcessor) LoadDomainsList

func (p *FilteringProcessor) LoadDomainsList()

func (*FilteringProcessor) LoadQueryIpList

func (p *FilteringProcessor) LoadQueryIpList()

func (*FilteringProcessor) LoadRcodes

func (p *FilteringProcessor) LoadRcodes()

func (*FilteringProcessor) LogError

func (p *FilteringProcessor) LogError(msg string, v ...interface{})

func (*FilteringProcessor) LogInfo

func (p *FilteringProcessor) LogInfo(msg string, v ...interface{})

func (*FilteringProcessor) Run

func (p *FilteringProcessor) Run()

type GeoIpProcessor

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

func NewDnsGeoIpProcessor

func NewDnsGeoIpProcessor(config *dnsutils.ConfigTransformers, logger *logger.Logger) GeoIpProcessor

func (*GeoIpProcessor) Close

func (p *GeoIpProcessor) Close()

func (*GeoIpProcessor) InitDnsMessage added in v0.29.0

func (p *GeoIpProcessor) InitDnsMessage(dm *dnsutils.DnsMessage)

func (*GeoIpProcessor) IsEnabled

func (p *GeoIpProcessor) IsEnabled() bool

func (*GeoIpProcessor) LogError

func (p *GeoIpProcessor) LogError(msg string, v ...interface{})

func (*GeoIpProcessor) LogInfo

func (p *GeoIpProcessor) LogInfo(msg string, v ...interface{})

func (*GeoIpProcessor) Lookup

func (p *GeoIpProcessor) Lookup(ip string) (GeoRecord, error)

func (*GeoIpProcessor) Open

func (p *GeoIpProcessor) Open() (err error)

type GeoRecord

type GeoRecord struct {
	Continent      string
	CountryISOCode string
	City           string
	ASN            string
	ASO            string
}

type HashQueries added in v0.30.0

type HashQueries struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

hash queries map

func NewHashQueries added in v0.30.0

func NewHashQueries(ttl time.Duration) HashQueries

func (*HashQueries) Delete added in v0.30.0

func (mp *HashQueries) Delete(key uint64)

func (*HashQueries) Get added in v0.30.0

func (mp *HashQueries) Get(key uint64) (value float64, ok bool)

func (*HashQueries) Set added in v0.30.0

func (mp *HashQueries) Set(key uint64, value float64)

type LatencyProcessor added in v0.30.0

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

latency processor

func NewLatencySubprocessor added in v0.30.0

func NewLatencySubprocessor(config *dnsutils.ConfigTransformers, logger *logger.Logger, name string, outChannels []chan dnsutils.DnsMessage) *LatencyProcessor

func (*LatencyProcessor) DetectEvictedTimeout added in v0.30.0

func (s *LatencyProcessor) DetectEvictedTimeout(dm *dnsutils.DnsMessage)

func (*LatencyProcessor) MeasureLatency added in v0.30.0

func (s *LatencyProcessor) MeasureLatency(dm *dnsutils.DnsMessage)

type MapQueries added in v0.30.0

type MapQueries struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

queries map

func NewMapQueries added in v0.30.0

func NewMapQueries(ttl time.Duration, channels []chan dnsutils.DnsMessage) MapQueries

func (*MapQueries) Delete added in v0.30.0

func (mp *MapQueries) Delete(key uint64)

func (*MapQueries) Exists added in v0.30.0

func (mp *MapQueries) Exists(key uint64) (ok bool)

func (*MapQueries) Set added in v0.30.0

func (mp *MapQueries) Set(key uint64, dm dnsutils.DnsMessage)

type MaxminddbRecord

type MaxminddbRecord struct {
	Continent struct {
		Code string `maxminddb:"code"`
	} `maxminddb:"continent"`
	Country struct {
		ISOCode string `maxminddb:"iso_code"`
	} `maxminddb:"country"`
	City struct {
		Names map[string]string `maxminddb:"names"`
	} `maxminddb:"city"`
	AutonomousSystemNumber       int    `maxminddb:"autonomous_system_number"`
	AutonomousSystemOrganization string `maxminddb:"autonomous_system_organization"`
}

type NormalizeProcessor added in v0.25.0

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

func NewNormalizeSubprocessor added in v0.25.0

func NewNormalizeSubprocessor(config *dnsutils.ConfigTransformers) NormalizeProcessor

func (*NormalizeProcessor) GetEffectiveTld added in v0.26.0

func (s *NormalizeProcessor) GetEffectiveTld(qname string) (string, error)

func (*NormalizeProcessor) GetEffectiveTldPlusOne added in v0.26.0

func (s *NormalizeProcessor) GetEffectiveTldPlusOne(qname string) (string, error)

func (*NormalizeProcessor) InitDnsMessage added in v0.29.0

func (p *NormalizeProcessor) InitDnsMessage(dm *dnsutils.DnsMessage)

func (*NormalizeProcessor) IsEnabled added in v0.25.0

func (s *NormalizeProcessor) IsEnabled() bool

func (*NormalizeProcessor) Lowercase added in v0.25.0

func (s *NormalizeProcessor) Lowercase(qname string) string

func (*NormalizeProcessor) QuietText added in v0.26.0

func (s *NormalizeProcessor) QuietText(dm *dnsutils.DnsMessage)

type SuspiciousTransform added in v0.25.0

type SuspiciousTransform struct {
	CommonQtypes map[string]bool
	// contains filtered or unexported fields
}

func NewSuspiciousSubprocessor added in v0.25.0

func NewSuspiciousSubprocessor(config *dnsutils.ConfigTransformers, logger *logger.Logger, name string) SuspiciousTransform

func (*SuspiciousTransform) CheckIfSuspicious added in v0.25.0

func (p *SuspiciousTransform) CheckIfSuspicious(dm *dnsutils.DnsMessage)

func (*SuspiciousTransform) InitDnsMessage added in v0.29.0

func (p *SuspiciousTransform) InitDnsMessage(dm *dnsutils.DnsMessage)

func (*SuspiciousTransform) IsEnabled added in v0.25.0

func (p *SuspiciousTransform) IsEnabled() bool

func (*SuspiciousTransform) LogError added in v0.25.0

func (p *SuspiciousTransform) LogError(msg string, v ...interface{})

func (*SuspiciousTransform) LogInfo added in v0.25.0

func (p *SuspiciousTransform) LogInfo(msg string, v ...interface{})

func (*SuspiciousTransform) ReadConfig added in v0.25.0

func (p *SuspiciousTransform) ReadConfig()

type Transforms added in v0.25.0

type Transforms struct {
	SuspiciousTransform  SuspiciousTransform
	GeoipTransform       GeoIpProcessor
	FilteringTransform   FilteringProcessor
	UserPrivacyTransform UserPrivacyProcessor
	NormalizeTransform   NormalizeProcessor
	LatencyTransform     *LatencyProcessor
	// contains filtered or unexported fields
}

func NewTransforms added in v0.25.0

func NewTransforms(config *dnsutils.ConfigTransformers, logger *logger.Logger, name string, outChannels []chan dnsutils.DnsMessage) Transforms

func (*Transforms) GetEffectiveTld added in v0.25.0

func (p *Transforms) GetEffectiveTld(dm *dnsutils.DnsMessage) int

func (*Transforms) GetEffectiveTldPlusOne added in v0.25.0

func (p *Transforms) GetEffectiveTldPlusOne(dm *dnsutils.DnsMessage) int

func (*Transforms) InitDnsMessageFormat added in v0.29.0

func (p *Transforms) InitDnsMessageFormat(dm *dnsutils.DnsMessage)

func (*Transforms) LogError added in v0.25.0

func (p *Transforms) LogError(msg string, v ...interface{})

func (*Transforms) LogInfo added in v0.25.0

func (p *Transforms) LogInfo(msg string, v ...interface{})

func (*Transforms) Prepare added in v0.25.0

func (p *Transforms) Prepare() error

func (*Transforms) ProcessMessage added in v0.25.0

func (p *Transforms) ProcessMessage(dm *dnsutils.DnsMessage) int

func (*Transforms) Reset added in v0.25.0

func (p *Transforms) Reset()

type UserPrivacyProcessor added in v0.25.0

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

func NewUserPrivacySubprocessor added in v0.25.0

func NewUserPrivacySubprocessor(config *dnsutils.ConfigTransformers) UserPrivacyProcessor

func (*UserPrivacyProcessor) AnonymizeIP added in v0.25.0

func (s *UserPrivacyProcessor) AnonymizeIP(ip string) string

func (*UserPrivacyProcessor) HashIP added in v0.27.0

func (s *UserPrivacyProcessor) HashIP(ip string) string

func (*UserPrivacyProcessor) MinimazeQname added in v0.25.0

func (s *UserPrivacyProcessor) MinimazeQname(qname string) string

Jump to

Keyboard shortcuts

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