runner: Refuse to resume sessions on mismatching versions. Clients all consistently reject mismatches. If a different version was negotiated, a server should ignore the resumption. This doesn't actually affect current tests. We really want to be making this change in BoringSSL (and then upstream), but get the Go half into shape first. Change-Id: Ieee7e141331d9e08573592e661889bd756dccfa9 Reviewed-on: https://boringssl-review.googlesource.com/2243 Reviewed-by: Adam Langley <agl@google.com>
diff --git a/ssl/test/runner/handshake_server.go b/ssl/test/runner/handshake_server.go index 41d588a..89c7b8d 100644 --- a/ssl/test/runner/handshake_server.go +++ b/ssl/test/runner/handshake_server.go
@@ -327,13 +327,9 @@ return false } - if !c.config.Bugs.AllowSessionVersionMismatch { - if hs.sessionState.vers > hs.clientHello.vers { - return false - } - if vers, ok := c.config.mutualVersion(hs.sessionState.vers); !ok || vers != hs.sessionState.vers { - return false - } + // Never resume a session for a different SSL version. + if !c.config.Bugs.AllowSessionVersionMismatch && c.vers != hs.sessionState.vers { + return false } cipherSuiteOk := false