From b61b4de6dfd52cc4d0c90d32696ea37a769f3ba6 Mon Sep 17 00:00:00 2001 From: David Benjamin Date: Tue, 22 Jul 2014 19:05:46 -0400 Subject: [PATCH] Fix runner.go session ticket support. Some test code to insert a bogus session ticket was retained. Also, decryptTicket mutated its input, in turn, mutating the ClientHello, breaking the Finished hash. The latter fix should probably be merged upstream. Change-Id: I6949f842c67e19df8742561fb0b849af9f5f099d Reviewed-on: https://boringssl-review.googlesource.com/1290 Reviewed-by: Adam Langley --- ssl/test/runner/handshake_server.go | 4 ---- ssl/test/runner/ticket.go | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/ssl/test/runner/handshake_server.go b/ssl/test/runner/handshake_server.go index f3fd08ff9..73eac703c 100644 --- a/ssl/test/runner/handshake_server.go +++ b/ssl/test/runner/handshake_server.go @@ -588,10 +588,6 @@ func (hs *serverHandshakeState) sendSessionTicket() error { if err != nil { return err } - m.ticket = make([]byte, 16105+62) - for i := range m.ticket { - m.ticket[i] = 'A' - } hs.finishedHash.Write(m.marshal()) c.writeRecord(recordTypeHandshake, m.marshal()) diff --git a/ssl/test/runner/ticket.go b/ssl/test/runner/ticket.go index 70e91cfc0..519543b7b 100644 --- a/ssl/test/runner/ticket.go +++ b/ssl/test/runner/ticket.go @@ -173,7 +173,7 @@ func (c *Conn) decryptTicket(encrypted []byte) (*sessionState, bool) { return nil, false } ciphertext := encrypted[aes.BlockSize : len(encrypted)-sha256.Size] - plaintext := ciphertext + plaintext := make([]byte, len(ciphertext)) cipher.NewCTR(block, iv).XORKeyStream(plaintext, ciphertext) state := new(sessionState)