diff --git a/Cargo.lock b/Cargo.lock
index 2d2a6bf..3a73436 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -162,6 +162,7 @@ dependencies = [
"radix64",
"rand",
"sha1",
+ "simdutf8",
"simple_logger",
"url",
]
@@ -322,6 +323,12 @@ dependencies = [
"digest",
]
+[[package]]
+name = "simdutf8"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a"
+
[[package]]
name = "simple_logger"
version = "4.2.0"
diff --git a/autobahn/client/hornbeam_case_10_1_1.html b/autobahn/client/hornbeam_case_10_1_1.html
new file mode 100644
index 0000000..c0c71f4
--- /dev/null
+++ b/autobahn/client/hornbeam_case_10_1_1.html
@@ -0,0 +1,514 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 10.1.1 : Pass - 7 ms @ 2023-08-11T05:15:26.051Z
+ Case Description
Send text message with payload of length 65536 auto-fragmented with autoFragmentSize = 1300.
+ Case Expectation
Receive echo'ed text message (with payload as sent and transmitted frame counts as expected). Clean close with normal code.
+
+
+ Case Outcome
Actual events match at least one expected.
+ Expected:
{'OK': [('message', u'**************************************************************** ...', False)]}
+ Observed:
[('message', u'**************************************************************** ...', False)]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=289&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: h1HyhL+jt6y3lo74wlyTmw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: /eJhxtq03RDXdWrta/TrkriW6dc=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ 13032 | 1 | 13032 |
+ 23557 | 1 | 23557 |
+ 28960 | 1 | 28960 |
+ Total | 6 | 65742 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ 540 | 1 | 540 |
+ 1304 | 50 | 65200 |
+ Total | 53 | 65950 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ 0 | 50 |
+ 1 | 1 |
+ 8 | 1 |
+ Total | 52 |
+
+
+ Wire Log
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323839266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 TX FRAME : OPCODE=1, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
003 TX OCTETS: 017e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
004 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
005 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
006 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
007 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
008 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
009 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
010 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
011 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
012 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
013 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
014 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
015 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
016 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
017 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
018 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
019 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
020 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
021 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
022 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
023 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
024 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
025 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
026 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
027 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
028 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
029 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
030 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
031 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
032 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
033 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
034 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
035 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
036 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
037 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
038 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
039 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
040 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
041 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
042 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
043 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
044 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
045 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
046 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
047 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
048 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
049 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
050 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
051 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
052 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
053 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
054 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
055 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
056 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
057 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
058 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
059 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
060 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
061 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
062 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
063 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
064 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
065 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
066 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
067 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
068 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
069 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
070 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
071 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
072 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
073 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
074 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
075 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
076 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
077 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
078 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
079 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
080 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
081 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
082 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
083 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
084 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
085 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
086 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
087 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
088 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
089 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
090 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
091 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
092 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
093 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
094 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
095 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
096 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
097 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
098 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
099 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
100 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1300, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
101 TX OCTETS: 007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
102 TX FRAME : OPCODE=0, FIN=True, RSV=0, PAYLOAD-LEN=536, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
**************************************************************** ...
+
103 TX OCTETS: 807e02182a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
+
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
104 FAIL CONNECTION AFTER 10.000000 sec
+
105 RX OCTETS: 81
+
106 RX OCTETS: ff00000000000100005a9ed44470b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70
+
b4fe6e70b4fe6e70b4fe6e70b4fe ...
+
107 RX OCTETS: 6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70
+
b4fe6e70b4fe6e70b4fe6e70b4fe ...
+
108 RX OCTETS: 6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70
+
b4fe6e70b4fe6e70b4fe6e70b4fe ...
+
109 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=65536, MASKED=True, MASK=3561396564343434
+
**************************************************************** ...
+
110 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
0x03e8
+
111 TX OCTETS: 880203e8
+
112 RX OCTETS: 888297a4908b944c
+
113 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3937613439303862
+
0x03e8
+
114 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_10_1_1.json b/autobahn/client/hornbeam_case_10_1_1.json
new file mode 100644
index 0000000..c40bcc0
--- /dev/null
+++ b/autobahn/client/hornbeam_case_10_1_1.json
@@ -0,0 +1,1303 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "OK",
+ "behaviorClose": "OK",
+ "case": 289,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": true,
+ "description": "Send text message with payload of length 65536 auto-fragmented with autoFragmentSize = 1300.",
+ "droppedByMe": true,
+ "duration": 7,
+ "expectation": "Receive echo'ed text message (with payload as sent and transmitted frame counts as expected). Clean close with normal code.",
+ "expected": {
+ "OK": [
+ [
+ "message",
+ "**************************************************************** ...",
+ false
+ ]
+ ]
+ },
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=289&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: h1HyhL+jt6y3lo74wlyTmw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: /eJhxtq03RDXdWrta/TrkriW6dc=\r\n\r\n",
+ "id": "10.1.1",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [
+ [
+ "message",
+ "**************************************************************** ...",
+ false
+ ]
+ ],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": false,
+ "reportTime": false,
+ "result": "Actual events match at least one expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "1": 1,
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "8": 1,
+ "184": 1,
+ "13032": 1,
+ "23557": 1,
+ "28960": 1
+ },
+ "started": "2023-08-11T05:15:26.051Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "0": 50,
+ "1": 1,
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1,
+ "540": 1,
+ "1304": 50
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d323839266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 1,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "017e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 1300,
+ "**************************************************************** ..."
+ ],
+ 0,
+ false,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 1304,
+ "007e05142a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "TF",
+ [
+ 536,
+ "**************************************************************** ..."
+ ],
+ 0,
+ true,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 540,
+ "807e02182a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..."
+ ],
+ false
+ ],
+ [
+ "KL",
+ 10
+ ],
+ [
+ "RO",
+ [
+ 1,
+ "81"
+ ]
+ ],
+ [
+ "RO",
+ [
+ 13032,
+ "ff00000000000100005a9ed44470b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe ..."
+ ]
+ ],
+ [
+ "RO",
+ [
+ 28960,
+ "6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe ..."
+ ]
+ ],
+ [
+ "RO",
+ [
+ 23557,
+ "6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe6e70b4fe ..."
+ ]
+ ],
+ [
+ "RF",
+ [
+ 65536,
+ "**************************************************************** ..."
+ ],
+ 1,
+ true,
+ 0,
+ true,
+ "5a9ed444"
+ ],
+ [
+ "TF",
+ [
+ 2,
+ "0x03e8"
+ ],
+ 8,
+ true,
+ 0,
+ null,
+ null,
+ null,
+ false
+ ],
+ [
+ "TO",
+ [
+ 4,
+ "880203e8"
+ ],
+ false
+ ],
+ [
+ "RO",
+ [
+ 8,
+ "888297a4908b944c"
+ ]
+ ],
+ [
+ "RF",
+ [
+ 2,
+ "0x03e8"
+ ],
+ 8,
+ true,
+ 0,
+ true,
+ "97a4908b"
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_1_1.html b/autobahn/client/hornbeam_case_12_1_1.html
new file mode 100644
index 0000000..a0e1338
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_1.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.1.1 : Fail - 1 ms @ 2023-08-11T05:15:26.064Z
+ Case Description
Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=290&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: Ss7a4eYsFr39cF58rJ86jA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: IEq5J+GirKcfmB/9X+O6/ePGEss=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323930266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_1_1.json b/autobahn/client/hornbeam_case_12_1_1.json
new file mode 100644
index 0000000..f31ce72
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_1.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 290,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=290&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Ss7a4eYsFr39cF58rJ86jA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: IEq5J+GirKcfmB/9X+O6/ePGEss=\r\n\r\n",
+ "id": "12.1.1",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.064Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d323930266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_1_10.html b/autobahn/client/hornbeam_case_12_1_10.html
new file mode 100644
index 0000000..7374c2c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_10.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.1.10 : Fail - 2 ms @ 2023-08-11T05:15:26.092Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=299&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: ix8vnN6dGSRbkARheVUOBg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: pd5bZ4HXIySv+9jxy3t14KZ8jnY=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323939266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_1_10.json b/autobahn/client/hornbeam_case_12_1_10.json
new file mode 100644
index 0000000..6853b0e
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_10.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 299,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=299&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ix8vnN6dGSRbkARheVUOBg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: pd5bZ4HXIySv+9jxy3t14KZ8jnY=\r\n\r\n",
+ "id": "12.1.10",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.092Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d323939266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_1_11.html b/autobahn/client/hornbeam_case_12_1_11.html
new file mode 100644
index 0000000..32fac63
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_11.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.1.11 : Fail - 2 ms @ 2023-08-11T05:15:26.098Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=300&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: XvnuPjmdlEUc8DYdATDzBA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: GWq6gAmY/puFjeIP33gMTuFY0g8=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333030266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_1_11.json b/autobahn/client/hornbeam_case_12_1_11.json
new file mode 100644
index 0000000..56b5106
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_11.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 300,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=300&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: XvnuPjmdlEUc8DYdATDzBA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: GWq6gAmY/puFjeIP33gMTuFY0g8=\r\n\r\n",
+ "id": "12.1.11",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.098Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333030266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_1_12.html b/autobahn/client/hornbeam_case_12_1_12.html
new file mode 100644
index 0000000..67e235a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_12.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.1.12 : Fail - 1 ms @ 2023-08-11T05:15:26.101Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=301&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 63Id6U/93ecW9l0VUkj9bQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: nbWS41TklFmEDYtQslBxShyYk+A=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333031266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_1_12.json b/autobahn/client/hornbeam_case_12_1_12.json
new file mode 100644
index 0000000..ee590b0
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_12.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 301,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=301&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 63Id6U/93ecW9l0VUkj9bQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: nbWS41TklFmEDYtQslBxShyYk+A=\r\n\r\n",
+ "id": "12.1.12",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.101Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333031266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_1_13.html b/autobahn/client/hornbeam_case_12_1_13.html
new file mode 100644
index 0000000..8e768e5
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_13.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.1.13 : Fail - 2 ms @ 2023-08-11T05:15:26.104Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=302&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: f3MJbE6zMrt5s1egjPJzPA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: IBtLRaFdw2X4OY7gL3mtEryRrDw=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333032266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_1_13.json b/autobahn/client/hornbeam_case_12_1_13.json
new file mode 100644
index 0000000..c57169c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_13.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 302,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=302&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: f3MJbE6zMrt5s1egjPJzPA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: IBtLRaFdw2X4OY7gL3mtEryRrDw=\r\n\r\n",
+ "id": "12.1.13",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.104Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333032266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_1_14.html b/autobahn/client/hornbeam_case_12_1_14.html
new file mode 100644
index 0000000..822eb4b
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_14.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.1.14 : Fail - 2 ms @ 2023-08-11T05:15:26.108Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=303&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: jZXFXk4xEfC1uSNwJp4ioA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: wnEowi8m3iXYsXTeGlnyKbc3MTo=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333033266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_1_14.json b/autobahn/client/hornbeam_case_12_1_14.json
new file mode 100644
index 0000000..104ca2a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_14.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 303,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=303&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: jZXFXk4xEfC1uSNwJp4ioA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: wnEowi8m3iXYsXTeGlnyKbc3MTo=\r\n\r\n",
+ "id": "12.1.14",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.108Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333033266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_1_15.html b/autobahn/client/hornbeam_case_12_1_15.html
new file mode 100644
index 0000000..0c8cf88
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_15.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.1.15 : Fail - 1 ms @ 2023-08-11T05:15:26.112Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=304&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 7yBXoXoyVsnJFSuF3gikmg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 1D4C1+IgSkln0HX2Za6UC5CwV/E=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333034266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_1_15.json b/autobahn/client/hornbeam_case_12_1_15.json
new file mode 100644
index 0000000..9089fe6
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_15.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 304,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=304&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 7yBXoXoyVsnJFSuF3gikmg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 1D4C1+IgSkln0HX2Za6UC5CwV/E=\r\n\r\n",
+ "id": "12.1.15",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.112Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333034266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_1_16.html b/autobahn/client/hornbeam_case_12_1_16.html
new file mode 100644
index 0000000..69bd37c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_16.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.1.16 : Fail - 2 ms @ 2023-08-11T05:15:26.116Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=305&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: w2yVj3dfwFHEiwoffpzC9w==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: g2Ve/HNgRpmm0bMJKLQq9FVqQaI=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333035266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_1_16.json b/autobahn/client/hornbeam_case_12_1_16.json
new file mode 100644
index 0000000..ef3b20c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_16.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 305,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=305&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: w2yVj3dfwFHEiwoffpzC9w==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: g2Ve/HNgRpmm0bMJKLQq9FVqQaI=\r\n\r\n",
+ "id": "12.1.16",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.116Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333035266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_1_17.html b/autobahn/client/hornbeam_case_12_1_17.html
new file mode 100644
index 0000000..b045882
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_17.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.1.17 : Fail - 1 ms @ 2023-08-11T05:15:26.119Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=306&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: PyIViO1p3UteIPhCaTEftw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: wupccKkd4kEvGQID7myCTWUxea0=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333036266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_1_17.json b/autobahn/client/hornbeam_case_12_1_17.json
new file mode 100644
index 0000000..e43e4d3
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_17.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 306,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=306&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: PyIViO1p3UteIPhCaTEftw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: wupccKkd4kEvGQID7myCTWUxea0=\r\n\r\n",
+ "id": "12.1.17",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.119Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333036266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_1_18.html b/autobahn/client/hornbeam_case_12_1_18.html
new file mode 100644
index 0000000..4864fdb
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_18.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.1.18 : Fail - 1 ms @ 2023-08-11T05:15:26.122Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=307&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: bHjII+L8XSLiaGdEwYsUWQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: /sbIUbfNWmOqQtYYD5SnLTphIbo=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333037266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_1_18.json b/autobahn/client/hornbeam_case_12_1_18.json
new file mode 100644
index 0000000..1d8915f
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_18.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 307,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=307&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: bHjII+L8XSLiaGdEwYsUWQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: /sbIUbfNWmOqQtYYD5SnLTphIbo=\r\n\r\n",
+ "id": "12.1.18",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.122Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333037266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_1_2.html b/autobahn/client/hornbeam_case_12_1_2.html
new file mode 100644
index 0000000..67ac583
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_2.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.1.2 : Fail - 2 ms @ 2023-08-11T05:15:26.068Z
+ Case Description
Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=291&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: h8eP4x3AJfjMB4MabxRy7g==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: VzRwgTddEwYPywzQ3UiIktO3gMI=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323931266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_1_2.json b/autobahn/client/hornbeam_case_12_1_2.json
new file mode 100644
index 0000000..4ad901d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_2.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 291,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=291&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: h8eP4x3AJfjMB4MabxRy7g==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: VzRwgTddEwYPywzQ3UiIktO3gMI=\r\n\r\n",
+ "id": "12.1.2",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.068Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d323931266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_1_3.html b/autobahn/client/hornbeam_case_12_1_3.html
new file mode 100644
index 0000000..71d6d1a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_3.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.1.3 : Fail - 1 ms @ 2023-08-11T05:15:26.072Z
+ Case Description
Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=292&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: IZhNP0l6A6jjNJJhXXzmiw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 0sjcUm9vsVolxMGClxBCyljb+i0=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323932266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_1_3.json b/autobahn/client/hornbeam_case_12_1_3.json
new file mode 100644
index 0000000..257e063
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_3.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 292,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=292&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: IZhNP0l6A6jjNJJhXXzmiw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 0sjcUm9vsVolxMGClxBCyljb+i0=\r\n\r\n",
+ "id": "12.1.3",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.072Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d323932266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_1_4.html b/autobahn/client/hornbeam_case_12_1_4.html
new file mode 100644
index 0000000..b63e329
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_4.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.1.4 : Fail - 1 ms @ 2023-08-11T05:15:26.074Z
+ Case Description
Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=293&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: PBYoLxIgygsw8MHB7S3DEg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: AEErIuwvhDsR+opHfz/fikfhtVA=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323933266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_1_4.json b/autobahn/client/hornbeam_case_12_1_4.json
new file mode 100644
index 0000000..48917bf
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_4.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 293,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=293&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: PBYoLxIgygsw8MHB7S3DEg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: AEErIuwvhDsR+opHfz/fikfhtVA=\r\n\r\n",
+ "id": "12.1.4",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.074Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d323933266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_1_5.html b/autobahn/client/hornbeam_case_12_1_5.html
new file mode 100644
index 0000000..136243a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_5.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.1.5 : Fail - 1 ms @ 2023-08-11T05:15:26.077Z
+ Case Description
Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=294&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: W4+3bjDTdiLIZZ4mKf5RWA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 3gK3MlmON5c9gs9hVp4NKzSrFws=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323934266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_1_5.json b/autobahn/client/hornbeam_case_12_1_5.json
new file mode 100644
index 0000000..7897ff9
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_5.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 294,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=294&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: W4+3bjDTdiLIZZ4mKf5RWA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 3gK3MlmON5c9gs9hVp4NKzSrFws=\r\n\r\n",
+ "id": "12.1.5",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.077Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d323934266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_1_6.html b/autobahn/client/hornbeam_case_12_1_6.html
new file mode 100644
index 0000000..e62ed41
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_6.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.1.6 : Fail - 1 ms @ 2023-08-11T05:15:26.080Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=295&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: g8L4NfqHtn2Xp8C6zG0K2Q==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: lD0JZSKVGeJIqpF2aKZjuB1kPPM=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323935266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_1_6.json b/autobahn/client/hornbeam_case_12_1_6.json
new file mode 100644
index 0000000..ba8fd23
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_6.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 295,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=295&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: g8L4NfqHtn2Xp8C6zG0K2Q==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: lD0JZSKVGeJIqpF2aKZjuB1kPPM=\r\n\r\n",
+ "id": "12.1.6",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.080Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d323935266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_1_7.html b/autobahn/client/hornbeam_case_12_1_7.html
new file mode 100644
index 0000000..c75c75b
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_7.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.1.7 : Fail - 1 ms @ 2023-08-11T05:15:26.082Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=296&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: B9ccrYCvIZPt4+pTO6I+/g==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: IHmXR1Vcra0QfmkovfXgh1gOieY=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323936266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_1_7.json b/autobahn/client/hornbeam_case_12_1_7.json
new file mode 100644
index 0000000..376f244
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_7.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 296,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=296&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: B9ccrYCvIZPt4+pTO6I+/g==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: IHmXR1Vcra0QfmkovfXgh1gOieY=\r\n\r\n",
+ "id": "12.1.7",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.082Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d323936266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_1_8.html b/autobahn/client/hornbeam_case_12_1_8.html
new file mode 100644
index 0000000..6df0bba
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_8.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.1.8 : Fail - 1 ms @ 2023-08-11T05:15:26.086Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=297&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 74BeY6IjrFXFfQwT8kdztA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: LlO5iYyV2/uMXIJX+Tg8NwtjaNc=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323937266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_1_8.json b/autobahn/client/hornbeam_case_12_1_8.json
new file mode 100644
index 0000000..24b9122
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_8.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 297,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=297&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 74BeY6IjrFXFfQwT8kdztA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: LlO5iYyV2/uMXIJX+Tg8NwtjaNc=\r\n\r\n",
+ "id": "12.1.8",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.086Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d323937266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_1_9.html b/autobahn/client/hornbeam_case_12_1_9.html
new file mode 100644
index 0000000..2c0e6bb
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_9.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.1.9 : Fail - 1 ms @ 2023-08-11T05:15:26.089Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=298&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: kKJuac3tc9fBdjzpUYfrZw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: c66faSWjYjyKVwh58GtYoolkJPM=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323938266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_1_9.json b/autobahn/client/hornbeam_case_12_1_9.json
new file mode 100644
index 0000000..c8595b7
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_1_9.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 298,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=298&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: kKJuac3tc9fBdjzpUYfrZw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: c66faSWjYjyKVwh58GtYoolkJPM=\r\n\r\n",
+ "id": "12.1.9",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.089Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d323938266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_2_1.html b/autobahn/client/hornbeam_case_12_2_1.html
new file mode 100644
index 0000000..6591686
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_1.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.2.1 : Fail - 2 ms @ 2023-08-11T05:15:26.127Z
+ Case Description
Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=308&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: hK7Hy30XZtbjbv7NfMc4sg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: dwtTUPf5IWQ1e4ZMjvDedQ83g1c=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333038266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_2_1.json b/autobahn/client/hornbeam_case_12_2_1.json
new file mode 100644
index 0000000..0cefab7
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_1.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 308,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=308&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: hK7Hy30XZtbjbv7NfMc4sg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: dwtTUPf5IWQ1e4ZMjvDedQ83g1c=\r\n\r\n",
+ "id": "12.2.1",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.127Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333038266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_2_10.html b/autobahn/client/hornbeam_case_12_2_10.html
new file mode 100644
index 0000000..c82ac04
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_10.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.2.10 : Fail - 1 ms @ 2023-08-11T05:15:26.155Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=317&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: jF8OiLPoh8b7m7qzb7zleg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 8C3bg7DcD3ySoR9bnkt/ZHBtQ0A=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333137266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_2_10.json b/autobahn/client/hornbeam_case_12_2_10.json
new file mode 100644
index 0000000..12d2aa3
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_10.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 317,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=317&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: jF8OiLPoh8b7m7qzb7zleg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 8C3bg7DcD3ySoR9bnkt/ZHBtQ0A=\r\n\r\n",
+ "id": "12.2.10",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.155Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333137266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_2_11.html b/autobahn/client/hornbeam_case_12_2_11.html
new file mode 100644
index 0000000..68dcfb6
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_11.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.2.11 : Fail - 1 ms @ 2023-08-11T05:15:26.157Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=318&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: FsWjBM+7YDS7dRyLz7iZbA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: eUb5O0Ru6wqWngaSbtczp99i5dc=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333138266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_2_11.json b/autobahn/client/hornbeam_case_12_2_11.json
new file mode 100644
index 0000000..2a30633
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_11.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 318,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=318&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: FsWjBM+7YDS7dRyLz7iZbA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: eUb5O0Ru6wqWngaSbtczp99i5dc=\r\n\r\n",
+ "id": "12.2.11",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.157Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333138266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_2_12.html b/autobahn/client/hornbeam_case_12_2_12.html
new file mode 100644
index 0000000..5cc578c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_12.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.2.12 : Fail - 2 ms @ 2023-08-11T05:15:26.160Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=319&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: ++z9BbWDS0PBE8JZhqSstw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: J3XxetIJeZQuAcTTD6lVPeS5M1g=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333139266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_2_12.json b/autobahn/client/hornbeam_case_12_2_12.json
new file mode 100644
index 0000000..b2796a9
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_12.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 319,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=319&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ++z9BbWDS0PBE8JZhqSstw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: J3XxetIJeZQuAcTTD6lVPeS5M1g=\r\n\r\n",
+ "id": "12.2.12",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.160Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333139266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_2_13.html b/autobahn/client/hornbeam_case_12_2_13.html
new file mode 100644
index 0000000..6a5418c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_13.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.2.13 : Fail - 1 ms @ 2023-08-11T05:15:26.164Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=320&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 5LrToB10aZ1zo07tB39dTw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 1CNjhPfWM+FFdhMcF+Z2r07ks0k=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333230266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_2_13.json b/autobahn/client/hornbeam_case_12_2_13.json
new file mode 100644
index 0000000..1213a07
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_13.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 320,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=320&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 5LrToB10aZ1zo07tB39dTw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 1CNjhPfWM+FFdhMcF+Z2r07ks0k=\r\n\r\n",
+ "id": "12.2.13",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.164Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333230266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_2_14.html b/autobahn/client/hornbeam_case_12_2_14.html
new file mode 100644
index 0000000..87c3363
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_14.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.2.14 : Fail - 1 ms @ 2023-08-11T05:15:26.167Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=321&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: Ol9qKnhAm9Aee0sAKMp5ng==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 5QHTg6bqB2SBhTK3e18qtimEACQ=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333231266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_2_14.json b/autobahn/client/hornbeam_case_12_2_14.json
new file mode 100644
index 0000000..6264add
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_14.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 321,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=321&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Ol9qKnhAm9Aee0sAKMp5ng==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 5QHTg6bqB2SBhTK3e18qtimEACQ=\r\n\r\n",
+ "id": "12.2.14",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.167Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333231266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_2_15.html b/autobahn/client/hornbeam_case_12_2_15.html
new file mode 100644
index 0000000..79ee6ce
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_15.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.2.15 : Fail - 1 ms @ 2023-08-11T05:15:26.171Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=322&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: FlAJAYTR7x82snurBIqGJQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: V2ydjjc+lHXGEIM4kOnNNp1z/B0=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333232266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_2_15.json b/autobahn/client/hornbeam_case_12_2_15.json
new file mode 100644
index 0000000..0262584
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_15.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 322,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=322&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: FlAJAYTR7x82snurBIqGJQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: V2ydjjc+lHXGEIM4kOnNNp1z/B0=\r\n\r\n",
+ "id": "12.2.15",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.171Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333232266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_2_16.html b/autobahn/client/hornbeam_case_12_2_16.html
new file mode 100644
index 0000000..37e35fd
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_16.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.2.16 : Fail - 1 ms @ 2023-08-11T05:15:26.175Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=323&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: QacvO4PUKZEn8xrBjoRg1w==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 9aSMnCBmLgqvMQmKnhU8eTrjRTU=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333233266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_2_16.json b/autobahn/client/hornbeam_case_12_2_16.json
new file mode 100644
index 0000000..90938c8
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_16.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 323,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=323&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: QacvO4PUKZEn8xrBjoRg1w==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 9aSMnCBmLgqvMQmKnhU8eTrjRTU=\r\n\r\n",
+ "id": "12.2.16",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.175Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333233266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_2_17.html b/autobahn/client/hornbeam_case_12_2_17.html
new file mode 100644
index 0000000..e304506
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_17.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.2.17 : Fail - 2 ms @ 2023-08-11T05:15:26.178Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=324&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: OOyske8bCXWw7Z14rJx4wA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: qgqWUYi4Gzbt93EGZk9O5mJvB/Y=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333234266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_2_17.json b/autobahn/client/hornbeam_case_12_2_17.json
new file mode 100644
index 0000000..12e0cbc
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_17.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 324,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=324&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: OOyske8bCXWw7Z14rJx4wA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: qgqWUYi4Gzbt93EGZk9O5mJvB/Y=\r\n\r\n",
+ "id": "12.2.17",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.178Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333234266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_2_18.html b/autobahn/client/hornbeam_case_12_2_18.html
new file mode 100644
index 0000000..a4af6ce
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_18.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.2.18 : Fail - 1 ms @ 2023-08-11T05:15:26.182Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=325&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: fuQPfOA5OAVk7OaBErKQsA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: djwyqAYdJ5A/NTcmCPHcot7u00c=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333235266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_2_18.json b/autobahn/client/hornbeam_case_12_2_18.json
new file mode 100644
index 0000000..1a34332
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_18.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 325,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=325&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: fuQPfOA5OAVk7OaBErKQsA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: djwyqAYdJ5A/NTcmCPHcot7u00c=\r\n\r\n",
+ "id": "12.2.18",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.182Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333235266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_2_2.html b/autobahn/client/hornbeam_case_12_2_2.html
new file mode 100644
index 0000000..5d78cfc
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_2.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.2.2 : Fail - 1 ms @ 2023-08-11T05:15:26.131Z
+ Case Description
Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=309&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: Jaew2PpdRRsvNO1d6sPCeQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: pOv2USACWNERGn3iposu4OBKuiY=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333039266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_2_2.json b/autobahn/client/hornbeam_case_12_2_2.json
new file mode 100644
index 0000000..8b6ecf0
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_2.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 309,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=309&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Jaew2PpdRRsvNO1d6sPCeQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: pOv2USACWNERGn3iposu4OBKuiY=\r\n\r\n",
+ "id": "12.2.2",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.131Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333039266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_2_3.html b/autobahn/client/hornbeam_case_12_2_3.html
new file mode 100644
index 0000000..dc21319
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_3.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.2.3 : Fail - 1 ms @ 2023-08-11T05:15:26.134Z
+ Case Description
Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=310&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: uHxMCm3PQKnpGsn9pBCR7g==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: S6kzA01WGtS8PxaC77scn+HRg3I=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333130266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_2_3.json b/autobahn/client/hornbeam_case_12_2_3.json
new file mode 100644
index 0000000..5ad76f4
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_3.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 310,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=310&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: uHxMCm3PQKnpGsn9pBCR7g==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: S6kzA01WGtS8PxaC77scn+HRg3I=\r\n\r\n",
+ "id": "12.2.3",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.134Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333130266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_2_4.html b/autobahn/client/hornbeam_case_12_2_4.html
new file mode 100644
index 0000000..3de55b2
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_4.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.2.4 : Fail - 1 ms @ 2023-08-11T05:15:26.137Z
+ Case Description
Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=311&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: fWzRHJy7Kh4S4W6m+7Y6BA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: NYyPQr/bT5+9kfCkW3DiWvf7Gx4=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333131266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_2_4.json b/autobahn/client/hornbeam_case_12_2_4.json
new file mode 100644
index 0000000..d11a775
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_4.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 311,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=311&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: fWzRHJy7Kh4S4W6m+7Y6BA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: NYyPQr/bT5+9kfCkW3DiWvf7Gx4=\r\n\r\n",
+ "id": "12.2.4",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.137Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333131266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_2_5.html b/autobahn/client/hornbeam_case_12_2_5.html
new file mode 100644
index 0000000..3ebb899
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_5.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.2.5 : Fail - 1 ms @ 2023-08-11T05:15:26.140Z
+ Case Description
Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=312&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: QoxXWUAtSoUzdejAqqQ0NQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: CP+C3LVSC8FvVoqApTXnj2dp2tQ=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333132266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_2_5.json b/autobahn/client/hornbeam_case_12_2_5.json
new file mode 100644
index 0000000..bb9807b
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_5.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 312,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=312&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: QoxXWUAtSoUzdejAqqQ0NQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: CP+C3LVSC8FvVoqApTXnj2dp2tQ=\r\n\r\n",
+ "id": "12.2.5",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.140Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333132266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_2_6.html b/autobahn/client/hornbeam_case_12_2_6.html
new file mode 100644
index 0000000..e433abe
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_6.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.2.6 : Fail - 1 ms @ 2023-08-11T05:15:26.142Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=313&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: r5iHxAKKa8v1wz3mmpisXg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 8PWSumdM4H4zCG1XWy6tOy4on4M=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333133266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_2_6.json b/autobahn/client/hornbeam_case_12_2_6.json
new file mode 100644
index 0000000..47a2eb5
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_6.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 313,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=313&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: r5iHxAKKa8v1wz3mmpisXg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 8PWSumdM4H4zCG1XWy6tOy4on4M=\r\n\r\n",
+ "id": "12.2.6",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.142Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333133266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_2_7.html b/autobahn/client/hornbeam_case_12_2_7.html
new file mode 100644
index 0000000..c68b48d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_7.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.2.7 : Fail - 2 ms @ 2023-08-11T05:15:26.145Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=314&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: JMetZ/rKTQHc5GzPmnuNsw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: cFzi6+5qVUDovHUa2lLW5lK2PcU=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333134266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_2_7.json b/autobahn/client/hornbeam_case_12_2_7.json
new file mode 100644
index 0000000..317ce63
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_7.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 314,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=314&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: JMetZ/rKTQHc5GzPmnuNsw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: cFzi6+5qVUDovHUa2lLW5lK2PcU=\r\n\r\n",
+ "id": "12.2.7",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.145Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333134266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_2_8.html b/autobahn/client/hornbeam_case_12_2_8.html
new file mode 100644
index 0000000..f02f34a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_8.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.2.8 : Fail - 1 ms @ 2023-08-11T05:15:26.148Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=315&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: NxzfIsEhM8wsF8c319SD1w==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: RP/YHgACqb9dK41r+VT9vx7/5xM=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333135266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_2_8.json b/autobahn/client/hornbeam_case_12_2_8.json
new file mode 100644
index 0000000..6911ee8
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_8.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 315,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=315&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: NxzfIsEhM8wsF8c319SD1w==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: RP/YHgACqb9dK41r+VT9vx7/5xM=\r\n\r\n",
+ "id": "12.2.8",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.148Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333135266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_2_9.html b/autobahn/client/hornbeam_case_12_2_9.html
new file mode 100644
index 0000000..0a8bd25
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_9.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.2.9 : Fail - 1 ms @ 2023-08-11T05:15:26.151Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=316&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: c2tL3yTLQortHkNqX02wEA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: OKYUKPHHbPuLkgTwo6DXHr8mQjE=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333136266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_2_9.json b/autobahn/client/hornbeam_case_12_2_9.json
new file mode 100644
index 0000000..22ae1c6
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_2_9.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 316,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=316&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: c2tL3yTLQortHkNqX02wEA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: OKYUKPHHbPuLkgTwo6DXHr8mQjE=\r\n\r\n",
+ "id": "12.2.9",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.151Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333136266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_3_1.html b/autobahn/client/hornbeam_case_12_3_1.html
new file mode 100644
index 0000000..ddcf1d8
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_1.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.3.1 : Fail - 2 ms @ 2023-08-11T05:15:26.186Z
+ Case Description
Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=326&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: OUn9u3D2KIsGZCCMX480SQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: vvGIuhlULqJBOOf5GMRZivJart8=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333236266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_3_1.json b/autobahn/client/hornbeam_case_12_3_1.json
new file mode 100644
index 0000000..1b49da3
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_1.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 326,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=326&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: OUn9u3D2KIsGZCCMX480SQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: vvGIuhlULqJBOOf5GMRZivJart8=\r\n\r\n",
+ "id": "12.3.1",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.186Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333236266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_3_10.html b/autobahn/client/hornbeam_case_12_3_10.html
new file mode 100644
index 0000000..ecfbfad
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_10.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.3.10 : Fail - 1 ms @ 2023-08-11T05:15:26.218Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=335&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: NMppdlfqLJeuarYNPYSwvw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: nGWm1rVQZDYanBvi2D0Calvt2gA=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333335266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_3_10.json b/autobahn/client/hornbeam_case_12_3_10.json
new file mode 100644
index 0000000..0cbed55
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_10.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 335,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=335&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: NMppdlfqLJeuarYNPYSwvw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: nGWm1rVQZDYanBvi2D0Calvt2gA=\r\n\r\n",
+ "id": "12.3.10",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.218Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333335266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_3_11.html b/autobahn/client/hornbeam_case_12_3_11.html
new file mode 100644
index 0000000..fce2d71
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_11.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.3.11 : Fail - 2 ms @ 2023-08-11T05:15:26.221Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=336&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: Ov/Vh3sI8lg6nvQoaDrOzg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: MoGlPk7k65VFY6ZdLJokNT5aMEI=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333336266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_3_11.json b/autobahn/client/hornbeam_case_12_3_11.json
new file mode 100644
index 0000000..deb6e5b
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_11.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 336,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=336&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Ov/Vh3sI8lg6nvQoaDrOzg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: MoGlPk7k65VFY6ZdLJokNT5aMEI=\r\n\r\n",
+ "id": "12.3.11",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.221Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333336266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_3_12.html b/autobahn/client/hornbeam_case_12_3_12.html
new file mode 100644
index 0000000..ee021b7
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_12.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.3.12 : Fail - 1 ms @ 2023-08-11T05:15:26.224Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=337&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: SnWwIewCwahsgVgCJZrNiA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: srNbIKocnRFL3hqyjmFiR1SZ0YM=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333337266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_3_12.json b/autobahn/client/hornbeam_case_12_3_12.json
new file mode 100644
index 0000000..4072f5d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_12.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 337,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=337&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: SnWwIewCwahsgVgCJZrNiA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: srNbIKocnRFL3hqyjmFiR1SZ0YM=\r\n\r\n",
+ "id": "12.3.12",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.224Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333337266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_3_13.html b/autobahn/client/hornbeam_case_12_3_13.html
new file mode 100644
index 0000000..4168a3c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_13.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.3.13 : Fail - 2 ms @ 2023-08-11T05:15:26.228Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=338&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: IHYRdEbULqowKMxzSai69Q==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: R14gDSj6i0B0UnFRXjg9aqmW9dI=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333338266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_3_13.json b/autobahn/client/hornbeam_case_12_3_13.json
new file mode 100644
index 0000000..5851911
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_13.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 338,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=338&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: IHYRdEbULqowKMxzSai69Q==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: R14gDSj6i0B0UnFRXjg9aqmW9dI=\r\n\r\n",
+ "id": "12.3.13",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.228Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333338266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_3_14.html b/autobahn/client/hornbeam_case_12_3_14.html
new file mode 100644
index 0000000..92d65f7
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_14.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.3.14 : Fail - 2 ms @ 2023-08-11T05:15:26.232Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=339&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 33YDdWrIwUU6CpXHf6XiNA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: gtldD7Fg/xW9TluXUZIJe/NTD04=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333339266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_3_14.json b/autobahn/client/hornbeam_case_12_3_14.json
new file mode 100644
index 0000000..7e59d9d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_14.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 339,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=339&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 33YDdWrIwUU6CpXHf6XiNA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: gtldD7Fg/xW9TluXUZIJe/NTD04=\r\n\r\n",
+ "id": "12.3.14",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.232Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333339266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_3_15.html b/autobahn/client/hornbeam_case_12_3_15.html
new file mode 100644
index 0000000..46de455
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_15.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.3.15 : Fail - 1 ms @ 2023-08-11T05:15:26.235Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=340&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: BwwyiZqmq0iH7fYd4tlPyA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: hScAqSvchux3tJd1tfonHTUYdzg=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333430266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_3_15.json b/autobahn/client/hornbeam_case_12_3_15.json
new file mode 100644
index 0000000..8a2331e
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_15.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 340,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=340&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: BwwyiZqmq0iH7fYd4tlPyA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: hScAqSvchux3tJd1tfonHTUYdzg=\r\n\r\n",
+ "id": "12.3.15",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.235Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333430266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_3_16.html b/autobahn/client/hornbeam_case_12_3_16.html
new file mode 100644
index 0000000..da419b3
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_16.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.3.16 : Fail - 2 ms @ 2023-08-11T05:15:26.238Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=341&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: WtiQkXNXQRRDQi3nK3nkCA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: H8coz7vb/u3pt00Ki+1BH03873g=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333431266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_3_16.json b/autobahn/client/hornbeam_case_12_3_16.json
new file mode 100644
index 0000000..45abd67
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_16.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 341,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=341&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: WtiQkXNXQRRDQi3nK3nkCA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: H8coz7vb/u3pt00Ki+1BH03873g=\r\n\r\n",
+ "id": "12.3.16",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.238Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333431266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_3_17.html b/autobahn/client/hornbeam_case_12_3_17.html
new file mode 100644
index 0000000..e39e750
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_17.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.3.17 : Fail - 1 ms @ 2023-08-11T05:15:26.241Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=342&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: LuBulo1Nksg2/89jQ0IV0A==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: t4moPL1mPZguzwOEMI33tcXatBY=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333432266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_3_17.json b/autobahn/client/hornbeam_case_12_3_17.json
new file mode 100644
index 0000000..6d2a332
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_17.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 342,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=342&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: LuBulo1Nksg2/89jQ0IV0A==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: t4moPL1mPZguzwOEMI33tcXatBY=\r\n\r\n",
+ "id": "12.3.17",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.241Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333432266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_3_18.html b/autobahn/client/hornbeam_case_12_3_18.html
new file mode 100644
index 0000000..e8fe19a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_18.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.3.18 : Fail - 1 ms @ 2023-08-11T05:15:26.244Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=343&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: UTJVgavyPhPDExjdAbrD1Q==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: ZhKFFwn2WmRCbGC363d0NeD7/24=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333433266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_3_18.json b/autobahn/client/hornbeam_case_12_3_18.json
new file mode 100644
index 0000000..78bfd6a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_18.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 343,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=343&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: UTJVgavyPhPDExjdAbrD1Q==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: ZhKFFwn2WmRCbGC363d0NeD7/24=\r\n\r\n",
+ "id": "12.3.18",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.244Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333433266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_3_2.html b/autobahn/client/hornbeam_case_12_3_2.html
new file mode 100644
index 0000000..c428659
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_2.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.3.2 : Fail - 1 ms @ 2023-08-11T05:15:26.190Z
+ Case Description
Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=327&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: pJ0MTlYwvaP5xCVpXs2Xvw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: sN0w1Ox08kyRYcgfP9Xi722q9Ow=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333237266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_3_2.json b/autobahn/client/hornbeam_case_12_3_2.json
new file mode 100644
index 0000000..549c5cd
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_2.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 327,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=327&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: pJ0MTlYwvaP5xCVpXs2Xvw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: sN0w1Ox08kyRYcgfP9Xi722q9Ow=\r\n\r\n",
+ "id": "12.3.2",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.190Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333237266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_3_3.html b/autobahn/client/hornbeam_case_12_3_3.html
new file mode 100644
index 0000000..42c48f9
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_3.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.3.3 : Fail - 1 ms @ 2023-08-11T05:15:26.193Z
+ Case Description
Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=328&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 96ZCxFQ7nbkMMH9rXmNV3A==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: L0LlUHHKSvH3htfE+U7mgAFZKzk=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333238266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_3_3.json b/autobahn/client/hornbeam_case_12_3_3.json
new file mode 100644
index 0000000..bf7445b
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_3.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 328,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=328&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 96ZCxFQ7nbkMMH9rXmNV3A==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: L0LlUHHKSvH3htfE+U7mgAFZKzk=\r\n\r\n",
+ "id": "12.3.3",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.193Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333238266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_3_4.html b/autobahn/client/hornbeam_case_12_3_4.html
new file mode 100644
index 0000000..50d7e1e
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_4.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.3.4 : Fail - 1 ms @ 2023-08-11T05:15:26.197Z
+ Case Description
Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=329&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: Xf/mBbKlEiAKkB7hJPY6rw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: hoDPAaAGcBGWOA79Cniai+aqSBE=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333239266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_3_4.json b/autobahn/client/hornbeam_case_12_3_4.json
new file mode 100644
index 0000000..f5fb630
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_4.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 329,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=329&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Xf/mBbKlEiAKkB7hJPY6rw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: hoDPAaAGcBGWOA79Cniai+aqSBE=\r\n\r\n",
+ "id": "12.3.4",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.197Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333239266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_3_5.html b/autobahn/client/hornbeam_case_12_3_5.html
new file mode 100644
index 0000000..816571c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_5.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.3.5 : Fail - 1 ms @ 2023-08-11T05:15:26.199Z
+ Case Description
Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=330&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 0omph9MT+KPxu/W9r7FJxw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 8RZKOcounJP/yMB4Gv+hU6PBCNs=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333330266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_3_5.json b/autobahn/client/hornbeam_case_12_3_5.json
new file mode 100644
index 0000000..9cbbca4
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_5.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 330,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=330&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 0omph9MT+KPxu/W9r7FJxw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 8RZKOcounJP/yMB4Gv+hU6PBCNs=\r\n\r\n",
+ "id": "12.3.5",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.199Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333330266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_3_6.html b/autobahn/client/hornbeam_case_12_3_6.html
new file mode 100644
index 0000000..97dc3ac
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_6.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.3.6 : Fail - 2 ms @ 2023-08-11T05:15:26.203Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=331&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: jHdEPvqXkAkOsmVDnYINWA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: U837s3/mXmHLc/gtu2ssstiml+k=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333331266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_3_6.json b/autobahn/client/hornbeam_case_12_3_6.json
new file mode 100644
index 0000000..329c8cd
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_6.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 331,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=331&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: jHdEPvqXkAkOsmVDnYINWA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: U837s3/mXmHLc/gtu2ssstiml+k=\r\n\r\n",
+ "id": "12.3.6",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.203Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333331266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_3_7.html b/autobahn/client/hornbeam_case_12_3_7.html
new file mode 100644
index 0000000..96dce32
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_7.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.3.7 : Fail - 1 ms @ 2023-08-11T05:15:26.207Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=332&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: yIaF1vWW21pNDJji26gSqA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: mpVV++rA2jzIlXJDQJVngmkP+o4=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333332266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_3_7.json b/autobahn/client/hornbeam_case_12_3_7.json
new file mode 100644
index 0000000..c51fef5
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_7.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 332,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=332&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: yIaF1vWW21pNDJji26gSqA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: mpVV++rA2jzIlXJDQJVngmkP+o4=\r\n\r\n",
+ "id": "12.3.7",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.207Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333332266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_3_8.html b/autobahn/client/hornbeam_case_12_3_8.html
new file mode 100644
index 0000000..1118690
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_8.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.3.8 : Fail - 2 ms @ 2023-08-11T05:15:26.210Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=333&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: c6Op8UPZOClQik4NLwcn6Q==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: jewRd1nFFnN8iQouSyTNtwdWKIg=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333333266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_3_8.json b/autobahn/client/hornbeam_case_12_3_8.json
new file mode 100644
index 0000000..256544b
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_8.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 333,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=333&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: c6Op8UPZOClQik4NLwcn6Q==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: jewRd1nFFnN8iQouSyTNtwdWKIg=\r\n\r\n",
+ "id": "12.3.8",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.210Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333333266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_3_9.html b/autobahn/client/hornbeam_case_12_3_9.html
new file mode 100644
index 0000000..b162558
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_9.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.3.9 : Fail - 1 ms @ 2023-08-11T05:15:26.214Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=334&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 3ipmuvHfHE5NPBYmJgj8yg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: sNp6RenOSOPLQTrH2i5i1AC2k0Y=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333334266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_3_9.json b/autobahn/client/hornbeam_case_12_3_9.json
new file mode 100644
index 0000000..dd7616b
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_3_9.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 334,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=334&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 3ipmuvHfHE5NPBYmJgj8yg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: sNp6RenOSOPLQTrH2i5i1AC2k0Y=\r\n\r\n",
+ "id": "12.3.9",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.214Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333334266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_4_1.html b/autobahn/client/hornbeam_case_12_4_1.html
new file mode 100644
index 0000000..d2007df
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_1.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.4.1 : Fail - 1 ms @ 2023-08-11T05:15:26.248Z
+ Case Description
Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=344&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: XCOxJBQXaF9agM+OCJXXWg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: XCe4Cho56TBUeujfoRdzQTJsxgw=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333434266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_4_1.json b/autobahn/client/hornbeam_case_12_4_1.json
new file mode 100644
index 0000000..039ec7d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_1.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 344,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=344&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: XCOxJBQXaF9agM+OCJXXWg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: XCe4Cho56TBUeujfoRdzQTJsxgw=\r\n\r\n",
+ "id": "12.4.1",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.248Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333434266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_4_10.html b/autobahn/client/hornbeam_case_12_4_10.html
new file mode 100644
index 0000000..fc9b353
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_10.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.4.10 : Fail - 1 ms @ 2023-08-11T05:15:26.275Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=353&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 9rb4L6cJkRxTwnLMkPvtSw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: lhxYTbHwb2uyfTTyBjm+A7rBQU8=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333533266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_4_10.json b/autobahn/client/hornbeam_case_12_4_10.json
new file mode 100644
index 0000000..4ef8134
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_10.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 353,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=353&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 9rb4L6cJkRxTwnLMkPvtSw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: lhxYTbHwb2uyfTTyBjm+A7rBQU8=\r\n\r\n",
+ "id": "12.4.10",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.275Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333533266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_4_11.html b/autobahn/client/hornbeam_case_12_4_11.html
new file mode 100644
index 0000000..abfe310
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_11.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.4.11 : Fail - 1 ms @ 2023-08-11T05:15:26.278Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=354&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: QQMShDcczDW0S0JQ+md5RA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: zLu+BeU4mhVuzYvjxPxay662yGM=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333534266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_4_11.json b/autobahn/client/hornbeam_case_12_4_11.json
new file mode 100644
index 0000000..aab4024
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_11.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 354,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=354&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: QQMShDcczDW0S0JQ+md5RA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: zLu+BeU4mhVuzYvjxPxay662yGM=\r\n\r\n",
+ "id": "12.4.11",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.278Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333534266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_4_12.html b/autobahn/client/hornbeam_case_12_4_12.html
new file mode 100644
index 0000000..6aa7000
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_12.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.4.12 : Fail - 1 ms @ 2023-08-11T05:15:26.280Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=355&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: xKHf4jDPdJXb/wt/GlABjQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 7om084jqi1rR7pqMHzAh6UiS4IU=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333535266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_4_12.json b/autobahn/client/hornbeam_case_12_4_12.json
new file mode 100644
index 0000000..e9af93f
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_12.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 355,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=355&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: xKHf4jDPdJXb/wt/GlABjQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 7om084jqi1rR7pqMHzAh6UiS4IU=\r\n\r\n",
+ "id": "12.4.12",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.280Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333535266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_4_13.html b/autobahn/client/hornbeam_case_12_4_13.html
new file mode 100644
index 0000000..b5a1f1d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_13.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.4.13 : Fail - 1 ms @ 2023-08-11T05:15:26.283Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=356&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: hyxQSUVBIPCyQMmRSbMA5w==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: mUMSKWkDjzgrPgxP3LTSlfXYUno=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333536266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_4_13.json b/autobahn/client/hornbeam_case_12_4_13.json
new file mode 100644
index 0000000..50651e7
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_13.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 356,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=356&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: hyxQSUVBIPCyQMmRSbMA5w==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: mUMSKWkDjzgrPgxP3LTSlfXYUno=\r\n\r\n",
+ "id": "12.4.13",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.283Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333536266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_4_14.html b/autobahn/client/hornbeam_case_12_4_14.html
new file mode 100644
index 0000000..8d9584b
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_14.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.4.14 : Fail - 1 ms @ 2023-08-11T05:15:26.286Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=357&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: jmF2SHhHUqLgyImpiX9AnQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: YyUWryI1IU18nr7Qlx1hXXuArs8=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333537266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_4_14.json b/autobahn/client/hornbeam_case_12_4_14.json
new file mode 100644
index 0000000..76dadcd
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_14.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 357,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=357&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: jmF2SHhHUqLgyImpiX9AnQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: YyUWryI1IU18nr7Qlx1hXXuArs8=\r\n\r\n",
+ "id": "12.4.14",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.286Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333537266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_4_15.html b/autobahn/client/hornbeam_case_12_4_15.html
new file mode 100644
index 0000000..e84644c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_15.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.4.15 : Fail - 1 ms @ 2023-08-11T05:15:26.289Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=358&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: o7gKAaAnja2JJ8LLvy0FMQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: eHAjeNO5PxsE3aivV4DaLlxQ0jw=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333538266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_4_15.json b/autobahn/client/hornbeam_case_12_4_15.json
new file mode 100644
index 0000000..258cfd0
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_15.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 358,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=358&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: o7gKAaAnja2JJ8LLvy0FMQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: eHAjeNO5PxsE3aivV4DaLlxQ0jw=\r\n\r\n",
+ "id": "12.4.15",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.289Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333538266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_4_16.html b/autobahn/client/hornbeam_case_12_4_16.html
new file mode 100644
index 0000000..eb9cc08
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_16.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.4.16 : Fail - 3 ms @ 2023-08-11T05:15:26.292Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=359&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: cIGtt60lFjQeYX9O2ydrHQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 3PFNYrx5BuR2WBYir/irHxTJzBc=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333539266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_4_16.json b/autobahn/client/hornbeam_case_12_4_16.json
new file mode 100644
index 0000000..c2e6c68
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_16.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 359,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 3,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=359&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: cIGtt60lFjQeYX9O2ydrHQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 3PFNYrx5BuR2WBYir/irHxTJzBc=\r\n\r\n",
+ "id": "12.4.16",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.292Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333539266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_4_17.html b/autobahn/client/hornbeam_case_12_4_17.html
new file mode 100644
index 0000000..40bd8be
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_17.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.4.17 : Fail - 1 ms @ 2023-08-11T05:15:26.296Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=360&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: +a8xc5Yz+U4xp2Y2Dhp2rg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 5Ba+i3jBG7mW5esx5nSu0PD65x4=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333630266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_4_17.json b/autobahn/client/hornbeam_case_12_4_17.json
new file mode 100644
index 0000000..f97d244
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_17.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 360,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=360&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: +a8xc5Yz+U4xp2Y2Dhp2rg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 5Ba+i3jBG7mW5esx5nSu0PD65x4=\r\n\r\n",
+ "id": "12.4.17",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.296Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333630266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_4_18.html b/autobahn/client/hornbeam_case_12_4_18.html
new file mode 100644
index 0000000..4e13784
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_18.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.4.18 : Fail - 1 ms @ 2023-08-11T05:15:26.299Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=361&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: SerKqg9Mhvyj3JnS4fTB0A==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: g0UbWcfcE5P0V7Ms+k3qpvDMtB8=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333631266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_4_18.json b/autobahn/client/hornbeam_case_12_4_18.json
new file mode 100644
index 0000000..eebb998
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_18.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 361,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=361&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: SerKqg9Mhvyj3JnS4fTB0A==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: g0UbWcfcE5P0V7Ms+k3qpvDMtB8=\r\n\r\n",
+ "id": "12.4.18",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.299Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333631266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_4_2.html b/autobahn/client/hornbeam_case_12_4_2.html
new file mode 100644
index 0000000..e54232d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_2.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.4.2 : Fail - 1 ms @ 2023-08-11T05:15:26.252Z
+ Case Description
Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=345&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: YHskyzgvBruZK8X51O6byw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: ih0SK1oHEpF3tkahhTtjZe7AdDw=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333435266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_4_2.json b/autobahn/client/hornbeam_case_12_4_2.json
new file mode 100644
index 0000000..f4f1e54
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_2.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 345,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=345&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: YHskyzgvBruZK8X51O6byw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: ih0SK1oHEpF3tkahhTtjZe7AdDw=\r\n\r\n",
+ "id": "12.4.2",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.252Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333435266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_4_3.html b/autobahn/client/hornbeam_case_12_4_3.html
new file mode 100644
index 0000000..2335dba
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_3.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.4.3 : Fail - 1 ms @ 2023-08-11T05:15:26.255Z
+ Case Description
Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=346&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 8siMGt6mvIvNS1PPlIaU6A==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 0w6Exq1UFO1Fc4+K2wFLp04W+bw=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333436266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_4_3.json b/autobahn/client/hornbeam_case_12_4_3.json
new file mode 100644
index 0000000..9c3cefc
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_3.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 346,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=346&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 8siMGt6mvIvNS1PPlIaU6A==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 0w6Exq1UFO1Fc4+K2wFLp04W+bw=\r\n\r\n",
+ "id": "12.4.3",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.255Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333436266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_4_4.html b/autobahn/client/hornbeam_case_12_4_4.html
new file mode 100644
index 0000000..d295e4d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_4.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.4.4 : Fail - 1 ms @ 2023-08-11T05:15:26.258Z
+ Case Description
Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=347&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: qre0vaYGSP3NDzqNWYVw1A==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: ULOSCe671H76J4Hk3xZGKANh2/I=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333437266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_4_4.json b/autobahn/client/hornbeam_case_12_4_4.json
new file mode 100644
index 0000000..f819edc
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_4.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 347,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=347&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: qre0vaYGSP3NDzqNWYVw1A==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: ULOSCe671H76J4Hk3xZGKANh2/I=\r\n\r\n",
+ "id": "12.4.4",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.258Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333437266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_4_5.html b/autobahn/client/hornbeam_case_12_4_5.html
new file mode 100644
index 0000000..957fd8f
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_5.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.4.5 : Fail - 1 ms @ 2023-08-11T05:15:26.261Z
+ Case Description
Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=348&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: uOoP5CMwgY6mqawO1ni2tQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: o645lnbi1ebuskH1lP1sXOWcn4Q=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333438266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_4_5.json b/autobahn/client/hornbeam_case_12_4_5.json
new file mode 100644
index 0000000..441c2b7
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_5.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 348,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=348&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: uOoP5CMwgY6mqawO1ni2tQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: o645lnbi1ebuskH1lP1sXOWcn4Q=\r\n\r\n",
+ "id": "12.4.5",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.261Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333438266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_4_6.html b/autobahn/client/hornbeam_case_12_4_6.html
new file mode 100644
index 0000000..efeb916
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_6.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.4.6 : Fail - 1 ms @ 2023-08-11T05:15:26.264Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=349&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: NLuAvOd//jvWhFpUN+7oaQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: ycl4tD+EQLTeeyiTODa3QFlj3II=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333439266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_4_6.json b/autobahn/client/hornbeam_case_12_4_6.json
new file mode 100644
index 0000000..838667d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_6.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 349,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=349&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: NLuAvOd//jvWhFpUN+7oaQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: ycl4tD+EQLTeeyiTODa3QFlj3II=\r\n\r\n",
+ "id": "12.4.6",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.264Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333439266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_4_7.html b/autobahn/client/hornbeam_case_12_4_7.html
new file mode 100644
index 0000000..fd00d56
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_7.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.4.7 : Fail - 1 ms @ 2023-08-11T05:15:26.266Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=350&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: OMeXtWMMY5CJEtM7LfQ4Bg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: IcVfwu4FVBnSyFaS1J30PXKav98=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333530266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_4_7.json b/autobahn/client/hornbeam_case_12_4_7.json
new file mode 100644
index 0000000..5a46baf
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_7.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 350,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=350&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: OMeXtWMMY5CJEtM7LfQ4Bg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: IcVfwu4FVBnSyFaS1J30PXKav98=\r\n\r\n",
+ "id": "12.4.7",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.266Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333530266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_4_8.html b/autobahn/client/hornbeam_case_12_4_8.html
new file mode 100644
index 0000000..73f0314
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_8.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.4.8 : Fail - 1 ms @ 2023-08-11T05:15:26.269Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=351&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 74sSlXMo8oXpANfmteb7Fg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 9pq0/UwXUCI40f7sz81rqm/UvvE=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333531266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_4_8.json b/autobahn/client/hornbeam_case_12_4_8.json
new file mode 100644
index 0000000..829fe88
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_8.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 351,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=351&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 74sSlXMo8oXpANfmteb7Fg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 9pq0/UwXUCI40f7sz81rqm/UvvE=\r\n\r\n",
+ "id": "12.4.8",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.269Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333531266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_4_9.html b/autobahn/client/hornbeam_case_12_4_9.html
new file mode 100644
index 0000000..404740b
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_9.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.4.9 : Fail - 1 ms @ 2023-08-11T05:15:26.272Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=352&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: ha5zsqp4Gr1mdXNvGnsjlw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: La6Dds8tDeel0RoF+d0NDohVVlg=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333532266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_4_9.json b/autobahn/client/hornbeam_case_12_4_9.json
new file mode 100644
index 0000000..6a817c6
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_4_9.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 352,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=352&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ha5zsqp4Gr1mdXNvGnsjlw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: La6Dds8tDeel0RoF+d0NDohVVlg=\r\n\r\n",
+ "id": "12.4.9",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.272Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333532266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_5_1.html b/autobahn/client/hornbeam_case_12_5_1.html
new file mode 100644
index 0000000..06215f2
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_1.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.5.1 : Fail - 1 ms @ 2023-08-11T05:15:26.304Z
+ Case Description
Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=362&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: mNkHHfaEPs/yBHk1CZIi4g==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: tg/Vmej4K3INH5BXAfB+UCrErwA=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333632266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_5_1.json b/autobahn/client/hornbeam_case_12_5_1.json
new file mode 100644
index 0000000..e179d5d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_1.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 362,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=362&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: mNkHHfaEPs/yBHk1CZIi4g==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: tg/Vmej4K3INH5BXAfB+UCrErwA=\r\n\r\n",
+ "id": "12.5.1",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.304Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333632266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_5_10.html b/autobahn/client/hornbeam_case_12_5_10.html
new file mode 100644
index 0000000..e3599d0
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_10.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.5.10 : Fail - 1 ms @ 2023-08-11T05:15:26.342Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=371&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: XHKbltFYfdALL96eVCfjNQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: RuOpV4ms2NAU5kwmTJCVU0jcpC0=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333731266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_5_10.json b/autobahn/client/hornbeam_case_12_5_10.json
new file mode 100644
index 0000000..25a578a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_10.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 371,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=371&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: XHKbltFYfdALL96eVCfjNQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: RuOpV4ms2NAU5kwmTJCVU0jcpC0=\r\n\r\n",
+ "id": "12.5.10",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.342Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333731266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_5_11.html b/autobahn/client/hornbeam_case_12_5_11.html
new file mode 100644
index 0000000..4713f82
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_11.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.5.11 : Fail - 1 ms @ 2023-08-11T05:15:26.345Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=372&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: dIbcIcrRMtxprFdnP8utkg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: ONIGn5ykPMjVzNaErpuCOHpk88o=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333732266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_5_11.json b/autobahn/client/hornbeam_case_12_5_11.json
new file mode 100644
index 0000000..3dddf4e
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_11.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 372,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=372&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: dIbcIcrRMtxprFdnP8utkg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: ONIGn5ykPMjVzNaErpuCOHpk88o=\r\n\r\n",
+ "id": "12.5.11",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.345Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333732266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_5_12.html b/autobahn/client/hornbeam_case_12_5_12.html
new file mode 100644
index 0000000..31b0e9d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_12.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.5.12 : Fail - 1 ms @ 2023-08-11T05:15:26.349Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=373&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: iMNVewnUpvY1m/EO5+Dk/w==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: c8A6oG2m1Zj2PDC2s5ypPg/0FFc=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333733266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_5_12.json b/autobahn/client/hornbeam_case_12_5_12.json
new file mode 100644
index 0000000..2b5be4c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_12.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 373,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=373&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: iMNVewnUpvY1m/EO5+Dk/w==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: c8A6oG2m1Zj2PDC2s5ypPg/0FFc=\r\n\r\n",
+ "id": "12.5.12",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.349Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333733266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_5_13.html b/autobahn/client/hornbeam_case_12_5_13.html
new file mode 100644
index 0000000..ea1169d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_13.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.5.13 : Fail - 1 ms @ 2023-08-11T05:15:26.353Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=374&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: LXCIhvcKoOzkWxr4v74rMg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: AjgPCiuvq37s8dxWOjo5dbGJUq8=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333734266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_5_13.json b/autobahn/client/hornbeam_case_12_5_13.json
new file mode 100644
index 0000000..8331d5a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_13.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 374,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=374&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: LXCIhvcKoOzkWxr4v74rMg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: AjgPCiuvq37s8dxWOjo5dbGJUq8=\r\n\r\n",
+ "id": "12.5.13",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.353Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333734266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_5_14.html b/autobahn/client/hornbeam_case_12_5_14.html
new file mode 100644
index 0000000..375be94
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_14.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.5.14 : Fail - 1 ms @ 2023-08-11T05:15:26.371Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=375&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 1i447kwqZEKS1gm1oT7UcQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: El8IfKYwN6R1wm7FxerflBr9ml0=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333735266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_5_14.json b/autobahn/client/hornbeam_case_12_5_14.json
new file mode 100644
index 0000000..3aae075
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_14.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 375,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=375&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 1i447kwqZEKS1gm1oT7UcQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: El8IfKYwN6R1wm7FxerflBr9ml0=\r\n\r\n",
+ "id": "12.5.14",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.371Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333735266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_5_15.html b/autobahn/client/hornbeam_case_12_5_15.html
new file mode 100644
index 0000000..035149a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_15.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.5.15 : Fail - 1 ms @ 2023-08-11T05:15:26.379Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=376&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: V9AF357+x/fG9fYirjSkbA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: j5ZQp7lWFwKRZ4WGyrqZMKWt1HY=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333736266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_5_15.json b/autobahn/client/hornbeam_case_12_5_15.json
new file mode 100644
index 0000000..23bdbf1
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_15.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 376,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=376&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: V9AF357+x/fG9fYirjSkbA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: j5ZQp7lWFwKRZ4WGyrqZMKWt1HY=\r\n\r\n",
+ "id": "12.5.15",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.379Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333736266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_5_16.html b/autobahn/client/hornbeam_case_12_5_16.html
new file mode 100644
index 0000000..f7a7419
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_16.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.5.16 : Fail - 1 ms @ 2023-08-11T05:15:26.384Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=377&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: qm99ts8H/fNNF2wpAUVuJg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: vvRrfSpl0nxHykaJDm8ZiCwbEpM=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333737266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_5_16.json b/autobahn/client/hornbeam_case_12_5_16.json
new file mode 100644
index 0000000..5e9e078
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_16.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 377,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=377&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: qm99ts8H/fNNF2wpAUVuJg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: vvRrfSpl0nxHykaJDm8ZiCwbEpM=\r\n\r\n",
+ "id": "12.5.16",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.384Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333737266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_5_17.html b/autobahn/client/hornbeam_case_12_5_17.html
new file mode 100644
index 0000000..54f0836
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_17.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.5.17 : Fail - 2 ms @ 2023-08-11T05:15:26.389Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=378&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: LjplCiDwHmAHWPUFKtbPiA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: wEPacTAubkpLCB3x536xi6R7e6g=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333738266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_5_17.json b/autobahn/client/hornbeam_case_12_5_17.json
new file mode 100644
index 0000000..98060e2
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_17.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 378,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=378&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: LjplCiDwHmAHWPUFKtbPiA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: wEPacTAubkpLCB3x536xi6R7e6g=\r\n\r\n",
+ "id": "12.5.17",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.389Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333738266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_5_18.html b/autobahn/client/hornbeam_case_12_5_18.html
new file mode 100644
index 0000000..2c4efb5
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_18.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.5.18 : Fail - 2 ms @ 2023-08-11T05:15:26.410Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=379&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: s/3gjGXmeVgSJcTRDXcgrQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 3yD355DYqj/vH+IlCPPex40Hnuk=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333739266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_5_18.json b/autobahn/client/hornbeam_case_12_5_18.json
new file mode 100644
index 0000000..5eb2406
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_18.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 379,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=379&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: s/3gjGXmeVgSJcTRDXcgrQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 3yD355DYqj/vH+IlCPPex40Hnuk=\r\n\r\n",
+ "id": "12.5.18",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.410Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333739266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_5_2.html b/autobahn/client/hornbeam_case_12_5_2.html
new file mode 100644
index 0000000..ec3dd69
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_2.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.5.2 : Fail - 1 ms @ 2023-08-11T05:15:26.308Z
+ Case Description
Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=363&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: FJL9Tm3gaEXOVtc4V1UTZA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: t+xpU7fXDceGcodWZB6v0F8hss4=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333633266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_5_2.json b/autobahn/client/hornbeam_case_12_5_2.json
new file mode 100644
index 0000000..1656576
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_2.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 363,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=363&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: FJL9Tm3gaEXOVtc4V1UTZA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: t+xpU7fXDceGcodWZB6v0F8hss4=\r\n\r\n",
+ "id": "12.5.2",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.308Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333633266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_5_3.html b/autobahn/client/hornbeam_case_12_5_3.html
new file mode 100644
index 0000000..8282a11
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_3.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.5.3 : Fail - 2 ms @ 2023-08-11T05:15:26.312Z
+ Case Description
Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=364&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: K8erDZ4DMbFId8PKpYUB8A==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: I/qV2aeC0tRO/FTfgCmA9UJvodA=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333634266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_5_3.json b/autobahn/client/hornbeam_case_12_5_3.json
new file mode 100644
index 0000000..a04c24f
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_3.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 364,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=364&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: K8erDZ4DMbFId8PKpYUB8A==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: I/qV2aeC0tRO/FTfgCmA9UJvodA=\r\n\r\n",
+ "id": "12.5.3",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.312Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333634266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_5_4.html b/autobahn/client/hornbeam_case_12_5_4.html
new file mode 100644
index 0000000..2083770
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_4.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.5.4 : Fail - 1 ms @ 2023-08-11T05:15:26.316Z
+ Case Description
Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=365&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: C1nZK4T6JWY3djOej2pOUQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: uPwhuhKCHZ+Uiij9XtJfBdkop/4=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333635266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_5_4.json b/autobahn/client/hornbeam_case_12_5_4.json
new file mode 100644
index 0000000..41f680a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_4.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 365,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=365&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: C1nZK4T6JWY3djOej2pOUQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: uPwhuhKCHZ+Uiij9XtJfBdkop/4=\r\n\r\n",
+ "id": "12.5.4",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.316Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333635266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_5_5.html b/autobahn/client/hornbeam_case_12_5_5.html
new file mode 100644
index 0000000..b8bcc00
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_5.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.5.5 : Fail - 2 ms @ 2023-08-11T05:15:26.320Z
+ Case Description
Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=366&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: lbF9hgCXBqtnlyCnjtNqKA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: +gfikSq2RTyySosFtB8PYWK3fFI=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333636266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_5_5.json b/autobahn/client/hornbeam_case_12_5_5.json
new file mode 100644
index 0000000..80873cb
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_5.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 366,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=366&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: lbF9hgCXBqtnlyCnjtNqKA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: +gfikSq2RTyySosFtB8PYWK3fFI=\r\n\r\n",
+ "id": "12.5.5",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.320Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333636266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_5_6.html b/autobahn/client/hornbeam_case_12_5_6.html
new file mode 100644
index 0000000..ae8965f
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_6.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.5.6 : Fail - 2 ms @ 2023-08-11T05:15:26.324Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=367&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: NvDoftKZ1QXpPE7iXkQWHg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: w/TJ8DEQgzWng6XcDtF6N+2aKQs=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333637266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_5_6.json b/autobahn/client/hornbeam_case_12_5_6.json
new file mode 100644
index 0000000..0dcae62
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_6.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 367,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=367&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: NvDoftKZ1QXpPE7iXkQWHg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: w/TJ8DEQgzWng6XcDtF6N+2aKQs=\r\n\r\n",
+ "id": "12.5.6",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.324Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333637266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_5_7.html b/autobahn/client/hornbeam_case_12_5_7.html
new file mode 100644
index 0000000..861eda4
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_7.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.5.7 : Fail - 2 ms @ 2023-08-11T05:15:26.328Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=368&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: aDHsTO9RRqp/KAFp6RTFdg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 7CRgDJCYvM1TF3XG6+DwA8HSA9c=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333638266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_5_7.json b/autobahn/client/hornbeam_case_12_5_7.json
new file mode 100644
index 0000000..18a7a4f
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_7.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 368,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=368&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: aDHsTO9RRqp/KAFp6RTFdg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 7CRgDJCYvM1TF3XG6+DwA8HSA9c=\r\n\r\n",
+ "id": "12.5.7",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.328Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333638266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_5_8.html b/autobahn/client/hornbeam_case_12_5_8.html
new file mode 100644
index 0000000..2a8202f
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_8.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.5.8 : Fail - 2 ms @ 2023-08-11T05:15:26.333Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=369&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: jSjSxblILwtkqqEC9AG8eA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: ihiN6mbi3KHy4Hx1/LCq/bnPmcU=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333639266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_5_8.json b/autobahn/client/hornbeam_case_12_5_8.json
new file mode 100644
index 0000000..afe75c5
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_8.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 369,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=369&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: jSjSxblILwtkqqEC9AG8eA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: ihiN6mbi3KHy4Hx1/LCq/bnPmcU=\r\n\r\n",
+ "id": "12.5.8",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.333Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333639266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_12_5_9.html b/autobahn/client/hornbeam_case_12_5_9.html
new file mode 100644
index 0000000..06fe527
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_9.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 12.5.9 : Fail - 3 ms @ 2023-08-11T05:15:26.337Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use default permessage-deflate offer.
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=370&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: hjU7Jq9ug2TiV5NL9IFQSw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: vRGNXvADLKOfEivERPaOPBASYHQ=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333730266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_12_5_9.json b/autobahn/client/hornbeam_case_12_5_9.json
new file mode 100644
index 0000000..3dcbe90
--- /dev/null
+++ b/autobahn/client/hornbeam_case_12_5_9.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 370,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use default permessage-deflate offer.",
+ "droppedByMe": true,
+ "duration": 3,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=370&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: hjU7Jq9ug2TiV5NL9IFQSw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: vRGNXvADLKOfEivERPaOPBASYHQ=\r\n\r\n",
+ "id": "12.5.9",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.337Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333730266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_1_1.html b/autobahn/client/hornbeam_case_13_1_1.html
new file mode 100644
index 0000000..220b5eb
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_1.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.1.1 : Fail - 2 ms @ 2023-08-11T05:15:26.413Z
+ Case Description
Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=380&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 6tl9xgY6SzDkz2FIXe1ugw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: k0cMeXWZvQuCyZ+ieLBH0IfFGgQ=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333830266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_1_1.json b/autobahn/client/hornbeam_case_13_1_1.json
new file mode 100644
index 0000000..b646f08
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_1.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 380,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=380&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 6tl9xgY6SzDkz2FIXe1ugw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: k0cMeXWZvQuCyZ+ieLBH0IfFGgQ=\r\n\r\n",
+ "id": "13.1.1",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.413Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333830266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_1_10.html b/autobahn/client/hornbeam_case_13_1_10.html
new file mode 100644
index 0000000..f2c7f6d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_10.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.1.10 : Fail - 2 ms @ 2023-08-11T05:15:26.455Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=389&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 0kvJpXOUoANb1xbRZWi6pQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: GAR2vCABCs6Uq4Qo3G559iUxxiM=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333839266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_1_10.json b/autobahn/client/hornbeam_case_13_1_10.json
new file mode 100644
index 0000000..164a221
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_10.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 389,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=389&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 0kvJpXOUoANb1xbRZWi6pQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: GAR2vCABCs6Uq4Qo3G559iUxxiM=\r\n\r\n",
+ "id": "13.1.10",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.455Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333839266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_1_11.html b/autobahn/client/hornbeam_case_13_1_11.html
new file mode 100644
index 0000000..3ff4c17
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_11.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.1.11 : Fail - 1 ms @ 2023-08-11T05:15:26.460Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=390&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: j2IutAxuDzT8jD73ySZV9Q==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 4wvyQ/ztgN1j4PceQ4mfi7WYeP0=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333930266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_1_11.json b/autobahn/client/hornbeam_case_13_1_11.json
new file mode 100644
index 0000000..c3d4e83
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_11.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 390,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=390&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: j2IutAxuDzT8jD73ySZV9Q==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 4wvyQ/ztgN1j4PceQ4mfi7WYeP0=\r\n\r\n",
+ "id": "13.1.11",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.460Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333930266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_1_12.html b/autobahn/client/hornbeam_case_13_1_12.html
new file mode 100644
index 0000000..3e0df29
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_12.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.1.12 : Fail - 1 ms @ 2023-08-11T05:15:26.464Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=391&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: zsK3MopOs/bgR4gfOPStwQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: Ju7JmrqWusQDAKeUnbtrNVJ0VIE=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333931266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_1_12.json b/autobahn/client/hornbeam_case_13_1_12.json
new file mode 100644
index 0000000..98f0de3
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_12.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 391,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=391&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: zsK3MopOs/bgR4gfOPStwQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: Ju7JmrqWusQDAKeUnbtrNVJ0VIE=\r\n\r\n",
+ "id": "13.1.12",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.464Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333931266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_1_13.html b/autobahn/client/hornbeam_case_13_1_13.html
new file mode 100644
index 0000000..d332554
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_13.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.1.13 : Fail - 1 ms @ 2023-08-11T05:15:26.468Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=392&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: xGzNby+XHiVwMmikGHZ4KQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: GVOn0e85HO3T7X025MXMSVrmt3c=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333932266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_1_13.json b/autobahn/client/hornbeam_case_13_1_13.json
new file mode 100644
index 0000000..4dc57f3
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_13.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 392,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=392&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: xGzNby+XHiVwMmikGHZ4KQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: GVOn0e85HO3T7X025MXMSVrmt3c=\r\n\r\n",
+ "id": "13.1.13",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.468Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333932266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_1_14.html b/autobahn/client/hornbeam_case_13_1_14.html
new file mode 100644
index 0000000..d5f05a1
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_14.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.1.14 : Fail - 3 ms @ 2023-08-11T05:15:26.472Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=393&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: Tnc7r0GD3GfDgvbT3qfxzw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: Qiz1XsQHv+gsZ4Jds3yuT+buw0w=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333933266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_1_14.json b/autobahn/client/hornbeam_case_13_1_14.json
new file mode 100644
index 0000000..2f9c12f
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_14.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 393,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]",
+ "droppedByMe": true,
+ "duration": 3,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=393&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Tnc7r0GD3GfDgvbT3qfxzw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: Qiz1XsQHv+gsZ4Jds3yuT+buw0w=\r\n\r\n",
+ "id": "13.1.14",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.472Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333933266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_1_15.html b/autobahn/client/hornbeam_case_13_1_15.html
new file mode 100644
index 0000000..80555a9
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_15.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.1.15 : Fail - 1 ms @ 2023-08-11T05:15:26.477Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=394&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: u4UKlupnCwADCQEIUrKC+w==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: RsU2oWHnQhg7AciDI9bpSaomNs8=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333934266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_1_15.json b/autobahn/client/hornbeam_case_13_1_15.json
new file mode 100644
index 0000000..93e3f27
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_15.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 394,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=394&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: u4UKlupnCwADCQEIUrKC+w==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: RsU2oWHnQhg7AciDI9bpSaomNs8=\r\n\r\n",
+ "id": "13.1.15",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.477Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333934266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_1_16.html b/autobahn/client/hornbeam_case_13_1_16.html
new file mode 100644
index 0000000..9299c77
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_16.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.1.16 : Fail - 1 ms @ 2023-08-11T05:15:26.481Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=395&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 2G4uLyIL+gmvfitjMnesPg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: df2ddsXZpGNt1506QkEqRdEydYI=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333935266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_1_16.json b/autobahn/client/hornbeam_case_13_1_16.json
new file mode 100644
index 0000000..65330cf
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_16.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 395,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=395&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 2G4uLyIL+gmvfitjMnesPg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: df2ddsXZpGNt1506QkEqRdEydYI=\r\n\r\n",
+ "id": "13.1.16",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.481Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333935266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_1_17.html b/autobahn/client/hornbeam_case_13_1_17.html
new file mode 100644
index 0000000..086e8af
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_17.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.1.17 : Fail - 3 ms @ 2023-08-11T05:15:26.485Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=396&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: b/0fBXMvhwLrM1yTF04i/g==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 8rBH3UK01hd0Esor/qFtBvPcg+E=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333936266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_1_17.json b/autobahn/client/hornbeam_case_13_1_17.json
new file mode 100644
index 0000000..f5b2eb6
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_17.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 396,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]",
+ "droppedByMe": true,
+ "duration": 3,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=396&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: b/0fBXMvhwLrM1yTF04i/g==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 8rBH3UK01hd0Esor/qFtBvPcg+E=\r\n\r\n",
+ "id": "13.1.17",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.485Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333936266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_1_18.html b/autobahn/client/hornbeam_case_13_1_18.html
new file mode 100644
index 0000000..64f4368
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_18.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.1.18 : Fail - 2 ms @ 2023-08-11T05:15:26.490Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=397&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: MNl3ftknn2V48qt4Tuu4mQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: PpVb+6SF6jcqcIxESqDv3wlirPc=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333937266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_1_18.json b/autobahn/client/hornbeam_case_13_1_18.json
new file mode 100644
index 0000000..890e5b0
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_18.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 397,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=397&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: MNl3ftknn2V48qt4Tuu4mQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: PpVb+6SF6jcqcIxESqDv3wlirPc=\r\n\r\n",
+ "id": "13.1.18",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.490Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333937266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_1_2.html b/autobahn/client/hornbeam_case_13_1_2.html
new file mode 100644
index 0000000..1f11413
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_2.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.1.2 : Fail - 1 ms @ 2023-08-11T05:15:26.420Z
+ Case Description
Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=381&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: vIyG0t4BHspbmp9yuU5how==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: JQu/SIqogwDfD7xqEeiaQh4RrfE=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333831266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_1_2.json b/autobahn/client/hornbeam_case_13_1_2.json
new file mode 100644
index 0000000..e9f1a8f
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_2.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 381,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=381&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: vIyG0t4BHspbmp9yuU5how==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: JQu/SIqogwDfD7xqEeiaQh4RrfE=\r\n\r\n",
+ "id": "13.1.2",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.420Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333831266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_1_3.html b/autobahn/client/hornbeam_case_13_1_3.html
new file mode 100644
index 0000000..2907055
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_3.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.1.3 : Fail - 2 ms @ 2023-08-11T05:15:26.425Z
+ Case Description
Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=382&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: frxfzG3C+0Tm962iaXWs9w==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: ALOIFGJW4+Bi59uiueBRzLpXfUE=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333832266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_1_3.json b/autobahn/client/hornbeam_case_13_1_3.json
new file mode 100644
index 0000000..70e76b7
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_3.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 382,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=382&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: frxfzG3C+0Tm962iaXWs9w==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: ALOIFGJW4+Bi59uiueBRzLpXfUE=\r\n\r\n",
+ "id": "13.1.3",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.425Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333832266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_1_4.html b/autobahn/client/hornbeam_case_13_1_4.html
new file mode 100644
index 0000000..6b86884
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_4.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.1.4 : Fail - 3 ms @ 2023-08-11T05:15:26.430Z
+ Case Description
Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=383&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: XSjQmQi6hAujF3dCPxx5PQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: yx63dCR5YOjPa2rBhN9+dbWbdZY=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333833266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_1_4.json b/autobahn/client/hornbeam_case_13_1_4.json
new file mode 100644
index 0000000..ce77c1a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_4.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 383,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]",
+ "droppedByMe": true,
+ "duration": 3,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=383&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: XSjQmQi6hAujF3dCPxx5PQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: yx63dCR5YOjPa2rBhN9+dbWbdZY=\r\n\r\n",
+ "id": "13.1.4",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.430Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333833266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_1_5.html b/autobahn/client/hornbeam_case_13_1_5.html
new file mode 100644
index 0000000..35b60a8
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_5.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.1.5 : Fail - 1 ms @ 2023-08-11T05:15:26.435Z
+ Case Description
Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=384&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: sS4ZsuPz2MNEMTFt+rgSSg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: YQBnFOWicvmwwQVbAWYnxN9H70o=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333834266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_1_5.json b/autobahn/client/hornbeam_case_13_1_5.json
new file mode 100644
index 0000000..00a03ca
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_5.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 384,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=384&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: sS4ZsuPz2MNEMTFt+rgSSg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: YQBnFOWicvmwwQVbAWYnxN9H70o=\r\n\r\n",
+ "id": "13.1.5",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.435Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333834266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_1_6.html b/autobahn/client/hornbeam_case_13_1_6.html
new file mode 100644
index 0000000..129a165
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_6.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.1.6 : Fail - 1 ms @ 2023-08-11T05:15:26.440Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=385&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: RVmGmj2q7S3lpzbB7K/aZg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 5Jc2lfoG91AczOfZH+Et4xNDtWg=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333835266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_1_6.json b/autobahn/client/hornbeam_case_13_1_6.json
new file mode 100644
index 0000000..66d3128
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_6.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 385,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=385&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: RVmGmj2q7S3lpzbB7K/aZg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 5Jc2lfoG91AczOfZH+Et4xNDtWg=\r\n\r\n",
+ "id": "13.1.6",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.440Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333835266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_1_7.html b/autobahn/client/hornbeam_case_13_1_7.html
new file mode 100644
index 0000000..fdcbb46
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_7.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.1.7 : Fail - 3 ms @ 2023-08-11T05:15:26.443Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=386&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: msIX4onfe0eEa9KQtBv+/w==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: icl45z3/5vB6K/9CScJgK4/PTkU=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333836266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_1_7.json b/autobahn/client/hornbeam_case_13_1_7.json
new file mode 100644
index 0000000..a9b4f16
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_7.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 386,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]",
+ "droppedByMe": true,
+ "duration": 3,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=386&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: msIX4onfe0eEa9KQtBv+/w==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: icl45z3/5vB6K/9CScJgK4/PTkU=\r\n\r\n",
+ "id": "13.1.7",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.443Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333836266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_1_8.html b/autobahn/client/hornbeam_case_13_1_8.html
new file mode 100644
index 0000000..bf32d63
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_8.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.1.8 : Fail - 1 ms @ 2023-08-11T05:15:26.447Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=387&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: av4TZFRIG78SAYUc9/Yjfw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: vOJDeZVJCWLv8SbNNpAa/yr879E=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333837266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_1_8.json b/autobahn/client/hornbeam_case_13_1_8.json
new file mode 100644
index 0000000..cb75b45
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_8.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 387,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=387&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: av4TZFRIG78SAYUc9/Yjfw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: vOJDeZVJCWLv8SbNNpAa/yr879E=\r\n\r\n",
+ "id": "13.1.8",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.447Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333837266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_1_9.html b/autobahn/client/hornbeam_case_13_1_9.html
new file mode 100644
index 0000000..095bef8
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_9.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.1.9 : Fail - 2 ms @ 2023-08-11T05:15:26.451Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=388&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: D+M9DK5OQHY812BetfZvRQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: yp7f1qO0+frfg6nLEv7tdY3C3tg=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333838266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_1_9.json b/autobahn/client/hornbeam_case_13_1_9.json
new file mode 100644
index 0000000..633216c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_1_9.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 388,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 0)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=388&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: D+M9DK5OQHY812BetfZvRQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: yp7f1qO0+frfg6nLEv7tdY3C3tg=\r\n\r\n",
+ "id": "13.1.9",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.451Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333838266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_2_1.html b/autobahn/client/hornbeam_case_13_2_1.html
new file mode 100644
index 0000000..80a88b6
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_1.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.2.1 : Fail - 2 ms @ 2023-08-11T05:15:26.495Z
+ Case Description
Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=398&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: Whn6BwbytZ9yV1udXn17BQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: GttIHxUfoTg7rFqoaKU92pd1QB4=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333938266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_2_1.json b/autobahn/client/hornbeam_case_13_2_1.json
new file mode 100644
index 0000000..7f6d895
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_1.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 398,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=398&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Whn6BwbytZ9yV1udXn17BQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: GttIHxUfoTg7rFqoaKU92pd1QB4=\r\n\r\n",
+ "id": "13.2.1",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.495Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333938266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_2_10.html b/autobahn/client/hornbeam_case_13_2_10.html
new file mode 100644
index 0000000..56f7080
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_10.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.2.10 : Fail - 1 ms @ 2023-08-11T05:15:26.532Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=407&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: eDh9ODvJX9ZrimVMHP9hwQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: wAvlLquyFMearXU8kWIjCjHcixE=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343037266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_2_10.json b/autobahn/client/hornbeam_case_13_2_10.json
new file mode 100644
index 0000000..48a51fd
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_10.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 407,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=407&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: eDh9ODvJX9ZrimVMHP9hwQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: wAvlLquyFMearXU8kWIjCjHcixE=\r\n\r\n",
+ "id": "13.2.10",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.532Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343037266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_2_11.html b/autobahn/client/hornbeam_case_13_2_11.html
new file mode 100644
index 0000000..b3e677e
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_11.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.2.11 : Fail - 1 ms @ 2023-08-11T05:15:26.536Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=408&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: /goxEgOINUrOC+j9pRXixQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: Kil4AonR4k++fzJMt9U0yVLj6Yw=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343038266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_2_11.json b/autobahn/client/hornbeam_case_13_2_11.json
new file mode 100644
index 0000000..d6eb249
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_11.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 408,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=408&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: /goxEgOINUrOC+j9pRXixQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: Kil4AonR4k++fzJMt9U0yVLj6Yw=\r\n\r\n",
+ "id": "13.2.11",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.536Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343038266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_2_12.html b/autobahn/client/hornbeam_case_13_2_12.html
new file mode 100644
index 0000000..fe0393c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_12.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.2.12 : Fail - 3 ms @ 2023-08-11T05:15:26.540Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=409&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: UmCiJRY0qkaNrzjovi+QOw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: cQlC9qX+VUIKgnrBbAuA7aZDyDA=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343039266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_2_12.json b/autobahn/client/hornbeam_case_13_2_12.json
new file mode 100644
index 0000000..78bd4a4
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_12.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 409,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]",
+ "droppedByMe": true,
+ "duration": 3,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=409&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: UmCiJRY0qkaNrzjovi+QOw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: cQlC9qX+VUIKgnrBbAuA7aZDyDA=\r\n\r\n",
+ "id": "13.2.12",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.540Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343039266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_2_13.html b/autobahn/client/hornbeam_case_13_2_13.html
new file mode 100644
index 0000000..6169e52
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_13.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.2.13 : Fail - 1 ms @ 2023-08-11T05:15:26.545Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=410&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 2R0SLNkII470uoZdHDdmXQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: jk3U8n2ROSKqh6ecSOJPe6wleyI=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343130266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_2_13.json b/autobahn/client/hornbeam_case_13_2_13.json
new file mode 100644
index 0000000..607a322
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_13.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 410,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=410&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 2R0SLNkII470uoZdHDdmXQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: jk3U8n2ROSKqh6ecSOJPe6wleyI=\r\n\r\n",
+ "id": "13.2.13",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.545Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343130266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_2_14.html b/autobahn/client/hornbeam_case_13_2_14.html
new file mode 100644
index 0000000..d3a38d9
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_14.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.2.14 : Fail - 1 ms @ 2023-08-11T05:15:26.549Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=411&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: oCHI76i83wn8DP+59PP/gA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: WrqELpsC38FPChXI95WvekBgXu8=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343131266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_2_14.json b/autobahn/client/hornbeam_case_13_2_14.json
new file mode 100644
index 0000000..799c413
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_14.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 411,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=411&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: oCHI76i83wn8DP+59PP/gA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: WrqELpsC38FPChXI95WvekBgXu8=\r\n\r\n",
+ "id": "13.2.14",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.549Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343131266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_2_15.html b/autobahn/client/hornbeam_case_13_2_15.html
new file mode 100644
index 0000000..c4125c4
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_15.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.2.15 : Fail - 2 ms @ 2023-08-11T05:15:26.553Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=412&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: bhHjrc92tH04Igzh6uup6w==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: JXB1UURU1EDAJYwjnQBAyuP9zwk=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343132266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_2_15.json b/autobahn/client/hornbeam_case_13_2_15.json
new file mode 100644
index 0000000..beefa76
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_15.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 412,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=412&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: bhHjrc92tH04Igzh6uup6w==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: JXB1UURU1EDAJYwjnQBAyuP9zwk=\r\n\r\n",
+ "id": "13.2.15",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.553Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343132266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_2_16.html b/autobahn/client/hornbeam_case_13_2_16.html
new file mode 100644
index 0000000..83818ed
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_16.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.2.16 : Fail - 1 ms @ 2023-08-11T05:15:26.556Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=413&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: ymtLQDlcGRVovt2428L/Lw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: FeWyUj5H2pb/HN3v7XUtSBoPQUA=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343133266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_2_16.json b/autobahn/client/hornbeam_case_13_2_16.json
new file mode 100644
index 0000000..244e4eb
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_16.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 413,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=413&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ymtLQDlcGRVovt2428L/Lw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: FeWyUj5H2pb/HN3v7XUtSBoPQUA=\r\n\r\n",
+ "id": "13.2.16",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.556Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343133266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_2_17.html b/autobahn/client/hornbeam_case_13_2_17.html
new file mode 100644
index 0000000..ff0b748
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_17.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.2.17 : Fail - 1 ms @ 2023-08-11T05:15:26.560Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=414&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: scvDqKUMlrqmP4yxE6ipWw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: cHBE9fSwRfglMc7761rAZS2jihI=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343134266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_2_17.json b/autobahn/client/hornbeam_case_13_2_17.json
new file mode 100644
index 0000000..45a23ab
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_17.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 414,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=414&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: scvDqKUMlrqmP4yxE6ipWw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: cHBE9fSwRfglMc7761rAZS2jihI=\r\n\r\n",
+ "id": "13.2.17",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.560Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343134266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_2_18.html b/autobahn/client/hornbeam_case_13_2_18.html
new file mode 100644
index 0000000..7111a19
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_18.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.2.18 : Fail - 1 ms @ 2023-08-11T05:15:26.563Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=415&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 4lDnMjBLnw1tnjnodIHurQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: QT5a1mQymUyCA/PAESUQRkvL9Fo=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343135266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_2_18.json b/autobahn/client/hornbeam_case_13_2_18.json
new file mode 100644
index 0000000..e1565d5
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_18.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 415,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=415&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 4lDnMjBLnw1tnjnodIHurQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: QT5a1mQymUyCA/PAESUQRkvL9Fo=\r\n\r\n",
+ "id": "13.2.18",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.563Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343135266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_2_2.html b/autobahn/client/hornbeam_case_13_2_2.html
new file mode 100644
index 0000000..42b5b3d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_2.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.2.2 : Fail - 3 ms @ 2023-08-11T05:15:26.498Z
+ Case Description
Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=399&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: D/0R+IUaTxP/HfQMt/gitA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: LS1I2ZYC3eJu0N5gdPfKgyhlLZ4=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d333939266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_2_2.json b/autobahn/client/hornbeam_case_13_2_2.json
new file mode 100644
index 0000000..c76162f
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_2.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 399,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]",
+ "droppedByMe": true,
+ "duration": 3,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=399&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: D/0R+IUaTxP/HfQMt/gitA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: LS1I2ZYC3eJu0N5gdPfKgyhlLZ4=\r\n\r\n",
+ "id": "13.2.2",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.498Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d333939266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_2_3.html b/autobahn/client/hornbeam_case_13_2_3.html
new file mode 100644
index 0000000..b8c41ea
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_3.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.2.3 : Fail - 1 ms @ 2023-08-11T05:15:26.503Z
+ Case Description
Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=400&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 5VoIACJDV9Cxfnp4+Cho/w==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: n9s+ObIJppoRCggSFI9djkUR7YU=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343030266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_2_3.json b/autobahn/client/hornbeam_case_13_2_3.json
new file mode 100644
index 0000000..0b4ef4b
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_3.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 400,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=400&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 5VoIACJDV9Cxfnp4+Cho/w==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: n9s+ObIJppoRCggSFI9djkUR7YU=\r\n\r\n",
+ "id": "13.2.3",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.503Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343030266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_2_4.html b/autobahn/client/hornbeam_case_13_2_4.html
new file mode 100644
index 0000000..4be0542
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_4.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.2.4 : Fail - 1 ms @ 2023-08-11T05:15:26.508Z
+ Case Description
Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=401&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 1yHUg2zvM4XRcY1g4wKT9A==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: BY2U/xMRpcz/YIjPKLjEpyVaXYY=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343031266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_2_4.json b/autobahn/client/hornbeam_case_13_2_4.json
new file mode 100644
index 0000000..0e4fc43
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_4.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 401,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=401&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 1yHUg2zvM4XRcY1g4wKT9A==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: BY2U/xMRpcz/YIjPKLjEpyVaXYY=\r\n\r\n",
+ "id": "13.2.4",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.508Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343031266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_2_5.html b/autobahn/client/hornbeam_case_13_2_5.html
new file mode 100644
index 0000000..ed34bd8
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_5.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.2.5 : Fail - 1 ms @ 2023-08-11T05:15:26.511Z
+ Case Description
Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=402&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: icfGqfeGWpD97hKXJ5G9tA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: n8mhwR95JNMmcoy9gVvoi5RFwn4=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343032266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_2_5.json b/autobahn/client/hornbeam_case_13_2_5.json
new file mode 100644
index 0000000..b53d4f0
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_5.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 402,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=402&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: icfGqfeGWpD97hKXJ5G9tA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: n8mhwR95JNMmcoy9gVvoi5RFwn4=\r\n\r\n",
+ "id": "13.2.5",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.511Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343032266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_2_6.html b/autobahn/client/hornbeam_case_13_2_6.html
new file mode 100644
index 0000000..6fb22a9
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_6.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.2.6 : Fail - 3 ms @ 2023-08-11T05:15:26.515Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=403&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 4LmI0Uq8t2cOxvIKqJzciQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: EQBx1C0Pi/kETi1Og5uDuzRut1c=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343033266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_2_6.json b/autobahn/client/hornbeam_case_13_2_6.json
new file mode 100644
index 0000000..1910c52
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_6.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 403,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]",
+ "droppedByMe": true,
+ "duration": 3,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=403&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 4LmI0Uq8t2cOxvIKqJzciQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: EQBx1C0Pi/kETi1Og5uDuzRut1c=\r\n\r\n",
+ "id": "13.2.6",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.515Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343033266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_2_7.html b/autobahn/client/hornbeam_case_13_2_7.html
new file mode 100644
index 0000000..e4227a6
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_7.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.2.7 : Fail - 1 ms @ 2023-08-11T05:15:26.519Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=404&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: kl1lkf+B5uOkIUXN0eBaYA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: vlhiaZsvjtOjzxy9B15EUc9ZKPY=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343034266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_2_7.json b/autobahn/client/hornbeam_case_13_2_7.json
new file mode 100644
index 0000000..e27583e
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_7.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 404,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=404&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: kl1lkf+B5uOkIUXN0eBaYA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: vlhiaZsvjtOjzxy9B15EUc9ZKPY=\r\n\r\n",
+ "id": "13.2.7",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.519Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343034266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_2_8.html b/autobahn/client/hornbeam_case_13_2_8.html
new file mode 100644
index 0000000..963afc7
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_8.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.2.8 : Fail - 1 ms @ 2023-08-11T05:15:26.524Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=405&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: xG9ksUddEwHGBb8p23B1sg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: x5u/JJrvJMnLk0pGKaAH3ElQQb0=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343035266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_2_8.json b/autobahn/client/hornbeam_case_13_2_8.json
new file mode 100644
index 0000000..6eb26e9
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_8.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 405,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=405&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: xG9ksUddEwHGBb8p23B1sg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: x5u/JJrvJMnLk0pGKaAH3ElQQb0=\r\n\r\n",
+ "id": "13.2.8",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.524Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343035266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_2_9.html b/autobahn/client/hornbeam_case_13_2_9.html
new file mode 100644
index 0000000..438c378
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_9.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.2.9 : Fail - 3 ms @ 2023-08-11T05:15:26.527Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=406&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: PIFix/r31ThiMGF+eyW9CA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: H8/AXWT3U0zZGoQZqNo15+5QYyQ=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343036266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_2_9.json b/autobahn/client/hornbeam_case_13_2_9.json
new file mode 100644
index 0000000..ce56821
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_2_9.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 406,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 0)]",
+ "droppedByMe": true,
+ "duration": 3,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=406&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: PIFix/r31ThiMGF+eyW9CA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: H8/AXWT3U0zZGoQZqNo15+5QYyQ=\r\n\r\n",
+ "id": "13.2.9",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.527Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343036266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_3_1.html b/autobahn/client/hornbeam_case_13_3_1.html
new file mode 100644
index 0000000..be4c3cc
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_1.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.3.1 : Fail - 2 ms @ 2023-08-11T05:15:26.566Z
+ Case Description
Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=416&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: CJ5vjv/EK0Lu8vQw0q8zCQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: Vn5hcXf0wproB6RarVtjI6b+eUg=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343136266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_3_1.json b/autobahn/client/hornbeam_case_13_3_1.json
new file mode 100644
index 0000000..c1244c0
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_1.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 416,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=416&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: CJ5vjv/EK0Lu8vQw0q8zCQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: Vn5hcXf0wproB6RarVtjI6b+eUg=\r\n\r\n",
+ "id": "13.3.1",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.566Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343136266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_3_10.html b/autobahn/client/hornbeam_case_13_3_10.html
new file mode 100644
index 0000000..343e673
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_10.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.3.10 : Fail - 1 ms @ 2023-08-11T05:15:26.595Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=425&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: dQapeaq4uCSX3WbNOANLTw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: bHDE9fqfnX1frFJ/Ck/xXOC7K+8=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343235266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_3_10.json b/autobahn/client/hornbeam_case_13_3_10.json
new file mode 100644
index 0000000..043e52d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_10.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 425,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=425&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: dQapeaq4uCSX3WbNOANLTw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: bHDE9fqfnX1frFJ/Ck/xXOC7K+8=\r\n\r\n",
+ "id": "13.3.10",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.595Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343235266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_3_11.html b/autobahn/client/hornbeam_case_13_3_11.html
new file mode 100644
index 0000000..c26cb37
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_11.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.3.11 : Fail - 1 ms @ 2023-08-11T05:15:26.598Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=426&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: iYJ2H3jrX0gY4zw5FgnG4A==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: DKF1cS8FT4k/Yq3nFjOVCP4KVVw=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343236266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_3_11.json b/autobahn/client/hornbeam_case_13_3_11.json
new file mode 100644
index 0000000..f7bb9b1
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_11.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 426,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=426&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: iYJ2H3jrX0gY4zw5FgnG4A==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: DKF1cS8FT4k/Yq3nFjOVCP4KVVw=\r\n\r\n",
+ "id": "13.3.11",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.598Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343236266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_3_12.html b/autobahn/client/hornbeam_case_13_3_12.html
new file mode 100644
index 0000000..7260085
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_12.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.3.12 : Fail - 2 ms @ 2023-08-11T05:15:26.601Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=427&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: T7dQjslsS48XGGVcQFF0nA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: EksQJHxF74Om97uxv6HXmNnZyVk=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343237266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_3_12.json b/autobahn/client/hornbeam_case_13_3_12.json
new file mode 100644
index 0000000..9c61ce6
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_12.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 427,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=427&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: T7dQjslsS48XGGVcQFF0nA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: EksQJHxF74Om97uxv6HXmNnZyVk=\r\n\r\n",
+ "id": "13.3.12",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.601Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343237266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_3_13.html b/autobahn/client/hornbeam_case_13_3_13.html
new file mode 100644
index 0000000..8e8b3c2
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_13.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.3.13 : Fail - 1 ms @ 2023-08-11T05:15:26.604Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=428&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: sJNX0fKs/u8jzsu6LXipDA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: Q9jBQSpQbpTjYVDpq09OuWgUPxg=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343238266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_3_13.json b/autobahn/client/hornbeam_case_13_3_13.json
new file mode 100644
index 0000000..c370c9e
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_13.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 428,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=428&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: sJNX0fKs/u8jzsu6LXipDA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: Q9jBQSpQbpTjYVDpq09OuWgUPxg=\r\n\r\n",
+ "id": "13.3.13",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.604Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343238266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_3_14.html b/autobahn/client/hornbeam_case_13_3_14.html
new file mode 100644
index 0000000..412d8d7
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_14.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.3.14 : Fail - 4 ms @ 2023-08-11T05:15:26.607Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=429&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 59CBn4i2cFkBOj3qXfSq3Q==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: GAOXxoZss896Bxyj/qwZR2yUngk=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343239266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_3_14.json b/autobahn/client/hornbeam_case_13_3_14.json
new file mode 100644
index 0000000..962e768
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_14.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 429,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]",
+ "droppedByMe": true,
+ "duration": 4,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=429&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 59CBn4i2cFkBOj3qXfSq3Q==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: GAOXxoZss896Bxyj/qwZR2yUngk=\r\n\r\n",
+ "id": "13.3.14",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.607Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343239266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_3_15.html b/autobahn/client/hornbeam_case_13_3_15.html
new file mode 100644
index 0000000..ace43d4
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_15.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.3.15 : Fail - 2 ms @ 2023-08-11T05:15:26.613Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=430&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 4BNdo3Ae+Zn7i3JgyTTq3w==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: xSuncgetHI+g/KlMpiVBSteLOjs=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343330266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_3_15.json b/autobahn/client/hornbeam_case_13_3_15.json
new file mode 100644
index 0000000..d91c277
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_15.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 430,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=430&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 4BNdo3Ae+Zn7i3JgyTTq3w==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: xSuncgetHI+g/KlMpiVBSteLOjs=\r\n\r\n",
+ "id": "13.3.15",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.613Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343330266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_3_16.html b/autobahn/client/hornbeam_case_13_3_16.html
new file mode 100644
index 0000000..b2b284c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_16.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.3.16 : Fail - 2 ms @ 2023-08-11T05:15:26.616Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=431&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: e1Z4NK5zp0t8t99Od2By9g==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 0fcqmuH9X3DsABoyplwn0UIixwU=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343331266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_3_16.json b/autobahn/client/hornbeam_case_13_3_16.json
new file mode 100644
index 0000000..b40deb6
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_16.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 431,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=431&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: e1Z4NK5zp0t8t99Od2By9g==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 0fcqmuH9X3DsABoyplwn0UIixwU=\r\n\r\n",
+ "id": "13.3.16",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.616Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343331266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_3_17.html b/autobahn/client/hornbeam_case_13_3_17.html
new file mode 100644
index 0000000..19db143
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_17.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.3.17 : Fail - 1 ms @ 2023-08-11T05:15:26.620Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=432&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 808+HoIld33n+TO9NmJR+A==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: ebI9DarJIzKanm1wRq7tH3bZ/Z0=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343332266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_3_17.json b/autobahn/client/hornbeam_case_13_3_17.json
new file mode 100644
index 0000000..4688984
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_17.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 432,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=432&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 808+HoIld33n+TO9NmJR+A==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: ebI9DarJIzKanm1wRq7tH3bZ/Z0=\r\n\r\n",
+ "id": "13.3.17",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.620Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343332266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_3_18.html b/autobahn/client/hornbeam_case_13_3_18.html
new file mode 100644
index 0000000..196e300
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_18.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.3.18 : Fail - 2 ms @ 2023-08-11T05:15:26.624Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=433&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: Iv0nMx50zzc6m9mOBc9K1Q==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: V68PC3OqERRFKT60A5N1YkHhdKg=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343333266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_3_18.json b/autobahn/client/hornbeam_case_13_3_18.json
new file mode 100644
index 0000000..d66f0b1
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_18.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 433,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=433&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Iv0nMx50zzc6m9mOBc9K1Q==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: V68PC3OqERRFKT60A5N1YkHhdKg=\r\n\r\n",
+ "id": "13.3.18",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.624Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343333266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_3_2.html b/autobahn/client/hornbeam_case_13_3_2.html
new file mode 100644
index 0000000..e291d96
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_2.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.3.2 : Fail - 1 ms @ 2023-08-11T05:15:26.570Z
+ Case Description
Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=417&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: +teGc4Tr+OerLur9LOIdIA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 04/b4KqeIjYE+rcGWdu5aYWIMTE=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343137266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_3_2.json b/autobahn/client/hornbeam_case_13_3_2.json
new file mode 100644
index 0000000..82145b2
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_2.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 417,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=417&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: +teGc4Tr+OerLur9LOIdIA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 04/b4KqeIjYE+rcGWdu5aYWIMTE=\r\n\r\n",
+ "id": "13.3.2",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.570Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343137266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_3_3.html b/autobahn/client/hornbeam_case_13_3_3.html
new file mode 100644
index 0000000..3dad207
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_3.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.3.3 : Fail - 1 ms @ 2023-08-11T05:15:26.573Z
+ Case Description
Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=418&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: ZxNOK0eyUiI9+0GG7LfFZQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 286B9WtbMThAsUT+EAlZPxaLLfg=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343138266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_3_3.json b/autobahn/client/hornbeam_case_13_3_3.json
new file mode 100644
index 0000000..6cb9dfd
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_3.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 418,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=418&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ZxNOK0eyUiI9+0GG7LfFZQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 286B9WtbMThAsUT+EAlZPxaLLfg=\r\n\r\n",
+ "id": "13.3.3",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.573Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343138266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_3_4.html b/autobahn/client/hornbeam_case_13_3_4.html
new file mode 100644
index 0000000..2f21bbd
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_4.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.3.4 : Fail - 1 ms @ 2023-08-11T05:15:26.576Z
+ Case Description
Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=419&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: Sx8hp/W3BlF2HMMnDrOWzA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: eM86dIEJZITuTdsTSuDEp832cw0=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343139266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_3_4.json b/autobahn/client/hornbeam_case_13_3_4.json
new file mode 100644
index 0000000..77a0fbd
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_4.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 419,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=419&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Sx8hp/W3BlF2HMMnDrOWzA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: eM86dIEJZITuTdsTSuDEp832cw0=\r\n\r\n",
+ "id": "13.3.4",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.576Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343139266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_3_5.html b/autobahn/client/hornbeam_case_13_3_5.html
new file mode 100644
index 0000000..8601767
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_5.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.3.5 : Fail - 2 ms @ 2023-08-11T05:15:26.579Z
+ Case Description
Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=420&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: RzVV0VcFEVCNmCG6yBh1kw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: BIYUHcF/X+BC4mFx4RuU33ZHnu4=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343230266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_3_5.json b/autobahn/client/hornbeam_case_13_3_5.json
new file mode 100644
index 0000000..90635ac
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_5.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 420,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=420&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: RzVV0VcFEVCNmCG6yBh1kw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: BIYUHcF/X+BC4mFx4RuU33ZHnu4=\r\n\r\n",
+ "id": "13.3.5",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.579Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343230266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_3_6.html b/autobahn/client/hornbeam_case_13_3_6.html
new file mode 100644
index 0000000..3143a6a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_6.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.3.6 : Fail - 1 ms @ 2023-08-11T05:15:26.583Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=421&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: EuqWTKEc5CrZBcOV84m+GQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: b7KDG8zhZYBbCYULU4H9R0PvYjg=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343231266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_3_6.json b/autobahn/client/hornbeam_case_13_3_6.json
new file mode 100644
index 0000000..ac22ef3
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_6.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 421,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=421&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: EuqWTKEc5CrZBcOV84m+GQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: b7KDG8zhZYBbCYULU4H9R0PvYjg=\r\n\r\n",
+ "id": "13.3.6",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.583Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343231266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_3_7.html b/autobahn/client/hornbeam_case_13_3_7.html
new file mode 100644
index 0000000..5aabc79
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_7.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.3.7 : Fail - 1 ms @ 2023-08-11T05:15:26.586Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=422&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: ZvuQhxA2VFdHBZbaCvYrnw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: dMLY9XMJasjtwYfLqcl0SmAiAZY=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343232266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_3_7.json b/autobahn/client/hornbeam_case_13_3_7.json
new file mode 100644
index 0000000..d75b497
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_7.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 422,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=422&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ZvuQhxA2VFdHBZbaCvYrnw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: dMLY9XMJasjtwYfLqcl0SmAiAZY=\r\n\r\n",
+ "id": "13.3.7",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.586Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343232266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_3_8.html b/autobahn/client/hornbeam_case_13_3_8.html
new file mode 100644
index 0000000..588e1a0
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_8.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.3.8 : Fail - 1 ms @ 2023-08-11T05:15:26.589Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=423&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: rq1KSBdf0zL4mBqqMW7Wqg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: obzLgwvvyrpXPvwonMmCHxcAk8k=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343233266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_3_8.json b/autobahn/client/hornbeam_case_13_3_8.json
new file mode 100644
index 0000000..f0eb41c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_8.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 423,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=423&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: rq1KSBdf0zL4mBqqMW7Wqg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: obzLgwvvyrpXPvwonMmCHxcAk8k=\r\n\r\n",
+ "id": "13.3.8",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.589Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343233266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_3_9.html b/autobahn/client/hornbeam_case_13_3_9.html
new file mode 100644
index 0000000..0ab5c80
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_9.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.3.9 : Fail - 1 ms @ 2023-08-11T05:15:26.591Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=424&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 0IwV8Fwwa/Pvu5FXKG6zfQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 2IAPXh/RJqbnUfcc5KvRquWnVhI=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343234266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_3_9.json b/autobahn/client/hornbeam_case_13_3_9.json
new file mode 100644
index 0000000..18258d4
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_3_9.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 424,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 9)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=424&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 0IwV8Fwwa/Pvu5FXKG6zfQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 2IAPXh/RJqbnUfcc5KvRquWnVhI=\r\n\r\n",
+ "id": "13.3.9",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.591Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343234266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_4_1.html b/autobahn/client/hornbeam_case_13_4_1.html
new file mode 100644
index 0000000..83d170b
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_1.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.4.1 : Fail - 2 ms @ 2023-08-11T05:15:26.627Z
+ Case Description
Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=434&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 8lOxg/Zo5RFNcVezmiIY6w==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: xF3kcGIBZi2VpL8KxVZF40ZpUNw=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343334266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_4_1.json b/autobahn/client/hornbeam_case_13_4_1.json
new file mode 100644
index 0000000..f369928
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_1.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 434,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=434&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 8lOxg/Zo5RFNcVezmiIY6w==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: xF3kcGIBZi2VpL8KxVZF40ZpUNw=\r\n\r\n",
+ "id": "13.4.1",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.627Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343334266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_4_10.html b/autobahn/client/hornbeam_case_13_4_10.html
new file mode 100644
index 0000000..5495c8a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_10.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.4.10 : Fail - 1 ms @ 2023-08-11T05:15:26.660Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=443&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: xEkI2w+kd//wEZm4YmuQNw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: Eno2uiJllSDJ2mE2TnGy4Itsivs=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343433266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_4_10.json b/autobahn/client/hornbeam_case_13_4_10.json
new file mode 100644
index 0000000..e02b724
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_10.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 443,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=443&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: xEkI2w+kd//wEZm4YmuQNw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: Eno2uiJllSDJ2mE2TnGy4Itsivs=\r\n\r\n",
+ "id": "13.4.10",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.660Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343433266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_4_11.html b/autobahn/client/hornbeam_case_13_4_11.html
new file mode 100644
index 0000000..ea2f083
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_11.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.4.11 : Fail - 2 ms @ 2023-08-11T05:15:26.663Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=444&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: a6782rLOQHfnHq4KHfKfBg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: KOFZn3EAvRNQJHKtYTLnbdEp+Mk=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343434266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_4_11.json b/autobahn/client/hornbeam_case_13_4_11.json
new file mode 100644
index 0000000..672672f
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_11.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 444,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=444&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: a6782rLOQHfnHq4KHfKfBg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: KOFZn3EAvRNQJHKtYTLnbdEp+Mk=\r\n\r\n",
+ "id": "13.4.11",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.663Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343434266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_4_12.html b/autobahn/client/hornbeam_case_13_4_12.html
new file mode 100644
index 0000000..da77544
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_12.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.4.12 : Fail - 2 ms @ 2023-08-11T05:15:26.667Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=445&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: cBYnSY3uTJfHPQc0zMmkOw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: apcHjbyBy6VAp9vRczEZYwsj7RM=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343435266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_4_12.json b/autobahn/client/hornbeam_case_13_4_12.json
new file mode 100644
index 0000000..779d77e
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_12.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 445,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=445&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: cBYnSY3uTJfHPQc0zMmkOw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: apcHjbyBy6VAp9vRczEZYwsj7RM=\r\n\r\n",
+ "id": "13.4.12",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.667Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343435266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_4_13.html b/autobahn/client/hornbeam_case_13_4_13.html
new file mode 100644
index 0000000..dfb1a86
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_13.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.4.13 : Fail - 2 ms @ 2023-08-11T05:15:26.671Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=446&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: LwGYMlrnBHaxhsmlQq4bGQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: zoSUOcPpzpqlXLnPnLkrKs9fjr4=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343436266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_4_13.json b/autobahn/client/hornbeam_case_13_4_13.json
new file mode 100644
index 0000000..3f696e3
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_13.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 446,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=446&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: LwGYMlrnBHaxhsmlQq4bGQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: zoSUOcPpzpqlXLnPnLkrKs9fjr4=\r\n\r\n",
+ "id": "13.4.13",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.671Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343436266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_4_14.html b/autobahn/client/hornbeam_case_13_4_14.html
new file mode 100644
index 0000000..b7ca72c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_14.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.4.14 : Fail - 2 ms @ 2023-08-11T05:15:26.675Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=447&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: yvNlCqmoTYuGVhRclu9Xag==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: FcGKxtOhjD6PBkRct+++fPx0TS4=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343437266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_4_14.json b/autobahn/client/hornbeam_case_13_4_14.json
new file mode 100644
index 0000000..541160d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_14.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 447,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=447&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: yvNlCqmoTYuGVhRclu9Xag==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: FcGKxtOhjD6PBkRct+++fPx0TS4=\r\n\r\n",
+ "id": "13.4.14",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.675Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343437266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_4_15.html b/autobahn/client/hornbeam_case_13_4_15.html
new file mode 100644
index 0000000..a649352
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_15.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.4.15 : Fail - 1 ms @ 2023-08-11T05:15:26.678Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=448&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: TW82q205OWc4NIzRb8ILwg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: /2fEBQNl7qupwztbAPgneebdstY=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343438266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_4_15.json b/autobahn/client/hornbeam_case_13_4_15.json
new file mode 100644
index 0000000..21b19bc
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_15.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 448,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=448&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: TW82q205OWc4NIzRb8ILwg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: /2fEBQNl7qupwztbAPgneebdstY=\r\n\r\n",
+ "id": "13.4.15",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.678Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343438266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_4_16.html b/autobahn/client/hornbeam_case_13_4_16.html
new file mode 100644
index 0000000..21f7457
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_16.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.4.16 : Fail - 1 ms @ 2023-08-11T05:15:26.683Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=449&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: X0j3oq1CV7+kM5itBkPfGw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 37NlU59uK7FZW48ir+AtJkR90C4=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343439266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_4_16.json b/autobahn/client/hornbeam_case_13_4_16.json
new file mode 100644
index 0000000..24bafbb
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_16.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 449,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=449&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: X0j3oq1CV7+kM5itBkPfGw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 37NlU59uK7FZW48ir+AtJkR90C4=\r\n\r\n",
+ "id": "13.4.16",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.683Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343439266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_4_17.html b/autobahn/client/hornbeam_case_13_4_17.html
new file mode 100644
index 0000000..915992e
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_17.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.4.17 : Fail - 2 ms @ 2023-08-11T05:15:26.686Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=450&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: meFMexku1Yc56MeD9l7wHg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: B9L7PMreKVmEpM8CkpAE/fLs2K8=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343530266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_4_17.json b/autobahn/client/hornbeam_case_13_4_17.json
new file mode 100644
index 0000000..d04ff28
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_17.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 450,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=450&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: meFMexku1Yc56MeD9l7wHg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: B9L7PMreKVmEpM8CkpAE/fLs2K8=\r\n\r\n",
+ "id": "13.4.17",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.686Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343530266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_4_18.html b/autobahn/client/hornbeam_case_13_4_18.html
new file mode 100644
index 0000000..8de06ff
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_18.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.4.18 : Fail - 2 ms @ 2023-08-11T05:15:26.689Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=451&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: yIcXVgPBBQruafR2SH1nhw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: dv/H4r88nlHbA8bSGHf9CFSvIVI=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343531266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_4_18.json b/autobahn/client/hornbeam_case_13_4_18.json
new file mode 100644
index 0000000..e295efb
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_18.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 451,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=451&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: yIcXVgPBBQruafR2SH1nhw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: dv/H4r88nlHbA8bSGHf9CFSvIVI=\r\n\r\n",
+ "id": "13.4.18",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.689Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343531266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_4_2.html b/autobahn/client/hornbeam_case_13_4_2.html
new file mode 100644
index 0000000..8605eee
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_2.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.4.2 : Fail - 1 ms @ 2023-08-11T05:15:26.631Z
+ Case Description
Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=435&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 24jPi8sL9LaOYDGTcX001Q==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: SdZcLQ55K2PKC5b9W4rRBWpbOWQ=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343335266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_4_2.json b/autobahn/client/hornbeam_case_13_4_2.json
new file mode 100644
index 0000000..d4a694e
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_2.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 435,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=435&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 24jPi8sL9LaOYDGTcX001Q==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: SdZcLQ55K2PKC5b9W4rRBWpbOWQ=\r\n\r\n",
+ "id": "13.4.2",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.631Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343335266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_4_3.html b/autobahn/client/hornbeam_case_13_4_3.html
new file mode 100644
index 0000000..7bb934c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_3.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.4.3 : Fail - 2 ms @ 2023-08-11T05:15:26.635Z
+ Case Description
Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=436&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: Muyi0NAUjHP+lLegu//beA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: VeLFFWmNg/oMsbzdwbtphC1y4Ys=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343336266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_4_3.json b/autobahn/client/hornbeam_case_13_4_3.json
new file mode 100644
index 0000000..561eeb3
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_3.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 436,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=436&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Muyi0NAUjHP+lLegu//beA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: VeLFFWmNg/oMsbzdwbtphC1y4Ys=\r\n\r\n",
+ "id": "13.4.3",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.635Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343336266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_4_4.html b/autobahn/client/hornbeam_case_13_4_4.html
new file mode 100644
index 0000000..2e2028a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_4.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.4.4 : Fail - 2 ms @ 2023-08-11T05:15:26.639Z
+ Case Description
Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=437&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: Ml/ficbuLaAb696p3rRmsw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 4lyMajSVi3OIm7nSCIHd+74Eefw=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343337266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_4_4.json b/autobahn/client/hornbeam_case_13_4_4.json
new file mode 100644
index 0000000..435c5eb
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_4.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 437,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=437&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Ml/ficbuLaAb696p3rRmsw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 4lyMajSVi3OIm7nSCIHd+74Eefw=\r\n\r\n",
+ "id": "13.4.4",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.639Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343337266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_4_5.html b/autobahn/client/hornbeam_case_13_4_5.html
new file mode 100644
index 0000000..8861a2d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_5.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.4.5 : Fail - 2 ms @ 2023-08-11T05:15:26.642Z
+ Case Description
Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=438&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: MS4Qus03F05cU7kUcKnzuw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: CTTfF1/ZP4VW5IF3hw/wmLL5TpU=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343338266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_4_5.json b/autobahn/client/hornbeam_case_13_4_5.json
new file mode 100644
index 0000000..06be014
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_5.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 438,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=438&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: MS4Qus03F05cU7kUcKnzuw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: CTTfF1/ZP4VW5IF3hw/wmLL5TpU=\r\n\r\n",
+ "id": "13.4.5",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.642Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343338266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_4_6.html b/autobahn/client/hornbeam_case_13_4_6.html
new file mode 100644
index 0000000..ec80896
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_6.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.4.6 : Fail - 1 ms @ 2023-08-11T05:15:26.646Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=439&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: zAlSXIEyS7jPEwUrjJaq1A==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: AinDQpiiKwI8o9NuRrU5g67hP24=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343339266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_4_6.json b/autobahn/client/hornbeam_case_13_4_6.json
new file mode 100644
index 0000000..e2ad84f
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_6.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 439,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=439&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: zAlSXIEyS7jPEwUrjJaq1A==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: AinDQpiiKwI8o9NuRrU5g67hP24=\r\n\r\n",
+ "id": "13.4.6",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.646Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343339266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_4_7.html b/autobahn/client/hornbeam_case_13_4_7.html
new file mode 100644
index 0000000..5ee7aee
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_7.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.4.7 : Fail - 1 ms @ 2023-08-11T05:15:26.650Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=440&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: bCMSiqEmPggMZ37Esz0MTg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: Tu7clT6ICeSieoFTnxEcfuROlnk=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343430266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_4_7.json b/autobahn/client/hornbeam_case_13_4_7.json
new file mode 100644
index 0000000..364e43a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_7.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 440,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=440&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: bCMSiqEmPggMZ37Esz0MTg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: Tu7clT6ICeSieoFTnxEcfuROlnk=\r\n\r\n",
+ "id": "13.4.7",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.650Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343430266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_4_8.html b/autobahn/client/hornbeam_case_13_4_8.html
new file mode 100644
index 0000000..096ff0e
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_8.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.4.8 : Fail - 2 ms @ 2023-08-11T05:15:26.653Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=441&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 2EzyEATk0WUQ1a3/lHQ0hw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: LQH+VCWW4PFhXWpyEZxMk3dBUcw=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343431266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_4_8.json b/autobahn/client/hornbeam_case_13_4_8.json
new file mode 100644
index 0000000..7b9bb0f
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_8.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 441,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=441&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 2EzyEATk0WUQ1a3/lHQ0hw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: LQH+VCWW4PFhXWpyEZxMk3dBUcw=\r\n\r\n",
+ "id": "13.4.8",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.653Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343431266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_4_9.html b/autobahn/client/hornbeam_case_13_4_9.html
new file mode 100644
index 0000000..72f3a2b
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_9.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.4.9 : Fail - 1 ms @ 2023-08-11T05:15:26.657Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=442&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 7whplSqibS5P6uWwh4emww==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 4ehFGrv3QWRrmVNg1r6Ums//BOs=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343432266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_4_9.json b/autobahn/client/hornbeam_case_13_4_9.json
new file mode 100644
index 0000000..472ae22
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_4_9.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 442,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(False, 15)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=442&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 7whplSqibS5P6uWwh4emww==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 4ehFGrv3QWRrmVNg1r6Ums//BOs=\r\n\r\n",
+ "id": "13.4.9",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.657Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343432266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_5_1.html b/autobahn/client/hornbeam_case_13_5_1.html
new file mode 100644
index 0000000..292d855
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_1.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.5.1 : Fail - 2 ms @ 2023-08-11T05:15:26.693Z
+ Case Description
Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=452&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: XQn2CofPmtpGrrYvMcN5RA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: UwQA17RjCdSo2mjDX4F5mV05ntg=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343532266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_5_1.json b/autobahn/client/hornbeam_case_13_5_1.json
new file mode 100644
index 0000000..14a69ca
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_1.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 452,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=452&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: XQn2CofPmtpGrrYvMcN5RA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: UwQA17RjCdSo2mjDX4F5mV05ntg=\r\n\r\n",
+ "id": "13.5.1",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.693Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343532266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_5_10.html b/autobahn/client/hornbeam_case_13_5_10.html
new file mode 100644
index 0000000..e3dd34e
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_10.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.5.10 : Fail - 2 ms @ 2023-08-11T05:15:26.724Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=461&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 5b1EcHa+PpDV23pArbcpOA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: SSqz3n5FD0FzK8Wp4CtGlEe1Jrs=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343631266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_5_10.json b/autobahn/client/hornbeam_case_13_5_10.json
new file mode 100644
index 0000000..5595e26
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_10.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 461,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=461&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 5b1EcHa+PpDV23pArbcpOA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: SSqz3n5FD0FzK8Wp4CtGlEe1Jrs=\r\n\r\n",
+ "id": "13.5.10",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.724Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343631266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_5_11.html b/autobahn/client/hornbeam_case_13_5_11.html
new file mode 100644
index 0000000..77cc1a0
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_11.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.5.11 : Fail - 2 ms @ 2023-08-11T05:15:26.728Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=462&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 5WX+p9cCBfNebwTbEWOU6Q==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: U28ggJ/pIVVcj9hs2QqQP+hDehw=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343632266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_5_11.json b/autobahn/client/hornbeam_case_13_5_11.json
new file mode 100644
index 0000000..46787b2
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_11.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 462,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=462&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 5WX+p9cCBfNebwTbEWOU6Q==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: U28ggJ/pIVVcj9hs2QqQP+hDehw=\r\n\r\n",
+ "id": "13.5.11",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.728Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343632266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_5_12.html b/autobahn/client/hornbeam_case_13_5_12.html
new file mode 100644
index 0000000..acf6b35
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_12.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.5.12 : Fail - 2 ms @ 2023-08-11T05:15:26.731Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=463&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: PtJqijbPiPhgczJNbzuMEw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: aEslCvttxIOgFq9y6Jiwp1faiz8=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343633266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_5_12.json b/autobahn/client/hornbeam_case_13_5_12.json
new file mode 100644
index 0000000..c412879
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_12.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 463,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=463&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: PtJqijbPiPhgczJNbzuMEw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: aEslCvttxIOgFq9y6Jiwp1faiz8=\r\n\r\n",
+ "id": "13.5.12",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.731Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343633266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_5_13.html b/autobahn/client/hornbeam_case_13_5_13.html
new file mode 100644
index 0000000..c30bda4
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_13.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.5.13 : Fail - 1 ms @ 2023-08-11T05:15:26.735Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=464&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: q6hb9tamVnDoB0rNu2D6+g==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: ULXWj+intW/UKeqBNA8h0JMlfno=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343634266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_5_13.json b/autobahn/client/hornbeam_case_13_5_13.json
new file mode 100644
index 0000000..16dd687
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_13.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 464,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=464&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: q6hb9tamVnDoB0rNu2D6+g==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: ULXWj+intW/UKeqBNA8h0JMlfno=\r\n\r\n",
+ "id": "13.5.13",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.735Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343634266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_5_14.html b/autobahn/client/hornbeam_case_13_5_14.html
new file mode 100644
index 0000000..fbc5558
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_14.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.5.14 : Fail - 10 ms @ 2023-08-11T05:15:26.739Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=465&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: y4iBV1OtigF0Y9xe/3ZrYw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: DI6Vm1r2Ku+CbiZF8OO76rp+bvM=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343635266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_5_14.json b/autobahn/client/hornbeam_case_13_5_14.json
new file mode 100644
index 0000000..5d083f1
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_14.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 465,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]",
+ "droppedByMe": true,
+ "duration": 10,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=465&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: y4iBV1OtigF0Y9xe/3ZrYw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: DI6Vm1r2Ku+CbiZF8OO76rp+bvM=\r\n\r\n",
+ "id": "13.5.14",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.739Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343635266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_5_15.html b/autobahn/client/hornbeam_case_13_5_15.html
new file mode 100644
index 0000000..619fd88
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_15.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.5.15 : Fail - 2 ms @ 2023-08-11T05:15:26.751Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=466&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: iDPtajhSDQUzXtS6No1Iqw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: lEwi868wPegZoaxVNXSZmpv9ceM=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343636266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_5_15.json b/autobahn/client/hornbeam_case_13_5_15.json
new file mode 100644
index 0000000..8ae9fcd
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_15.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 466,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=466&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: iDPtajhSDQUzXtS6No1Iqw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: lEwi868wPegZoaxVNXSZmpv9ceM=\r\n\r\n",
+ "id": "13.5.15",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.751Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343636266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_5_16.html b/autobahn/client/hornbeam_case_13_5_16.html
new file mode 100644
index 0000000..9622ac7
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_16.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.5.16 : Fail - 2 ms @ 2023-08-11T05:15:26.754Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=467&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: NRoD7CgR5XLngDEI6HlEYg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: xOeKifuV8YOhP8LN8yPAnN4DFF8=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343637266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_5_16.json b/autobahn/client/hornbeam_case_13_5_16.json
new file mode 100644
index 0000000..08503c6
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_16.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 467,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=467&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: NRoD7CgR5XLngDEI6HlEYg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: xOeKifuV8YOhP8LN8yPAnN4DFF8=\r\n\r\n",
+ "id": "13.5.16",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.754Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343637266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_5_17.html b/autobahn/client/hornbeam_case_13_5_17.html
new file mode 100644
index 0000000..1090069
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_17.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.5.17 : Fail - 2 ms @ 2023-08-11T05:15:26.757Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=468&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: DOKzfVrr+AVESL6nkk0X3g==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: OWPuGueO/t5H3c4jTd0Fm9K+Rcw=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343638266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_5_17.json b/autobahn/client/hornbeam_case_13_5_17.json
new file mode 100644
index 0000000..647f0bc
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_17.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 468,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=468&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: DOKzfVrr+AVESL6nkk0X3g==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: OWPuGueO/t5H3c4jTd0Fm9K+Rcw=\r\n\r\n",
+ "id": "13.5.17",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.757Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343638266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_5_18.html b/autobahn/client/hornbeam_case_13_5_18.html
new file mode 100644
index 0000000..d72001c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_18.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.5.18 : Fail - 1 ms @ 2023-08-11T05:15:26.761Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=469&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: MlDjb5tCnH3eqstwX8/zPg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: FaKwQO7pX3wufc/UbtEyJyfM2A8=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343639266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_5_18.json b/autobahn/client/hornbeam_case_13_5_18.json
new file mode 100644
index 0000000..d59b636
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_18.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 469,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=469&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: MlDjb5tCnH3eqstwX8/zPg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: FaKwQO7pX3wufc/UbtEyJyfM2A8=\r\n\r\n",
+ "id": "13.5.18",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.761Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343639266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_5_2.html b/autobahn/client/hornbeam_case_13_5_2.html
new file mode 100644
index 0000000..aca7967
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_2.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.5.2 : Fail - 2 ms @ 2023-08-11T05:15:26.697Z
+ Case Description
Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=453&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: Teqy2Philo5ODRYGXNre4w==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: DqX//cSXbYY90dQUYIteTUlj71o=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343533266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_5_2.json b/autobahn/client/hornbeam_case_13_5_2.json
new file mode 100644
index 0000000..6805b0f
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_2.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 453,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=453&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Teqy2Philo5ODRYGXNre4w==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: DqX//cSXbYY90dQUYIteTUlj71o=\r\n\r\n",
+ "id": "13.5.2",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.697Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343533266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_5_3.html b/autobahn/client/hornbeam_case_13_5_3.html
new file mode 100644
index 0000000..b739bb7
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_3.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.5.3 : Fail - 2 ms @ 2023-08-11T05:15:26.700Z
+ Case Description
Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=454&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: buI7sZp+4E0fxmqjxJTtxA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 5HSg5jfK4/RlxxlzhU589ViCzXs=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343534266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_5_3.json b/autobahn/client/hornbeam_case_13_5_3.json
new file mode 100644
index 0000000..9c7dbe9
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_3.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 454,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=454&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: buI7sZp+4E0fxmqjxJTtxA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 5HSg5jfK4/RlxxlzhU589ViCzXs=\r\n\r\n",
+ "id": "13.5.3",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.700Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343534266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_5_4.html b/autobahn/client/hornbeam_case_13_5_4.html
new file mode 100644
index 0000000..f80d33a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_4.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.5.4 : Fail - 1 ms @ 2023-08-11T05:15:26.703Z
+ Case Description
Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=455&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: LqhbcFxnGOuCbeBZci06Hg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: MHCeWa3fPIbCKZpZlg/yQYGpEbY=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343535266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_5_4.json b/autobahn/client/hornbeam_case_13_5_4.json
new file mode 100644
index 0000000..a30dd12
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_4.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 455,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=455&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: LqhbcFxnGOuCbeBZci06Hg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: MHCeWa3fPIbCKZpZlg/yQYGpEbY=\r\n\r\n",
+ "id": "13.5.4",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.703Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343535266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_5_5.html b/autobahn/client/hornbeam_case_13_5_5.html
new file mode 100644
index 0000000..76111b9
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_5.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.5.5 : Fail - 2 ms @ 2023-08-11T05:15:26.707Z
+ Case Description
Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=456&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 9hC1J7dX0Lpt5r3JMXtt/Q==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: aZvGGF6BxwWziPAXi7oAKSywRYs=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343536266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_5_5.json b/autobahn/client/hornbeam_case_13_5_5.json
new file mode 100644
index 0000000..84b7592
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_5.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 456,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=456&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 9hC1J7dX0Lpt5r3JMXtt/Q==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: aZvGGF6BxwWziPAXi7oAKSywRYs=\r\n\r\n",
+ "id": "13.5.5",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.707Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343536266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_5_6.html b/autobahn/client/hornbeam_case_13_5_6.html
new file mode 100644
index 0000000..7557220
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_6.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.5.6 : Fail - 2 ms @ 2023-08-11T05:15:26.711Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=457&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: IDsAkL2Ux/e4fb/hSLTiFg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: bdvu/4ZKXPVLFpHOb5DUBKJl9yk=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343537266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_5_6.json b/autobahn/client/hornbeam_case_13_5_6.json
new file mode 100644
index 0000000..92a74bd
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_6.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 457,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=457&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: IDsAkL2Ux/e4fb/hSLTiFg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: bdvu/4ZKXPVLFpHOb5DUBKJl9yk=\r\n\r\n",
+ "id": "13.5.6",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.711Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343537266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_5_7.html b/autobahn/client/hornbeam_case_13_5_7.html
new file mode 100644
index 0000000..4017d3b
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_7.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.5.7 : Fail - 1 ms @ 2023-08-11T05:15:26.714Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=458&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: ocJ5tB6XMv7gatbDkfCoXg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: nSxEUbfe9TGCBnzVOPvpaARBZlQ=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343538266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_5_7.json b/autobahn/client/hornbeam_case_13_5_7.json
new file mode 100644
index 0000000..beecfea
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_7.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 458,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=458&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ocJ5tB6XMv7gatbDkfCoXg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: nSxEUbfe9TGCBnzVOPvpaARBZlQ=\r\n\r\n",
+ "id": "13.5.7",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.714Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343538266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_5_8.html b/autobahn/client/hornbeam_case_13_5_8.html
new file mode 100644
index 0000000..8246887
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_8.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.5.8 : Fail - 1 ms @ 2023-08-11T05:15:26.717Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=459&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: hS5mbelAKpOz/xSsBU2+9g==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: pfv+qlZa2qRj9WYqcQzQbcGargA=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343539266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_5_8.json b/autobahn/client/hornbeam_case_13_5_8.json
new file mode 100644
index 0000000..cfc3d38
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_8.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 459,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=459&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: hS5mbelAKpOz/xSsBU2+9g==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: pfv+qlZa2qRj9WYqcQzQbcGargA=\r\n\r\n",
+ "id": "13.5.8",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.717Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343539266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_5_9.html b/autobahn/client/hornbeam_case_13_5_9.html
new file mode 100644
index 0000000..59be950
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_9.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.5.9 : Fail - 2 ms @ 2023-08-11T05:15:26.721Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=460&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: SiyjRHNEZeVq7JEOlv2hoQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: pLFdPPgOSEGU+nXJoTdKv0Stft0=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343630266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_5_9.json b/autobahn/client/hornbeam_case_13_5_9.json
new file mode 100644
index 0000000..9fcca0b
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_5_9.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 460,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=460&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: SiyjRHNEZeVq7JEOlv2hoQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: pLFdPPgOSEGU+nXJoTdKv0Stft0=\r\n\r\n",
+ "id": "13.5.9",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.721Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343630266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_6_1.html b/autobahn/client/hornbeam_case_13_6_1.html
new file mode 100644
index 0000000..bf85475
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_1.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.6.1 : Fail - 1 ms @ 2023-08-11T05:15:26.765Z
+ Case Description
Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=470&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: ffX+UzlVur/qFV2sRHeiaA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: LsXdwYl8qSya4FCpupzFDqZYuzc=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343730266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_6_1.json b/autobahn/client/hornbeam_case_13_6_1.json
new file mode 100644
index 0000000..09d6f9d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_1.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 470,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=470&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ffX+UzlVur/qFV2sRHeiaA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: LsXdwYl8qSya4FCpupzFDqZYuzc=\r\n\r\n",
+ "id": "13.6.1",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.765Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343730266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_6_10.html b/autobahn/client/hornbeam_case_13_6_10.html
new file mode 100644
index 0000000..e5fcf3e
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_10.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.6.10 : Fail - 1 ms @ 2023-08-11T05:15:26.856Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=479&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: DDxtsskvCKHdIey83kKLHw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: XbqTv46Mz7x9bvfiCDOCmTJjH1w=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343739266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_6_10.json b/autobahn/client/hornbeam_case_13_6_10.json
new file mode 100644
index 0000000..4d2c2b6
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_10.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 479,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=479&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: DDxtsskvCKHdIey83kKLHw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: XbqTv46Mz7x9bvfiCDOCmTJjH1w=\r\n\r\n",
+ "id": "13.6.10",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.856Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343739266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_6_11.html b/autobahn/client/hornbeam_case_13_6_11.html
new file mode 100644
index 0000000..279089c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_11.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.6.11 : Fail - 2 ms @ 2023-08-11T05:15:26.865Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=480&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: Usown3g3FySG9NTqjkeArA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: BQVgbImDAlPhmQm9fH9AjEYiAzU=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343830266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_6_11.json b/autobahn/client/hornbeam_case_13_6_11.json
new file mode 100644
index 0000000..a6cd0e4
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_11.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 480,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=480&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Usown3g3FySG9NTqjkeArA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: BQVgbImDAlPhmQm9fH9AjEYiAzU=\r\n\r\n",
+ "id": "13.6.11",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.865Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343830266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_6_12.html b/autobahn/client/hornbeam_case_13_6_12.html
new file mode 100644
index 0000000..ce0700c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_12.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.6.12 : Fail - 1 ms @ 2023-08-11T05:15:26.879Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=481&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: UzcRiXmaplfBhH6Xk+yaxQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: PjeQSAFS44VRU88CeA+vLU8QGU8=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343831266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_6_12.json b/autobahn/client/hornbeam_case_13_6_12.json
new file mode 100644
index 0000000..3e1b4e5
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_12.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 481,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=481&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: UzcRiXmaplfBhH6Xk+yaxQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: PjeQSAFS44VRU88CeA+vLU8QGU8=\r\n\r\n",
+ "id": "13.6.12",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.879Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343831266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_6_13.html b/autobahn/client/hornbeam_case_13_6_13.html
new file mode 100644
index 0000000..89bc80c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_13.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.6.13 : Fail - 1 ms @ 2023-08-11T05:15:26.882Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=482&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 0NhK7yOsie+UFu4kxNwlEA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: IvzDgB/p74gLRxseHPB74iPRDSY=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343832266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_6_13.json b/autobahn/client/hornbeam_case_13_6_13.json
new file mode 100644
index 0000000..a9ec7fe
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_13.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 482,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=482&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 0NhK7yOsie+UFu4kxNwlEA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: IvzDgB/p74gLRxseHPB74iPRDSY=\r\n\r\n",
+ "id": "13.6.13",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.882Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343832266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_6_14.html b/autobahn/client/hornbeam_case_13_6_14.html
new file mode 100644
index 0000000..32a9e5a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_14.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.6.14 : Fail - 2 ms @ 2023-08-11T05:15:26.885Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=483&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 1/JOPXGQjdAi+zAgV2dWGQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: FzfhD43BcarBNEOEzsAeQDXeFqs=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343833266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_6_14.json b/autobahn/client/hornbeam_case_13_6_14.json
new file mode 100644
index 0000000..b1fc5fe
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_14.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 483,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=483&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 1/JOPXGQjdAi+zAgV2dWGQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: FzfhD43BcarBNEOEzsAeQDXeFqs=\r\n\r\n",
+ "id": "13.6.14",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.885Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343833266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_6_15.html b/autobahn/client/hornbeam_case_13_6_15.html
new file mode 100644
index 0000000..73dbc20
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_15.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.6.15 : Fail - 1 ms @ 2023-08-11T05:15:26.888Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=484&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: kSAlYKfNf3qoKYfT7sV2ZQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: RdFrTT2vzOZQPxH3Al7Hhr3cigA=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343834266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_6_15.json b/autobahn/client/hornbeam_case_13_6_15.json
new file mode 100644
index 0000000..6eebe08
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_15.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 484,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=484&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: kSAlYKfNf3qoKYfT7sV2ZQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: RdFrTT2vzOZQPxH3Al7Hhr3cigA=\r\n\r\n",
+ "id": "13.6.15",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.888Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343834266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_6_16.html b/autobahn/client/hornbeam_case_13_6_16.html
new file mode 100644
index 0000000..e374991
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_16.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.6.16 : Fail - 1 ms @ 2023-08-11T05:15:26.891Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=485&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: kHV7w9CVXlsJSTWkEoJmuA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 2PlqvMLfi7o8l0Me638Q6CDJD+0=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343835266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_6_16.json b/autobahn/client/hornbeam_case_13_6_16.json
new file mode 100644
index 0000000..00bd5fa
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_16.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 485,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=485&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: kHV7w9CVXlsJSTWkEoJmuA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 2PlqvMLfi7o8l0Me638Q6CDJD+0=\r\n\r\n",
+ "id": "13.6.16",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.891Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343835266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_6_17.html b/autobahn/client/hornbeam_case_13_6_17.html
new file mode 100644
index 0000000..299e181
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_17.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.6.17 : Fail - 2 ms @ 2023-08-11T05:15:26.894Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=486&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 0jGg6L9arfgM1i+Er8EG1g==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: ictQuYQBqEEop+UXc8T5uAU6BtI=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343836266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_6_17.json b/autobahn/client/hornbeam_case_13_6_17.json
new file mode 100644
index 0000000..6885a3a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_17.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 486,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=486&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 0jGg6L9arfgM1i+Er8EG1g==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: ictQuYQBqEEop+UXc8T5uAU6BtI=\r\n\r\n",
+ "id": "13.6.17",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.894Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343836266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_6_18.html b/autobahn/client/hornbeam_case_13_6_18.html
new file mode 100644
index 0000000..2789f4d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_18.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.6.18 : Fail - 1 ms @ 2023-08-11T05:15:26.897Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=487&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: m42T9qyD05zrnNdi9DSzHA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: CH+3ZHPH9E9B5XRZS/chlvxxbQs=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343837266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_6_18.json b/autobahn/client/hornbeam_case_13_6_18.json
new file mode 100644
index 0000000..ea5670b
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_18.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 487,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=487&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: m42T9qyD05zrnNdi9DSzHA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: CH+3ZHPH9E9B5XRZS/chlvxxbQs=\r\n\r\n",
+ "id": "13.6.18",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.897Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343837266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_6_2.html b/autobahn/client/hornbeam_case_13_6_2.html
new file mode 100644
index 0000000..dadf59c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_2.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.6.2 : Fail - 2 ms @ 2023-08-11T05:15:26.768Z
+ Case Description
Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=471&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: e8GAFe0MlhRbX1ieRdq/Rg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: TuzFrSdzELh9oWUPAsEU+czJD2E=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343731266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_6_2.json b/autobahn/client/hornbeam_case_13_6_2.json
new file mode 100644
index 0000000..4bb0b68
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_2.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 471,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=471&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: e8GAFe0MlhRbX1ieRdq/Rg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: TuzFrSdzELh9oWUPAsEU+czJD2E=\r\n\r\n",
+ "id": "13.6.2",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.768Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343731266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_6_3.html b/autobahn/client/hornbeam_case_13_6_3.html
new file mode 100644
index 0000000..0f422ca
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_3.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.6.3 : Fail - 1 ms @ 2023-08-11T05:15:26.772Z
+ Case Description
Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=472&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 5OMoBV6klYZ0cE+5DqXqgA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: ub9pzKC3Dps24Ne5zjbW69jRQgE=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343732266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_6_3.json b/autobahn/client/hornbeam_case_13_6_3.json
new file mode 100644
index 0000000..e48ce8b
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_3.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 472,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=472&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 5OMoBV6klYZ0cE+5DqXqgA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: ub9pzKC3Dps24Ne5zjbW69jRQgE=\r\n\r\n",
+ "id": "13.6.3",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.772Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343732266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_6_4.html b/autobahn/client/hornbeam_case_13_6_4.html
new file mode 100644
index 0000000..9b2705b
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_4.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.6.4 : Fail - 1 ms @ 2023-08-11T05:15:26.775Z
+ Case Description
Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=473&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: +uJi9J8GhHzFMNPkx/PjHA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: bLGjZ6UO+IDjn0aEZFwdPFE+DL4=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343733266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_6_4.json b/autobahn/client/hornbeam_case_13_6_4.json
new file mode 100644
index 0000000..158c5c4
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_4.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 473,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=473&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: +uJi9J8GhHzFMNPkx/PjHA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: bLGjZ6UO+IDjn0aEZFwdPFE+DL4=\r\n\r\n",
+ "id": "13.6.4",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.775Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343733266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_6_5.html b/autobahn/client/hornbeam_case_13_6_5.html
new file mode 100644
index 0000000..d3cb07a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_5.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.6.5 : Fail - 2 ms @ 2023-08-11T05:15:26.779Z
+ Case Description
Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=474&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: kXUQ4GpERHN0w2bDERXB1A==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: TMIlfbuCYVzBXks3UTIySvia4O8=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343734266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_6_5.json b/autobahn/client/hornbeam_case_13_6_5.json
new file mode 100644
index 0000000..d8414b9
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_5.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 474,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=474&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: kXUQ4GpERHN0w2bDERXB1A==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: TMIlfbuCYVzBXks3UTIySvia4O8=\r\n\r\n",
+ "id": "13.6.5",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.779Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343734266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_6_6.html b/autobahn/client/hornbeam_case_13_6_6.html
new file mode 100644
index 0000000..040460c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_6.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.6.6 : Fail - 6 ms @ 2023-08-11T05:15:26.812Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=475&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 0xXOpAf0+iAgVP04o6Qwcg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: xwBYMKSZszc8KcsB4x1HxGv9JoU=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343735266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_6_6.json b/autobahn/client/hornbeam_case_13_6_6.json
new file mode 100644
index 0000000..bab27ac
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_6.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 475,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]",
+ "droppedByMe": true,
+ "duration": 6,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=475&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 0xXOpAf0+iAgVP04o6Qwcg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: xwBYMKSZszc8KcsB4x1HxGv9JoU=\r\n\r\n",
+ "id": "13.6.6",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.812Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343735266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_6_7.html b/autobahn/client/hornbeam_case_13_6_7.html
new file mode 100644
index 0000000..b78f91a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_7.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.6.7 : Fail - 2 ms @ 2023-08-11T05:15:26.829Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=476&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 1IJMfcTK9JL7W3J74i6IjA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: s6JiGA/zzxeicxIgewaFUfV4Aa0=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343736266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_6_7.json b/autobahn/client/hornbeam_case_13_6_7.json
new file mode 100644
index 0000000..e49d1d2
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_7.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 476,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=476&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 1IJMfcTK9JL7W3J74i6IjA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: s6JiGA/zzxeicxIgewaFUfV4Aa0=\r\n\r\n",
+ "id": "13.6.7",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.829Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343736266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_6_8.html b/autobahn/client/hornbeam_case_13_6_8.html
new file mode 100644
index 0000000..9d1f6a2
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_8.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.6.8 : Fail - 1 ms @ 2023-08-11T05:15:26.838Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=477&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: GxmMc/Ztm8k25Rr9UManZg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: mgy8Rb+VOGe7MGbNCbZghxj4wvY=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343737266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_6_8.json b/autobahn/client/hornbeam_case_13_6_8.json
new file mode 100644
index 0000000..4d84a48
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_8.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 477,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=477&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: GxmMc/Ztm8k25Rr9UManZg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: mgy8Rb+VOGe7MGbNCbZghxj4wvY=\r\n\r\n",
+ "id": "13.6.8",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.838Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343737266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_6_9.html b/autobahn/client/hornbeam_case_13_6_9.html
new file mode 100644
index 0000000..e04d6f9
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_9.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.6.9 : Fail - 1 ms @ 2023-08-11T05:15:26.848Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=478&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: FgbjFekZB7dDoXhShRDGTQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: T/9HQ3Wap7zVEb32EYmJh4gFemU=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343738266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_6_9.json b/autobahn/client/hornbeam_case_13_6_9.json
new file mode 100644
index 0000000..4dc2aaa
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_6_9.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 478,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 15)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=478&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: FgbjFekZB7dDoXhShRDGTQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: T/9HQ3Wap7zVEb32EYmJh4gFemU=\r\n\r\n",
+ "id": "13.6.9",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.848Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343738266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_7_1.html b/autobahn/client/hornbeam_case_13_7_1.html
new file mode 100644
index 0000000..047ef85
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_1.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.7.1 : Fail - 1 ms @ 2023-08-11T05:15:26.900Z
+ Case Description
Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=488&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: JkSTC5R/ncIomoMUXFl+1A==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: fMn4L5YXJTyfvA6Xk9J+MCjdC6E=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343838266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_7_1.json b/autobahn/client/hornbeam_case_13_7_1.json
new file mode 100644
index 0000000..ef07b5c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_1.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 488,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=488&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: JkSTC5R/ncIomoMUXFl+1A==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: fMn4L5YXJTyfvA6Xk9J+MCjdC6E=\r\n\r\n",
+ "id": "13.7.1",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.900Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343838266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_7_10.html b/autobahn/client/hornbeam_case_13_7_10.html
new file mode 100644
index 0000000..b3ac5fc
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_10.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.7.10 : Fail - 1 ms @ 2023-08-11T05:15:26.927Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=497&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: D0c4z3Tj087ux7ubvIt9lg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: Df4JHrRfpataysl6WGQgdatJ654=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343937266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_7_10.json b/autobahn/client/hornbeam_case_13_7_10.json
new file mode 100644
index 0000000..f6092b1
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_10.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 497,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=497&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: D0c4z3Tj087ux7ubvIt9lg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: Df4JHrRfpataysl6WGQgdatJ654=\r\n\r\n",
+ "id": "13.7.10",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.927Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343937266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_7_11.html b/autobahn/client/hornbeam_case_13_7_11.html
new file mode 100644
index 0000000..3799b75
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_11.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.7.11 : Fail - 1 ms @ 2023-08-11T05:15:26.929Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=498&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: a5pUdxRMtofTDZDuW/x3NA==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: iamP76ihFrpY50QWM7NgezySK3E=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343938266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_7_11.json b/autobahn/client/hornbeam_case_13_7_11.json
new file mode 100644
index 0000000..26d88e0
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_11.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 498,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=498&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: a5pUdxRMtofTDZDuW/x3NA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: iamP76ihFrpY50QWM7NgezySK3E=\r\n\r\n",
+ "id": "13.7.11",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.929Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343938266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_7_12.html b/autobahn/client/hornbeam_case_13_7_12.html
new file mode 100644
index 0000000..79c6a07
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_12.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.7.12 : Fail - 1 ms @ 2023-08-11T05:15:26.932Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=499&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: gp22hz1TR6ar5Rze3fr+xQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: Cl0EXPbZbxmUuvXLESYVdgGjoLg=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343939266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_7_12.json b/autobahn/client/hornbeam_case_13_7_12.json
new file mode 100644
index 0000000..5e4b819
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_12.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 499,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=499&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: gp22hz1TR6ar5Rze3fr+xQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: Cl0EXPbZbxmUuvXLESYVdgGjoLg=\r\n\r\n",
+ "id": "13.7.12",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.932Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343939266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_7_13.html b/autobahn/client/hornbeam_case_13_7_13.html
new file mode 100644
index 0000000..c814899
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_13.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.7.13 : Fail - 1 ms @ 2023-08-11T05:15:26.934Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=500&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: lkTPLbiryXun7prumxVanQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: IaUR/LSKGXGovC6dUnvPKhlONZE=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d353030266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_7_13.json b/autobahn/client/hornbeam_case_13_7_13.json
new file mode 100644
index 0000000..bae3cea
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_13.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 500,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=500&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: lkTPLbiryXun7prumxVanQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: IaUR/LSKGXGovC6dUnvPKhlONZE=\r\n\r\n",
+ "id": "13.7.13",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.934Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d353030266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_7_14.html b/autobahn/client/hornbeam_case_13_7_14.html
new file mode 100644
index 0000000..644f986
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_14.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.7.14 : Fail - 1 ms @ 2023-08-11T05:15:26.937Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=501&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: /4MUrV2WTwWFFouAxt7LFg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: wGmNTkU0vPnTA4EWyedy/buwefE=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d353031266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_7_14.json b/autobahn/client/hornbeam_case_13_7_14.json
new file mode 100644
index 0000000..c16595d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_14.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 501,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=501&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: /4MUrV2WTwWFFouAxt7LFg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: wGmNTkU0vPnTA4EWyedy/buwefE=\r\n\r\n",
+ "id": "13.7.14",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.937Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d353031266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_7_15.html b/autobahn/client/hornbeam_case_13_7_15.html
new file mode 100644
index 0000000..0b65a5c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_15.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.7.15 : Fail - 1 ms @ 2023-08-11T05:15:26.940Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=502&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: KBRAUnbAiZEhKV3MjKGjVg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: Wyk3lgXQyeonooWD00vMxiJ8BnM=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d353032266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_7_15.json b/autobahn/client/hornbeam_case_13_7_15.json
new file mode 100644
index 0000000..ca9a33d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_15.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 502,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 256 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=502&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: KBRAUnbAiZEhKV3MjKGjVg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: Wyk3lgXQyeonooWD00vMxiJ8BnM=\r\n\r\n",
+ "id": "13.7.15",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.940Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d353032266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_7_16.html b/autobahn/client/hornbeam_case_13_7_16.html
new file mode 100644
index 0000000..641e6dd
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_16.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.7.16 : Fail - 1 ms @ 2023-08-11T05:15:26.943Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=503&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: ua6xHN0YObtsRCotMKcsvQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: ljWGruNdG9tGRXP2edWPSAaYB80=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d353033266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_7_16.json b/autobahn/client/hornbeam_case_13_7_16.json
new file mode 100644
index 0000000..a94099e
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_16.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 503,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 1024 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=503&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ua6xHN0YObtsRCotMKcsvQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: ljWGruNdG9tGRXP2edWPSAaYB80=\r\n\r\n",
+ "id": "13.7.16",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.943Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d353033266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_7_17.html b/autobahn/client/hornbeam_case_13_7_17.html
new file mode 100644
index 0000000..28e159a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_17.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.7.17 : Fail - 1 ms @ 2023-08-11T05:15:26.945Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=504&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: xjvieNGJ5BQBMwZMgkU2Yw==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 8tHL7JE2iuxHkB4WppS4RgVlQuI=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d353034266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_7_17.json b/autobahn/client/hornbeam_case_13_7_17.json
new file mode 100644
index 0000000..8e811a5
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_17.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 504,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 4096 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=504&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: xjvieNGJ5BQBMwZMgkU2Yw==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 8tHL7JE2iuxHkB4WppS4RgVlQuI=\r\n\r\n",
+ "id": "13.7.17",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.945Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d353034266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_7_18.html b/autobahn/client/hornbeam_case_13_7_18.html
new file mode 100644
index 0000000..2e2654a
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_18.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.7.18 : Fail - 1 ms @ 2023-08-11T05:15:26.949Z
+ Case Description
Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=505&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: STO20EHG1md+ersndnhKmg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: lD2dS7FtgAXXUlGuNmRfvMGYlh0=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d353035266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_7_18.json b/autobahn/client/hornbeam_case_13_7_18.json
new file mode 100644
index 0000000..2573bb4
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_18.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 505,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 131072, auto-fragment to 32768 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=505&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: STO20EHG1md+ersndnhKmg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: lD2dS7FtgAXXUlGuNmRfvMGYlh0=\r\n\r\n",
+ "id": "13.7.18",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.949Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d353035266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_7_2.html b/autobahn/client/hornbeam_case_13_7_2.html
new file mode 100644
index 0000000..fb62345
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_2.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.7.2 : Fail - 2 ms @ 2023-08-11T05:15:26.903Z
+ Case Description
Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=489&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: AiqvCO10ll5SSLiLnMB30g==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 8JFovwfTRKUlaR4M76omRh75gX0=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343839266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_7_2.json b/autobahn/client/hornbeam_case_13_7_2.json
new file mode 100644
index 0000000..c2a5c1d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_2.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 489,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 64, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 60 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=489&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: AiqvCO10ll5SSLiLnMB30g==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 8JFovwfTRKUlaR4M76omRh75gX0=\r\n\r\n",
+ "id": "13.7.2",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.903Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343839266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_7_3.html b/autobahn/client/hornbeam_case_13_7_3.html
new file mode 100644
index 0000000..1bddf08
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_3.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.7.3 : Fail - 1 ms @ 2023-08-11T05:15:26.906Z
+ Case Description
Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=490&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 9hdHlaMgY9aI2Y5XUYt9Ow==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: yHOzQmePBqY/PyUdnQlKm+58Rww=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343930266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_7_3.json b/autobahn/client/hornbeam_case_13_7_3.json
new file mode 100644
index 0000000..4f9f47e
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_3.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 490,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 256, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 120 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=490&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 9hdHlaMgY9aI2Y5XUYt9Ow==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: yHOzQmePBqY/PyUdnQlKm+58Rww=\r\n\r\n",
+ "id": "13.7.3",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.906Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343930266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_7_4.html b/autobahn/client/hornbeam_case_13_7_4.html
new file mode 100644
index 0000000..bcdefa8
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_4.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.7.4 : Fail - 1 ms @ 2023-08-11T05:15:26.909Z
+ Case Description
Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=491&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: zROU3CHDtjK+NWWVFGEE1g==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: p09Y97mwdl1YKSpmPUOZatsPMt4=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343931266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_7_4.json b/autobahn/client/hornbeam_case_13_7_4.json
new file mode 100644
index 0000000..2fb0fc6
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_4.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 491,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 1024, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 240 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=491&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: zROU3CHDtjK+NWWVFGEE1g==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: p09Y97mwdl1YKSpmPUOZatsPMt4=\r\n\r\n",
+ "id": "13.7.4",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.909Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343931266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_7_5.html b/autobahn/client/hornbeam_case_13_7_5.html
new file mode 100644
index 0000000..39d577f
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_5.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.7.5 : Fail - 2 ms @ 2023-08-11T05:15:26.913Z
+ Case Description
Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=492&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: Lzt/O4y/+Nh1ux6tZ6pvqQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: q7XRZVF0vZOXQHcA3q58rG5Kbm0=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343932266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_7_5.json b/autobahn/client/hornbeam_case_13_7_5.json
new file mode 100644
index 0000000..6056a4d
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_5.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 492,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 4096, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]",
+ "droppedByMe": true,
+ "duration": 2,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=492&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Lzt/O4y/+Nh1ux6tZ6pvqQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: q7XRZVF0vZOXQHcA3q58rG5Kbm0=\r\n\r\n",
+ "id": "13.7.5",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.913Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343932266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_7_6.html b/autobahn/client/hornbeam_case_13_7_6.html
new file mode 100644
index 0000000..7a21197
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_6.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.7.6 : Fail - 1 ms @ 2023-08-11T05:15:26.916Z
+ Case Description
Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=493&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: EP0CFZ3DqubbpYWibjemjg==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: UUX502cMQyBPNaJeB3lwbIJDKM4=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343933266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_7_6.json b/autobahn/client/hornbeam_case_13_7_6.json
new file mode 100644
index 0000000..49bdba8
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_6.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 493,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 8192, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=493&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: EP0CFZ3DqubbpYWibjemjg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: UUX502cMQyBPNaJeB3lwbIJDKM4=\r\n\r\n",
+ "id": "13.7.6",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.916Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343933266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_7_7.html b/autobahn/client/hornbeam_case_13_7_7.html
new file mode 100644
index 0000000..8fe487f
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_7.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.7.7 : Fail - 1 ms @ 2023-08-11T05:15:26.919Z
+ Case Description
Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=494&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: DsQ5zcb3bGQ1qCOOKvCKJQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: RWV4mZwNPiqmcA5uUG3YPylLxrA=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343934266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_7_7.json b/autobahn/client/hornbeam_case_13_7_7.json
new file mode 100644
index 0000000..c1b068c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_7.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 494,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 16384, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=494&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: DsQ5zcb3bGQ1qCOOKvCKJQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: RWV4mZwNPiqmcA5uUG3YPylLxrA=\r\n\r\n",
+ "id": "13.7.7",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.919Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343934266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_7_8.html b/autobahn/client/hornbeam_case_13_7_8.html
new file mode 100644
index 0000000..a9eba06
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_8.html
@@ -0,0 +1,288 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.7.8 : Fail - 1 ms @ 2023-08-11T05:15:26.921Z
+ Case Description
Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=495&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: phG9ZQvw25OCJ6yY6zXyOQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: ++bQ6dtZRFYlqqSUhk4KtiRut2g=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 1 | 1 | 1 |
+ 7 | 1 | 7 |
+ 184 | 1 | 184 |
+ Total | 3 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343935266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_7_8.json b/autobahn/client/hornbeam_case_13_7_8.json
new file mode 100644
index 0000000..6d86083
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_8.json
@@ -0,0 +1,78 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 495,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 32768, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=495&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: phG9ZQvw25OCJ6yY6zXyOQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: ++bQ6dtZRFYlqqSUhk4KtiRut2g=\r\n\r\n",
+ "id": "13.7.8",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "1": 1,
+ "7": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.921Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343935266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_13_7_9.html b/autobahn/client/hornbeam_case_13_7_9.html
new file mode 100644
index 0000000..f92347c
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_9.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hornbeam - Case 13.7.9 : Fail - 1 ms @ 2023-08-11T05:15:26.924Z
+ Case Description
Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]
+ Case Expectation
Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.
+
+
+ Case Outcome
Actual events differ from any expected.
+ Expected:
{}
+ Observed:
[]
+
+ Case Closing Behavior
Connection was properly closed (OK)
+
+ Opening Handshake
+ GET /runCase?case=496&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: cXXiSPpxirscOTIWV9RfrQ==
+Sec-WebSocket-Version: 13
+ HTTP/1.1 101 Switching Protocols
+Server: AutobahnTestSuite/0.8.2-0.10.9
+X-Powered-By: AutobahnPython/0.10.9
+Upgrade: WebSocket
+Connection: Upgrade
+Sec-WebSocket-Accept: 0HSUgrg2AWwtoYYlhmY5/RXOCkU=
+
+ Closing Behavior
+
+
+ isServer | True | True, iff I (the fuzzer) am a server, and the peer is a client. |
+ closedByMe | True | True, iff I have initiated closing handshake (that is, did send close first). |
+ failedByMe | False | True, 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. |
+ droppedByMe | True | True, iff I dropped the TCP connection. |
+ wasClean | True | True, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility). |
+ wasNotCleanReason | None | When wasClean == False, the reason what happened. |
+ wasServerConnectionDropTimeout | False | When we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True. |
+ wasOpenHandshakeTimeout | False | When performing the opening handshake, but the peer did not finish in time, this gets True. |
+ wasCloseHandshakeTimeout | False | When we initiated a closing handshake, but the peer did not respond in time, this gets True. |
+ localCloseCode | 1000 | The close code I sent in close frame (if any). |
+ localCloseReason | None | The close reason I sent in close frame (if any). |
+ remoteCloseCode | 1000 | The close code the peer sent me in close frame (if any). |
+ remoteCloseReason | None | The close reason the peer sent me in close frame (if any). |
+
+ Wire Statistics
+ Octets Received by Chop Size
+
+
+ 8 | 1 | 8 |
+ 184 | 1 | 184 |
+ Total | 2 | 192 |
+
+ Octets Transmitted by Chop Size
+
+
+ 4 | 1 | 4 |
+ 206 | 1 | 206 |
+ Total | 2 | 210 |
+
+ Frames Received by Opcode
+
+ Frames Transmitted by Opcode
+
+
+ Wire Log
+ Wire log after handshake disabled!
+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d343936266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
5465737453756974652f302e382e ...
+
002 WIRELOG DISABLED
+
003 TCP DROPPED BY ME
+
+
+
+
diff --git a/autobahn/client/hornbeam_case_13_7_9.json b/autobahn/client/hornbeam_case_13_7_9.json
new file mode 100644
index 0000000..16f1881
--- /dev/null
+++ b/autobahn/client/hornbeam_case_13_7_9.json
@@ -0,0 +1,77 @@
+{
+ "agent": "Hornbeam",
+ "behavior": "UNIMPLEMENTED",
+ "behaviorClose": "OK",
+ "case": 496,
+ "closedByMe": true,
+ "createStats": true,
+ "createWirelog": false,
+ "description": "Send 1000 compressed messages each of payload size 65536, auto-fragment to 0 octets. Use permessage-deflate client offers (requestNoContextTakeover, requestMaxWindowBits): [(True, 9), (True, 0), (False, 0)]",
+ "droppedByMe": true,
+ "duration": 1,
+ "expectation": "Receive echo'ed messages (with payload as sent). Timeout case after 480 secs.",
+ "expected": {},
+ "expectedClose": {
+ "closeCode": [
+ 1000
+ ],
+ "closedByMe": true,
+ "requireClean": true
+ },
+ "failedByMe": false,
+ "httpRequest": "GET /runCase?case=496&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: cXXiSPpxirscOTIWV9RfrQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: 0HSUgrg2AWwtoYYlhmY5/RXOCkU=\r\n\r\n",
+ "id": "13.7.9",
+ "isServer": true,
+ "localCloseCode": 1000,
+ "localCloseReason": null,
+ "received": [],
+ "remoteCloseCode": 1000,
+ "remoteCloseReason": null,
+ "reportCompressionRatio": true,
+ "reportTime": true,
+ "result": "Actual events differ from any expected.",
+ "resultClose": "Connection was properly closed",
+ "rxFrameStats": {
+ "8": 1
+ },
+ "rxOctetStats": {
+ "8": 1,
+ "184": 1
+ },
+ "started": "2023-08-11T05:15:26.924Z",
+ "trafficStats": null,
+ "txFrameStats": {
+ "8": 1
+ },
+ "txOctetStats": {
+ "4": 1,
+ "206": 1
+ },
+ "wasClean": true,
+ "wasCloseHandshakeTimeout": false,
+ "wasNotCleanReason": null,
+ "wasOpenHandshakeTimeout": false,
+ "wasServerConnectionDropTimeout": false,
+ "wirelog": [
+ [
+ "RO",
+ [
+ 184,
+ "474554202f72756e436173653f636173653d343936266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..."
+ ]
+ ],
+ [
+ "TO",
+ [
+ 206,
+ "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..."
+ ],
+ false
+ ],
+ [
+ "WLM",
+ false
+ ]
+ ]
+}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_1_1_1.html b/autobahn/client/hornbeam_case_1_1_1.html
index 396182b..856e449 100644
--- a/autobahn/client/hornbeam_case_1_1_1.html
+++ b/autobahn/client/hornbeam_case_1_1_1.html
@@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
- Hornbeam - Case 1.1.1 : Pass - 45 ms @ 2023-08-10T23:01:24.093Z
+ Hornbeam - Case 1.1.1 : Pass - 45 ms @ 2023-08-11T05:15:05.868Z
Case Description
Send text message with payload 0.
Case Expectation
Receive echo'ed text message (with empty payload). Clean close with normal code.
@@ -218,14 +218,14 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Host: localhost:9001
Upgrade: websocket
Connection: upgrade
-Sec-WebSocket-Key: 9/JyPe3sFGp9DqKjYETxoA==
+Sec-WebSocket-Key: +xVQ5H974jSVx518lzVbKQ==
Sec-WebSocket-Version: 13
HTTP/1.1 101 Switching Protocols
Server: AutobahnTestSuite/0.8.2-0.10.9
X-Powered-By: AutobahnPython/0.10.9
Upgrade: WebSocket
Connection: Upgrade
-Sec-WebSocket-Accept: fvJXd93aLp5ow+HuA1JI9xmSd0M=
+Sec-WebSocket-Accept: mJqbQSJcNX3t2bXyzZE0SVSy3x8=
Closing Behavior
@@ -287,13 +287,13 @@ Sec-WebSocket-Accept: fvJXd93aLp5ow+HuA1JI9xmSd0M=
003 TX OCTETS: 8100
004 FAIL CONNECTION AFTER 1.000000 sec
005 RX OCTETS: 81
- 006 RX OCTETS: 801f956110
- 007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=0, MASKED=True, MASK=3166393536313130
+ 006 RX OCTETS: 80f9479774
+ 007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=0, MASKED=True, MASK=6639343739373734
008 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
0x03e8
009 TX OCTETS: 880203e8
- 010 RX OCTETS: 8882c9c07f90ca28
- 011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6339633037663930
+ 010 RX OCTETS: 888231d155e23239
+ 011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3331643135356532
0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_1_1_1.json b/autobahn/client/hornbeam_case_1_1_1.json
index 8ba1919..b7a4b97 100644
--- a/autobahn/client/hornbeam_case_1_1_1.json
+++ b/autobahn/client/hornbeam_case_1_1_1.json
@@ -27,8 +27,8 @@
"requireClean": true
},
"failedByMe": false,
- "httpRequest": "GET /runCase?case=1&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 9/JyPe3sFGp9DqKjYETxoA==\r\nSec-WebSocket-Version: 13\r\n\r\n",
- "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: fvJXd93aLp5ow+HuA1JI9xmSd0M=\r\n\r\n",
+ "httpRequest": "GET /runCase?case=1&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: +xVQ5H974jSVx518lzVbKQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: mJqbQSJcNX3t2bXyzZE0SVSy3x8=\r\n\r\n",
"id": "1.1.1",
"isServer": true,
"localCloseCode": 1000,
@@ -56,7 +56,7 @@
"8": 1,
"182": 1
},
- "started": "2023-08-10T23:01:24.093Z",
+ "started": "2023-08-11T05:15:05.868Z",
"trafficStats": null,
"txFrameStats": {
"1": 1,
@@ -125,7 +125,7 @@
"RO",
[
5,
- "801f956110"
+ "80f9479774"
]
],
[
@@ -138,7 +138,7 @@
true,
0,
true,
- "1f956110"
+ "f9479774"
],
[
"TF",
@@ -166,7 +166,7 @@
"RO",
[
8,
- "8882c9c07f90ca28"
+ "888231d155e23239"
]
],
[
@@ -179,7 +179,7 @@
true,
0,
true,
- "c9c07f90"
+ "31d155e2"
]
]
}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_1_1_2.html b/autobahn/client/hornbeam_case_1_1_2.html
index abf8070..044ed01 100644
--- a/autobahn/client/hornbeam_case_1_1_2.html
+++ b/autobahn/client/hornbeam_case_1_1_2.html
@@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
- Hornbeam - Case 1.1.2 : Pass - 47 ms @ 2023-08-10T23:01:24.140Z
+ Hornbeam - Case 1.1.2 : Pass - 45 ms @ 2023-08-11T05:15:05.917Z
Case Description
Send text message message with payload of length 125.
Case Expectation
Receive echo'ed text message (with payload as sent). Clean close with normal code.
@@ -218,14 +218,14 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Host: localhost:9001
Upgrade: websocket
Connection: upgrade
-Sec-WebSocket-Key: kWuH+GJJowktrBOWFADpLg==
+Sec-WebSocket-Key: C/5nzixWOz+yMwSNGCHEKQ==
Sec-WebSocket-Version: 13
HTTP/1.1 101 Switching Protocols
Server: AutobahnTestSuite/0.8.2-0.10.9
X-Powered-By: AutobahnPython/0.10.9
Upgrade: WebSocket
Connection: Upgrade
-Sec-WebSocket-Accept: zktbV4vhkkZz9/xG2v4p4j2ZVEI=
+Sec-WebSocket-Accept: ALy132rtXCdSWbg68HSHI1Hh6Hg=
Closing Behavior
@@ -289,15 +289,15 @@ Sec-WebSocket-Accept: zktbV4vhkkZz9/xG2v4p4j2ZVEI=
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
004 FAIL CONNECTION AFTER 1.000000 sec
005 RX OCTETS: 81
- 006 RX OCTETS: fdf6a920d7dc830afddc830afddc830afddc830afddc830afddc830afddc830afddc830afddc830afddc830afddc830afddc
- 830afddc830afddc830afddc830a ...
- 007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=125, MASKED=True, MASK=6636613932306437
+ 006 RX OCTETS: fd7cbeebeb5694c1c15694c1c15694c1c15694c1c15694c1c15694c1c15694c1c15694c1c15694c1c15694c1c15694c1c156
+ 94c1c15694c1c15694c1c15694c1 ...
+ 007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=125, MASKED=True, MASK=3763626565626562
**************************************************************** ...
008 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
0x03e8
009 TX OCTETS: 880203e8
- 010 RX OCTETS: 8882301d49c833f5
- 011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3330316434396338
+ 010 RX OCTETS: 8882d8ec8906db04
+ 011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6438656338393036
0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_1_1_2.json b/autobahn/client/hornbeam_case_1_1_2.json
index 67d3313..b982ed3 100644
--- a/autobahn/client/hornbeam_case_1_1_2.json
+++ b/autobahn/client/hornbeam_case_1_1_2.json
@@ -8,7 +8,7 @@
"createWirelog": true,
"description": "Send text message message with payload of length 125.",
"droppedByMe": true,
- "duration": 47,
+ "duration": 45,
"expectation": "Receive echo'ed text message (with payload as sent). Clean close with normal code.",
"expected": {
"OK": [
@@ -27,8 +27,8 @@
"requireClean": true
},
"failedByMe": false,
- "httpRequest": "GET /runCase?case=2&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: kWuH+GJJowktrBOWFADpLg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
- "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: zktbV4vhkkZz9/xG2v4p4j2ZVEI=\r\n\r\n",
+ "httpRequest": "GET /runCase?case=2&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: C/5nzixWOz+yMwSNGCHEKQ==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: ALy132rtXCdSWbg68HSHI1Hh6Hg=\r\n\r\n",
"id": "1.1.2",
"isServer": true,
"localCloseCode": 1000,
@@ -56,7 +56,7 @@
"130": 1,
"182": 1
},
- "started": "2023-08-10T23:01:24.140Z",
+ "started": "2023-08-11T05:15:05.917Z",
"trafficStats": null,
"txFrameStats": {
"1": 1,
@@ -125,7 +125,7 @@
"RO",
[
130,
- "fdf6a920d7dc830afddc830afddc830afddc830afddc830afddc830afddc830afddc830afddc830afddc830afddc830afddc830afddc830afddc830afddc830a ..."
+ "fd7cbeebeb5694c1c15694c1c15694c1c15694c1c15694c1c15694c1c15694c1c15694c1c15694c1c15694c1c15694c1c15694c1c15694c1c15694c1c15694c1 ..."
]
],
[
@@ -138,7 +138,7 @@
true,
0,
true,
- "f6a920d7"
+ "7cbeebeb"
],
[
"TF",
@@ -166,7 +166,7 @@
"RO",
[
8,
- "8882301d49c833f5"
+ "8882d8ec8906db04"
]
],
[
@@ -179,7 +179,7 @@
true,
0,
true,
- "301d49c8"
+ "d8ec8906"
]
]
}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_1_1_3.html b/autobahn/client/hornbeam_case_1_1_3.html
index c8f0c52..f7f1705 100644
--- a/autobahn/client/hornbeam_case_1_1_3.html
+++ b/autobahn/client/hornbeam_case_1_1_3.html
@@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
- Hornbeam - Case 1.1.3 : Pass - 48 ms @ 2023-08-10T23:01:24.189Z
+ Hornbeam - Case 1.1.3 : Pass - 45 ms @ 2023-08-11T05:15:05.963Z
Case Description
Send text message message with payload of length 126.
Case Expectation
Receive echo'ed text message (with payload as sent). Clean close with normal code.
@@ -218,14 +218,14 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Host: localhost:9001
Upgrade: websocket
Connection: upgrade
-Sec-WebSocket-Key: hReeaR/lqK55Unl1VO3wzg==
+Sec-WebSocket-Key: qyzIgB8gM1aIN1y5KgIPew==
Sec-WebSocket-Version: 13
HTTP/1.1 101 Switching Protocols
Server: AutobahnTestSuite/0.8.2-0.10.9
X-Powered-By: AutobahnPython/0.10.9
Upgrade: WebSocket
Connection: Upgrade
-Sec-WebSocket-Accept: sUmDSrksiHylsr5vQEloLt8ufOg=
+Sec-WebSocket-Accept: fyiZaUAUGW7hSi/BvHt88ZDsu68=
Closing Behavior
@@ -289,15 +289,15 @@ Sec-WebSocket-Accept: sUmDSrksiHylsr5vQEloLt8ufOg=
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
004 FAIL CONNECTION AFTER 1.000000 sec
005 RX OCTETS: 81
- 006 RX OCTETS: fe007e4d284ae2670260c8670260c8670260c8670260c8670260c8670260c8670260c8670260c8670260c8670260c8670260
- c8670260c8670260c8670260c867 ...
- 007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=126, MASKED=True, MASK=3464323834616532
+ 006 RX OCTETS: fe007eb017bf479a3d956d9a3d956d9a3d956d9a3d956d9a3d956d9a3d956d9a3d956d9a3d956d9a3d956d9a3d956d9a3d95
+ 6d9a3d956d9a3d956d9a3d956d9a ...
+ 007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=126, MASKED=True, MASK=6230313762663437
**************************************************************** ...
008 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
0x03e8
009 TX OCTETS: 880203e8
- 010 RX OCTETS: 8882978e351f9466
- 011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3937386533353166
+ 010 RX OCTETS: 8882abe5d6f9a80d
+ 011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6162653564366639
0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_1_1_3.json b/autobahn/client/hornbeam_case_1_1_3.json
index 446c81b..06b9053 100644
--- a/autobahn/client/hornbeam_case_1_1_3.json
+++ b/autobahn/client/hornbeam_case_1_1_3.json
@@ -8,7 +8,7 @@
"createWirelog": true,
"description": "Send text message message with payload of length 126.",
"droppedByMe": true,
- "duration": 48,
+ "duration": 45,
"expectation": "Receive echo'ed text message (with payload as sent). Clean close with normal code.",
"expected": {
"OK": [
@@ -27,8 +27,8 @@
"requireClean": true
},
"failedByMe": false,
- "httpRequest": "GET /runCase?case=3&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: hReeaR/lqK55Unl1VO3wzg==\r\nSec-WebSocket-Version: 13\r\n\r\n",
- "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: sUmDSrksiHylsr5vQEloLt8ufOg=\r\n\r\n",
+ "httpRequest": "GET /runCase?case=3&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: qyzIgB8gM1aIN1y5KgIPew==\r\nSec-WebSocket-Version: 13\r\n\r\n",
+ "httpResponse": "HTTP/1.1 101 Switching Protocols\r\nServer: AutobahnTestSuite/0.8.2-0.10.9\r\nX-Powered-By: AutobahnPython/0.10.9\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: fyiZaUAUGW7hSi/BvHt88ZDsu68=\r\n\r\n",
"id": "1.1.3",
"isServer": true,
"localCloseCode": 1000,
@@ -56,7 +56,7 @@
"133": 1,
"182": 1
},
- "started": "2023-08-10T23:01:24.189Z",
+ "started": "2023-08-11T05:15:05.963Z",
"trafficStats": null,
"txFrameStats": {
"1": 1,
@@ -125,7 +125,7 @@
"RO",
[
133,
- "fe007e4d284ae2670260c8670260c8670260c8670260c8670260c8670260c8670260c8670260c8670260c8670260c8670260c8670260c8670260c8670260c867 ..."
+ "fe007eb017bf479a3d956d9a3d956d9a3d956d9a3d956d9a3d956d9a3d956d9a3d956d9a3d956d9a3d956d9a3d956d9a3d956d9a3d956d9a3d956d9a3d956d9a ..."
]
],
[
@@ -138,7 +138,7 @@
true,
0,
true,
- "4d284ae2"
+ "b017bf47"
],
[
"TF",
@@ -166,7 +166,7 @@
"RO",
[
8,
- "8882978e351f9466"
+ "8882abe5d6f9a80d"
]
],
[
@@ -179,7 +179,7 @@
true,
0,
true,
- "978e351f"
+ "abe5d6f9"
]
]
}
\ No newline at end of file
diff --git a/autobahn/client/hornbeam_case_1_1_4.html b/autobahn/client/hornbeam_case_1_1_4.html
index 9b0973d..d888ff0 100644
--- a/autobahn/client/hornbeam_case_1_1_4.html
+++ b/autobahn/client/hornbeam_case_1_1_4.html
@@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
- Hornbeam - Case 1.1.4 : Pass - 46 ms @ 2023-08-10T23:01:24.240Z
+ Hornbeam - Case 1.1.4 : Pass - 49 ms @ 2023-08-11T05:15:06.010Z
Case Description
Send text message message with payload of length 127.
Case Expectation
Receive echo'ed text message (with payload as sent). Clean close with normal code.
@@ -218,14 +218,14 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Host: localhost:9001
Upgrade: websocket
Connection: upgrade
-Sec-WebSocket-Key: akRd7DxB9BxQMd+p1ZDPZw==
+Sec-WebSocket-Key: 6nkeB8VOCTMqTq9ohK5wDg==
Sec-WebSocket-Version: 13
HTTP/1.1 101 Switching Protocols
Server: AutobahnTestSuite/0.8.2-0.10.9
X-Powered-By: AutobahnPython/0.10.9
Upgrade: WebSocket
Connection: Upgrade
-Sec-WebSocket-Accept: YnsMaXFP4FrXHFR5CRCpNMY28gc=
+Sec-WebSocket-Accept: BwhyUtt3sVoW6BVorYTw4Pd6YYY=
Closing Behavior
@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: YnsMaXFP4FrXHFR5CRCpNMY28gc=
Octets Received by Chop Size
- 1 | 2 | 2 |
- 7 | 1 | 7 |
+ 1 | 1 | 1 |
+ 8 | 1 | 8 |
134 | 1 | 134 |
182 | 1 | 182 |
- Total | 5 | 325 |
+ Total | 4 | 325 |
Octets Transmitted by Chop Size
@@ -289,18 +289,17 @@ Sec-WebSocket-Accept: YnsMaXFP4FrXHFR5CRCpNMY28gc=
2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
004 FAIL CONNECTION AFTER 1.000000 sec
005 RX OCTETS: 81
- 006 RX OCTETS: fe007f2e2af9090400d3230400d3230400d3230400d3230400d3230400d3230400d3230400d3230400d3230400d3230400d3
- 230400d3230400d3230400d32304 ...
- 007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=127, MASKED=True, MASK=3265326166393039
+ 006 RX OCTETS: fe007f16ed25883cc70fa23cc70fa23cc70fa23cc70fa23cc70fa23cc70fa23cc70fa23cc70fa23cc70fa23cc70fa23cc70f
+ a23cc70fa23cc70fa23cc70fa23c ...
+ 007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=127, MASKED=True, MASK=3136656432353838
**************************************************************** ...
008 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
0x03e8
009 TX OCTETS: 880203e8
- 010 RX OCTETS: 88
- 011 RX OCTETS: 82d1eb6cecd203
- 012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6431656236636563
+ 010 RX OCTETS: 8882716977a07281
+ 011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3731363937376130
0x03e8
- 013 TCP DROPPED BY ME
+ 012 TCP DROPPED BY ME