This fixes several assertion errors that were found in fuzz testing, for unimplemented portions of the spec. The assertions were either turned into Python exceptions, or the missing functionality was implemented. Frames larger than 4GB are unsupported. Initial reception of such a frame will result in OSError(EIO) and subsequent operations on the same websocket will fail because framing has been lost. Transmitting frames larger than 64kB is unsupported. Attempting to transmit such a frame will result in OSError(ENOBUFS). Subsequent operations on the websocket are possible. Signed-off-by: Jeff Epler <jepler@gmail.com>
21 lines
608 B
Text
21 lines
608 B
Text
b'ping'
|
|
b'\x81\x04pong'
|
|
b'pingPi'
|
|
b'ngPI'
|
|
b'NG'
|
|
b''
|
|
b'pingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingping'
|
|
b'\x81~\x00\x80pongpongpongpongpongpongpongpongpongpongpongpongpongpongpongpongpongpongpongpongpongpongpongpongpongpongpongpongpongpongpongpong'
|
|
b'pingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingpingping'
|
|
ioctl: EIO: True
|
|
b'\x00\x00\x00\x00 '
|
|
b'\x00\x00\x00\x00 '
|
|
b'\x00\x00\x00\x00 '
|
|
b''
|
|
b'\x88\x00'
|
|
b'ping'
|
|
b'pong'
|
|
0
|
|
1
|
|
2
|
|
ioctl: EINVAL: True
|