Add SendServerHelloAsHelloRetryRequest test.
There was a case we were not covering.
Change-Id: Ia8bc1b73f5db3d18afc3cdcfa249867784c3dcd2
Reviewed-on: https://boringssl-review.googlesource.com/14824
Commit-Queue: David Benjamin <davidben@google.com>
Commit-Queue: Steven Valdez <svaldez@google.com>
Reviewed-by: Steven Valdez <svaldez@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
diff --git a/ssl/test/runner/conn.go b/ssl/test/runner/conn.go
index 830977d..6cc1b5c 100644
--- a/ssl/test/runner/conn.go
+++ b/ssl/test/runner/conn.go
@@ -1001,11 +1001,17 @@
// to the connection and updates the record layer state.
// c.out.Mutex <= L.
func (c *Conn) writeRecord(typ recordType, data []byte) (n int, err error) {
- if msgType := c.config.Bugs.SendWrongMessageType; msgType != 0 {
- if typ == recordTypeHandshake && data[0] == msgType {
+ if typ == recordTypeHandshake {
+ msgType := data[0]
+ if c.config.Bugs.SendWrongMessageType != 0 && msgType == c.config.Bugs.SendWrongMessageType {
+ msgType += 42
+ } else if msgType == typeServerHello && c.config.Bugs.SendServerHelloAsHelloRetryRequest {
+ msgType = typeHelloRetryRequest
+ }
+ if msgType != data[0] {
newData := make([]byte, len(data))
copy(newData, data)
- newData[0] += 42
+ newData[0] = msgType
data = newData
}
}