Remove enableTLS13Handshake.
There is no longer need for the Go code to implement 'fake TLS 1.3'. We
now implement real incomplete TLS 1.3.
Change-Id: I8577100ef8c7c83ca540f37dadd451263f9f37e6
Reviewed-on: https://boringssl-review.googlesource.com/8823
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
diff --git a/ssl/test/runner/common.go b/ssl/test/runner/common.go
index 0ae360a..ccb17c9 100644
--- a/ssl/test/runner/common.go
+++ b/ssl/test/runner/common.go
@@ -18,8 +18,6 @@
"time"
)
-const enableTLS13Handshake = true
-
const (
VersionSSL30 = 0x0300
VersionTLS10 = 0x0301
diff --git a/ssl/test/runner/conn.go b/ssl/test/runner/conn.go
index c9bf2b1..a9e9231 100644
--- a/ssl/test/runner/conn.go
+++ b/ssl/test/runner/conn.go
@@ -1143,12 +1143,12 @@
m = new(encryptedExtensionsMsg)
case typeCertificate:
m = &certificateMsg{
- hasRequestContext: c.vers >= VersionTLS13 && enableTLS13Handshake,
+ hasRequestContext: c.vers >= VersionTLS13,
}
case typeCertificateRequest:
m = &certificateRequestMsg{
hasSignatureAlgorithm: c.vers >= VersionTLS12,
- hasRequestContext: c.vers >= VersionTLS13 && enableTLS13Handshake,
+ hasRequestContext: c.vers >= VersionTLS13,
}
case typeCertificateStatus:
m = new(certificateStatusMsg)
@@ -1536,7 +1536,7 @@
return nil, errors.New("tls: handshake has not yet been performed")
}
- if enableTLS13Handshake && c.vers >= VersionTLS13 {
+ if c.vers >= VersionTLS13 {
// TODO(davidben): What should we do with useContext? See
// https://github.com/tlswg/tls13-spec/issues/546
return hkdfExpandLabel(c.cipherSuite.hash(), c.exporterSecret, label, context, length), nil
diff --git a/ssl/test/runner/handshake_client.go b/ssl/test/runner/handshake_client.go
index 3d9fa5a..e3b501b 100644
--- a/ssl/test/runner/handshake_client.go
+++ b/ssl/test/runner/handshake_client.go
@@ -104,7 +104,7 @@
}
var keyShares map[CurveID]ecdhCurve
- if hello.vers >= VersionTLS13 && enableTLS13Handshake {
+ if hello.vers >= VersionTLS13 {
// Offer every supported curve in the initial ClientHello.
//
// TODO(davidben): For real code, default to a more conservative
@@ -362,7 +362,7 @@
hs.writeHash(helloBytes, hs.c.sendHandshakeSeq-1)
hs.writeServerHash(hs.serverHello.marshal())
- if c.vers >= VersionTLS13 && enableTLS13Handshake {
+ if c.vers >= VersionTLS13 {
if err := hs.doTLS13Handshake(); err != nil {
return err
}
@@ -953,7 +953,7 @@
func (hs *clientHandshakeState) processServerExtensions(serverExtensions *serverExtensions) error {
c := hs.c
- if c.vers < VersionTLS13 || !enableTLS13Handshake {
+ if c.vers < VersionTLS13 {
if c.config.Bugs.RequireRenegotiationInfo && serverExtensions.secureRenegotiation == nil {
return errors.New("tls: renegotiation extension missing")
}
@@ -1003,7 +1003,7 @@
c.usedALPN = true
}
- if serverHasNPN && c.vers >= VersionTLS13 && enableTLS13Handshake {
+ if serverHasNPN && c.vers >= VersionTLS13 {
c.sendAlert(alertHandshakeFailure)
return errors.New("server advertised NPN over TLS 1.3")
}
@@ -1013,16 +1013,16 @@
return errors.New("server advertised unrequested Channel ID extension")
}
- if serverExtensions.channelIDRequested && c.vers >= VersionTLS13 && enableTLS13Handshake {
+ if serverExtensions.channelIDRequested && c.vers >= VersionTLS13 {
c.sendAlert(alertHandshakeFailure)
return errors.New("server advertised Channel ID over TLS 1.3")
}
- if serverExtensions.extendedMasterSecret && c.vers >= VersionTLS13 && enableTLS13Handshake {
+ if serverExtensions.extendedMasterSecret && c.vers >= VersionTLS13 {
return errors.New("tls: server advertised extended master secret over TLS 1.3")
}
- if serverExtensions.ticketSupported && c.vers >= VersionTLS13 && enableTLS13Handshake {
+ if serverExtensions.ticketSupported && c.vers >= VersionTLS13 {
return errors.New("tls: server advertised ticket extension over TLS 1.3")
}
diff --git a/ssl/test/runner/handshake_messages.go b/ssl/test/runner/handshake_messages.go
index 376d88c..b856344 100644
--- a/ssl/test/runner/handshake_messages.go
+++ b/ssl/test/runner/handshake_messages.go
@@ -709,18 +709,18 @@
vers := versionToWire(m.vers, m.isDTLS)
hello.addU16(vers)
hello.addBytes(m.random)
- if m.vers < VersionTLS13 || !enableTLS13Handshake {
+ if m.vers < VersionTLS13 {
sessionId := hello.addU8LengthPrefixed()
sessionId.addBytes(m.sessionId)
}
hello.addU16(m.cipherSuite)
- if m.vers < VersionTLS13 || !enableTLS13Handshake {
+ if m.vers < VersionTLS13 {
hello.addU8(m.compressionMethod)
}
extensions := hello.addU16LengthPrefixed()
- if m.vers >= VersionTLS13 && enableTLS13Handshake {
+ if m.vers >= VersionTLS13 {
if m.hasKeyShare {
extensions.addU16(extensionKeyShare)
keyShare := extensions.addU16LengthPrefixed()
@@ -756,7 +756,7 @@
m.vers = wireToVersion(uint16(data[4])<<8|uint16(data[5]), m.isDTLS)
m.random = data[6:38]
data = data[38:]
- if m.vers < VersionTLS13 || !enableTLS13Handshake {
+ if m.vers < VersionTLS13 {
sessionIdLen := int(data[0])
if sessionIdLen > 32 || len(data) < 1+sessionIdLen {
return false
@@ -769,7 +769,7 @@
}
m.cipherSuite = uint16(data[0])<<8 | uint16(data[1])
data = data[2:]
- if m.vers < VersionTLS13 || !enableTLS13Handshake {
+ if m.vers < VersionTLS13 {
if len(data) < 1 {
return false
}
@@ -777,7 +777,7 @@
data = data[1:]
}
- if len(data) == 0 && (m.vers < VersionTLS13 || enableTLS13Handshake) {
+ if len(data) == 0 && m.vers < VersionTLS13 {
// Extension data is optional before TLS 1.3.
m.extensions = serverExtensions{}
return true
@@ -792,7 +792,7 @@
return false
}
- if m.vers >= VersionTLS13 && enableTLS13Handshake {
+ if m.vers >= VersionTLS13 {
for len(data) != 0 {
if len(data) < 4 {
return false
@@ -927,7 +927,7 @@
npn.addBytes([]byte(v))
}
}
- if version >= VersionTLS13 && enableTLS13Handshake {
+ if version >= VersionTLS13 {
if m.ocspResponse != nil {
extensions.addU16(extensionStatusRequest)
body := extensions.addU16LengthPrefixed()
@@ -1042,7 +1042,7 @@
d = d[l:]
}
case extensionStatusRequest:
- if version >= VersionTLS13 && enableTLS13Handshake {
+ if version >= VersionTLS13 {
if length < 4 {
return false
}
@@ -1123,13 +1123,13 @@
// Ignore this extension from the server.
case extensionSupportedPoints:
// supported_points is illegal in TLS 1.3.
- if version >= VersionTLS13 && enableTLS13Handshake {
+ if version >= VersionTLS13 {
return false
}
// Ignore this extension from the server.
case extensionSupportedCurves:
// The server can only send supported_curves in TLS 1.3.
- if version < VersionTLS13 || !enableTLS13Handshake {
+ if version < VersionTLS13 {
return false
}
default:
diff --git a/ssl/test/runner/handshake_server.go b/ssl/test/runner/handshake_server.go
index 24d6425..e9f94b8 100644
--- a/ssl/test/runner/handshake_server.go
+++ b/ssl/test/runner/handshake_server.go
@@ -53,7 +53,7 @@
return err
}
- if c.vers >= VersionTLS13 && enableTLS13Handshake {
+ if c.vers >= VersionTLS13 {
if err := hs.doTLS13Handshake(); err != nil {
return err
}
@@ -709,7 +709,7 @@
config := hs.c.config
c := hs.c
- if c.vers < VersionTLS13 || config.Bugs.NegotiateRenegotiationInfoAtAllVersions || !enableTLS13Handshake {
+ if c.vers < VersionTLS13 || config.Bugs.NegotiateRenegotiationInfoAtAllVersions {
if !bytes.Equal(c.clientVerify, hs.clientHello.secureRenegotiation) {
c.sendAlert(alertHandshakeFailure)
return errors.New("tls: renegotiation mismatch")
@@ -760,7 +760,7 @@
}
}
- if c.vers < VersionTLS13 || config.Bugs.NegotiateNPNAtAllVersions || !enableTLS13Handshake {
+ if c.vers < VersionTLS13 || config.Bugs.NegotiateNPNAtAllVersions {
if len(hs.clientHello.alpnProtocols) == 0 || c.config.Bugs.NegotiateALPNAndNPN {
// Although sending an empty NPN extension is reasonable, Firefox has
// had a bug around this. Best to send nothing at all if
@@ -774,11 +774,11 @@
}
}
- if c.vers < VersionTLS13 || config.Bugs.NegotiateEMSAtAllVersions || !enableTLS13Handshake {
+ if c.vers < VersionTLS13 || config.Bugs.NegotiateEMSAtAllVersions {
serverExtensions.extendedMasterSecret = c.vers >= VersionTLS10 && hs.clientHello.extendedMasterSecret && !c.config.Bugs.NoExtendedMasterSecret
}
- if c.vers < VersionTLS13 || config.Bugs.NegotiateChannelIDAtAllVersions || !enableTLS13Handshake {
+ if c.vers < VersionTLS13 || config.Bugs.NegotiateChannelIDAtAllVersions {
if hs.clientHello.channelIDSupported && config.RequestChannelID {
serverExtensions.channelIDRequested = true
}
diff --git a/ssl/test/runner/prf.go b/ssl/test/runner/prf.go
index 723763f..abee6e6 100644
--- a/ssl/test/runner/prf.go
+++ b/ssl/test/runner/prf.go
@@ -133,7 +133,7 @@
// Once we no longer support Fake TLS 1.3, the VersionTLS13 should be
// removed from this case statement.
case VersionTLS12, VersionTLS13:
- if version == VersionTLS12 || !enableTLS13Handshake {
+ if version == VersionTLS12 {
return prf12(suite.hash().New)
}
}
@@ -194,7 +194,7 @@
ret.client = ret.hash.New()
ret.server = ret.hash.New()
- if version == VersionTLS12 || !enableTLS13Handshake {
+ if version == VersionTLS12 {
ret.prf = prf12(ret.hash.New)
}
} else {
@@ -305,7 +305,7 @@
return finishedSum30(h.clientMD5, h.client, baseKey, ssl3ClientFinishedMagic[:])
}
- if h.version < VersionTLS13 || !enableTLS13Handshake {
+ if h.version < VersionTLS13 {
out := make([]byte, finishedVerifyLength)
h.prf(out, baseKey, clientFinishedLabel, h.Sum())
return out
@@ -324,7 +324,7 @@
return finishedSum30(h.serverMD5, h.server, baseKey, ssl3ServerFinishedMagic[:])
}
- if h.version < VersionTLS13 || !enableTLS13Handshake {
+ if h.version < VersionTLS13 {
out := make([]byte, finishedVerifyLength)
h.prf(out, baseKey, serverFinishedLabel, h.Sum())
return out