Alternative TLS implementation in Go
Go to file
Brad Fitzpatrick 1822025fbf crypto/tls: add Config.Clone
In Go 1.0, the Config struct consisted only of exported fields.

In Go 1.1, it started to grow private, uncopyable fields (sync.Once,
sync.Mutex, etc).

Ever since, people have been writing their own private Config.Clone
methods, or risking it and doing a language-level shallow copy and
copying the unexported sync variables.

Clean this up and export the Config.clone method as Config.Clone.
This matches the convention of Template.Clone from text/template and
html/template at least.

Fixes #15771
Updates #16228 (needs update in x/net/http2 before fixed)
Updates #16492 (not sure whether @agl wants to do more)

Change-Id: I48c2825d4fef55a75d2f99640a7079c56fce39ca
Reviewed-on: https://go-review.googlesource.com/28075
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Andrew Gerrand <adg@golang.org>
2016-09-01 04:26:12 +00:00
testdata crypto/tls: add KeyLogWriter for debugging 2016-08-27 17:20:55 +00:00
alert.go crypto/tls: make error prefix uniform. 2016-04-14 16:28:53 +00:00
cipher_suites.go crypto/tls: fix comment typo. 2016-08-18 21:52:31 +00:00
common.go crypto/tls: add Config.Clone 2016-09-01 04:26:12 +00:00
conn_test.go crypto/tls: add Config.Clone 2016-09-01 04:26:12 +00:00
conn.go crypto/tls: set Conn.ConnectionState.ServerName unconditionally 2016-08-17 20:21:08 +00:00
example_test.go crypto/x509: add example of using a custom root list. 2014-02-19 11:18:35 -05:00
generate_cert.go crypto/tls: Support ECDSA keys in generate_cert.go 2014-07-28 14:46:34 -07:00
handshake_client_test.go crypto/tls: add Config.Clone 2016-09-01 04:26:12 +00:00
handshake_client.go crypto/tls: add KeyLogWriter for debugging 2016-08-27 17:20:55 +00:00
handshake_messages_test.go crypto/tls: decouple handshake signatures from the handshake hash. 2015-04-30 03:47:02 +00:00
handshake_messages.go crypto/tls: allow renegotiation to be handled by a client. 2016-04-28 17:56:28 +00:00
handshake_server_test.go crypto/tls: add Config.Clone 2016-09-01 04:26:12 +00:00
handshake_server.go crypto/tls: add KeyLogWriter for debugging 2016-08-27 17:20:55 +00:00
handshake_test.go crypto/tls: fix WriteTo method signature 2016-08-16 14:36:19 +00:00
key_agreement.go crypto/tls: make error prefix uniform. 2016-04-14 16:28:53 +00:00
prf_test.go crypto/tls: decouple handshake signatures from the handshake hash. 2015-04-30 03:47:02 +00:00
prf.go all: standardize RFC mention format 2016-04-12 21:07:52 +00:00
ticket.go crypto/tls: minor refactors for readability 2016-03-14 21:17:37 +00:00
tls_test.go crypto/tls: add Config.Clone 2016-09-01 04:26:12 +00:00
tls.go crypto/tls: add Config.Clone 2016-09-01 04:26:12 +00:00