aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Zou Nengren <zounengren@cmss.chinamobile.com> 2020-03-06 16:25:07 +0800
committerGravatar GitHub <noreply@github.com> 2020-03-06 09:25:07 +0100
commita74a209129fd832b1d68c9de1b5d0c265b78c3a1 (patch)
treecc2249ecdc6dafbf191f0be13e22aa370d98750d
parentb8e96b61fc1189c3e5240319e470eb7a6d10f3c6 (diff)
downloadcoredns-a74a209129fd832b1d68c9de1b5d0c265b78c3a1.tar.gz
coredns-a74a209129fd832b1d68c9de1b5d0c265b78c3a1.tar.zst
coredns-a74a209129fd832b1d68c9de1b5d0c265b78c3a1.zip
validate object implements the corresponding interface (#3724)
Signed-off-by: zouyee <zounengren@cmss.chinamobile.com>
-rw-r--r--core/dnsserver/register.go3
-rw-r--r--core/dnsserver/server.go4
-rw-r--r--core/dnsserver/server_grpc.go4
-rw-r--r--core/dnsserver/server_https.go5
-rw-r--r--core/dnsserver/server_tls.go4
5 files changed, 20 insertions, 0 deletions
diff --git a/core/dnsserver/register.go b/core/dnsserver/register.go
index 271443857..68087b744 100644
--- a/core/dnsserver/register.go
+++ b/core/dnsserver/register.go
@@ -52,6 +52,9 @@ func (h *dnsContext) saveConfig(key string, cfg *Config) {
h.keysToConfigs[key] = cfg
}
+// Compile-time check to ensure dnsContext implements the caddy.Context interface
+var _ caddy.Context = &dnsContext{}
+
// InspectServerBlocks make sure that everything checks out before
// executing directives and otherwise prepares the directives to
// be parsed and executed.
diff --git a/core/dnsserver/server.go b/core/dnsserver/server.go
index 9b8fb23e4..b5bc14a63 100644
--- a/core/dnsserver/server.go
+++ b/core/dnsserver/server.go
@@ -20,6 +20,7 @@ import (
"github.com/coredns/coredns/plugin/pkg/transport"
"github.com/coredns/coredns/request"
+ "github.com/caddyserver/caddy"
"github.com/miekg/dns"
ot "github.com/opentracing/opentracing-go"
)
@@ -99,6 +100,9 @@ func NewServer(addr string, group []*Config) (*Server, error) {
return s, nil
}
+// Compile-time check to ensure Server implements the caddy.GracefulServer interface
+var _ caddy.GracefulServer = &Server{}
+
// Serve starts the server with an existing listener. It blocks until the server stops.
// This implements caddy.TCPServer interface.
func (s *Server) Serve(l net.Listener) error {
diff --git a/core/dnsserver/server_grpc.go b/core/dnsserver/server_grpc.go
index 7b530f97a..32b224e29 100644
--- a/core/dnsserver/server_grpc.go
+++ b/core/dnsserver/server_grpc.go
@@ -11,6 +11,7 @@ import (
"github.com/coredns/coredns/plugin/pkg/reuseport"
"github.com/coredns/coredns/plugin/pkg/transport"
+ "github.com/caddyserver/caddy"
"github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc"
"github.com/miekg/dns"
"github.com/opentracing/opentracing-go"
@@ -43,6 +44,9 @@ func NewServergRPC(addr string, group []*Config) (*ServergRPC, error) {
return &ServergRPC{Server: s, tlsConfig: tlsConfig}, nil
}
+// Compile-time check to ensure Server implements the caddy.GracefulServer interface
+var _ caddy.GracefulServer = &Server{}
+
// Serve implements caddy.TCPServer interface.
func (s *ServergRPC) Serve(l net.Listener) error {
s.m.Lock()
diff --git a/core/dnsserver/server_https.go b/core/dnsserver/server_https.go
index d2515295c..07be746f9 100644
--- a/core/dnsserver/server_https.go
+++ b/core/dnsserver/server_https.go
@@ -14,6 +14,8 @@ import (
"github.com/coredns/coredns/plugin/pkg/response"
"github.com/coredns/coredns/plugin/pkg/reuseport"
"github.com/coredns/coredns/plugin/pkg/transport"
+
+ "github.com/caddyserver/caddy"
)
// ServerHTTPS represents an instance of a DNS-over-HTTPS server.
@@ -44,6 +46,9 @@ func NewServerHTTPS(addr string, group []*Config) (*ServerHTTPS, error) {
return sh, nil
}
+// Compile-time check to ensure Server implements the caddy.GracefulServer interface
+var _ caddy.GracefulServer = &Server{}
+
// Serve implements caddy.TCPServer interface.
func (s *ServerHTTPS) Serve(l net.Listener) error {
s.m.Lock()
diff --git a/core/dnsserver/server_tls.go b/core/dnsserver/server_tls.go
index 0b7fa517a..28f55f304 100644
--- a/core/dnsserver/server_tls.go
+++ b/core/dnsserver/server_tls.go
@@ -9,6 +9,7 @@ import (
"github.com/coredns/coredns/plugin/pkg/reuseport"
"github.com/coredns/coredns/plugin/pkg/transport"
+ "github.com/caddyserver/caddy"
"github.com/miekg/dns"
)
@@ -35,6 +36,9 @@ func NewServerTLS(addr string, group []*Config) (*ServerTLS, error) {
return &ServerTLS{Server: s, tlsConfig: tlsConfig}, nil
}
+// Compile-time check to ensure Server implements the caddy.GracefulServer interface
+var _ caddy.GracefulServer = &Server{}
+
// Serve implements caddy.TCPServer interface.
func (s *ServerTLS) Serve(l net.Listener) error {
s.m.Lock()