Test that stray HelloRequests during the handshake are ignored.
Change-Id: I79e21ffce9c2d7f47b055b75bd00b80aafa8b8f0
Reviewed-on: https://boringssl-review.googlesource.com/8668
Reviewed-by: David Benjamin <davidben@google.com>
diff --git a/ssl/test/runner/conn.go b/ssl/test/runner/conn.go
index 601c731..7628c0f 100644
--- a/ssl/test/runner/conn.go
+++ b/ssl/test/runner/conn.go
@@ -945,9 +945,18 @@
return c.dtlsWriteRecord(typ, data)
}
- if c.config.Bugs.PackHandshakeFlight && typ == recordTypeHandshake {
- c.pendingFlight.Write(data)
- return len(data), nil
+ if typ == recordTypeHandshake {
+ if c.config.Bugs.SendHelloRequestBeforeEveryHandshakeMessage {
+ newData := make([]byte, 0, 4+len(data))
+ newData = append(newData, typeHelloRequest, 0, 0, 0)
+ newData = append(newData, data...)
+ data = newData
+ }
+
+ if c.config.Bugs.PackHandshakeFlight {
+ c.pendingFlight.Write(data)
+ return len(data), nil
+ }
}
return c.doWriteRecord(typ, data)