From 8aaa1ed911139aafafa2d5262413e9bdfc80daf4 Mon Sep 17 00:00:00 2001 From: Gyu-Ho Lee Date: Thu, 13 Apr 2017 14:17:13 -0700 Subject: [PATCH] *: use '*tls.Config.Clone' in Go 1.8 Signed-off-by: Gyu-Ho Lee --- embed/serve.go | 3 +-- pkg/transport/listener.go | 29 ----------------------------- 2 files changed, 1 insertion(+), 31 deletions(-) diff --git a/embed/serve.go b/embed/serve.go index 02c093ff8..07d2159ce 100644 --- a/embed/serve.go +++ b/embed/serve.go @@ -32,7 +32,6 @@ import ( "github.com/coreos/etcd/etcdserver/api/v3rpc" pb "github.com/coreos/etcd/etcdserver/etcdserverpb" "github.com/coreos/etcd/pkg/debugutil" - "github.com/coreos/etcd/pkg/transport" "github.com/cockroachdb/cmux" gw "github.com/grpc-ecosystem/grpc-gateway/runtime" @@ -117,7 +116,7 @@ func (sctx *serveCtx) serve(s *etcdserver.EtcdServer, tlscfg *tls.Config, handle } handler = grpcHandlerFunc(gs, handler) - dtls := transport.ShallowCopyTLSConfig(tlscfg) + dtls := tlscfg.Clone() // trust local server dtls.InsecureSkipVerify = true creds := credentials.NewTLS(dtls) diff --git a/pkg/transport/listener.go b/pkg/transport/listener.go index af798f974..e024f3c6b 100644 --- a/pkg/transport/listener.go +++ b/pkg/transport/listener.go @@ -242,35 +242,6 @@ func (info TLSInfo) ClientConfig() (*tls.Config, error) { return cfg, nil } -// ShallowCopyTLSConfig copies *tls.Config. This is only -// work-around for go-vet tests, which complains -// -// assignment copies lock value to p: crypto/tls.Config contains sync.Once contains sync.Mutex -// -// Keep up-to-date with 'go/src/crypto/tls/common.go' -func ShallowCopyTLSConfig(cfg *tls.Config) *tls.Config { - ncfg := tls.Config{ - Time: cfg.Time, - Certificates: cfg.Certificates, - NameToCertificate: cfg.NameToCertificate, - GetCertificate: cfg.GetCertificate, - RootCAs: cfg.RootCAs, - NextProtos: cfg.NextProtos, - ServerName: cfg.ServerName, - ClientAuth: cfg.ClientAuth, - ClientCAs: cfg.ClientCAs, - InsecureSkipVerify: cfg.InsecureSkipVerify, - CipherSuites: cfg.CipherSuites, - PreferServerCipherSuites: cfg.PreferServerCipherSuites, - SessionTicketKey: cfg.SessionTicketKey, - ClientSessionCache: cfg.ClientSessionCache, - MinVersion: cfg.MinVersion, - MaxVersion: cfg.MaxVersion, - CurvePreferences: cfg.CurvePreferences, - } - return &ncfg -} - // IsClosedConnError returns true if the error is from closing listener, cmux. // copied from golang.org/x/net/http2/http2.go func IsClosedConnError(err error) bool {