From cbe37e5213c6dcc128a3575acbac719ca6d67bc6 Mon Sep 17 00:00:00 2001 From: Gyu-Ho Lee Date: Thu, 13 Apr 2017 14:15:02 -0700 Subject: [PATCH 1/3] travis: bump up to Go 1.8.1 Signed-off-by: Gyu-Ho Lee --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4215e3c08..b82cebb20 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,7 @@ go_import_path: github.com/coreos/etcd sudo: false go: - - 1.8 + - 1.8.1 - tip notifications: From 99a2d6c4b188ca6c090d4eca21d71c8b51da678e Mon Sep 17 00:00:00 2001 From: Gyu-Ho Lee Date: Thu, 13 Apr 2017 14:16:10 -0700 Subject: [PATCH 2/3] integration: use 'time.Until' in Go 1.8 Signed-off-by: Gyu-Ho Lee --- integration/v3_lease_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integration/v3_lease_test.go b/integration/v3_lease_test.go index a1599f6dc..f03ee2201 100644 --- a/integration/v3_lease_test.go +++ b/integration/v3_lease_test.go @@ -484,7 +484,7 @@ func TestV3LeaseFailover(t *testing.T) { clus.waitLeader(t, clus.Members) // lease should not expire at the last received expire deadline. - time.Sleep(expectedExp.Sub(time.Now()) - 500*time.Millisecond) + time.Sleep(time.Until(expectedExp) - 500*time.Millisecond) if !leaseExist(t, clus, lresp.ID) { t.Error("unexpected lease not exists") From 8aaa1ed911139aafafa2d5262413e9bdfc80daf4 Mon Sep 17 00:00:00 2001 From: Gyu-Ho Lee Date: Thu, 13 Apr 2017 14:17:13 -0700 Subject: [PATCH 3/3] *: 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 {