diff --git a/config/conditional_upstream.go b/config/conditional_upstream.go index fe92e719..48e217dd 100644 --- a/config/conditional_upstream.go +++ b/config/conditional_upstream.go @@ -7,8 +7,8 @@ import ( "github.com/sirupsen/logrus" ) -// ConditionalUpstreamConfig conditional upstream configuration -type ConditionalUpstreamConfig struct { +// ConditionalUpstream conditional upstream configuration +type ConditionalUpstream struct { RewriterConfig `yaml:",inline"` Mapping ConditionalUpstreamMapping `yaml:"mapping"` } @@ -19,12 +19,12 @@ type ConditionalUpstreamMapping struct { } // IsEnabled implements `config.Configurable`. -func (c *ConditionalUpstreamConfig) IsEnabled() bool { +func (c *ConditionalUpstream) IsEnabled() bool { return len(c.Mapping.Upstreams) != 0 } // LogConfig implements `config.Configurable`. -func (c *ConditionalUpstreamConfig) LogConfig(logger *logrus.Entry) { +func (c *ConditionalUpstream) LogConfig(logger *logrus.Entry) { for key, val := range c.Mapping.Upstreams { logger.Infof("%s = %v", key, val) } diff --git a/config/conditional_upstream_test.go b/config/conditional_upstream_test.go index 9f8d6eb3..209c9c0f 100644 --- a/config/conditional_upstream_test.go +++ b/config/conditional_upstream_test.go @@ -9,12 +9,12 @@ import ( ) var _ = Describe("ConditionalUpstreamConfig", func() { - var cfg ConditionalUpstreamConfig + var cfg ConditionalUpstream suiteBeforeEach() BeforeEach(func() { - cfg = ConditionalUpstreamConfig{ + cfg = ConditionalUpstream{ Mapping: ConditionalUpstreamMapping{ Upstreams: map[string][]Upstream{ "fritz.box": {Upstream{Net: NetProtocolTcpUdp, Host: "fbTest"}}, @@ -27,7 +27,7 @@ var _ = Describe("ConditionalUpstreamConfig", func() { Describe("IsEnabled", func() { It("should be false by default", func() { - cfg := ConditionalUpstreamConfig{} + cfg := ConditionalUpstream{} Expect(defaults.Set(&cfg)).Should(Succeed()) Expect(cfg.IsEnabled()).Should(BeFalse()) @@ -41,7 +41,7 @@ var _ = Describe("ConditionalUpstreamConfig", func() { When("disabled", func() { It("should be false", func() { - cfg := ConditionalUpstreamConfig{ + cfg := ConditionalUpstream{ Mapping: ConditionalUpstreamMapping{Upstreams: map[string][]Upstream{}}, } diff --git a/config/config.go b/config/config.go index 29f5d32c..ba413f32 100644 --- a/config/config.go +++ b/config/config.go @@ -189,30 +189,30 @@ func (b *BootstrappedUpstreamConfig) UnmarshalYAML(unmarshal func(interface{}) e // //nolint:maligned type Config struct { - Upstreams Upstreams `yaml:"upstreams"` - ConnectIPVersion IPVersion `yaml:"connectIPVersion"` - CustomDNS CustomDNS `yaml:"customDNS"` - Conditional ConditionalUpstreamConfig `yaml:"conditional"` - Blocking BlockingConfig `yaml:"blocking"` - ClientLookup ClientLookupConfig `yaml:"clientLookup"` - Caching CachingConfig `yaml:"caching"` - QueryLog QueryLogConfig `yaml:"queryLog"` - Prometheus MetricsConfig `yaml:"prometheus"` - Redis RedisConfig `yaml:"redis"` - Log log.Config `yaml:"log"` - Ports PortsConfig `yaml:"ports"` - DoHUserAgent string `yaml:"dohUserAgent"` - MinTLSServeVer string `yaml:"minTlsServeVersion" default:"1.2"` - StartVerifyUpstream bool `yaml:"startVerifyUpstream" default:"false"` - CertFile string `yaml:"certFile"` - KeyFile string `yaml:"keyFile"` - BootstrapDNS BootstrapDNSConfig `yaml:"bootstrapDns"` - HostsFile HostsFileConfig `yaml:"hostsFile"` - FQDNOnly FQDNOnly `yaml:"fqdnOnly"` - Filtering FilteringConfig `yaml:"filtering"` - EDE EDE `yaml:"ede"` - ECS ECS `yaml:"ecs"` - SUDN SUDN `yaml:"specialUseDomains"` + Upstreams Upstreams `yaml:"upstreams"` + ConnectIPVersion IPVersion `yaml:"connectIPVersion"` + CustomDNS CustomDNS `yaml:"customDNS"` + Conditional ConditionalUpstream `yaml:"conditional"` + Blocking BlockingConfig `yaml:"blocking"` + ClientLookup ClientLookupConfig `yaml:"clientLookup"` + Caching CachingConfig `yaml:"caching"` + QueryLog QueryLogConfig `yaml:"queryLog"` + Prometheus MetricsConfig `yaml:"prometheus"` + Redis RedisConfig `yaml:"redis"` + Log log.Config `yaml:"log"` + Ports PortsConfig `yaml:"ports"` + DoHUserAgent string `yaml:"dohUserAgent"` + MinTLSServeVer string `yaml:"minTlsServeVersion" default:"1.2"` + StartVerifyUpstream bool `yaml:"startVerifyUpstream" default:"false"` + CertFile string `yaml:"certFile"` + KeyFile string `yaml:"keyFile"` + BootstrapDNS BootstrapDNSConfig `yaml:"bootstrapDns"` + HostsFile HostsFileConfig `yaml:"hostsFile"` + FQDNOnly FQDNOnly `yaml:"fqdnOnly"` + Filtering FilteringConfig `yaml:"filtering"` + EDE EDE `yaml:"ede"` + ECS ECS `yaml:"ecs"` + SUDN SUDN `yaml:"specialUseDomains"` // Deprecated options Deprecated struct { diff --git a/resolver/conditional_upstream_resolver.go b/resolver/conditional_upstream_resolver.go index 9823e1e1..be6a1b89 100644 --- a/resolver/conditional_upstream_resolver.go +++ b/resolver/conditional_upstream_resolver.go @@ -15,7 +15,7 @@ import ( // ConditionalUpstreamResolver delegates DNS question to other DNS resolver dependent on domain name in question type ConditionalUpstreamResolver struct { - configurable[*config.ConditionalUpstreamConfig] + configurable[*config.ConditionalUpstream] NextResolver typed @@ -24,7 +24,7 @@ type ConditionalUpstreamResolver struct { // NewConditionalUpstreamResolver returns new resolver instance func NewConditionalUpstreamResolver( - ctx context.Context, cfg config.ConditionalUpstreamConfig, bootstrap *Bootstrap, shouldVerifyUpstreams bool, + ctx context.Context, cfg config.ConditionalUpstream, bootstrap *Bootstrap, shouldVerifyUpstreams bool, ) (*ConditionalUpstreamResolver, error) { m := make(map[string]Resolver, len(cfg.Mapping.Upstreams)) diff --git a/resolver/conditional_upstream_resolver_test.go b/resolver/conditional_upstream_resolver_test.go index 2c6ef4bc..b4b447e5 100644 --- a/resolver/conditional_upstream_resolver_test.go +++ b/resolver/conditional_upstream_resolver_test.go @@ -65,7 +65,7 @@ var _ = Describe("ConditionalUpstreamResolver", Label("conditionalResolver"), fu }) DeferCleanup(refuseTestUpstream.Close) - sut, _ = NewConditionalUpstreamResolver(ctx, config.ConditionalUpstreamConfig{ + sut, _ = NewConditionalUpstreamResolver(ctx, config.ConditionalUpstream{ Mapping: config.ConditionalUpstreamMapping{ Upstreams: map[string][]config.Upstream{ "fritz.box": {fbTestUpstream.Start()}, @@ -194,7 +194,7 @@ var _ = Describe("ConditionalUpstreamResolver", Label("conditionalResolver"), fu It("errors during construction", func() { b := newTestBootstrap(ctx, &dns.Msg{MsgHdr: dns.MsgHdr{Rcode: dns.RcodeServerFailure}}) - r, err := NewConditionalUpstreamResolver(ctx, config.ConditionalUpstreamConfig{ + r, err := NewConditionalUpstreamResolver(ctx, config.ConditionalUpstream{ Mapping: config.ConditionalUpstreamMapping{ Upstreams: map[string][]config.Upstream{ ".": {config.Upstream{Host: "example.com"}}, diff --git a/server/server_test.go b/server/server_test.go index 3f1813a5..8481575c 100644 --- a/server/server_test.go +++ b/server/server_test.go @@ -127,7 +127,7 @@ var _ = BeforeSuite(func() { }, }, }, - Conditional: config.ConditionalUpstreamConfig{ + Conditional: config.ConditionalUpstream{ Mapping: config.ConditionalUpstreamMapping{ Upstreams: map[string][]config.Upstream{ "net.cn": {upstreamClient},