symbol name refactoring (#1263)

* ECSConfig -> ECS

* EdeConfig -> EDE

* EdeResolver -> EDEResolver

* SUDNConfig -> SUDN

* FqdnOnlyConfig -> FQDNOnly

* FqdnOnlyResolver -> FQDNOnlyResolver
This commit is contained in:
Kwitsch 2023-11-21 06:33:38 +01:00 committed by GitHub
parent d37d18348f
commit 1a1891c8b6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 58 additions and 58 deletions

View File

@ -208,11 +208,11 @@ type Config struct {
KeyFile string `yaml:"keyFile"` KeyFile string `yaml:"keyFile"`
BootstrapDNS BootstrapDNSConfig `yaml:"bootstrapDns"` BootstrapDNS BootstrapDNSConfig `yaml:"bootstrapDns"`
HostsFile HostsFileConfig `yaml:"hostsFile"` HostsFile HostsFileConfig `yaml:"hostsFile"`
FqdnOnly FqdnOnlyConfig `yaml:"fqdnOnly"` FQDNOnly FQDNOnly `yaml:"fqdnOnly"`
Filtering FilteringConfig `yaml:"filtering"` Filtering FilteringConfig `yaml:"filtering"`
Ede EdeConfig `yaml:"ede"` EDE EDE `yaml:"ede"`
ECS ECSConfig `yaml:"ecs"` ECS ECS `yaml:"ecs"`
SUDN SUDNConfig `yaml:"specialUseDomains"` SUDN SUDN `yaml:"specialUseDomains"`
// Deprecated options // Deprecated options
Deprecated struct { Deprecated struct {
@ -274,8 +274,8 @@ type RedisConfig struct {
} }
type ( type (
FqdnOnlyConfig = toEnable FQDNOnly = toEnable
EdeConfig = toEnable EDE = toEnable
) )
type toEnable struct { type toEnable struct {

View File

@ -791,7 +791,7 @@ func defaultTestFileConfig() {
Expect(config.Blocking.BlockTTL).Should(Equal(Duration(time.Minute))) Expect(config.Blocking.BlockTTL).Should(Equal(Duration(time.Minute)))
Expect(config.Blocking.Loading.RefreshPeriod).Should(Equal(Duration(2 * time.Hour))) Expect(config.Blocking.Loading.RefreshPeriod).Should(Equal(Duration(2 * time.Hour)))
Expect(config.Filtering.QueryTypes).Should(HaveLen(2)) Expect(config.Filtering.QueryTypes).Should(HaveLen(2))
Expect(config.FqdnOnly.Enable).Should(BeTrue()) Expect(config.FQDNOnly.Enable).Should(BeTrue())
Expect(config.Caching.MaxCachingTime).Should(BeZero()) Expect(config.Caching.MaxCachingTime).Should(BeZero())
Expect(config.Caching.MinCachingTime).Should(BeZero()) Expect(config.Caching.MinCachingTime).Should(BeZero())

View File

@ -42,8 +42,8 @@ func (x *ECSv6Mask) UnmarshalText(text []byte) error {
return nil return nil
} }
// ECSConfig is the configuration of the ECS resolver // ECS is the configuration of the ECS resolver
type ECSConfig struct { type ECS struct {
UseAsClient bool `yaml:"useAsClient" default:"false"` UseAsClient bool `yaml:"useAsClient" default:"false"`
Forward bool `yaml:"forward" default:"false"` Forward bool `yaml:"forward" default:"false"`
IPv4Mask ECSv4Mask `yaml:"ipv4Mask" default:"0"` IPv4Mask ECSv4Mask `yaml:"ipv4Mask" default:"0"`
@ -51,12 +51,12 @@ type ECSConfig struct {
} }
// IsEnabled returns true if the ECS resolver is enabled // IsEnabled returns true if the ECS resolver is enabled
func (c *ECSConfig) IsEnabled() bool { func (c *ECS) IsEnabled() bool {
return c.UseAsClient || c.Forward || c.IPv4Mask > 0 || c.IPv6Mask > 0 return c.UseAsClient || c.Forward || c.IPv4Mask > 0 || c.IPv6Mask > 0
} }
// LogConfig logs the configuration // LogConfig logs the configuration
func (c *ECSConfig) LogConfig(logger *logrus.Entry) { func (c *ECS) LogConfig(logger *logrus.Entry) {
logger.Infof("Use as client = %t", c.UseAsClient) logger.Infof("Use as client = %t", c.UseAsClient)
logger.Infof("Forward = %t", c.Forward) logger.Infof("Forward = %t", c.Forward)
logger.Infof("IPv4 netmask = %d", c.IPv4Mask) logger.Infof("IPv4 netmask = %d", c.IPv4Mask)

View File

@ -8,9 +8,9 @@ import (
"gopkg.in/yaml.v2" "gopkg.in/yaml.v2"
) )
var _ = Describe("ECSConfig", func() { var _ = Describe("ECS", func() {
var ( var (
c ECSConfig c ECS
err error err error
) )
@ -26,7 +26,7 @@ var _ = Describe("ECSConfig", func() {
}) })
}) })
When("UseEcsAsClient is true", func() { When("UseAsClient is true", func() {
BeforeEach(func() { BeforeEach(func() {
c.UseAsClient = true c.UseAsClient = true
}) })
@ -36,7 +36,7 @@ var _ = Describe("ECSConfig", func() {
}) })
}) })
When("ForwardEcs is true", func() { When("Forward is true", func() {
BeforeEach(func() { BeforeEach(func() {
c.Forward = true c.Forward = true
}) })

View File

@ -4,8 +4,8 @@ import (
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
) )
// SUDNConfig configuration for Special Use Domain Names // SUDN configuration for Special Use Domain Names
type SUDNConfig struct { type SUDN struct {
// These are "recommended for private use" but not mandatory. // These are "recommended for private use" but not mandatory.
// If a user wishes to use one, it will most likely be via conditional // If a user wishes to use one, it will most likely be via conditional
// upstream or custom DNS, which come before SUDN in the resolver chain. // upstream or custom DNS, which come before SUDN in the resolver chain.
@ -14,12 +14,12 @@ type SUDNConfig struct {
} }
// IsEnabled implements `config.Configurable`. // IsEnabled implements `config.Configurable`.
func (c *SUDNConfig) IsEnabled() bool { func (c *SUDN) IsEnabled() bool {
// The Special Use RFCs are always active // The Special Use RFCs are always active
return true return true
} }
// LogConfig implements `config.Configurable`. // LogConfig implements `config.Configurable`.
func (c *SUDNConfig) LogConfig(logger *logrus.Entry) { func (c *SUDN) LogConfig(logger *logrus.Entry) {
logger.Debugf("rfc6762-appendixG = %v", c.RFC6762AppendixG) logger.Debugf("rfc6762-appendixG = %v", c.RFC6762AppendixG)
} }

View File

@ -6,14 +6,14 @@ import (
) )
var _ = Describe("SUDNConfig", func() { var _ = Describe("SUDNConfig", func() {
var cfg SUDNConfig var cfg SUDN
suiteBeforeEach() suiteBeforeEach()
BeforeEach(func() { BeforeEach(func() {
var err error var err error
cfg, err = WithDefaults[SUDNConfig]() cfg, err = WithDefaults[SUDN]()
Expect(err).Should(Succeed()) Expect(err).Should(Succeed())
}) })

View File

@ -31,13 +31,13 @@ type ECSMask interface {
// ECSResolver is responsible for adding the EDNS Client Subnet information as EDNS0 option. // ECSResolver is responsible for adding the EDNS Client Subnet information as EDNS0 option.
type ECSResolver struct { type ECSResolver struct {
configurable[*config.ECSConfig] configurable[*config.ECS]
NextResolver NextResolver
typed typed
} }
// NewECSResolver creates new resolver instance which adds the subnet information as EDNS0 option // NewECSResolver creates new resolver instance which adds the subnet information as EDNS0 option
func NewECSResolver(cfg config.ECSConfig) ChainedResolver { func NewECSResolver(cfg config.ECS) ChainedResolver {
return &ECSResolver{ return &ECSResolver{
configurable: withConfig(&cfg), configurable: withConfig(&cfg),
typed: withType("extended_client_subnet"), typed: withType("extended_client_subnet"),

View File

@ -19,7 +19,7 @@ import (
var _ = Describe("EcsResolver", func() { var _ = Describe("EcsResolver", func() {
var ( var (
sut *ECSResolver sut *ECSResolver
sutConfig config.ECSConfig sutConfig config.ECS
m *mockResolver m *mockResolver
mockAnswer *dns.Msg mockAnswer *dns.Msg
err error err error

View File

@ -7,17 +7,17 @@ import (
"github.com/miekg/dns" "github.com/miekg/dns"
) )
// A EdeResolver is responsible for adding the reason for the response as EDNS0 option // A EDEResolver is responsible for adding the reason for the response as EDNS0 option
type EdeResolver struct { type EDEResolver struct {
configurable[*config.EdeConfig] configurable[*config.EDE]
NextResolver NextResolver
typed typed
} }
// NewEdeResolver creates new resolver instance which adds the reason for // NewEDEResolver creates new resolver instance which adds the reason for
// the response as EDNS0 option to the response if it is enabled in the configuration // the response as EDNS0 option to the response if it is enabled in the configuration
func NewEdeResolver(cfg config.EdeConfig) *EdeResolver { func NewEDEResolver(cfg config.EDE) *EDEResolver {
return &EdeResolver{ return &EDEResolver{
configurable: withConfig(&cfg), configurable: withConfig(&cfg),
typed: withType("extended_error_code"), typed: withType("extended_error_code"),
} }
@ -25,7 +25,7 @@ func NewEdeResolver(cfg config.EdeConfig) *EdeResolver {
// Resolve adds the reason as EDNS0 option to the response of the next resolver // Resolve adds the reason as EDNS0 option to the response of the next resolver
// if it is enabled in the configuration // if it is enabled in the configuration
func (r *EdeResolver) Resolve(request *model.Request) (*model.Response, error) { func (r *EDEResolver) Resolve(request *model.Request) (*model.Response, error) {
if !r.cfg.Enable { if !r.cfg.Enable {
return r.next.Resolve(request) return r.next.Resolve(request)
} }
@ -41,7 +41,7 @@ func (r *EdeResolver) Resolve(request *model.Request) (*model.Response, error) {
} }
// addExtraReasoning adds the reason for the response as EDNS0 option // addExtraReasoning adds the reason for the response as EDNS0 option
func (r *EdeResolver) addExtraReasoning(res *model.Response) { func (r *EDEResolver) addExtraReasoning(res *model.Response) {
infocode := res.RType.ToExtendedErrorCode() infocode := res.RType.ToExtendedErrorCode()
if infocode == dns.ExtendedErrorCodeOther { if infocode == dns.ExtendedErrorCodeOther {

View File

@ -20,8 +20,8 @@ import (
var _ = Describe("EdeResolver", func() { var _ = Describe("EdeResolver", func() {
var ( var (
sut *EdeResolver sut *EDEResolver
sutConfig config.EdeConfig sutConfig config.EDE
m *mockResolver m *mockResolver
mockAnswer *dns.Msg mockAnswer *dns.Msg
) )
@ -46,13 +46,13 @@ var _ = Describe("EdeResolver", func() {
}, nil) }, nil)
} }
sut = NewEdeResolver(sutConfig) sut = NewEDEResolver(sutConfig)
sut.Next(m) sut.Next(m)
}) })
When("ede is disabled", func() { When("ede is disabled", func() {
BeforeEach(func() { BeforeEach(func() {
sutConfig = config.EdeConfig{ sutConfig = config.EDE{
Enable: false, Enable: false,
} }
}) })
@ -79,7 +79,7 @@ var _ = Describe("EdeResolver", func() {
When("ede is enabled", func() { When("ede is enabled", func() {
BeforeEach(func() { BeforeEach(func() {
sutConfig = config.EdeConfig{ sutConfig = config.EDE{
Enable: true, Enable: true,
} }
}) })

View File

@ -9,20 +9,20 @@ import (
"github.com/miekg/dns" "github.com/miekg/dns"
) )
type FqdnOnlyResolver struct { type FQDNOnlyResolver struct {
configurable[*config.FqdnOnlyConfig] configurable[*config.FQDNOnly]
NextResolver NextResolver
typed typed
} }
func NewFqdnOnlyResolver(cfg config.FqdnOnlyConfig) *FqdnOnlyResolver { func NewFQDNOnlyResolver(cfg config.FQDNOnly) *FQDNOnlyResolver {
return &FqdnOnlyResolver{ return &FQDNOnlyResolver{
configurable: withConfig(&cfg), configurable: withConfig(&cfg),
typed: withType("fqdn_only"), typed: withType("fqdn_only"),
} }
} }
func (r *FqdnOnlyResolver) Resolve(request *model.Request) (*model.Response, error) { func (r *FQDNOnlyResolver) Resolve(request *model.Request) (*model.Response, error) {
if r.IsEnabled() { if r.IsEnabled() {
domainFromQuestion := util.ExtractDomain(request.Req.Question[0]) domainFromQuestion := util.ExtractDomain(request.Req.Question[0])
if !strings.Contains(domainFromQuestion, ".") { if !strings.Contains(domainFromQuestion, ".") {

View File

@ -13,8 +13,8 @@ import (
var _ = Describe("FqdnOnlyResolver", func() { var _ = Describe("FqdnOnlyResolver", func() {
var ( var (
sut *FqdnOnlyResolver sut *FQDNOnlyResolver
sutConfig config.FqdnOnlyConfig sutConfig config.FQDNOnly
m *mockResolver m *mockResolver
mockAnswer *dns.Msg mockAnswer *dns.Msg
) )
@ -30,7 +30,7 @@ var _ = Describe("FqdnOnlyResolver", func() {
}) })
JustBeforeEach(func() { JustBeforeEach(func() {
sut = NewFqdnOnlyResolver(sutConfig) sut = NewFQDNOnlyResolver(sutConfig)
m = &mockResolver{} m = &mockResolver{}
m.On("Resolve", mock.Anything).Return(&Response{Res: mockAnswer}, nil) m.On("Resolve", mock.Anything).Return(&Response{Res: mockAnswer}, nil)
sut.Next(m) sut.Next(m)
@ -54,7 +54,7 @@ var _ = Describe("FqdnOnlyResolver", func() {
When("Fqdn only is enabled", func() { When("Fqdn only is enabled", func() {
BeforeEach(func() { BeforeEach(func() {
sutConfig = config.FqdnOnlyConfig{Enable: true} sutConfig = config.FQDNOnly{Enable: true}
}) })
It("Should delegate to next resolver if request query is fqdn", func() { It("Should delegate to next resolver if request query is fqdn", func() {
Expect(sut.Resolve(newRequest("example.com", A))). Expect(sut.Resolve(newRequest("example.com", A))).
@ -100,7 +100,7 @@ var _ = Describe("FqdnOnlyResolver", func() {
When("Fqdn only is disabled", func() { When("Fqdn only is disabled", func() {
BeforeEach(func() { BeforeEach(func() {
sutConfig = config.FqdnOnlyConfig{Enable: false} sutConfig = config.FQDNOnly{Enable: false}
}) })
It("Should delegate to next resolver if request query is fqdn", func() { It("Should delegate to next resolver if request query is fqdn", func() {
Expect(sut.Resolve(newRequest("example.com", A))). Expect(sut.Resolve(newRequest("example.com", A))).

View File

@ -9,7 +9,7 @@ import (
"github.com/miekg/dns" "github.com/miekg/dns"
) )
type sudnHandler = func(request *model.Request, cfg *config.SUDNConfig) *model.Response type sudnHandler = func(request *model.Request, cfg *config.SUDN) *model.Response
//nolint:gochecknoglobals //nolint:gochecknoglobals
var ( var (
@ -89,10 +89,10 @@ var (
type SpecialUseDomainNamesResolver struct { type SpecialUseDomainNamesResolver struct {
NextResolver NextResolver
typed typed
configurable[*config.SUDNConfig] configurable[*config.SUDN]
} }
func NewSpecialUseDomainNamesResolver(cfg config.SUDNConfig) *SpecialUseDomainNamesResolver { func NewSpecialUseDomainNamesResolver(cfg config.SUDN) *SpecialUseDomainNamesResolver {
return &SpecialUseDomainNamesResolver{ return &SpecialUseDomainNamesResolver{
typed: withType("special_use_domains"), typed: withType("special_use_domains"),
configurable: withConfig(&cfg), configurable: withConfig(&cfg),
@ -134,11 +134,11 @@ func newSUDNResponse(response *model.Request, rcode int) *model.Response {
return newResponse(response, rcode, model.ResponseTypeSPECIAL, "Special-Use Domain Name") return newResponse(response, rcode, model.ResponseTypeSPECIAL, "Special-Use Domain Name")
} }
func sudnNXDomain(request *model.Request, _ *config.SUDNConfig) *model.Response { func sudnNXDomain(request *model.Request, _ *config.SUDN) *model.Response {
return newSUDNResponse(request, dns.RcodeNameError) return newSUDNResponse(request, dns.RcodeNameError)
} }
func sudnLocalhost(request *model.Request, cfg *config.SUDNConfig) *model.Response { func sudnLocalhost(request *model.Request, cfg *config.SUDN) *model.Response {
q := request.Req.Question[0] q := request.Req.Question[0]
var rr dns.RR var rr dns.RR
@ -165,7 +165,7 @@ func sudnLocalhost(request *model.Request, cfg *config.SUDNConfig) *model.Respon
return response return response
} }
func sudnRFC6762AppendixG(request *model.Request, cfg *config.SUDNConfig) *model.Response { func sudnRFC6762AppendixG(request *model.Request, cfg *config.SUDN) *model.Response {
if !cfg.RFC6762AppendixG { if !cfg.RFC6762AppendixG {
return nil return nil
} }
@ -173,7 +173,7 @@ func sudnRFC6762AppendixG(request *model.Request, cfg *config.SUDNConfig) *model
return sudnNXDomain(request, cfg) return sudnNXDomain(request, cfg)
} }
func sudnHomeArpa(request *model.Request, cfg *config.SUDNConfig) *model.Response { func sudnHomeArpa(request *model.Request, cfg *config.SUDN) *model.Response {
if request.Req.Question[0].Qtype == dns.TypeDS { if request.Req.Question[0].Qtype == dns.TypeDS {
// DS queries must be forwarded // DS queries must be forwarded
return nil return nil

View File

@ -17,7 +17,7 @@ import (
var _ = Describe("SudnResolver", Label("sudnResolver"), func() { var _ = Describe("SudnResolver", Label("sudnResolver"), func() {
var ( var (
sut *SpecialUseDomainNamesResolver sut *SpecialUseDomainNamesResolver
sutConfig config.SUDNConfig sutConfig config.SUDN
m *mockResolver m *mockResolver
) )
@ -30,7 +30,7 @@ var _ = Describe("SudnResolver", Label("sudnResolver"), func() {
BeforeEach(func() { BeforeEach(func() {
var err error var err error
sutConfig, err = config.WithDefaults[config.SUDNConfig]() sutConfig, err = config.WithDefaults[config.SUDN]()
Expect(err).Should(Succeed()) Expect(err).Should(Succeed())
}) })

View File

@ -414,10 +414,10 @@ func createQueryResolver(
r = resolver.Chain( r = resolver.Chain(
resolver.NewFilteringResolver(cfg.Filtering), resolver.NewFilteringResolver(cfg.Filtering),
resolver.NewFqdnOnlyResolver(cfg.FqdnOnly), resolver.NewFQDNOnlyResolver(cfg.FQDNOnly),
resolver.NewECSResolver(cfg.ECS), resolver.NewECSResolver(cfg.ECS),
clientNames, clientNames,
resolver.NewEdeResolver(cfg.Ede), resolver.NewEDEResolver(cfg.EDE),
resolver.NewQueryLoggingResolver(ctx, cfg.QueryLog), resolver.NewQueryLoggingResolver(ctx, cfg.QueryLog),
resolver.NewMetricsResolver(cfg.Prometheus), resolver.NewMetricsResolver(cfg.Prometheus),
resolver.NewRewriterResolver(cfg.CustomDNS.RewriterConfig, resolver.NewCustomDNSResolver(cfg.CustomDNS)), resolver.NewRewriterResolver(cfg.CustomDNS.RewriterConfig, resolver.NewCustomDNSResolver(cfg.CustomDNS)),