Autobahn WebSockets Testsuite Report
Autobahn WebSockets

Microsoft-HTTPAPI/2.0 - Case 5.15 : Pass - 43 ms @ 2021-01-02T08:46:12.339Z

Case Description

Send text Message fragmented into 2 fragments, then Continuation Frame with FIN = false where there is nothing to continue, then unfragmented Text Message, all sent in one chop.

Case Expectation

The connection is failed immediately, since there is no message to continue.

Case Outcome

Actual events match at least one expected.

Expected:
{'NON-STRICT': [], 'OK': [('message', u'fragment1fragment2', False)]}

Observed:
[('message', u'fragment1fragment2', False)]

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)



Opening Handshake

GET / HTTP/1.1
User-Agent: AutobahnTestSuite/0.7.5-0.10.9
Host: 127.0.0.1:9001
Upgrade: WebSocket
Connection: Upgrade
Pragma: no-cache
Cache-Control: no-cache
Sec-WebSocket-Key: BxqFQB97bGqLy2Migje8hQ==
Sec-WebSocket-Version: 13
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Server: Microsoft-HTTPAPI/2.0
Connection: Upgrade
Sec-WebSocket-Accept: yjH+8GllXwk5161yGanjmChK4lE=
Date: Sat, 02 Jan 2021 16:46:12 CST


Closing Behavior

KeyValueDescription
isServerFalseTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSockets closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1002The close code I sent in close frame (if any).
localCloseReasonreceived continuation data frame outside fragmented messageThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

Chop SizeCountOctets
11111
33133
1971197
Total3241

Octets Transmitted by Chop Size

Chop SizeCountOctets
15460
67167
2401240
Total6367

Frames Received by Opcode

OpcodeCount
02
11
Total3

Frames Transmitted by Opcode

OpcodeCount
02
12
81
Total5


Wire Log

000 TX OCTETS: 474554202f20485454502f312e310d0a557365722d4167656e743a204175746f6261686e5465737453756974652f302e372e
               352d302e31302e390d0a486f7374 ...
001 RX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a557067726164653a20776562736f636b
               65740d0a5365727665723a204d69 ...
002 TX FRAME : OPCODE=1, FIN=False, RSV=0, PAYLOAD-LEN=9, MASK=c2682b77, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               fragment1
003 TX OCTETS: 0189c2682b77a41a4a10af0d4503f3
004 TX FRAME : OPCODE=0, FIN=True, RSV=0, PAYLOAD-LEN=9, MASK=7b04fd52, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               fragment2
005 TX OCTETS: 80897b04fd521d769c351661932649
006 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=9, MASK=8080354e, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               fragment3
007 TX OCTETS: 00898080354ee6f25429ede55b3ab3
008 TX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASK=b744be16, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               fragment4
009 TX OCTETS: 8189b744be16d136df71da21d06283
010 FAIL CONNECTION AFTER 1.000000 sec
011 RX OCTETS: 0109667261676d656e7431
012 RX FRAME : OPCODE=1, FIN=False, RSV=0, PAYLOAD-LEN=9, MASKED=False, MASK=None
               fragment1
013 RX OCTETS: 8009667261676d656e74320009667261676d656e74338109667261676d656e7434
014 RX FRAME : OPCODE=0, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=False, MASK=None
               fragment2
015 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=61, MASK=72753d6f, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0x03ea726563656976656420636f6e74696e756174696f6e2064617461206672616d65206f75747369646520667261676d65
               6e746564206d657373616765 ...
016 TX OCTETS: 88bd72753d6f719f4f0a1110541917111d0c1d1b49061c005c1b1b1a534f1614490e52134f0e1f101d0007014e0616101d09
               00145a02171b490a1655500a0106 ...
017 RX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=0, MASKED=False, MASK=None
018 TCP DROPPED BY ME