OSDN Git Service

fix commands
[bytom/shuttle.git] / vendor / github.com / bytom / vendor / google.golang.org / grpc / credentials / credentials_util_pre_go17.go
diff --git a/vendor/github.com/bytom/vendor/google.golang.org/grpc/credentials/credentials_util_pre_go17.go b/vendor/github.com/bytom/vendor/google.golang.org/grpc/credentials/credentials_util_pre_go17.go
new file mode 100644 (file)
index 0000000..d6bbcc9
--- /dev/null
@@ -0,0 +1,57 @@
+// +build !go1.7
+
+/*
+ *
+ * Copyright 2016 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package credentials
+
+import (
+       "crypto/tls"
+)
+
+// cloneTLSConfig returns a shallow clone of the exported
+// fields of cfg, ignoring the unexported sync.Once, which
+// contains a mutex and must not be copied.
+//
+// If cfg is nil, a new zero tls.Config is returned.
+func cloneTLSConfig(cfg *tls.Config) *tls.Config {
+       if cfg == nil {
+               return &tls.Config{}
+       }
+       return &tls.Config{
+               Rand:                     cfg.Rand,
+               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,
+               SessionTicketsDisabled:   cfg.SessionTicketsDisabled,
+               SessionTicketKey:         cfg.SessionTicketKey,
+               ClientSessionCache:       cfg.ClientSessionCache,
+               MinVersion:               cfg.MinVersion,
+               MaxVersion:               cfg.MaxVersion,
+               CurvePreferences:         cfg.CurvePreferences,
+       }
+}