Alternative TLS implementation in Go
Go to file
Adam Langley ef4934a9ed crypto/tls: split connErr to avoid read/write races.
Currently a write error will cause future reads to return that same error.
However, there may have been extra information from a peer pending on
the read direction that is now unavailable.

This change splits the single connErr into errors for the read, write and
handshake. (Splitting off the handshake error is needed because both read
and write paths check the handshake error.)

Fixes #7414.

LGTM=bradfitz, r
R=golang-codereviews, r, bradfitz
CC=golang-codereviews
https://golang.org/cl/69090044
2014-03-03 09:01:44 -05:00
testdata crypto/tls: pick ECDHE curves based on server preference. 2014-02-24 17:57:51 -05:00
alert.go crypto/tls: add Error method to alert 2011-10-27 19:42:32 -07:00
cipher_suites.go crypto/tls: don't select TLS 1.2 cipher suites in prior versions. 2013-09-26 17:09:56 -04:00
common.go crypto/tls: report TLS version in ConnectionState. 2014-02-24 18:01:28 -05:00
conn_test.go crypto/tls: add server side SNI support. 2011-10-08 10:06:53 -04:00
conn.go crypto/tls: split connErr to avoid read/write races. 2014-03-03 09:01:44 -05: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: generate random serial numbers. 2013-12-15 12:57:57 -05:00
handshake_client_test.go crypto/tls: Client side support for TLS session resumption. 2014-01-22 18:24:03 -05:00
handshake_client.go crypto/tls: split connErr to avoid read/write races. 2014-03-03 09:01:44 -05:00
handshake_messages_test.go crypto/tls: pick ECDHE curves based on server preference. 2014-02-24 17:57:51 -05:00
handshake_messages.go crypto/tls: pick ECDHE curves based on server preference. 2014-02-24 17:57:51 -05:00
handshake_server_test.go crypto/tls: report TLS version in ConnectionState. 2014-02-24 18:01:28 -05:00
handshake_server.go crypto/tls: split connErr to avoid read/write races. 2014-03-03 09:01:44 -05:00
handshake_test.go crypto/tls: rework reference tests. 2013-12-20 11:37:05 -05:00
key_agreement.go crypto/tls: pick ECDHE curves based on server preference. 2014-02-24 17:57:51 -05:00
prf_test.go crypto/tls: support TLS 1.1. 2013-06-04 20:02:22 -04:00
prf.go crypto/tls: fix TLS 1.2 client certificates. 2013-09-16 16:39:42 -04:00
ticket.go crypto/tls: support session ticket resumption. 2012-09-24 16:52:43 -04:00
tls_test.go crypto/tls: add DialWithDialer. 2014-02-28 09:40:12 -05:00
tls.go crypto/tls: add DialWithDialer. 2014-02-28 09:40:12 -05:00