tlsconfig_clone_go17.go 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. // +build go1.7,!go1.8
  2. package tlsconfig
  3. import "crypto/tls"
  4. // Clone returns a clone of tls.Config. This function is provided for
  5. // compatibility for go1.7 that doesn't include this method in stdlib.
  6. func Clone(c *tls.Config) *tls.Config {
  7. return &tls.Config{
  8. Rand: c.Rand,
  9. Time: c.Time,
  10. Certificates: c.Certificates,
  11. NameToCertificate: c.NameToCertificate,
  12. GetCertificate: c.GetCertificate,
  13. RootCAs: c.RootCAs,
  14. NextProtos: c.NextProtos,
  15. ServerName: c.ServerName,
  16. ClientAuth: c.ClientAuth,
  17. ClientCAs: c.ClientCAs,
  18. InsecureSkipVerify: c.InsecureSkipVerify,
  19. CipherSuites: c.CipherSuites,
  20. PreferServerCipherSuites: c.PreferServerCipherSuites,
  21. SessionTicketsDisabled: c.SessionTicketsDisabled,
  22. SessionTicketKey: c.SessionTicketKey,
  23. ClientSessionCache: c.ClientSessionCache,
  24. MinVersion: c.MinVersion,
  25. MaxVersion: c.MaxVersion,
  26. CurvePreferences: c.CurvePreferences,
  27. DynamicRecordSizingDisabled: c.DynamicRecordSizingDisabled,
  28. Renegotiation: c.Renegotiation,
  29. }
  30. }