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()