From 4efb8ebfca2247b233fb7760a731369173b8b808 Mon Sep 17 00:00:00 2001 From: core Date: Fri, 11 Aug 2023 01:22:46 -0400 Subject: [PATCH] lots more green! --- Cargo.lock | 7 + autobahn/client/hornbeam_case_10_1_1.html | 514 ++++ autobahn/client/hornbeam_case_10_1_1.json | 1303 +++++++++ autobahn/client/hornbeam_case_12_1_1.html | 288 ++ autobahn/client/hornbeam_case_12_1_1.json | 78 + autobahn/client/hornbeam_case_12_1_10.html | 288 ++ autobahn/client/hornbeam_case_12_1_10.json | 78 + autobahn/client/hornbeam_case_12_1_11.html | 287 ++ autobahn/client/hornbeam_case_12_1_11.json | 77 + autobahn/client/hornbeam_case_12_1_12.html | 287 ++ autobahn/client/hornbeam_case_12_1_12.json | 77 + autobahn/client/hornbeam_case_12_1_13.html | 287 ++ autobahn/client/hornbeam_case_12_1_13.json | 77 + autobahn/client/hornbeam_case_12_1_14.html | 287 ++ autobahn/client/hornbeam_case_12_1_14.json | 77 + autobahn/client/hornbeam_case_12_1_15.html | 287 ++ autobahn/client/hornbeam_case_12_1_15.json | 77 + autobahn/client/hornbeam_case_12_1_16.html | 287 ++ autobahn/client/hornbeam_case_12_1_16.json | 77 + autobahn/client/hornbeam_case_12_1_17.html | 287 ++ autobahn/client/hornbeam_case_12_1_17.json | 77 + autobahn/client/hornbeam_case_12_1_18.html | 287 ++ autobahn/client/hornbeam_case_12_1_18.json | 77 + autobahn/client/hornbeam_case_12_1_2.html | 288 ++ autobahn/client/hornbeam_case_12_1_2.json | 78 + autobahn/client/hornbeam_case_12_1_3.html | 287 ++ autobahn/client/hornbeam_case_12_1_3.json | 77 + autobahn/client/hornbeam_case_12_1_4.html | 287 ++ autobahn/client/hornbeam_case_12_1_4.json | 77 + autobahn/client/hornbeam_case_12_1_5.html | 287 ++ autobahn/client/hornbeam_case_12_1_5.json | 77 + autobahn/client/hornbeam_case_12_1_6.html | 287 ++ autobahn/client/hornbeam_case_12_1_6.json | 77 + autobahn/client/hornbeam_case_12_1_7.html | 287 ++ autobahn/client/hornbeam_case_12_1_7.json | 77 + autobahn/client/hornbeam_case_12_1_8.html | 287 ++ autobahn/client/hornbeam_case_12_1_8.json | 77 + autobahn/client/hornbeam_case_12_1_9.html | 287 ++ autobahn/client/hornbeam_case_12_1_9.json | 77 + autobahn/client/hornbeam_case_12_2_1.html | 287 ++ autobahn/client/hornbeam_case_12_2_1.json | 77 + autobahn/client/hornbeam_case_12_2_10.html | 287 ++ autobahn/client/hornbeam_case_12_2_10.json | 77 + autobahn/client/hornbeam_case_12_2_11.html | 287 ++ autobahn/client/hornbeam_case_12_2_11.json | 77 + autobahn/client/hornbeam_case_12_2_12.html | 287 ++ autobahn/client/hornbeam_case_12_2_12.json | 77 + autobahn/client/hornbeam_case_12_2_13.html | 287 ++ autobahn/client/hornbeam_case_12_2_13.json | 77 + autobahn/client/hornbeam_case_12_2_14.html | 287 ++ autobahn/client/hornbeam_case_12_2_14.json | 77 + autobahn/client/hornbeam_case_12_2_15.html | 287 ++ autobahn/client/hornbeam_case_12_2_15.json | 77 + autobahn/client/hornbeam_case_12_2_16.html | 287 ++ autobahn/client/hornbeam_case_12_2_16.json | 77 + autobahn/client/hornbeam_case_12_2_17.html | 287 ++ autobahn/client/hornbeam_case_12_2_17.json | 77 + autobahn/client/hornbeam_case_12_2_18.html | 287 ++ autobahn/client/hornbeam_case_12_2_18.json | 77 + autobahn/client/hornbeam_case_12_2_2.html | 288 ++ autobahn/client/hornbeam_case_12_2_2.json | 78 + autobahn/client/hornbeam_case_12_2_3.html | 287 ++ autobahn/client/hornbeam_case_12_2_3.json | 77 + autobahn/client/hornbeam_case_12_2_4.html | 287 ++ autobahn/client/hornbeam_case_12_2_4.json | 77 + autobahn/client/hornbeam_case_12_2_5.html | 287 ++ autobahn/client/hornbeam_case_12_2_5.json | 77 + autobahn/client/hornbeam_case_12_2_6.html | 287 ++ autobahn/client/hornbeam_case_12_2_6.json | 77 + autobahn/client/hornbeam_case_12_2_7.html | 287 ++ autobahn/client/hornbeam_case_12_2_7.json | 77 + autobahn/client/hornbeam_case_12_2_8.html | 287 ++ autobahn/client/hornbeam_case_12_2_8.json | 77 + autobahn/client/hornbeam_case_12_2_9.html | 287 ++ autobahn/client/hornbeam_case_12_2_9.json | 77 + autobahn/client/hornbeam_case_12_3_1.html | 287 ++ autobahn/client/hornbeam_case_12_3_1.json | 77 + autobahn/client/hornbeam_case_12_3_10.html | 287 ++ autobahn/client/hornbeam_case_12_3_10.json | 77 + autobahn/client/hornbeam_case_12_3_11.html | 287 ++ autobahn/client/hornbeam_case_12_3_11.json | 77 + autobahn/client/hornbeam_case_12_3_12.html | 287 ++ autobahn/client/hornbeam_case_12_3_12.json | 77 + autobahn/client/hornbeam_case_12_3_13.html | 288 ++ autobahn/client/hornbeam_case_12_3_13.json | 78 + autobahn/client/hornbeam_case_12_3_14.html | 287 ++ autobahn/client/hornbeam_case_12_3_14.json | 77 + autobahn/client/hornbeam_case_12_3_15.html | 288 ++ autobahn/client/hornbeam_case_12_3_15.json | 78 + autobahn/client/hornbeam_case_12_3_16.html | 287 ++ autobahn/client/hornbeam_case_12_3_16.json | 77 + autobahn/client/hornbeam_case_12_3_17.html | 287 ++ autobahn/client/hornbeam_case_12_3_17.json | 77 + autobahn/client/hornbeam_case_12_3_18.html | 287 ++ autobahn/client/hornbeam_case_12_3_18.json | 77 + autobahn/client/hornbeam_case_12_3_2.html | 287 ++ autobahn/client/hornbeam_case_12_3_2.json | 77 + autobahn/client/hornbeam_case_12_3_3.html | 287 ++ autobahn/client/hornbeam_case_12_3_3.json | 77 + autobahn/client/hornbeam_case_12_3_4.html | 287 ++ autobahn/client/hornbeam_case_12_3_4.json | 77 + autobahn/client/hornbeam_case_12_3_5.html | 287 ++ autobahn/client/hornbeam_case_12_3_5.json | 77 + autobahn/client/hornbeam_case_12_3_6.html | 288 ++ autobahn/client/hornbeam_case_12_3_6.json | 78 + autobahn/client/hornbeam_case_12_3_7.html | 288 ++ autobahn/client/hornbeam_case_12_3_7.json | 78 + autobahn/client/hornbeam_case_12_3_8.html | 287 ++ autobahn/client/hornbeam_case_12_3_8.json | 77 + autobahn/client/hornbeam_case_12_3_9.html | 287 ++ autobahn/client/hornbeam_case_12_3_9.json | 77 + autobahn/client/hornbeam_case_12_4_1.html | 287 ++ autobahn/client/hornbeam_case_12_4_1.json | 77 + autobahn/client/hornbeam_case_12_4_10.html | 287 ++ autobahn/client/hornbeam_case_12_4_10.json | 77 + autobahn/client/hornbeam_case_12_4_11.html | 287 ++ autobahn/client/hornbeam_case_12_4_11.json | 77 + autobahn/client/hornbeam_case_12_4_12.html | 287 ++ autobahn/client/hornbeam_case_12_4_12.json | 77 + autobahn/client/hornbeam_case_12_4_13.html | 287 ++ autobahn/client/hornbeam_case_12_4_13.json | 77 + autobahn/client/hornbeam_case_12_4_14.html | 287 ++ autobahn/client/hornbeam_case_12_4_14.json | 77 + autobahn/client/hornbeam_case_12_4_15.html | 287 ++ autobahn/client/hornbeam_case_12_4_15.json | 77 + autobahn/client/hornbeam_case_12_4_16.html | 287 ++ autobahn/client/hornbeam_case_12_4_16.json | 77 + autobahn/client/hornbeam_case_12_4_17.html | 287 ++ autobahn/client/hornbeam_case_12_4_17.json | 77 + autobahn/client/hornbeam_case_12_4_18.html | 288 ++ autobahn/client/hornbeam_case_12_4_18.json | 78 + autobahn/client/hornbeam_case_12_4_2.html | 287 ++ autobahn/client/hornbeam_case_12_4_2.json | 77 + autobahn/client/hornbeam_case_12_4_3.html | 287 ++ autobahn/client/hornbeam_case_12_4_3.json | 77 + autobahn/client/hornbeam_case_12_4_4.html | 288 ++ autobahn/client/hornbeam_case_12_4_4.json | 78 + autobahn/client/hornbeam_case_12_4_5.html | 287 ++ autobahn/client/hornbeam_case_12_4_5.json | 77 + autobahn/client/hornbeam_case_12_4_6.html | 287 ++ autobahn/client/hornbeam_case_12_4_6.json | 77 + autobahn/client/hornbeam_case_12_4_7.html | 288 ++ autobahn/client/hornbeam_case_12_4_7.json | 78 + autobahn/client/hornbeam_case_12_4_8.html | 287 ++ autobahn/client/hornbeam_case_12_4_8.json | 77 + autobahn/client/hornbeam_case_12_4_9.html | 287 ++ autobahn/client/hornbeam_case_12_4_9.json | 77 + autobahn/client/hornbeam_case_12_5_1.html | 288 ++ autobahn/client/hornbeam_case_12_5_1.json | 78 + autobahn/client/hornbeam_case_12_5_10.html | 287 ++ autobahn/client/hornbeam_case_12_5_10.json | 77 + autobahn/client/hornbeam_case_12_5_11.html | 288 ++ autobahn/client/hornbeam_case_12_5_11.json | 78 + autobahn/client/hornbeam_case_12_5_12.html | 287 ++ autobahn/client/hornbeam_case_12_5_12.json | 77 + autobahn/client/hornbeam_case_12_5_13.html | 288 ++ autobahn/client/hornbeam_case_12_5_13.json | 78 + autobahn/client/hornbeam_case_12_5_14.html | 287 ++ autobahn/client/hornbeam_case_12_5_14.json | 77 + autobahn/client/hornbeam_case_12_5_15.html | 287 ++ autobahn/client/hornbeam_case_12_5_15.json | 77 + autobahn/client/hornbeam_case_12_5_16.html | 287 ++ autobahn/client/hornbeam_case_12_5_16.json | 77 + autobahn/client/hornbeam_case_12_5_17.html | 287 ++ autobahn/client/hornbeam_case_12_5_17.json | 77 + autobahn/client/hornbeam_case_12_5_18.html | 287 ++ autobahn/client/hornbeam_case_12_5_18.json | 77 + autobahn/client/hornbeam_case_12_5_2.html | 288 ++ autobahn/client/hornbeam_case_12_5_2.json | 78 + autobahn/client/hornbeam_case_12_5_3.html | 288 ++ autobahn/client/hornbeam_case_12_5_3.json | 78 + autobahn/client/hornbeam_case_12_5_4.html | 287 ++ autobahn/client/hornbeam_case_12_5_4.json | 77 + autobahn/client/hornbeam_case_12_5_5.html | 287 ++ autobahn/client/hornbeam_case_12_5_5.json | 77 + autobahn/client/hornbeam_case_12_5_6.html | 287 ++ autobahn/client/hornbeam_case_12_5_6.json | 77 + autobahn/client/hornbeam_case_12_5_7.html | 287 ++ autobahn/client/hornbeam_case_12_5_7.json | 77 + autobahn/client/hornbeam_case_12_5_8.html | 287 ++ autobahn/client/hornbeam_case_12_5_8.json | 77 + autobahn/client/hornbeam_case_12_5_9.html | 287 ++ autobahn/client/hornbeam_case_12_5_9.json | 77 + autobahn/client/hornbeam_case_13_1_1.html | 287 ++ autobahn/client/hornbeam_case_13_1_1.json | 77 + autobahn/client/hornbeam_case_13_1_10.html | 288 ++ autobahn/client/hornbeam_case_13_1_10.json | 78 + autobahn/client/hornbeam_case_13_1_11.html | 288 ++ autobahn/client/hornbeam_case_13_1_11.json | 78 + autobahn/client/hornbeam_case_13_1_12.html | 287 ++ autobahn/client/hornbeam_case_13_1_12.json | 77 + autobahn/client/hornbeam_case_13_1_13.html | 288 ++ autobahn/client/hornbeam_case_13_1_13.json | 78 + autobahn/client/hornbeam_case_13_1_14.html | 287 ++ autobahn/client/hornbeam_case_13_1_14.json | 77 + autobahn/client/hornbeam_case_13_1_15.html | 287 ++ autobahn/client/hornbeam_case_13_1_15.json | 77 + autobahn/client/hornbeam_case_13_1_16.html | 287 ++ autobahn/client/hornbeam_case_13_1_16.json | 77 + autobahn/client/hornbeam_case_13_1_17.html | 288 ++ autobahn/client/hornbeam_case_13_1_17.json | 78 + autobahn/client/hornbeam_case_13_1_18.html | 287 ++ autobahn/client/hornbeam_case_13_1_18.json | 77 + autobahn/client/hornbeam_case_13_1_2.html | 288 ++ autobahn/client/hornbeam_case_13_1_2.json | 78 + autobahn/client/hornbeam_case_13_1_3.html | 287 ++ autobahn/client/hornbeam_case_13_1_3.json | 77 + autobahn/client/hornbeam_case_13_1_4.html | 288 ++ autobahn/client/hornbeam_case_13_1_4.json | 78 + autobahn/client/hornbeam_case_13_1_5.html | 288 ++ autobahn/client/hornbeam_case_13_1_5.json | 78 + autobahn/client/hornbeam_case_13_1_6.html | 287 ++ autobahn/client/hornbeam_case_13_1_6.json | 77 + autobahn/client/hornbeam_case_13_1_7.html | 288 ++ autobahn/client/hornbeam_case_13_1_7.json | 78 + autobahn/client/hornbeam_case_13_1_8.html | 287 ++ autobahn/client/hornbeam_case_13_1_8.json | 77 + autobahn/client/hornbeam_case_13_1_9.html | 288 ++ autobahn/client/hornbeam_case_13_1_9.json | 78 + autobahn/client/hornbeam_case_13_2_1.html | 288 ++ autobahn/client/hornbeam_case_13_2_1.json | 78 + autobahn/client/hornbeam_case_13_2_10.html | 287 ++ autobahn/client/hornbeam_case_13_2_10.json | 77 + autobahn/client/hornbeam_case_13_2_11.html | 288 ++ autobahn/client/hornbeam_case_13_2_11.json | 78 + autobahn/client/hornbeam_case_13_2_12.html | 287 ++ autobahn/client/hornbeam_case_13_2_12.json | 77 + autobahn/client/hornbeam_case_13_2_13.html | 288 ++ autobahn/client/hornbeam_case_13_2_13.json | 78 + autobahn/client/hornbeam_case_13_2_14.html | 288 ++ autobahn/client/hornbeam_case_13_2_14.json | 78 + autobahn/client/hornbeam_case_13_2_15.html | 287 ++ autobahn/client/hornbeam_case_13_2_15.json | 77 + autobahn/client/hornbeam_case_13_2_16.html | 287 ++ autobahn/client/hornbeam_case_13_2_16.json | 77 + autobahn/client/hornbeam_case_13_2_17.html | 288 ++ autobahn/client/hornbeam_case_13_2_17.json | 78 + autobahn/client/hornbeam_case_13_2_18.html | 288 ++ autobahn/client/hornbeam_case_13_2_18.json | 78 + autobahn/client/hornbeam_case_13_2_2.html | 288 ++ autobahn/client/hornbeam_case_13_2_2.json | 78 + autobahn/client/hornbeam_case_13_2_3.html | 287 ++ autobahn/client/hornbeam_case_13_2_3.json | 77 + autobahn/client/hornbeam_case_13_2_4.html | 288 ++ autobahn/client/hornbeam_case_13_2_4.json | 78 + autobahn/client/hornbeam_case_13_2_5.html | 288 ++ autobahn/client/hornbeam_case_13_2_5.json | 78 + autobahn/client/hornbeam_case_13_2_6.html | 287 ++ autobahn/client/hornbeam_case_13_2_6.json | 77 + autobahn/client/hornbeam_case_13_2_7.html | 288 ++ autobahn/client/hornbeam_case_13_2_7.json | 78 + autobahn/client/hornbeam_case_13_2_8.html | 287 ++ autobahn/client/hornbeam_case_13_2_8.json | 77 + autobahn/client/hornbeam_case_13_2_9.html | 287 ++ autobahn/client/hornbeam_case_13_2_9.json | 77 + autobahn/client/hornbeam_case_13_3_1.html | 287 ++ autobahn/client/hornbeam_case_13_3_1.json | 77 + autobahn/client/hornbeam_case_13_3_10.html | 287 ++ autobahn/client/hornbeam_case_13_3_10.json | 77 + autobahn/client/hornbeam_case_13_3_11.html | 288 ++ autobahn/client/hornbeam_case_13_3_11.json | 78 + autobahn/client/hornbeam_case_13_3_12.html | 287 ++ autobahn/client/hornbeam_case_13_3_12.json | 77 + autobahn/client/hornbeam_case_13_3_13.html | 287 ++ autobahn/client/hornbeam_case_13_3_13.json | 77 + autobahn/client/hornbeam_case_13_3_14.html | 288 ++ autobahn/client/hornbeam_case_13_3_14.json | 78 + autobahn/client/hornbeam_case_13_3_15.html | 288 ++ autobahn/client/hornbeam_case_13_3_15.json | 78 + autobahn/client/hornbeam_case_13_3_16.html | 287 ++ autobahn/client/hornbeam_case_13_3_16.json | 77 + autobahn/client/hornbeam_case_13_3_17.html | 287 ++ autobahn/client/hornbeam_case_13_3_17.json | 77 + autobahn/client/hornbeam_case_13_3_18.html | 287 ++ autobahn/client/hornbeam_case_13_3_18.json | 77 + autobahn/client/hornbeam_case_13_3_2.html | 288 ++ autobahn/client/hornbeam_case_13_3_2.json | 78 + autobahn/client/hornbeam_case_13_3_3.html | 288 ++ autobahn/client/hornbeam_case_13_3_3.json | 78 + autobahn/client/hornbeam_case_13_3_4.html | 287 ++ autobahn/client/hornbeam_case_13_3_4.json | 77 + autobahn/client/hornbeam_case_13_3_5.html | 288 ++ autobahn/client/hornbeam_case_13_3_5.json | 78 + autobahn/client/hornbeam_case_13_3_6.html | 288 ++ autobahn/client/hornbeam_case_13_3_6.json | 78 + autobahn/client/hornbeam_case_13_3_7.html | 288 ++ autobahn/client/hornbeam_case_13_3_7.json | 78 + autobahn/client/hornbeam_case_13_3_8.html | 287 ++ autobahn/client/hornbeam_case_13_3_8.json | 77 + autobahn/client/hornbeam_case_13_3_9.html | 287 ++ autobahn/client/hornbeam_case_13_3_9.json | 77 + autobahn/client/hornbeam_case_13_4_1.html | 287 ++ autobahn/client/hornbeam_case_13_4_1.json | 77 + autobahn/client/hornbeam_case_13_4_10.html | 287 ++ autobahn/client/hornbeam_case_13_4_10.json | 77 + autobahn/client/hornbeam_case_13_4_11.html | 288 ++ autobahn/client/hornbeam_case_13_4_11.json | 78 + autobahn/client/hornbeam_case_13_4_12.html | 288 ++ autobahn/client/hornbeam_case_13_4_12.json | 78 + autobahn/client/hornbeam_case_13_4_13.html | 287 ++ autobahn/client/hornbeam_case_13_4_13.json | 77 + autobahn/client/hornbeam_case_13_4_14.html | 287 ++ autobahn/client/hornbeam_case_13_4_14.json | 77 + autobahn/client/hornbeam_case_13_4_15.html | 288 ++ autobahn/client/hornbeam_case_13_4_15.json | 78 + autobahn/client/hornbeam_case_13_4_16.html | 287 ++ autobahn/client/hornbeam_case_13_4_16.json | 77 + autobahn/client/hornbeam_case_13_4_17.html | 287 ++ autobahn/client/hornbeam_case_13_4_17.json | 77 + autobahn/client/hornbeam_case_13_4_18.html | 287 ++ autobahn/client/hornbeam_case_13_4_18.json | 77 + autobahn/client/hornbeam_case_13_4_2.html | 287 ++ autobahn/client/hornbeam_case_13_4_2.json | 77 + autobahn/client/hornbeam_case_13_4_3.html | 288 ++ autobahn/client/hornbeam_case_13_4_3.json | 78 + autobahn/client/hornbeam_case_13_4_4.html | 288 ++ autobahn/client/hornbeam_case_13_4_4.json | 78 + autobahn/client/hornbeam_case_13_4_5.html | 288 ++ autobahn/client/hornbeam_case_13_4_5.json | 78 + autobahn/client/hornbeam_case_13_4_6.html | 288 ++ autobahn/client/hornbeam_case_13_4_6.json | 78 + autobahn/client/hornbeam_case_13_4_7.html | 287 ++ autobahn/client/hornbeam_case_13_4_7.json | 77 + autobahn/client/hornbeam_case_13_4_8.html | 288 ++ autobahn/client/hornbeam_case_13_4_8.json | 78 + autobahn/client/hornbeam_case_13_4_9.html | 287 ++ autobahn/client/hornbeam_case_13_4_9.json | 77 + autobahn/client/hornbeam_case_13_5_1.html | 287 ++ autobahn/client/hornbeam_case_13_5_1.json | 77 + autobahn/client/hornbeam_case_13_5_10.html | 287 ++ autobahn/client/hornbeam_case_13_5_10.json | 77 + autobahn/client/hornbeam_case_13_5_11.html | 287 ++ autobahn/client/hornbeam_case_13_5_11.json | 77 + autobahn/client/hornbeam_case_13_5_12.html | 287 ++ autobahn/client/hornbeam_case_13_5_12.json | 77 + autobahn/client/hornbeam_case_13_5_13.html | 288 ++ autobahn/client/hornbeam_case_13_5_13.json | 78 + autobahn/client/hornbeam_case_13_5_14.html | 288 ++ autobahn/client/hornbeam_case_13_5_14.json | 78 + autobahn/client/hornbeam_case_13_5_15.html | 287 ++ autobahn/client/hornbeam_case_13_5_15.json | 77 + autobahn/client/hornbeam_case_13_5_16.html | 288 ++ autobahn/client/hornbeam_case_13_5_16.json | 78 + autobahn/client/hornbeam_case_13_5_17.html | 287 ++ autobahn/client/hornbeam_case_13_5_17.json | 77 + autobahn/client/hornbeam_case_13_5_18.html | 287 ++ autobahn/client/hornbeam_case_13_5_18.json | 77 + autobahn/client/hornbeam_case_13_5_2.html | 288 ++ autobahn/client/hornbeam_case_13_5_2.json | 78 + autobahn/client/hornbeam_case_13_5_3.html | 287 ++ autobahn/client/hornbeam_case_13_5_3.json | 77 + autobahn/client/hornbeam_case_13_5_4.html | 287 ++ autobahn/client/hornbeam_case_13_5_4.json | 77 + autobahn/client/hornbeam_case_13_5_5.html | 288 ++ autobahn/client/hornbeam_case_13_5_5.json | 78 + autobahn/client/hornbeam_case_13_5_6.html | 287 ++ autobahn/client/hornbeam_case_13_5_6.json | 77 + autobahn/client/hornbeam_case_13_5_7.html | 288 ++ autobahn/client/hornbeam_case_13_5_7.json | 78 + autobahn/client/hornbeam_case_13_5_8.html | 287 ++ autobahn/client/hornbeam_case_13_5_8.json | 77 + autobahn/client/hornbeam_case_13_5_9.html | 287 ++ autobahn/client/hornbeam_case_13_5_9.json | 77 + autobahn/client/hornbeam_case_13_6_1.html | 287 ++ autobahn/client/hornbeam_case_13_6_1.json | 77 + autobahn/client/hornbeam_case_13_6_10.html | 287 ++ autobahn/client/hornbeam_case_13_6_10.json | 77 + autobahn/client/hornbeam_case_13_6_11.html | 288 ++ autobahn/client/hornbeam_case_13_6_11.json | 78 + autobahn/client/hornbeam_case_13_6_12.html | 288 ++ autobahn/client/hornbeam_case_13_6_12.json | 78 + autobahn/client/hornbeam_case_13_6_13.html | 287 ++ autobahn/client/hornbeam_case_13_6_13.json | 77 + autobahn/client/hornbeam_case_13_6_14.html | 287 ++ autobahn/client/hornbeam_case_13_6_14.json | 77 + autobahn/client/hornbeam_case_13_6_15.html | 287 ++ autobahn/client/hornbeam_case_13_6_15.json | 77 + autobahn/client/hornbeam_case_13_6_16.html | 288 ++ autobahn/client/hornbeam_case_13_6_16.json | 78 + autobahn/client/hornbeam_case_13_6_17.html | 287 ++ autobahn/client/hornbeam_case_13_6_17.json | 77 + autobahn/client/hornbeam_case_13_6_18.html | 287 ++ autobahn/client/hornbeam_case_13_6_18.json | 77 + autobahn/client/hornbeam_case_13_6_2.html | 287 ++ autobahn/client/hornbeam_case_13_6_2.json | 77 + autobahn/client/hornbeam_case_13_6_3.html | 287 ++ autobahn/client/hornbeam_case_13_6_3.json | 77 + autobahn/client/hornbeam_case_13_6_4.html | 287 ++ autobahn/client/hornbeam_case_13_6_4.json | 77 + autobahn/client/hornbeam_case_13_6_5.html | 287 ++ autobahn/client/hornbeam_case_13_6_5.json | 77 + autobahn/client/hornbeam_case_13_6_6.html | 287 ++ autobahn/client/hornbeam_case_13_6_6.json | 77 + autobahn/client/hornbeam_case_13_6_7.html | 287 ++ autobahn/client/hornbeam_case_13_6_7.json | 77 + autobahn/client/hornbeam_case_13_6_8.html | 288 ++ autobahn/client/hornbeam_case_13_6_8.json | 78 + autobahn/client/hornbeam_case_13_6_9.html | 287 ++ autobahn/client/hornbeam_case_13_6_9.json | 77 + autobahn/client/hornbeam_case_13_7_1.html | 287 ++ autobahn/client/hornbeam_case_13_7_1.json | 77 + autobahn/client/hornbeam_case_13_7_10.html | 288 ++ autobahn/client/hornbeam_case_13_7_10.json | 78 + autobahn/client/hornbeam_case_13_7_11.html | 287 ++ autobahn/client/hornbeam_case_13_7_11.json | 77 + autobahn/client/hornbeam_case_13_7_12.html | 288 ++ autobahn/client/hornbeam_case_13_7_12.json | 78 + autobahn/client/hornbeam_case_13_7_13.html | 287 ++ autobahn/client/hornbeam_case_13_7_13.json | 77 + autobahn/client/hornbeam_case_13_7_14.html | 287 ++ autobahn/client/hornbeam_case_13_7_14.json | 77 + autobahn/client/hornbeam_case_13_7_15.html | 287 ++ autobahn/client/hornbeam_case_13_7_15.json | 77 + autobahn/client/hornbeam_case_13_7_16.html | 287 ++ autobahn/client/hornbeam_case_13_7_16.json | 77 + autobahn/client/hornbeam_case_13_7_17.html | 287 ++ autobahn/client/hornbeam_case_13_7_17.json | 77 + autobahn/client/hornbeam_case_13_7_18.html | 287 ++ autobahn/client/hornbeam_case_13_7_18.json | 77 + autobahn/client/hornbeam_case_13_7_2.html | 288 ++ autobahn/client/hornbeam_case_13_7_2.json | 78 + autobahn/client/hornbeam_case_13_7_3.html | 287 ++ autobahn/client/hornbeam_case_13_7_3.json | 77 + autobahn/client/hornbeam_case_13_7_4.html | 287 ++ autobahn/client/hornbeam_case_13_7_4.json | 77 + autobahn/client/hornbeam_case_13_7_5.html | 287 ++ autobahn/client/hornbeam_case_13_7_5.json | 77 + autobahn/client/hornbeam_case_13_7_6.html | 287 ++ autobahn/client/hornbeam_case_13_7_6.json | 77 + autobahn/client/hornbeam_case_13_7_7.html | 288 ++ autobahn/client/hornbeam_case_13_7_7.json | 78 + autobahn/client/hornbeam_case_13_7_8.html | 288 ++ autobahn/client/hornbeam_case_13_7_8.json | 78 + autobahn/client/hornbeam_case_13_7_9.html | 287 ++ autobahn/client/hornbeam_case_13_7_9.json | 77 + autobahn/client/hornbeam_case_1_1_1.html | 14 +- autobahn/client/hornbeam_case_1_1_1.json | 14 +- autobahn/client/hornbeam_case_1_1_2.html | 16 +- autobahn/client/hornbeam_case_1_1_2.json | 16 +- autobahn/client/hornbeam_case_1_1_3.html | 16 +- autobahn/client/hornbeam_case_1_1_3.json | 16 +- autobahn/client/hornbeam_case_1_1_4.html | 25 +- autobahn/client/hornbeam_case_1_1_4.json | 29 +- autobahn/client/hornbeam_case_1_1_5.html | 16 +- autobahn/client/hornbeam_case_1_1_5.json | 16 +- autobahn/client/hornbeam_case_1_1_6.html | 28 +- autobahn/client/hornbeam_case_1_1_6.json | 32 +- autobahn/client/hornbeam_case_1_1_7.html | 29 +- autobahn/client/hornbeam_case_1_1_7.json | 32 +- autobahn/client/hornbeam_case_1_1_8.html | 29 +- autobahn/client/hornbeam_case_1_1_8.json | 32 +- autobahn/client/hornbeam_case_1_2_1.html | 14 +- autobahn/client/hornbeam_case_1_2_1.json | 16 +- autobahn/client/hornbeam_case_1_2_2.html | 25 +- autobahn/client/hornbeam_case_1_2_2.json | 29 +- autobahn/client/hornbeam_case_1_2_3.html | 38 +- autobahn/client/hornbeam_case_1_2_3.json | 28 +- autobahn/client/hornbeam_case_1_2_4.html | 16 +- autobahn/client/hornbeam_case_1_2_4.json | 16 +- autobahn/client/hornbeam_case_1_2_5.html | 16 +- autobahn/client/hornbeam_case_1_2_5.json | 16 +- autobahn/client/hornbeam_case_1_2_6.html | 43 +- autobahn/client/hornbeam_case_1_2_6.json | 45 +- autobahn/client/hornbeam_case_1_2_7.html | 29 +- autobahn/client/hornbeam_case_1_2_7.json | 32 +- autobahn/client/hornbeam_case_1_2_8.html | 37 +- autobahn/client/hornbeam_case_1_2_8.json | 45 +- autobahn/client/hornbeam_case_2_1.html | 14 +- autobahn/client/hornbeam_case_2_1.json | 16 +- autobahn/client/hornbeam_case_2_10.html | 34 +- autobahn/client/hornbeam_case_2_10.json | 34 +- autobahn/client/hornbeam_case_2_11.html | 170 +- autobahn/client/hornbeam_case_2_11.json | 306 ++- autobahn/client/hornbeam_case_2_2.html | 14 +- autobahn/client/hornbeam_case_2_2.json | 16 +- autobahn/client/hornbeam_case_2_3.html | 14 +- autobahn/client/hornbeam_case_2_3.json | 16 +- autobahn/client/hornbeam_case_2_4.html | 16 +- autobahn/client/hornbeam_case_2_4.json | 16 +- autobahn/client/hornbeam_case_2_5.html | 16 +- autobahn/client/hornbeam_case_2_5.json | 18 +- autobahn/client/hornbeam_case_2_6.html | 16 +- autobahn/client/hornbeam_case_2_6.json | 16 +- autobahn/client/hornbeam_case_2_7.html | 10 +- autobahn/client/hornbeam_case_2_7.json | 10 +- autobahn/client/hornbeam_case_2_8.html | 10 +- autobahn/client/hornbeam_case_2_8.json | 12 +- autobahn/client/hornbeam_case_2_9.html | 14 +- autobahn/client/hornbeam_case_2_9.json | 16 +- autobahn/client/hornbeam_case_3_1.html | 58 +- autobahn/client/hornbeam_case_3_1.json | 73 +- autobahn/client/hornbeam_case_3_2.html | 60 +- autobahn/client/hornbeam_case_3_2.json | 105 +- autobahn/client/hornbeam_case_3_3.html | 60 +- autobahn/client/hornbeam_case_3_3.json | 105 +- autobahn/client/hornbeam_case_3_4.html | 86 +- autobahn/client/hornbeam_case_3_4.json | 221 +- autobahn/client/hornbeam_case_3_5.html | 56 +- autobahn/client/hornbeam_case_3_5.json | 86 +- autobahn/client/hornbeam_case_3_6.html | 57 +- autobahn/client/hornbeam_case_3_6.json | 86 +- autobahn/client/hornbeam_case_3_7.html | 30 +- autobahn/client/hornbeam_case_3_7.json | 36 +- autobahn/client/hornbeam_case_4_1_1.html | 6 +- autobahn/client/hornbeam_case_4_1_1.json | 8 +- autobahn/client/hornbeam_case_4_1_2.html | 6 +- autobahn/client/hornbeam_case_4_1_2.json | 8 +- autobahn/client/hornbeam_case_4_1_3.html | 18 +- autobahn/client/hornbeam_case_4_1_3.json | 24 +- autobahn/client/hornbeam_case_4_1_4.html | 10 +- autobahn/client/hornbeam_case_4_1_4.json | 12 +- autobahn/client/hornbeam_case_4_1_5.html | 26 +- autobahn/client/hornbeam_case_4_1_5.json | 80 +- autobahn/client/hornbeam_case_4_2_1.html | 6 +- autobahn/client/hornbeam_case_4_2_1.json | 6 +- autobahn/client/hornbeam_case_4_2_2.html | 6 +- autobahn/client/hornbeam_case_4_2_2.json | 8 +- autobahn/client/hornbeam_case_4_2_3.html | 18 +- autobahn/client/hornbeam_case_4_2_3.json | 22 +- autobahn/client/hornbeam_case_4_2_4.html | 10 +- autobahn/client/hornbeam_case_4_2_4.json | 10 +- autobahn/client/hornbeam_case_4_2_5.html | 10 +- autobahn/client/hornbeam_case_4_2_5.json | 10 +- autobahn/client/hornbeam_case_5_1.html | 48 +- autobahn/client/hornbeam_case_5_1.json | 81 +- autobahn/client/hornbeam_case_5_10.html | 6 +- autobahn/client/hornbeam_case_5_10.json | 6 +- autobahn/client/hornbeam_case_5_11.html | 6 +- autobahn/client/hornbeam_case_5_11.json | 8 +- autobahn/client/hornbeam_case_5_12.html | 6 +- autobahn/client/hornbeam_case_5_12.json | 6 +- autobahn/client/hornbeam_case_5_13.html | 6 +- autobahn/client/hornbeam_case_5_13.json | 6 +- autobahn/client/hornbeam_case_5_14.html | 6 +- autobahn/client/hornbeam_case_5_14.json | 6 +- autobahn/client/hornbeam_case_5_15.html | 24 +- autobahn/client/hornbeam_case_5_15.json | 34 +- autobahn/client/hornbeam_case_5_16.html | 6 +- autobahn/client/hornbeam_case_5_16.json | 8 +- autobahn/client/hornbeam_case_5_17.html | 6 +- autobahn/client/hornbeam_case_5_17.json | 6 +- autobahn/client/hornbeam_case_5_18.html | 58 +- autobahn/client/hornbeam_case_5_18.json | 103 +- autobahn/client/hornbeam_case_5_19.html | 81 +- autobahn/client/hornbeam_case_5_19.json | 236 +- autobahn/client/hornbeam_case_5_2.html | 41 +- autobahn/client/hornbeam_case_5_2.json | 80 +- autobahn/client/hornbeam_case_5_20.html | 80 +- autobahn/client/hornbeam_case_5_20.json | 258 +- autobahn/client/hornbeam_case_5_3.html | 52 +- autobahn/client/hornbeam_case_5_3.json | 91 +- autobahn/client/hornbeam_case_5_4.html | 52 +- autobahn/client/hornbeam_case_5_4.json | 91 +- autobahn/client/hornbeam_case_5_5.html | 64 +- autobahn/client/hornbeam_case_5_5.json | 127 +- autobahn/client/hornbeam_case_5_6.html | 56 +- autobahn/client/hornbeam_case_5_6.json | 117 +- autobahn/client/hornbeam_case_5_7.html | 56 +- autobahn/client/hornbeam_case_5_7.json | 117 +- autobahn/client/hornbeam_case_5_8.html | 98 +- autobahn/client/hornbeam_case_5_8.json | 175 +- autobahn/client/hornbeam_case_5_9.html | 6 +- autobahn/client/hornbeam_case_5_9.json | 8 +- autobahn/client/hornbeam_case_6_10_1.html | 56 +- autobahn/client/hornbeam_case_6_10_1.json | 122 +- autobahn/client/hornbeam_case_6_10_2.html | 56 +- autobahn/client/hornbeam_case_6_10_2.json | 122 +- autobahn/client/hornbeam_case_6_10_3.html | 56 +- autobahn/client/hornbeam_case_6_10_3.json | 122 +- autobahn/client/hornbeam_case_6_11_1.html | 14 +- autobahn/client/hornbeam_case_6_11_1.json | 16 +- autobahn/client/hornbeam_case_6_11_2.html | 14 +- autobahn/client/hornbeam_case_6_11_2.json | 16 +- autobahn/client/hornbeam_case_6_11_3.html | 14 +- autobahn/client/hornbeam_case_6_11_3.json | 16 +- autobahn/client/hornbeam_case_6_11_4.html | 23 +- autobahn/client/hornbeam_case_6_11_4.json | 29 +- autobahn/client/hornbeam_case_6_11_5.html | 56 +- autobahn/client/hornbeam_case_6_11_5.json | 122 +- autobahn/client/hornbeam_case_6_12_1.html | 55 +- autobahn/client/hornbeam_case_6_12_1.json | 121 +- autobahn/client/hornbeam_case_6_12_2.html | 55 +- autobahn/client/hornbeam_case_6_12_2.json | 121 +- autobahn/client/hornbeam_case_6_12_3.html | 56 +- autobahn/client/hornbeam_case_6_12_3.json | 122 +- autobahn/client/hornbeam_case_6_12_4.html | 56 +- autobahn/client/hornbeam_case_6_12_4.json | 122 +- autobahn/client/hornbeam_case_6_12_5.html | 56 +- autobahn/client/hornbeam_case_6_12_5.json | 122 +- autobahn/client/hornbeam_case_6_12_6.html | 56 +- autobahn/client/hornbeam_case_6_12_6.json | 122 +- autobahn/client/hornbeam_case_6_12_7.html | 56 +- autobahn/client/hornbeam_case_6_12_7.json | 122 +- autobahn/client/hornbeam_case_6_12_8.html | 58 +- autobahn/client/hornbeam_case_6_12_8.json | 124 +- autobahn/client/hornbeam_case_6_13_1.html | 57 +- autobahn/client/hornbeam_case_6_13_1.json | 122 +- autobahn/client/hornbeam_case_6_13_2.html | 57 +- autobahn/client/hornbeam_case_6_13_2.json | 122 +- autobahn/client/hornbeam_case_6_13_3.html | 56 +- autobahn/client/hornbeam_case_6_13_3.json | 122 +- autobahn/client/hornbeam_case_6_13_4.html | 56 +- autobahn/client/hornbeam_case_6_13_4.json | 122 +- autobahn/client/hornbeam_case_6_13_5.html | 56 +- autobahn/client/hornbeam_case_6_13_5.json | 122 +- autobahn/client/hornbeam_case_6_14_1.html | 55 +- autobahn/client/hornbeam_case_6_14_1.json | 121 +- autobahn/client/hornbeam_case_6_14_10.html | 56 +- autobahn/client/hornbeam_case_6_14_10.json | 122 +- autobahn/client/hornbeam_case_6_14_2.html | 56 +- autobahn/client/hornbeam_case_6_14_2.json | 122 +- autobahn/client/hornbeam_case_6_14_3.html | 56 +- autobahn/client/hornbeam_case_6_14_3.json | 122 +- autobahn/client/hornbeam_case_6_14_4.html | 56 +- autobahn/client/hornbeam_case_6_14_4.json | 122 +- autobahn/client/hornbeam_case_6_14_5.html | 56 +- autobahn/client/hornbeam_case_6_14_5.json | 122 +- autobahn/client/hornbeam_case_6_14_6.html | 55 +- autobahn/client/hornbeam_case_6_14_6.json | 121 +- autobahn/client/hornbeam_case_6_14_7.html | 55 +- autobahn/client/hornbeam_case_6_14_7.json | 121 +- autobahn/client/hornbeam_case_6_14_8.html | 54 +- autobahn/client/hornbeam_case_6_14_8.json | 114 +- autobahn/client/hornbeam_case_6_14_9.html | 56 +- autobahn/client/hornbeam_case_6_14_9.json | 122 +- autobahn/client/hornbeam_case_6_15_1.html | 58 +- autobahn/client/hornbeam_case_6_15_1.json | 122 +- autobahn/client/hornbeam_case_6_16_1.html | 55 +- autobahn/client/hornbeam_case_6_16_1.json | 121 +- autobahn/client/hornbeam_case_6_16_2.html | 55 +- autobahn/client/hornbeam_case_6_16_2.json | 121 +- autobahn/client/hornbeam_case_6_16_3.html | 56 +- autobahn/client/hornbeam_case_6_16_3.json | 122 +- autobahn/client/hornbeam_case_6_17_1.html | 56 +- autobahn/client/hornbeam_case_6_17_1.json | 122 +- autobahn/client/hornbeam_case_6_17_2.html | 56 +- autobahn/client/hornbeam_case_6_17_2.json | 122 +- autobahn/client/hornbeam_case_6_17_3.html | 56 +- autobahn/client/hornbeam_case_6_17_3.json | 122 +- autobahn/client/hornbeam_case_6_17_4.html | 56 +- autobahn/client/hornbeam_case_6_17_4.json | 122 +- autobahn/client/hornbeam_case_6_17_5.html | 56 +- autobahn/client/hornbeam_case_6_17_5.json | 122 +- autobahn/client/hornbeam_case_6_18_1.html | 56 +- autobahn/client/hornbeam_case_6_18_1.json | 122 +- autobahn/client/hornbeam_case_6_18_2.html | 56 +- autobahn/client/hornbeam_case_6_18_2.json | 122 +- autobahn/client/hornbeam_case_6_18_3.html | 56 +- autobahn/client/hornbeam_case_6_18_3.json | 122 +- autobahn/client/hornbeam_case_6_18_4.html | 56 +- autobahn/client/hornbeam_case_6_18_4.json | 122 +- autobahn/client/hornbeam_case_6_18_5.html | 56 +- autobahn/client/hornbeam_case_6_18_5.json | 122 +- autobahn/client/hornbeam_case_6_19_1.html | 56 +- autobahn/client/hornbeam_case_6_19_1.json | 122 +- autobahn/client/hornbeam_case_6_19_2.html | 56 +- autobahn/client/hornbeam_case_6_19_2.json | 122 +- autobahn/client/hornbeam_case_6_19_3.html | 56 +- autobahn/client/hornbeam_case_6_19_3.json | 122 +- autobahn/client/hornbeam_case_6_19_4.html | 56 +- autobahn/client/hornbeam_case_6_19_4.json | 122 +- autobahn/client/hornbeam_case_6_19_5.html | 56 +- autobahn/client/hornbeam_case_6_19_5.json | 122 +- autobahn/client/hornbeam_case_6_1_1.html | 14 +- autobahn/client/hornbeam_case_6_1_1.json | 16 +- autobahn/client/hornbeam_case_6_1_2.html | 31 +- autobahn/client/hornbeam_case_6_1_2.json | 47 +- autobahn/client/hornbeam_case_6_1_3.html | 51 +- autobahn/client/hornbeam_case_6_1_3.json | 91 +- autobahn/client/hornbeam_case_6_20_1.html | 56 +- autobahn/client/hornbeam_case_6_20_1.json | 122 +- autobahn/client/hornbeam_case_6_20_2.html | 58 +- autobahn/client/hornbeam_case_6_20_2.json | 130 +- autobahn/client/hornbeam_case_6_20_3.html | 56 +- autobahn/client/hornbeam_case_6_20_3.json | 122 +- autobahn/client/hornbeam_case_6_20_4.html | 56 +- autobahn/client/hornbeam_case_6_20_4.json | 122 +- autobahn/client/hornbeam_case_6_20_5.html | 56 +- autobahn/client/hornbeam_case_6_20_5.json | 122 +- autobahn/client/hornbeam_case_6_20_6.html | 58 +- autobahn/client/hornbeam_case_6_20_6.json | 130 +- autobahn/client/hornbeam_case_6_20_7.html | 56 +- autobahn/client/hornbeam_case_6_20_7.json | 122 +- autobahn/client/hornbeam_case_6_21_1.html | 56 +- autobahn/client/hornbeam_case_6_21_1.json | 122 +- autobahn/client/hornbeam_case_6_21_2.html | 56 +- autobahn/client/hornbeam_case_6_21_2.json | 122 +- autobahn/client/hornbeam_case_6_21_3.html | 56 +- autobahn/client/hornbeam_case_6_21_3.json | 122 +- autobahn/client/hornbeam_case_6_21_4.html | 56 +- autobahn/client/hornbeam_case_6_21_4.json | 122 +- autobahn/client/hornbeam_case_6_21_5.html | 58 +- autobahn/client/hornbeam_case_6_21_5.json | 130 +- autobahn/client/hornbeam_case_6_21_6.html | 56 +- autobahn/client/hornbeam_case_6_21_6.json | 122 +- autobahn/client/hornbeam_case_6_21_7.html | 56 +- autobahn/client/hornbeam_case_6_21_7.json | 122 +- autobahn/client/hornbeam_case_6_21_8.html | 56 +- autobahn/client/hornbeam_case_6_21_8.json | 122 +- autobahn/client/hornbeam_case_6_22_1.html | 14 +- autobahn/client/hornbeam_case_6_22_1.json | 16 +- autobahn/client/hornbeam_case_6_22_10.html | 23 +- autobahn/client/hornbeam_case_6_22_10.json | 29 +- autobahn/client/hornbeam_case_6_22_11.html | 23 +- autobahn/client/hornbeam_case_6_22_11.json | 29 +- autobahn/client/hornbeam_case_6_22_12.html | 23 +- autobahn/client/hornbeam_case_6_22_12.json | 29 +- autobahn/client/hornbeam_case_6_22_13.html | 23 +- autobahn/client/hornbeam_case_6_22_13.json | 29 +- autobahn/client/hornbeam_case_6_22_14.html | 14 +- autobahn/client/hornbeam_case_6_22_14.json | 16 +- autobahn/client/hornbeam_case_6_22_15.html | 14 +- autobahn/client/hornbeam_case_6_22_15.json | 16 +- autobahn/client/hornbeam_case_6_22_16.html | 14 +- autobahn/client/hornbeam_case_6_22_16.json | 16 +- autobahn/client/hornbeam_case_6_22_17.html | 14 +- autobahn/client/hornbeam_case_6_22_17.json | 16 +- autobahn/client/hornbeam_case_6_22_18.html | 14 +- autobahn/client/hornbeam_case_6_22_18.json | 16 +- autobahn/client/hornbeam_case_6_22_19.html | 23 +- autobahn/client/hornbeam_case_6_22_19.json | 29 +- autobahn/client/hornbeam_case_6_22_2.html | 24 +- autobahn/client/hornbeam_case_6_22_2.json | 30 +- autobahn/client/hornbeam_case_6_22_20.html | 14 +- autobahn/client/hornbeam_case_6_22_20.json | 16 +- autobahn/client/hornbeam_case_6_22_21.html | 23 +- autobahn/client/hornbeam_case_6_22_21.json | 29 +- autobahn/client/hornbeam_case_6_22_22.html | 14 +- autobahn/client/hornbeam_case_6_22_22.json | 16 +- autobahn/client/hornbeam_case_6_22_23.html | 23 +- autobahn/client/hornbeam_case_6_22_23.json | 29 +- autobahn/client/hornbeam_case_6_22_24.html | 23 +- autobahn/client/hornbeam_case_6_22_24.json | 29 +- autobahn/client/hornbeam_case_6_22_25.html | 23 +- autobahn/client/hornbeam_case_6_22_25.json | 29 +- autobahn/client/hornbeam_case_6_22_26.html | 23 +- autobahn/client/hornbeam_case_6_22_26.json | 29 +- autobahn/client/hornbeam_case_6_22_27.html | 14 +- autobahn/client/hornbeam_case_6_22_27.json | 16 +- autobahn/client/hornbeam_case_6_22_28.html | 23 +- autobahn/client/hornbeam_case_6_22_28.json | 29 +- autobahn/client/hornbeam_case_6_22_29.html | 14 +- autobahn/client/hornbeam_case_6_22_29.json | 16 +- autobahn/client/hornbeam_case_6_22_3.html | 23 +- autobahn/client/hornbeam_case_6_22_3.json | 29 +- autobahn/client/hornbeam_case_6_22_30.html | 14 +- autobahn/client/hornbeam_case_6_22_30.json | 16 +- autobahn/client/hornbeam_case_6_22_31.html | 14 +- autobahn/client/hornbeam_case_6_22_31.json | 16 +- autobahn/client/hornbeam_case_6_22_32.html | 23 +- autobahn/client/hornbeam_case_6_22_32.json | 29 +- autobahn/client/hornbeam_case_6_22_33.html | 14 +- autobahn/client/hornbeam_case_6_22_33.json | 16 +- autobahn/client/hornbeam_case_6_22_34.html | 23 +- autobahn/client/hornbeam_case_6_22_34.json | 29 +- autobahn/client/hornbeam_case_6_22_4.html | 23 +- autobahn/client/hornbeam_case_6_22_4.json | 29 +- autobahn/client/hornbeam_case_6_22_5.html | 23 +- autobahn/client/hornbeam_case_6_22_5.json | 27 +- autobahn/client/hornbeam_case_6_22_6.html | 14 +- autobahn/client/hornbeam_case_6_22_6.json | 16 +- autobahn/client/hornbeam_case_6_22_7.html | 14 +- autobahn/client/hornbeam_case_6_22_7.json | 16 +- autobahn/client/hornbeam_case_6_22_8.html | 14 +- autobahn/client/hornbeam_case_6_22_8.json | 16 +- autobahn/client/hornbeam_case_6_22_9.html | 23 +- autobahn/client/hornbeam_case_6_22_9.json | 29 +- autobahn/client/hornbeam_case_6_23_1.html | 14 +- autobahn/client/hornbeam_case_6_23_1.json | 16 +- autobahn/client/hornbeam_case_6_23_2.html | 14 +- autobahn/client/hornbeam_case_6_23_2.json | 16 +- autobahn/client/hornbeam_case_6_23_3.html | 14 +- autobahn/client/hornbeam_case_6_23_3.json | 16 +- autobahn/client/hornbeam_case_6_23_4.html | 24 +- autobahn/client/hornbeam_case_6_23_4.json | 30 +- autobahn/client/hornbeam_case_6_23_5.html | 24 +- autobahn/client/hornbeam_case_6_23_5.json | 30 +- autobahn/client/hornbeam_case_6_23_6.html | 24 +- autobahn/client/hornbeam_case_6_23_6.json | 30 +- autobahn/client/hornbeam_case_6_23_7.html | 14 +- autobahn/client/hornbeam_case_6_23_7.json | 16 +- autobahn/client/hornbeam_case_6_2_1.html | 23 +- autobahn/client/hornbeam_case_6_2_1.json | 29 +- autobahn/client/hornbeam_case_6_2_2.html | 52 +- autobahn/client/hornbeam_case_6_2_2.json | 91 +- autobahn/client/hornbeam_case_6_2_3.html | 52 +- autobahn/client/hornbeam_case_6_2_3.json | 91 +- autobahn/client/hornbeam_case_6_2_4.html | 50 +- autobahn/client/hornbeam_case_6_2_4.json | 89 +- autobahn/client/hornbeam_case_6_3_1.html | 56 +- autobahn/client/hornbeam_case_6_3_1.json | 122 +- autobahn/client/hornbeam_case_6_3_2.html | 23 +- autobahn/client/hornbeam_case_6_3_2.json | 52 +- autobahn/client/hornbeam_case_6_4_1.html | 43 +- autobahn/client/hornbeam_case_6_4_1.json | 84 +- autobahn/client/hornbeam_case_6_4_2.html | 43 +- autobahn/client/hornbeam_case_6_4_2.json | 84 +- autobahn/client/hornbeam_case_6_4_3.html | 57 +- autobahn/client/hornbeam_case_6_4_3.json | 82 +- autobahn/client/hornbeam_case_6_4_4.html | 23 +- autobahn/client/hornbeam_case_6_4_4.json | 49 +- autobahn/client/hornbeam_case_6_5_1.html | 14 +- autobahn/client/hornbeam_case_6_5_1.json | 16 +- autobahn/client/hornbeam_case_6_5_2.html | 14 +- autobahn/client/hornbeam_case_6_5_2.json | 16 +- autobahn/client/hornbeam_case_6_5_3.html | 14 +- autobahn/client/hornbeam_case_6_5_3.json | 16 +- autobahn/client/hornbeam_case_6_5_4.html | 14 +- autobahn/client/hornbeam_case_6_5_4.json | 16 +- autobahn/client/hornbeam_case_6_5_5.html | 14 +- autobahn/client/hornbeam_case_6_5_5.json | 16 +- autobahn/client/hornbeam_case_6_6_1.html | 55 +- autobahn/client/hornbeam_case_6_6_1.json | 121 +- autobahn/client/hornbeam_case_6_6_10.html | 56 +- autobahn/client/hornbeam_case_6_6_10.json | 122 +- autobahn/client/hornbeam_case_6_6_11.html | 14 +- autobahn/client/hornbeam_case_6_6_11.json | 16 +- autobahn/client/hornbeam_case_6_6_2.html | 14 +- autobahn/client/hornbeam_case_6_6_2.json | 16 +- autobahn/client/hornbeam_case_6_6_3.html | 56 +- autobahn/client/hornbeam_case_6_6_3.json | 122 +- autobahn/client/hornbeam_case_6_6_4.html | 56 +- autobahn/client/hornbeam_case_6_6_4.json | 122 +- autobahn/client/hornbeam_case_6_6_5.html | 14 +- autobahn/client/hornbeam_case_6_6_5.json | 16 +- autobahn/client/hornbeam_case_6_6_6.html | 56 +- autobahn/client/hornbeam_case_6_6_6.json | 122 +- autobahn/client/hornbeam_case_6_6_7.html | 14 +- autobahn/client/hornbeam_case_6_6_7.json | 16 +- autobahn/client/hornbeam_case_6_6_8.html | 56 +- autobahn/client/hornbeam_case_6_6_8.json | 122 +- autobahn/client/hornbeam_case_6_6_9.html | 14 +- autobahn/client/hornbeam_case_6_6_9.json | 16 +- autobahn/client/hornbeam_case_6_7_1.html | 23 +- autobahn/client/hornbeam_case_6_7_1.json | 29 +- autobahn/client/hornbeam_case_6_7_2.html | 24 +- autobahn/client/hornbeam_case_6_7_2.json | 30 +- autobahn/client/hornbeam_case_6_7_3.html | 24 +- autobahn/client/hornbeam_case_6_7_3.json | 28 +- autobahn/client/hornbeam_case_6_7_4.html | 14 +- autobahn/client/hornbeam_case_6_7_4.json | 14 +- autobahn/client/hornbeam_case_6_8_1.html | 56 +- autobahn/client/hornbeam_case_6_8_1.json | 122 +- autobahn/client/hornbeam_case_6_8_2.html | 56 +- autobahn/client/hornbeam_case_6_8_2.json | 122 +- autobahn/client/hornbeam_case_6_9_1.html | 23 +- autobahn/client/hornbeam_case_6_9_1.json | 29 +- autobahn/client/hornbeam_case_6_9_2.html | 14 +- autobahn/client/hornbeam_case_6_9_2.json | 16 +- autobahn/client/hornbeam_case_6_9_3.html | 14 +- autobahn/client/hornbeam_case_6_9_3.json | 14 +- autobahn/client/hornbeam_case_6_9_4.html | 14 +- autobahn/client/hornbeam_case_6_9_4.json | 14 +- autobahn/client/hornbeam_case_7_13_1.html | 18 +- autobahn/client/hornbeam_case_7_13_1.json | 18 +- autobahn/client/hornbeam_case_7_13_2.html | 18 +- autobahn/client/hornbeam_case_7_13_2.json | 18 +- autobahn/client/hornbeam_case_7_1_1.html | 14 +- autobahn/client/hornbeam_case_7_1_1.json | 16 +- autobahn/client/hornbeam_case_7_1_2.html | 10 +- autobahn/client/hornbeam_case_7_1_2.json | 12 +- autobahn/client/hornbeam_case_7_1_3.html | 10 +- autobahn/client/hornbeam_case_7_1_3.json | 12 +- autobahn/client/hornbeam_case_7_1_4.html | 10 +- autobahn/client/hornbeam_case_7_1_4.json | 12 +- autobahn/client/hornbeam_case_7_1_5.html | 27 +- autobahn/client/hornbeam_case_7_1_5.json | 49 +- autobahn/client/hornbeam_case_7_1_6.html | 45 +- autobahn/client/hornbeam_case_7_1_6.json | 96 +- autobahn/client/hornbeam_case_7_3_1.html | 17 +- autobahn/client/hornbeam_case_7_3_1.json | 22 +- autobahn/client/hornbeam_case_7_3_2.html | 29 +- autobahn/client/hornbeam_case_7_3_2.json | 42 +- autobahn/client/hornbeam_case_7_3_3.html | 10 +- autobahn/client/hornbeam_case_7_3_3.json | 12 +- autobahn/client/hornbeam_case_7_3_4.html | 18 +- autobahn/client/hornbeam_case_7_3_4.json | 20 +- autobahn/client/hornbeam_case_7_3_5.html | 20 +- autobahn/client/hornbeam_case_7_3_5.json | 20 +- autobahn/client/hornbeam_case_7_3_6.html | 28 +- autobahn/client/hornbeam_case_7_3_6.json | 36 +- autobahn/client/hornbeam_case_7_5_1.html | 22 +- autobahn/client/hornbeam_case_7_5_1.json | 24 +- autobahn/client/hornbeam_case_7_7_1.html | 10 +- autobahn/client/hornbeam_case_7_7_1.json | 10 +- autobahn/client/hornbeam_case_7_7_10.html | 14 +- autobahn/client/hornbeam_case_7_7_10.json | 16 +- autobahn/client/hornbeam_case_7_7_11.html | 22 +- autobahn/client/hornbeam_case_7_7_11.json | 28 +- autobahn/client/hornbeam_case_7_7_12.html | 22 +- autobahn/client/hornbeam_case_7_7_12.json | 28 +- autobahn/client/hornbeam_case_7_7_13.html | 22 +- autobahn/client/hornbeam_case_7_7_13.json | 28 +- autobahn/client/hornbeam_case_7_7_2.html | 22 +- autobahn/client/hornbeam_case_7_7_2.json | 28 +- autobahn/client/hornbeam_case_7_7_3.html | 14 +- autobahn/client/hornbeam_case_7_7_3.json | 16 +- autobahn/client/hornbeam_case_7_7_4.html | 14 +- autobahn/client/hornbeam_case_7_7_4.json | 16 +- autobahn/client/hornbeam_case_7_7_5.html | 22 +- autobahn/client/hornbeam_case_7_7_5.json | 28 +- autobahn/client/hornbeam_case_7_7_6.html | 22 +- autobahn/client/hornbeam_case_7_7_6.json | 28 +- autobahn/client/hornbeam_case_7_7_7.html | 14 +- autobahn/client/hornbeam_case_7_7_7.json | 16 +- autobahn/client/hornbeam_case_7_7_8.html | 22 +- autobahn/client/hornbeam_case_7_7_8.json | 26 +- autobahn/client/hornbeam_case_7_7_9.html | 14 +- autobahn/client/hornbeam_case_7_7_9.json | 16 +- autobahn/client/hornbeam_case_7_9_1.html | 26 +- autobahn/client/hornbeam_case_7_9_1.json | 30 +- autobahn/client/hornbeam_case_7_9_2.html | 26 +- autobahn/client/hornbeam_case_7_9_2.json | 32 +- autobahn/client/hornbeam_case_7_9_3.html | 18 +- autobahn/client/hornbeam_case_7_9_3.json | 20 +- autobahn/client/hornbeam_case_7_9_4.html | 18 +- autobahn/client/hornbeam_case_7_9_4.json | 20 +- autobahn/client/hornbeam_case_7_9_5.html | 18 +- autobahn/client/hornbeam_case_7_9_5.json | 20 +- autobahn/client/hornbeam_case_7_9_6.html | 26 +- autobahn/client/hornbeam_case_7_9_6.json | 32 +- autobahn/client/hornbeam_case_7_9_7.html | 18 +- autobahn/client/hornbeam_case_7_9_7.json | 18 +- autobahn/client/hornbeam_case_7_9_8.html | 26 +- autobahn/client/hornbeam_case_7_9_8.json | 30 +- autobahn/client/hornbeam_case_7_9_9.html | 26 +- autobahn/client/hornbeam_case_7_9_9.json | 32 +- autobahn/client/hornbeam_case_9_1_1.html | 19 +- autobahn/client/hornbeam_case_9_1_1.json | 25 +- autobahn/client/hornbeam_case_9_1_2.html | 25 +- autobahn/client/hornbeam_case_9_1_2.json | 33 +- autobahn/client/hornbeam_case_9_1_3.html | 19 +- autobahn/client/hornbeam_case_9_1_3.json | 21 +- autobahn/client/hornbeam_case_9_1_4.html | 18 +- autobahn/client/hornbeam_case_9_1_4.json | 18 +- autobahn/client/hornbeam_case_9_1_5.html | 24 +- autobahn/client/hornbeam_case_9_1_5.json | 24 +- autobahn/client/hornbeam_case_9_1_6.html | 17 +- autobahn/client/hornbeam_case_9_1_6.json | 17 +- autobahn/client/hornbeam_case_9_2_1.html | 47 +- autobahn/client/hornbeam_case_9_2_1.json | 94 +- autobahn/client/hornbeam_case_9_2_2.html | 45 +- autobahn/client/hornbeam_case_9_2_2.json | 82 +- autobahn/client/hornbeam_case_9_2_3.html | 48 +- autobahn/client/hornbeam_case_9_2_3.json | 91 +- autobahn/client/hornbeam_case_9_2_4.html | 48 +- autobahn/client/hornbeam_case_9_2_4.json | 87 +- autobahn/client/hornbeam_case_9_2_5.html | 303 +++ autobahn/client/hornbeam_case_9_2_5.json | 129 + autobahn/client/hornbeam_case_9_2_6.html | 303 +++ autobahn/client/hornbeam_case_9_2_6.json | 129 + autobahn/client/hornbeam_case_9_3_1.html | 304 +++ autobahn/client/hornbeam_case_9_3_1.json | 130 + autobahn/client/hornbeam_case_9_3_2.html | 303 +++ autobahn/client/hornbeam_case_9_3_2.json | 135 + autobahn/client/hornbeam_case_9_3_3.html | 302 +++ autobahn/client/hornbeam_case_9_3_3.json | 128 + autobahn/client/hornbeam_case_9_3_4.html | 302 +++ autobahn/client/hornbeam_case_9_3_4.json | 128 + autobahn/client/hornbeam_case_9_3_5.html | 302 +++ autobahn/client/hornbeam_case_9_3_5.json | 128 + autobahn/client/hornbeam_case_9_3_6.html | 302 +++ autobahn/client/hornbeam_case_9_3_6.json | 128 + autobahn/client/hornbeam_case_9_3_7.html | 302 +++ autobahn/client/hornbeam_case_9_3_7.json | 128 + autobahn/client/hornbeam_case_9_3_8.html | 303 +++ autobahn/client/hornbeam_case_9_3_8.json | 135 + autobahn/client/hornbeam_case_9_3_9.html | 301 +++ autobahn/client/hornbeam_case_9_3_9.json | 133 + autobahn/client/hornbeam_case_9_4_1.html | 300 +++ autobahn/client/hornbeam_case_9_4_1.json | 126 + autobahn/client/hornbeam_case_9_4_2.html | 302 +++ autobahn/client/hornbeam_case_9_4_2.json | 128 + autobahn/client/hornbeam_case_9_4_3.html | 302 +++ autobahn/client/hornbeam_case_9_4_3.json | 128 + autobahn/client/hornbeam_case_9_4_4.html | 302 +++ autobahn/client/hornbeam_case_9_4_4.json | 128 + autobahn/client/hornbeam_case_9_4_5.html | 302 +++ autobahn/client/hornbeam_case_9_4_5.json | 128 + autobahn/client/hornbeam_case_9_4_6.html | 302 +++ autobahn/client/hornbeam_case_9_4_6.json | 128 + autobahn/client/hornbeam_case_9_4_7.html | 302 +++ autobahn/client/hornbeam_case_9_4_7.json | 128 + autobahn/client/hornbeam_case_9_4_8.html | 302 +++ autobahn/client/hornbeam_case_9_4_8.json | 128 + autobahn/client/hornbeam_case_9_4_9.html | 301 +++ autobahn/client/hornbeam_case_9_4_9.json | 133 + autobahn/client/hornbeam_case_9_5_1.html | 301 +++ autobahn/client/hornbeam_case_9_5_1.json | 127 + autobahn/client/hornbeam_case_9_5_2.html | 302 +++ autobahn/client/hornbeam_case_9_5_2.json | 128 + autobahn/client/hornbeam_case_9_5_3.html | 302 +++ autobahn/client/hornbeam_case_9_5_3.json | 128 + autobahn/client/hornbeam_case_9_5_4.html | 301 +++ autobahn/client/hornbeam_case_9_5_4.json | 127 + autobahn/client/hornbeam_case_9_5_5.html | 301 +++ autobahn/client/hornbeam_case_9_5_5.json | 127 + autobahn/client/hornbeam_case_9_5_6.html | 302 +++ autobahn/client/hornbeam_case_9_5_6.json | 128 + autobahn/client/hornbeam_case_9_6_1.html | 304 +++ autobahn/client/hornbeam_case_9_6_1.json | 136 + autobahn/client/hornbeam_case_9_6_2.html | 303 +++ autobahn/client/hornbeam_case_9_6_2.json | 129 + autobahn/client/hornbeam_case_9_6_3.html | 304 +++ autobahn/client/hornbeam_case_9_6_3.json | 136 + autobahn/client/hornbeam_case_9_6_4.html | 303 +++ autobahn/client/hornbeam_case_9_6_4.json | 129 + autobahn/client/hornbeam_case_9_6_5.html | 303 +++ autobahn/client/hornbeam_case_9_6_5.json | 129 + autobahn/client/hornbeam_case_9_6_6.html | 303 +++ autobahn/client/hornbeam_case_9_6_6.json | 129 + autobahn/client/index.html | 772 +++--- autobahn/client/index.json | 2839 ++++++++++++++++---- autobahn/server.json | 2 +- hornbeam/Cargo.toml | 1 + hornbeam/src/frame/frame_ops.rs | 11 +- hornbeam/src/frame/read.rs | 43 +- hornbeam/src/frame/write.rs | 1 - hornbeam/src/handshake_client.rs | 2 - hornbeam/src/stream.rs | 69 +- 1020 files changed, 106134 insertions(+), 16014 deletions(-) create mode 100644 autobahn/client/hornbeam_case_10_1_1.html create mode 100644 autobahn/client/hornbeam_case_10_1_1.json create mode 100644 autobahn/client/hornbeam_case_12_1_1.html create mode 100644 autobahn/client/hornbeam_case_12_1_1.json create mode 100644 autobahn/client/hornbeam_case_12_1_10.html create mode 100644 autobahn/client/hornbeam_case_12_1_10.json create mode 100644 autobahn/client/hornbeam_case_12_1_11.html create mode 100644 autobahn/client/hornbeam_case_12_1_11.json create mode 100644 autobahn/client/hornbeam_case_12_1_12.html create mode 100644 autobahn/client/hornbeam_case_12_1_12.json create mode 100644 autobahn/client/hornbeam_case_12_1_13.html create mode 100644 autobahn/client/hornbeam_case_12_1_13.json create mode 100644 autobahn/client/hornbeam_case_12_1_14.html create mode 100644 autobahn/client/hornbeam_case_12_1_14.json create mode 100644 autobahn/client/hornbeam_case_12_1_15.html create mode 100644 autobahn/client/hornbeam_case_12_1_15.json create mode 100644 autobahn/client/hornbeam_case_12_1_16.html create mode 100644 autobahn/client/hornbeam_case_12_1_16.json create mode 100644 autobahn/client/hornbeam_case_12_1_17.html create mode 100644 autobahn/client/hornbeam_case_12_1_17.json create mode 100644 autobahn/client/hornbeam_case_12_1_18.html create mode 100644 autobahn/client/hornbeam_case_12_1_18.json create mode 100644 autobahn/client/hornbeam_case_12_1_2.html create mode 100644 autobahn/client/hornbeam_case_12_1_2.json create mode 100644 autobahn/client/hornbeam_case_12_1_3.html create mode 100644 autobahn/client/hornbeam_case_12_1_3.json create mode 100644 autobahn/client/hornbeam_case_12_1_4.html create mode 100644 autobahn/client/hornbeam_case_12_1_4.json create mode 100644 autobahn/client/hornbeam_case_12_1_5.html create mode 100644 autobahn/client/hornbeam_case_12_1_5.json create mode 100644 autobahn/client/hornbeam_case_12_1_6.html create mode 100644 autobahn/client/hornbeam_case_12_1_6.json create mode 100644 autobahn/client/hornbeam_case_12_1_7.html create mode 100644 autobahn/client/hornbeam_case_12_1_7.json create mode 100644 autobahn/client/hornbeam_case_12_1_8.html create mode 100644 autobahn/client/hornbeam_case_12_1_8.json create mode 100644 autobahn/client/hornbeam_case_12_1_9.html create mode 100644 autobahn/client/hornbeam_case_12_1_9.json create mode 100644 autobahn/client/hornbeam_case_12_2_1.html create mode 100644 autobahn/client/hornbeam_case_12_2_1.json create mode 100644 autobahn/client/hornbeam_case_12_2_10.html create mode 100644 autobahn/client/hornbeam_case_12_2_10.json create mode 100644 autobahn/client/hornbeam_case_12_2_11.html create mode 100644 autobahn/client/hornbeam_case_12_2_11.json create mode 100644 autobahn/client/hornbeam_case_12_2_12.html create mode 100644 autobahn/client/hornbeam_case_12_2_12.json create mode 100644 autobahn/client/hornbeam_case_12_2_13.html create mode 100644 autobahn/client/hornbeam_case_12_2_13.json create mode 100644 autobahn/client/hornbeam_case_12_2_14.html create mode 100644 autobahn/client/hornbeam_case_12_2_14.json create mode 100644 autobahn/client/hornbeam_case_12_2_15.html create mode 100644 autobahn/client/hornbeam_case_12_2_15.json create mode 100644 autobahn/client/hornbeam_case_12_2_16.html create mode 100644 autobahn/client/hornbeam_case_12_2_16.json create mode 100644 autobahn/client/hornbeam_case_12_2_17.html create mode 100644 autobahn/client/hornbeam_case_12_2_17.json create mode 100644 autobahn/client/hornbeam_case_12_2_18.html create mode 100644 autobahn/client/hornbeam_case_12_2_18.json create mode 100644 autobahn/client/hornbeam_case_12_2_2.html create mode 100644 autobahn/client/hornbeam_case_12_2_2.json create mode 100644 autobahn/client/hornbeam_case_12_2_3.html create mode 100644 autobahn/client/hornbeam_case_12_2_3.json create mode 100644 autobahn/client/hornbeam_case_12_2_4.html create mode 100644 autobahn/client/hornbeam_case_12_2_4.json create mode 100644 autobahn/client/hornbeam_case_12_2_5.html create mode 100644 autobahn/client/hornbeam_case_12_2_5.json create mode 100644 autobahn/client/hornbeam_case_12_2_6.html create mode 100644 autobahn/client/hornbeam_case_12_2_6.json create mode 100644 autobahn/client/hornbeam_case_12_2_7.html create mode 100644 autobahn/client/hornbeam_case_12_2_7.json create mode 100644 autobahn/client/hornbeam_case_12_2_8.html create mode 100644 autobahn/client/hornbeam_case_12_2_8.json create mode 100644 autobahn/client/hornbeam_case_12_2_9.html create mode 100644 autobahn/client/hornbeam_case_12_2_9.json create mode 100644 autobahn/client/hornbeam_case_12_3_1.html create mode 100644 autobahn/client/hornbeam_case_12_3_1.json create mode 100644 autobahn/client/hornbeam_case_12_3_10.html create mode 100644 autobahn/client/hornbeam_case_12_3_10.json create mode 100644 autobahn/client/hornbeam_case_12_3_11.html create mode 100644 autobahn/client/hornbeam_case_12_3_11.json create mode 100644 autobahn/client/hornbeam_case_12_3_12.html create mode 100644 autobahn/client/hornbeam_case_12_3_12.json create mode 100644 autobahn/client/hornbeam_case_12_3_13.html create mode 100644 autobahn/client/hornbeam_case_12_3_13.json create mode 100644 autobahn/client/hornbeam_case_12_3_14.html create mode 100644 autobahn/client/hornbeam_case_12_3_14.json create mode 100644 autobahn/client/hornbeam_case_12_3_15.html create mode 100644 autobahn/client/hornbeam_case_12_3_15.json create mode 100644 autobahn/client/hornbeam_case_12_3_16.html create mode 100644 autobahn/client/hornbeam_case_12_3_16.json create mode 100644 autobahn/client/hornbeam_case_12_3_17.html create mode 100644 autobahn/client/hornbeam_case_12_3_17.json create mode 100644 autobahn/client/hornbeam_case_12_3_18.html create mode 100644 autobahn/client/hornbeam_case_12_3_18.json create mode 100644 autobahn/client/hornbeam_case_12_3_2.html create mode 100644 autobahn/client/hornbeam_case_12_3_2.json create mode 100644 autobahn/client/hornbeam_case_12_3_3.html create mode 100644 autobahn/client/hornbeam_case_12_3_3.json create mode 100644 autobahn/client/hornbeam_case_12_3_4.html create mode 100644 autobahn/client/hornbeam_case_12_3_4.json create mode 100644 autobahn/client/hornbeam_case_12_3_5.html create mode 100644 autobahn/client/hornbeam_case_12_3_5.json create mode 100644 autobahn/client/hornbeam_case_12_3_6.html create mode 100644 autobahn/client/hornbeam_case_12_3_6.json create mode 100644 autobahn/client/hornbeam_case_12_3_7.html create mode 100644 autobahn/client/hornbeam_case_12_3_7.json create mode 100644 autobahn/client/hornbeam_case_12_3_8.html create mode 100644 autobahn/client/hornbeam_case_12_3_8.json create mode 100644 autobahn/client/hornbeam_case_12_3_9.html create mode 100644 autobahn/client/hornbeam_case_12_3_9.json create mode 100644 autobahn/client/hornbeam_case_12_4_1.html create mode 100644 autobahn/client/hornbeam_case_12_4_1.json create mode 100644 autobahn/client/hornbeam_case_12_4_10.html create mode 100644 autobahn/client/hornbeam_case_12_4_10.json create mode 100644 autobahn/client/hornbeam_case_12_4_11.html create mode 100644 autobahn/client/hornbeam_case_12_4_11.json create mode 100644 autobahn/client/hornbeam_case_12_4_12.html create mode 100644 autobahn/client/hornbeam_case_12_4_12.json create mode 100644 autobahn/client/hornbeam_case_12_4_13.html create mode 100644 autobahn/client/hornbeam_case_12_4_13.json create mode 100644 autobahn/client/hornbeam_case_12_4_14.html create mode 100644 autobahn/client/hornbeam_case_12_4_14.json create mode 100644 autobahn/client/hornbeam_case_12_4_15.html create mode 100644 autobahn/client/hornbeam_case_12_4_15.json create mode 100644 autobahn/client/hornbeam_case_12_4_16.html create mode 100644 autobahn/client/hornbeam_case_12_4_16.json create mode 100644 autobahn/client/hornbeam_case_12_4_17.html create mode 100644 autobahn/client/hornbeam_case_12_4_17.json create mode 100644 autobahn/client/hornbeam_case_12_4_18.html create mode 100644 autobahn/client/hornbeam_case_12_4_18.json create mode 100644 autobahn/client/hornbeam_case_12_4_2.html create mode 100644 autobahn/client/hornbeam_case_12_4_2.json create mode 100644 autobahn/client/hornbeam_case_12_4_3.html create mode 100644 autobahn/client/hornbeam_case_12_4_3.json create mode 100644 autobahn/client/hornbeam_case_12_4_4.html create mode 100644 autobahn/client/hornbeam_case_12_4_4.json create mode 100644 autobahn/client/hornbeam_case_12_4_5.html create mode 100644 autobahn/client/hornbeam_case_12_4_5.json create mode 100644 autobahn/client/hornbeam_case_12_4_6.html create mode 100644 autobahn/client/hornbeam_case_12_4_6.json create mode 100644 autobahn/client/hornbeam_case_12_4_7.html create mode 100644 autobahn/client/hornbeam_case_12_4_7.json create mode 100644 autobahn/client/hornbeam_case_12_4_8.html create mode 100644 autobahn/client/hornbeam_case_12_4_8.json create mode 100644 autobahn/client/hornbeam_case_12_4_9.html create mode 100644 autobahn/client/hornbeam_case_12_4_9.json create mode 100644 autobahn/client/hornbeam_case_12_5_1.html create mode 100644 autobahn/client/hornbeam_case_12_5_1.json create mode 100644 autobahn/client/hornbeam_case_12_5_10.html create mode 100644 autobahn/client/hornbeam_case_12_5_10.json create mode 100644 autobahn/client/hornbeam_case_12_5_11.html create mode 100644 autobahn/client/hornbeam_case_12_5_11.json create mode 100644 autobahn/client/hornbeam_case_12_5_12.html create mode 100644 autobahn/client/hornbeam_case_12_5_12.json create mode 100644 autobahn/client/hornbeam_case_12_5_13.html create mode 100644 autobahn/client/hornbeam_case_12_5_13.json create mode 100644 autobahn/client/hornbeam_case_12_5_14.html create mode 100644 autobahn/client/hornbeam_case_12_5_14.json create mode 100644 autobahn/client/hornbeam_case_12_5_15.html create mode 100644 autobahn/client/hornbeam_case_12_5_15.json create mode 100644 autobahn/client/hornbeam_case_12_5_16.html create mode 100644 autobahn/client/hornbeam_case_12_5_16.json create mode 100644 autobahn/client/hornbeam_case_12_5_17.html create mode 100644 autobahn/client/hornbeam_case_12_5_17.json create mode 100644 autobahn/client/hornbeam_case_12_5_18.html create mode 100644 autobahn/client/hornbeam_case_12_5_18.json create mode 100644 autobahn/client/hornbeam_case_12_5_2.html create mode 100644 autobahn/client/hornbeam_case_12_5_2.json create mode 100644 autobahn/client/hornbeam_case_12_5_3.html create mode 100644 autobahn/client/hornbeam_case_12_5_3.json create mode 100644 autobahn/client/hornbeam_case_12_5_4.html create mode 100644 autobahn/client/hornbeam_case_12_5_4.json create mode 100644 autobahn/client/hornbeam_case_12_5_5.html create mode 100644 autobahn/client/hornbeam_case_12_5_5.json create mode 100644 autobahn/client/hornbeam_case_12_5_6.html create mode 100644 autobahn/client/hornbeam_case_12_5_6.json create mode 100644 autobahn/client/hornbeam_case_12_5_7.html create mode 100644 autobahn/client/hornbeam_case_12_5_7.json create mode 100644 autobahn/client/hornbeam_case_12_5_8.html create mode 100644 autobahn/client/hornbeam_case_12_5_8.json create mode 100644 autobahn/client/hornbeam_case_12_5_9.html create mode 100644 autobahn/client/hornbeam_case_12_5_9.json create mode 100644 autobahn/client/hornbeam_case_13_1_1.html create mode 100644 autobahn/client/hornbeam_case_13_1_1.json create mode 100644 autobahn/client/hornbeam_case_13_1_10.html create mode 100644 autobahn/client/hornbeam_case_13_1_10.json create mode 100644 autobahn/client/hornbeam_case_13_1_11.html create mode 100644 autobahn/client/hornbeam_case_13_1_11.json create mode 100644 autobahn/client/hornbeam_case_13_1_12.html create mode 100644 autobahn/client/hornbeam_case_13_1_12.json create mode 100644 autobahn/client/hornbeam_case_13_1_13.html create mode 100644 autobahn/client/hornbeam_case_13_1_13.json create mode 100644 autobahn/client/hornbeam_case_13_1_14.html create mode 100644 autobahn/client/hornbeam_case_13_1_14.json create mode 100644 autobahn/client/hornbeam_case_13_1_15.html create mode 100644 autobahn/client/hornbeam_case_13_1_15.json create mode 100644 autobahn/client/hornbeam_case_13_1_16.html create mode 100644 autobahn/client/hornbeam_case_13_1_16.json create mode 100644 autobahn/client/hornbeam_case_13_1_17.html create mode 100644 autobahn/client/hornbeam_case_13_1_17.json create mode 100644 autobahn/client/hornbeam_case_13_1_18.html create mode 100644 autobahn/client/hornbeam_case_13_1_18.json create mode 100644 autobahn/client/hornbeam_case_13_1_2.html create mode 100644 autobahn/client/hornbeam_case_13_1_2.json create mode 100644 autobahn/client/hornbeam_case_13_1_3.html create mode 100644 autobahn/client/hornbeam_case_13_1_3.json create mode 100644 autobahn/client/hornbeam_case_13_1_4.html create mode 100644 autobahn/client/hornbeam_case_13_1_4.json create mode 100644 autobahn/client/hornbeam_case_13_1_5.html create mode 100644 autobahn/client/hornbeam_case_13_1_5.json create mode 100644 autobahn/client/hornbeam_case_13_1_6.html create mode 100644 autobahn/client/hornbeam_case_13_1_6.json create mode 100644 autobahn/client/hornbeam_case_13_1_7.html create mode 100644 autobahn/client/hornbeam_case_13_1_7.json create mode 100644 autobahn/client/hornbeam_case_13_1_8.html create mode 100644 autobahn/client/hornbeam_case_13_1_8.json create mode 100644 autobahn/client/hornbeam_case_13_1_9.html create mode 100644 autobahn/client/hornbeam_case_13_1_9.json create mode 100644 autobahn/client/hornbeam_case_13_2_1.html create mode 100644 autobahn/client/hornbeam_case_13_2_1.json create mode 100644 autobahn/client/hornbeam_case_13_2_10.html create mode 100644 autobahn/client/hornbeam_case_13_2_10.json create mode 100644 autobahn/client/hornbeam_case_13_2_11.html create mode 100644 autobahn/client/hornbeam_case_13_2_11.json create mode 100644 autobahn/client/hornbeam_case_13_2_12.html create mode 100644 autobahn/client/hornbeam_case_13_2_12.json create mode 100644 autobahn/client/hornbeam_case_13_2_13.html create mode 100644 autobahn/client/hornbeam_case_13_2_13.json create mode 100644 autobahn/client/hornbeam_case_13_2_14.html create mode 100644 autobahn/client/hornbeam_case_13_2_14.json create mode 100644 autobahn/client/hornbeam_case_13_2_15.html create mode 100644 autobahn/client/hornbeam_case_13_2_15.json create mode 100644 autobahn/client/hornbeam_case_13_2_16.html create mode 100644 autobahn/client/hornbeam_case_13_2_16.json create mode 100644 autobahn/client/hornbeam_case_13_2_17.html create mode 100644 autobahn/client/hornbeam_case_13_2_17.json create mode 100644 autobahn/client/hornbeam_case_13_2_18.html create mode 100644 autobahn/client/hornbeam_case_13_2_18.json create mode 100644 autobahn/client/hornbeam_case_13_2_2.html create mode 100644 autobahn/client/hornbeam_case_13_2_2.json create mode 100644 autobahn/client/hornbeam_case_13_2_3.html create mode 100644 autobahn/client/hornbeam_case_13_2_3.json create mode 100644 autobahn/client/hornbeam_case_13_2_4.html create mode 100644 autobahn/client/hornbeam_case_13_2_4.json create mode 100644 autobahn/client/hornbeam_case_13_2_5.html create mode 100644 autobahn/client/hornbeam_case_13_2_5.json create mode 100644 autobahn/client/hornbeam_case_13_2_6.html create mode 100644 autobahn/client/hornbeam_case_13_2_6.json create mode 100644 autobahn/client/hornbeam_case_13_2_7.html create mode 100644 autobahn/client/hornbeam_case_13_2_7.json create mode 100644 autobahn/client/hornbeam_case_13_2_8.html create mode 100644 autobahn/client/hornbeam_case_13_2_8.json create mode 100644 autobahn/client/hornbeam_case_13_2_9.html create mode 100644 autobahn/client/hornbeam_case_13_2_9.json create mode 100644 autobahn/client/hornbeam_case_13_3_1.html create mode 100644 autobahn/client/hornbeam_case_13_3_1.json create mode 100644 autobahn/client/hornbeam_case_13_3_10.html create mode 100644 autobahn/client/hornbeam_case_13_3_10.json create mode 100644 autobahn/client/hornbeam_case_13_3_11.html create mode 100644 autobahn/client/hornbeam_case_13_3_11.json create mode 100644 autobahn/client/hornbeam_case_13_3_12.html create mode 100644 autobahn/client/hornbeam_case_13_3_12.json create mode 100644 autobahn/client/hornbeam_case_13_3_13.html create mode 100644 autobahn/client/hornbeam_case_13_3_13.json create mode 100644 autobahn/client/hornbeam_case_13_3_14.html create mode 100644 autobahn/client/hornbeam_case_13_3_14.json create mode 100644 autobahn/client/hornbeam_case_13_3_15.html create mode 100644 autobahn/client/hornbeam_case_13_3_15.json create mode 100644 autobahn/client/hornbeam_case_13_3_16.html create mode 100644 autobahn/client/hornbeam_case_13_3_16.json create mode 100644 autobahn/client/hornbeam_case_13_3_17.html create mode 100644 autobahn/client/hornbeam_case_13_3_17.json create mode 100644 autobahn/client/hornbeam_case_13_3_18.html create mode 100644 autobahn/client/hornbeam_case_13_3_18.json create mode 100644 autobahn/client/hornbeam_case_13_3_2.html create mode 100644 autobahn/client/hornbeam_case_13_3_2.json create mode 100644 autobahn/client/hornbeam_case_13_3_3.html create mode 100644 autobahn/client/hornbeam_case_13_3_3.json create mode 100644 autobahn/client/hornbeam_case_13_3_4.html create mode 100644 autobahn/client/hornbeam_case_13_3_4.json create mode 100644 autobahn/client/hornbeam_case_13_3_5.html create mode 100644 autobahn/client/hornbeam_case_13_3_5.json create mode 100644 autobahn/client/hornbeam_case_13_3_6.html create mode 100644 autobahn/client/hornbeam_case_13_3_6.json create mode 100644 autobahn/client/hornbeam_case_13_3_7.html create mode 100644 autobahn/client/hornbeam_case_13_3_7.json create mode 100644 autobahn/client/hornbeam_case_13_3_8.html create mode 100644 autobahn/client/hornbeam_case_13_3_8.json create mode 100644 autobahn/client/hornbeam_case_13_3_9.html create mode 100644 autobahn/client/hornbeam_case_13_3_9.json create mode 100644 autobahn/client/hornbeam_case_13_4_1.html create mode 100644 autobahn/client/hornbeam_case_13_4_1.json create mode 100644 autobahn/client/hornbeam_case_13_4_10.html create mode 100644 autobahn/client/hornbeam_case_13_4_10.json create mode 100644 autobahn/client/hornbeam_case_13_4_11.html create mode 100644 autobahn/client/hornbeam_case_13_4_11.json create mode 100644 autobahn/client/hornbeam_case_13_4_12.html create mode 100644 autobahn/client/hornbeam_case_13_4_12.json create mode 100644 autobahn/client/hornbeam_case_13_4_13.html create mode 100644 autobahn/client/hornbeam_case_13_4_13.json create mode 100644 autobahn/client/hornbeam_case_13_4_14.html create mode 100644 autobahn/client/hornbeam_case_13_4_14.json create mode 100644 autobahn/client/hornbeam_case_13_4_15.html create mode 100644 autobahn/client/hornbeam_case_13_4_15.json create mode 100644 autobahn/client/hornbeam_case_13_4_16.html create mode 100644 autobahn/client/hornbeam_case_13_4_16.json create mode 100644 autobahn/client/hornbeam_case_13_4_17.html create mode 100644 autobahn/client/hornbeam_case_13_4_17.json create mode 100644 autobahn/client/hornbeam_case_13_4_18.html create mode 100644 autobahn/client/hornbeam_case_13_4_18.json create mode 100644 autobahn/client/hornbeam_case_13_4_2.html create mode 100644 autobahn/client/hornbeam_case_13_4_2.json create mode 100644 autobahn/client/hornbeam_case_13_4_3.html create mode 100644 autobahn/client/hornbeam_case_13_4_3.json create mode 100644 autobahn/client/hornbeam_case_13_4_4.html create mode 100644 autobahn/client/hornbeam_case_13_4_4.json create mode 100644 autobahn/client/hornbeam_case_13_4_5.html create mode 100644 autobahn/client/hornbeam_case_13_4_5.json create mode 100644 autobahn/client/hornbeam_case_13_4_6.html create mode 100644 autobahn/client/hornbeam_case_13_4_6.json create mode 100644 autobahn/client/hornbeam_case_13_4_7.html create mode 100644 autobahn/client/hornbeam_case_13_4_7.json create mode 100644 autobahn/client/hornbeam_case_13_4_8.html create mode 100644 autobahn/client/hornbeam_case_13_4_8.json create mode 100644 autobahn/client/hornbeam_case_13_4_9.html create mode 100644 autobahn/client/hornbeam_case_13_4_9.json create mode 100644 autobahn/client/hornbeam_case_13_5_1.html create mode 100644 autobahn/client/hornbeam_case_13_5_1.json create mode 100644 autobahn/client/hornbeam_case_13_5_10.html create mode 100644 autobahn/client/hornbeam_case_13_5_10.json create mode 100644 autobahn/client/hornbeam_case_13_5_11.html create mode 100644 autobahn/client/hornbeam_case_13_5_11.json create mode 100644 autobahn/client/hornbeam_case_13_5_12.html create mode 100644 autobahn/client/hornbeam_case_13_5_12.json create mode 100644 autobahn/client/hornbeam_case_13_5_13.html create mode 100644 autobahn/client/hornbeam_case_13_5_13.json create mode 100644 autobahn/client/hornbeam_case_13_5_14.html create mode 100644 autobahn/client/hornbeam_case_13_5_14.json create mode 100644 autobahn/client/hornbeam_case_13_5_15.html create mode 100644 autobahn/client/hornbeam_case_13_5_15.json create mode 100644 autobahn/client/hornbeam_case_13_5_16.html create mode 100644 autobahn/client/hornbeam_case_13_5_16.json create mode 100644 autobahn/client/hornbeam_case_13_5_17.html create mode 100644 autobahn/client/hornbeam_case_13_5_17.json create mode 100644 autobahn/client/hornbeam_case_13_5_18.html create mode 100644 autobahn/client/hornbeam_case_13_5_18.json create mode 100644 autobahn/client/hornbeam_case_13_5_2.html create mode 100644 autobahn/client/hornbeam_case_13_5_2.json create mode 100644 autobahn/client/hornbeam_case_13_5_3.html create mode 100644 autobahn/client/hornbeam_case_13_5_3.json create mode 100644 autobahn/client/hornbeam_case_13_5_4.html create mode 100644 autobahn/client/hornbeam_case_13_5_4.json create mode 100644 autobahn/client/hornbeam_case_13_5_5.html create mode 100644 autobahn/client/hornbeam_case_13_5_5.json create mode 100644 autobahn/client/hornbeam_case_13_5_6.html create mode 100644 autobahn/client/hornbeam_case_13_5_6.json create mode 100644 autobahn/client/hornbeam_case_13_5_7.html create mode 100644 autobahn/client/hornbeam_case_13_5_7.json create mode 100644 autobahn/client/hornbeam_case_13_5_8.html create mode 100644 autobahn/client/hornbeam_case_13_5_8.json create mode 100644 autobahn/client/hornbeam_case_13_5_9.html create mode 100644 autobahn/client/hornbeam_case_13_5_9.json create mode 100644 autobahn/client/hornbeam_case_13_6_1.html create mode 100644 autobahn/client/hornbeam_case_13_6_1.json create mode 100644 autobahn/client/hornbeam_case_13_6_10.html create mode 100644 autobahn/client/hornbeam_case_13_6_10.json create mode 100644 autobahn/client/hornbeam_case_13_6_11.html create mode 100644 autobahn/client/hornbeam_case_13_6_11.json create mode 100644 autobahn/client/hornbeam_case_13_6_12.html create mode 100644 autobahn/client/hornbeam_case_13_6_12.json create mode 100644 autobahn/client/hornbeam_case_13_6_13.html create mode 100644 autobahn/client/hornbeam_case_13_6_13.json create mode 100644 autobahn/client/hornbeam_case_13_6_14.html create mode 100644 autobahn/client/hornbeam_case_13_6_14.json create mode 100644 autobahn/client/hornbeam_case_13_6_15.html create mode 100644 autobahn/client/hornbeam_case_13_6_15.json create mode 100644 autobahn/client/hornbeam_case_13_6_16.html create mode 100644 autobahn/client/hornbeam_case_13_6_16.json create mode 100644 autobahn/client/hornbeam_case_13_6_17.html create mode 100644 autobahn/client/hornbeam_case_13_6_17.json create mode 100644 autobahn/client/hornbeam_case_13_6_18.html create mode 100644 autobahn/client/hornbeam_case_13_6_18.json create mode 100644 autobahn/client/hornbeam_case_13_6_2.html create mode 100644 autobahn/client/hornbeam_case_13_6_2.json create mode 100644 autobahn/client/hornbeam_case_13_6_3.html create mode 100644 autobahn/client/hornbeam_case_13_6_3.json create mode 100644 autobahn/client/hornbeam_case_13_6_4.html create mode 100644 autobahn/client/hornbeam_case_13_6_4.json create mode 100644 autobahn/client/hornbeam_case_13_6_5.html create mode 100644 autobahn/client/hornbeam_case_13_6_5.json create mode 100644 autobahn/client/hornbeam_case_13_6_6.html create mode 100644 autobahn/client/hornbeam_case_13_6_6.json create mode 100644 autobahn/client/hornbeam_case_13_6_7.html create mode 100644 autobahn/client/hornbeam_case_13_6_7.json create mode 100644 autobahn/client/hornbeam_case_13_6_8.html create mode 100644 autobahn/client/hornbeam_case_13_6_8.json create mode 100644 autobahn/client/hornbeam_case_13_6_9.html create mode 100644 autobahn/client/hornbeam_case_13_6_9.json create mode 100644 autobahn/client/hornbeam_case_13_7_1.html create mode 100644 autobahn/client/hornbeam_case_13_7_1.json create mode 100644 autobahn/client/hornbeam_case_13_7_10.html create mode 100644 autobahn/client/hornbeam_case_13_7_10.json create mode 100644 autobahn/client/hornbeam_case_13_7_11.html create mode 100644 autobahn/client/hornbeam_case_13_7_11.json create mode 100644 autobahn/client/hornbeam_case_13_7_12.html create mode 100644 autobahn/client/hornbeam_case_13_7_12.json create mode 100644 autobahn/client/hornbeam_case_13_7_13.html create mode 100644 autobahn/client/hornbeam_case_13_7_13.json create mode 100644 autobahn/client/hornbeam_case_13_7_14.html create mode 100644 autobahn/client/hornbeam_case_13_7_14.json create mode 100644 autobahn/client/hornbeam_case_13_7_15.html create mode 100644 autobahn/client/hornbeam_case_13_7_15.json create mode 100644 autobahn/client/hornbeam_case_13_7_16.html create mode 100644 autobahn/client/hornbeam_case_13_7_16.json create mode 100644 autobahn/client/hornbeam_case_13_7_17.html create mode 100644 autobahn/client/hornbeam_case_13_7_17.json create mode 100644 autobahn/client/hornbeam_case_13_7_18.html create mode 100644 autobahn/client/hornbeam_case_13_7_18.json create mode 100644 autobahn/client/hornbeam_case_13_7_2.html create mode 100644 autobahn/client/hornbeam_case_13_7_2.json create mode 100644 autobahn/client/hornbeam_case_13_7_3.html create mode 100644 autobahn/client/hornbeam_case_13_7_3.json create mode 100644 autobahn/client/hornbeam_case_13_7_4.html create mode 100644 autobahn/client/hornbeam_case_13_7_4.json create mode 100644 autobahn/client/hornbeam_case_13_7_5.html create mode 100644 autobahn/client/hornbeam_case_13_7_5.json create mode 100644 autobahn/client/hornbeam_case_13_7_6.html create mode 100644 autobahn/client/hornbeam_case_13_7_6.json create mode 100644 autobahn/client/hornbeam_case_13_7_7.html create mode 100644 autobahn/client/hornbeam_case_13_7_7.json create mode 100644 autobahn/client/hornbeam_case_13_7_8.html create mode 100644 autobahn/client/hornbeam_case_13_7_8.json create mode 100644 autobahn/client/hornbeam_case_13_7_9.html create mode 100644 autobahn/client/hornbeam_case_13_7_9.json create mode 100644 autobahn/client/hornbeam_case_9_2_5.html create mode 100644 autobahn/client/hornbeam_case_9_2_5.json create mode 100644 autobahn/client/hornbeam_case_9_2_6.html create mode 100644 autobahn/client/hornbeam_case_9_2_6.json create mode 100644 autobahn/client/hornbeam_case_9_3_1.html create mode 100644 autobahn/client/hornbeam_case_9_3_1.json create mode 100644 autobahn/client/hornbeam_case_9_3_2.html create mode 100644 autobahn/client/hornbeam_case_9_3_2.json create mode 100644 autobahn/client/hornbeam_case_9_3_3.html create mode 100644 autobahn/client/hornbeam_case_9_3_3.json create mode 100644 autobahn/client/hornbeam_case_9_3_4.html create mode 100644 autobahn/client/hornbeam_case_9_3_4.json create mode 100644 autobahn/client/hornbeam_case_9_3_5.html create mode 100644 autobahn/client/hornbeam_case_9_3_5.json create mode 100644 autobahn/client/hornbeam_case_9_3_6.html create mode 100644 autobahn/client/hornbeam_case_9_3_6.json create mode 100644 autobahn/client/hornbeam_case_9_3_7.html create mode 100644 autobahn/client/hornbeam_case_9_3_7.json create mode 100644 autobahn/client/hornbeam_case_9_3_8.html create mode 100644 autobahn/client/hornbeam_case_9_3_8.json create mode 100644 autobahn/client/hornbeam_case_9_3_9.html create mode 100644 autobahn/client/hornbeam_case_9_3_9.json create mode 100644 autobahn/client/hornbeam_case_9_4_1.html create mode 100644 autobahn/client/hornbeam_case_9_4_1.json create mode 100644 autobahn/client/hornbeam_case_9_4_2.html create mode 100644 autobahn/client/hornbeam_case_9_4_2.json create mode 100644 autobahn/client/hornbeam_case_9_4_3.html create mode 100644 autobahn/client/hornbeam_case_9_4_3.json create mode 100644 autobahn/client/hornbeam_case_9_4_4.html create mode 100644 autobahn/client/hornbeam_case_9_4_4.json create mode 100644 autobahn/client/hornbeam_case_9_4_5.html create mode 100644 autobahn/client/hornbeam_case_9_4_5.json create mode 100644 autobahn/client/hornbeam_case_9_4_6.html create mode 100644 autobahn/client/hornbeam_case_9_4_6.json create mode 100644 autobahn/client/hornbeam_case_9_4_7.html create mode 100644 autobahn/client/hornbeam_case_9_4_7.json create mode 100644 autobahn/client/hornbeam_case_9_4_8.html create mode 100644 autobahn/client/hornbeam_case_9_4_8.json create mode 100644 autobahn/client/hornbeam_case_9_4_9.html create mode 100644 autobahn/client/hornbeam_case_9_4_9.json create mode 100644 autobahn/client/hornbeam_case_9_5_1.html create mode 100644 autobahn/client/hornbeam_case_9_5_1.json create mode 100644 autobahn/client/hornbeam_case_9_5_2.html create mode 100644 autobahn/client/hornbeam_case_9_5_2.json create mode 100644 autobahn/client/hornbeam_case_9_5_3.html create mode 100644 autobahn/client/hornbeam_case_9_5_3.json create mode 100644 autobahn/client/hornbeam_case_9_5_4.html create mode 100644 autobahn/client/hornbeam_case_9_5_4.json create mode 100644 autobahn/client/hornbeam_case_9_5_5.html create mode 100644 autobahn/client/hornbeam_case_9_5_5.json create mode 100644 autobahn/client/hornbeam_case_9_5_6.html create mode 100644 autobahn/client/hornbeam_case_9_5_6.json create mode 100644 autobahn/client/hornbeam_case_9_6_1.html create mode 100644 autobahn/client/hornbeam_case_9_6_1.json create mode 100644 autobahn/client/hornbeam_case_9_6_2.html create mode 100644 autobahn/client/hornbeam_case_9_6_2.json create mode 100644 autobahn/client/hornbeam_case_9_6_3.html create mode 100644 autobahn/client/hornbeam_case_9_6_3.json create mode 100644 autobahn/client/hornbeam_case_9_6_4.html create mode 100644 autobahn/client/hornbeam_case_9_6_4.json create mode 100644 autobahn/client/hornbeam_case_9_6_5.html create mode 100644 autobahn/client/hornbeam_case_9_6_5.json create mode 100644 autobahn/client/hornbeam_case_9_6_6.html create mode 100644 autobahn/client/hornbeam_case_9_6_6.json 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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + +
Chop SizeCountOctets
111
818
1841184
13032113032
23557123557
28960128960
Total665742
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
414
2061206
5401540
13045065200
Total5365950
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

Frames Transmitted by Opcode

+ + + + + + +
OpcodeCount
050
11
81
Total52
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + +
Chop SizeCountOctets
111
717
1841184
Total3192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

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

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + +
Chop SizeCountOctets
818
1841184
Total2192
+

Octets Transmitted by Chop Size

+ + + + + +
Chop SizeCountOctets
414
2061206
Total2210
+

Frames Received by Opcode

+ + + + +
OpcodeCount
81
Total1
+

Frames Transmitted by Opcode

+ + + + +
OpcodeCount
81
Total1
+

+

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;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

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;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

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;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

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;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

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

- - + + - +
Chop SizeCountOctets
122
717
111
818
1341134
1821182
Total5325
Total4325

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


diff --git a/autobahn/client/hornbeam_case_1_1_4.json b/autobahn/client/hornbeam_case_1_1_4.json index ec7299b..cea92f2 100644 --- a/autobahn/client/hornbeam_case_1_1_4.json +++ b/autobahn/client/hornbeam_case_1_1_4.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send text message message with payload of length 127.", "droppedByMe": true, - "duration": 46, + "duration": 49, "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=4&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: akRd7DxB9BxQMd+p1ZDPZw==\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: YnsMaXFP4FrXHFR5CRCpNMY28gc=\r\n\r\n", + "httpRequest": "GET /runCase?case=4&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 6nkeB8VOCTMqTq9ohK5wDg==\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: BwhyUtt3sVoW6BVorYTw4Pd6YYY=\r\n\r\n", "id": "1.1.4", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 2, - "7": 1, + "1": 1, + "8": 1, "134": 1, "182": 1 }, - "started": "2023-08-10T23:01:24.240Z", + "started": "2023-08-11T05:15:06.010Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 134, - "fe007f2e2af9090400d3230400d3230400d3230400d3230400d3230400d3230400d3230400d3230400d3230400d3230400d3230400d3230400d3230400d32304 ..." + "fe007f16ed25883cc70fa23cc70fa23cc70fa23cc70fa23cc70fa23cc70fa23cc70fa23cc70fa23cc70fa23cc70fa23cc70fa23cc70fa23cc70fa23cc70fa23c ..." ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "2e2af909" + "16ed2588" ], [ "TF", @@ -165,15 +165,8 @@ [ "RO", [ - 1, - "88" - ] - ], - [ - "RO", - [ - 7, - "82d1eb6cecd203" + 8, + "8882716977a07281" ] ], [ @@ -186,7 +179,7 @@ true, 0, true, - "d1eb6cec" + "716977a0" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_1_1_5.html b/autobahn/client/hornbeam_case_1_1_5.html index 102cd2b..a279f35 100644 --- a/autobahn/client/hornbeam_case_1_1_5.html +++ b/autobahn/client/hornbeam_case_1_1_5.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 1.1.5 : Pass - 56 ms @ 2023-08-10T23:01:24.288Z

+

Hornbeam - Case 1.1.5 : Pass - 45 ms @ 2023-08-11T05:15:06.060Z

Case Description

Send text message message with payload of length 128.

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: 9dfdJ8T8C2FNVyg3k8aCpQ== +Sec-WebSocket-Key: Cpi6+a/Ap4oQQVVRiQ+1xA== 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: wr/Dsoyuf2Gpt7Hho21et2u+jVc=
+Sec-WebSocket-Accept: ALrdIzwGh5ciezBN7FdgJsBOibU=

Closing Behavior

@@ -289,15 +289,15 @@ Sec-WebSocket-Accept: wr/Dsoyuf2Gpt7Hho21et2u+jVc=
               2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
004 FAIL CONNECTION AFTER 1.000000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: fe008093bde2b2b997c898b997c898b997c898b997c898b997c898b997c898b997c898b997c898b997c898b997c898b997c8
-
               98b997c898b997c898b997c898b9 ...
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=128, MASKED=True, MASK=3933626465326232
+
006 RX OCTETS: fe0080e41039e6ce3a13ccce3a13ccce3a13ccce3a13ccce3a13ccce3a13ccce3a13ccce3a13ccce3a13ccce3a13ccce3a13
+
               ccce3a13ccce3a13ccce3a13ccce ...
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=128, MASKED=True, MASK=6534313033396536
               **************************************************************** ...
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: 88825040d02653a8
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3530343064303236
+
010 RX OCTETS: 88823aee13053906
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3361656531333035
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_1_1_5.json b/autobahn/client/hornbeam_case_1_1_5.json index 0400173..1673b1d 100644 --- a/autobahn/client/hornbeam_case_1_1_5.json +++ b/autobahn/client/hornbeam_case_1_1_5.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send text message message with payload of length 128.", "droppedByMe": true, - "duration": 56, + "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=5&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 9dfdJ8T8C2FNVyg3k8aCpQ==\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: wr/Dsoyuf2Gpt7Hho21et2u+jVc=\r\n\r\n", + "httpRequest": "GET /runCase?case=5&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Cpi6+a/Ap4oQQVVRiQ+1xA==\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: ALrdIzwGh5ciezBN7FdgJsBOibU=\r\n\r\n", "id": "1.1.5", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "135": 1, "182": 1 }, - "started": "2023-08-10T23:01:24.288Z", + "started": "2023-08-11T05:15:06.060Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 135, - "fe008093bde2b2b997c898b997c898b997c898b997c898b997c898b997c898b997c898b997c898b997c898b997c898b997c898b997c898b997c898b997c898b9 ..." + "fe0080e41039e6ce3a13ccce3a13ccce3a13ccce3a13ccce3a13ccce3a13ccce3a13ccce3a13ccce3a13ccce3a13ccce3a13ccce3a13ccce3a13ccce3a13ccce ..." ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "93bde2b2" + "e41039e6" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "88825040d02653a8" + "88823aee13053906" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "5040d026" + "3aee1305" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_1_1_6.html b/autobahn/client/hornbeam_case_1_1_6.html index aeec8f1..6556705 100644 --- a/autobahn/client/hornbeam_case_1_1_6.html +++ b/autobahn/client/hornbeam_case_1_1_6.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 1.1.6 : Pass - 466 ms @ 2023-08-10T23:01:24.347Z

+

Hornbeam - Case 1.1.6 : Pass - 6 ms @ 2023-08-11T05:15:06.107Z

Case Description

Send text message message with payload of length 65535.

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: TLDnOIOsfx9bBLJifE1dOw== +Sec-WebSocket-Key: Tx9FIOPPk0Ji8FWBS2ftrQ== 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: xrHMDnfd4pXTHRGUrzUctj2FF1U=
+Sec-WebSocket-Accept: pjnx9/GTx5viLtNvsMSdPSKVMbw=

Closing Behavior

@@ -249,11 +249,11 @@ Sec-WebSocket-Accept: xrHMDnfd4pXTHRGUrzUctj2FF1U=
- - - + + +
Chop SizeCountOctets
111
313
717
818
1821182
65532165532
13032113032
23550123550
28960128960
Total665733

Octets Transmitted by Chop Size

@@ -291,17 +291,19 @@ Sec-WebSocket-Accept: xrHMDnfd4pXTHRGUrzUctj2FF1U=
               2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
004 FAIL CONNECTION AFTER 10.000000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: feffff
-
007 RX OCTETS: a994124383be386983be386983be386983be386983be386983be386983be386983be386983be386983be386983be386983be
-
               386983be386983be386983be3869 ...
-
008 RX OCTETS: 83be386983be38
-
009 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=65535, MASKED=True, MASK=6139393431323433
+
006 RX OCTETS: fefffffc74a1c4d65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8b
+
               eed65e8beed65e8beed65e8beed6 ...
+
007 RX OCTETS: 5e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8b
+
               eed65e8beed65e8beed65e8beed6 ...
+
008 RX OCTETS: 5e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8b
+
               eed65e8beed65e8beed65e8beed6 ...
+
009 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=65535, MASKED=True, MASK=6663373461316334
               **************************************************************** ...
010 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0x03e8
011 TX OCTETS: 880203e8
-
012 RX OCTETS: 88826a9d5f6a6975
-
013 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3661396435663661
+
012 RX OCTETS: 88824a061d5049ee
+
013 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3461303631643530
               0x03e8
014 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_1_1_6.json b/autobahn/client/hornbeam_case_1_1_6.json index fc13032..18e30de 100644 --- a/autobahn/client/hornbeam_case_1_1_6.json +++ b/autobahn/client/hornbeam_case_1_1_6.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send text message message with payload of length 65535.", "droppedByMe": true, - "duration": 466, + "duration": 6, "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=6&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: TLDnOIOsfx9bBLJifE1dOw==\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: xrHMDnfd4pXTHRGUrzUctj2FF1U=\r\n\r\n", + "httpRequest": "GET /runCase?case=6&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Tx9FIOPPk0Ji8FWBS2ftrQ==\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: pjnx9/GTx5viLtNvsMSdPSKVMbw=\r\n\r\n", "id": "1.1.6", "isServer": true, "localCloseCode": 1000, @@ -52,13 +52,13 @@ }, "rxOctetStats": { "1": 1, - "3": 1, - "7": 1, "8": 1, "182": 1, - "65532": 1 + "13032": 1, + "23550": 1, + "28960": 1 }, - "started": "2023-08-10T23:01:24.347Z", + "started": "2023-08-11T05:15:06.107Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -126,22 +126,22 @@ [ "RO", [ - 3, - "feffff" + 13032, + "fefffffc74a1c4d65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed6 ..." ] ], [ "RO", [ - 65532, - "a994124383be386983be386983be386983be386983be386983be386983be386983be386983be386983be386983be386983be386983be386983be386983be3869 ..." + 28960, + "5e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed6 ..." ] ], [ "RO", [ - 7, - "83be386983be38" + 23550, + "5e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed65e8beed6 ..." ] ], [ @@ -154,7 +154,7 @@ true, 0, true, - "a9941243" + "fc74a1c4" ], [ "TF", @@ -182,7 +182,7 @@ "RO", [ 8, - "88826a9d5f6a6975" + "88824a061d5049ee" ] ], [ @@ -195,7 +195,7 @@ true, 0, true, - "6a9d5f6a" + "4a061d50" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_1_1_7.html b/autobahn/client/hornbeam_case_1_1_7.html index dbd7245..51133fa 100644 --- a/autobahn/client/hornbeam_case_1_1_7.html +++ b/autobahn/client/hornbeam_case_1_1_7.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 1.1.7 : Pass - 455 ms @ 2023-08-10T23:01:24.815Z

+

Hornbeam - Case 1.1.7 : Pass - 5 ms @ 2023-08-11T05:15:06.115Z

Case Description

Send text message message with payload of length 65536.

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: YPcMC6CtLmYRMytpGGI0Yw== +Sec-WebSocket-Key: me3x0G/qIrcT3ffNBdZ39A== 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: vf+gp620BPLBSgDmLrnmcmxpXW8=
+Sec-WebSocket-Accept: CZ1OEGATHgShN9u/2W8FnUoo4j0=

Closing Behavior

@@ -250,10 +250,10 @@ Sec-WebSocket-Accept: vf+gp620BPLBSgDmLrnmcmxpXW8= - - - + + +
Chop SizeCountOctets
111
818
919
1821182
14484114484
51056151056
13032113032
23557123557
28960128960
Total665740

Octets Transmitted by Chop Size

@@ -291,18 +291,19 @@ Sec-WebSocket-Accept: vf+gp620BPLBSgDmLrnmcmxpXW8=
               2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
004 FAIL CONNECTION AFTER 10.000000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: ff0000000000010000
-
007 RX OCTETS: 9bb8028eb19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b192
-
               28a4b19228a4b19228a4b19228a4 ...
-
008 RX OCTETS: b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b192
-
               28a4b19228a4b19228a4b19228a4 ...
-
009 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=65536, MASKED=True, MASK=3962623830323865
+
006 RX OCTETS: ff0000000000010000f9c21332d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3
+
               e83918d3e83918d3e83918d3e839 ...
+
007 RX OCTETS: 18d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3
+
               e83918d3e83918d3e83918d3e839 ...
+
008 RX OCTETS: 18d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3
+
               e83918d3e83918d3e83918d3e839 ...
+
009 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=65536, MASKED=True, MASK=6639633231333332
               **************************************************************** ...
010 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0x03e8
011 TX OCTETS: 880203e8
-
012 RX OCTETS: 8882a43d4fc1a7d5
-
013 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6134336434666331
+
012 RX OCTETS: 88827de2918e7e0a
+
013 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3764653239313865
               0x03e8
014 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_1_1_7.json b/autobahn/client/hornbeam_case_1_1_7.json index 49d0f4c..71b54b3 100644 --- a/autobahn/client/hornbeam_case_1_1_7.json +++ b/autobahn/client/hornbeam_case_1_1_7.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send text message message with payload of length 65536.", "droppedByMe": true, - "duration": 455, + "duration": 5, "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=7&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: YPcMC6CtLmYRMytpGGI0Yw==\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: vf+gp620BPLBSgDmLrnmcmxpXW8=\r\n\r\n", + "httpRequest": "GET /runCase?case=7&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: me3x0G/qIrcT3ffNBdZ39A==\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: CZ1OEGATHgShN9u/2W8FnUoo4j0=\r\n\r\n", "id": "1.1.7", "isServer": true, "localCloseCode": 1000, @@ -53,12 +53,12 @@ "rxOctetStats": { "1": 1, "8": 1, - "9": 1, "182": 1, - "14484": 1, - "51056": 1 + "13032": 1, + "23557": 1, + "28960": 1 }, - "started": "2023-08-10T23:01:24.815Z", + "started": "2023-08-11T05:15:06.115Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -126,22 +126,22 @@ [ "RO", [ - 9, - "ff0000000000010000" + 13032, + "ff0000000000010000f9c21332d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e839 ..." ] ], [ "RO", [ - 14484, - "9bb8028eb19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4 ..." + 28960, + "18d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e839 ..." ] ], [ "RO", [ - 51056, - "b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4b19228a4 ..." + 23557, + "18d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e83918d3e839 ..." ] ], [ @@ -154,7 +154,7 @@ true, 0, true, - "9bb8028e" + "f9c21332" ], [ "TF", @@ -182,7 +182,7 @@ "RO", [ 8, - "8882a43d4fc1a7d5" + "88827de2918e7e0a" ] ], [ @@ -195,7 +195,7 @@ true, 0, true, - "a43d4fc1" + "7de2918e" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_1_1_8.html b/autobahn/client/hornbeam_case_1_1_8.html index ca71114..8c7de88 100644 --- a/autobahn/client/hornbeam_case_1_1_8.html +++ b/autobahn/client/hornbeam_case_1_1_8.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 1.1.8 : Pass - 551 ms @ 2023-08-10T23:01:25.272Z

+

Hornbeam - Case 1.1.8 : Pass - 10 ms @ 2023-08-11T05:15:06.122Z

Case Description

Send text message message with payload of length 65536. Sent out data in chops of 997 octets.

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: 9n3unkrKmXtrmCULtOO5rA== +Sec-WebSocket-Key: oumC1/9AfxXisMqnSmNw5A== 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: IK04josBhFspJsOqINiomCt/Rc0=
+Sec-WebSocket-Accept: SqRaI8OpsfusuLH4lKtfeH6Ayh0=

Closing Behavior

@@ -250,10 +250,10 @@ Sec-WebSocket-Accept: IK04josBhFspJsOqINiomCt/Rc0= - - - + + +
Chop SizeCountOctets
111
818
919
1821182
18288118288
47252147252
13032113032
23557123557
28960128960
Total665740

Octets Transmitted by Chop Size

@@ -422,18 +422,19 @@ Sec-WebSocket-Accept: IK04josBhFspJsOqINiomCt/Rc0=
069 TX OCTETS: 2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
               2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
070 RX OCTETS: 81
-
071 RX OCTETS: ff0000000000010000
-
072 RX OCTETS: 274361e70d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d69
-
               4bcd0d694bcd0d694bcd0d694bcd ...
-
073 RX OCTETS: 0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d69
-
               4bcd0d694bcd0d694bcd0d694bcd ...
-
074 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=65536, MASKED=True, MASK=3237343336316537
+
071 RX OCTETS: ff0000000000010000881924faa2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2
+
               330ed0a2330ed0a2330ed0a2330e ...
+
072 RX OCTETS: d0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2
+
               330ed0a2330ed0a2330ed0a2330e ...
+
073 RX OCTETS: d0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2
+
               330ed0a2330ed0a2330ed0a2330e ...
+
074 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=65536, MASKED=True, MASK=3838313932346661
               **************************************************************** ...
075 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0x03e8
076 TX OCTETS: 880203e8
-
077 RX OCTETS: 88829317f17190ff
-
078 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3933313766313731
+
077 RX OCTETS: 888238177cac3bff
+
078 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3338313737636163
               0x03e8
079 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_1_1_8.json b/autobahn/client/hornbeam_case_1_1_8.json index b2c8fb6..0dec9ea 100644 --- a/autobahn/client/hornbeam_case_1_1_8.json +++ b/autobahn/client/hornbeam_case_1_1_8.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send text message message with payload of length 65536. Sent out data in chops of 997 octets.", "droppedByMe": true, - "duration": 551, + "duration": 10, "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=8&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 9n3unkrKmXtrmCULtOO5rA==\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: IK04josBhFspJsOqINiomCt/Rc0=\r\n\r\n", + "httpRequest": "GET /runCase?case=8&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: oumC1/9AfxXisMqnSmNw5A==\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: SqRaI8OpsfusuLH4lKtfeH6Ayh0=\r\n\r\n", "id": "1.1.8", "isServer": true, "localCloseCode": 1000, @@ -53,12 +53,12 @@ "rxOctetStats": { "1": 1, "8": 1, - "9": 1, "182": 1, - "18288": 1, - "47252": 1 + "13032": 1, + "23557": 1, + "28960": 1 }, - "started": "2023-08-10T23:01:25.272Z", + "started": "2023-08-11T05:15:06.122Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -647,22 +647,22 @@ [ "RO", [ - 9, - "ff0000000000010000" + 13032, + "ff0000000000010000881924faa2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330e ..." ] ], [ "RO", [ - 47252, - "274361e70d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd ..." + 28960, + "d0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330e ..." ] ], [ "RO", [ - 18288, - "0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd0d694bcd ..." + 23557, + "d0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330ed0a2330e ..." ] ], [ @@ -675,7 +675,7 @@ true, 0, true, - "274361e7" + "881924fa" ], [ "TF", @@ -703,7 +703,7 @@ "RO", [ 8, - "88829317f17190ff" + "888238177cac3bff" ] ], [ @@ -716,7 +716,7 @@ true, 0, true, - "9317f171" + "38177cac" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_1_2_1.html b/autobahn/client/hornbeam_case_1_2_1.html index fada3f2..82af56c 100644 --- a/autobahn/client/hornbeam_case_1_2_1.html +++ b/autobahn/client/hornbeam_case_1_2_1.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 1.2.1 : Pass - 50 ms @ 2023-08-10T23:01:25.826Z

+

Hornbeam - Case 1.2.1 : Pass - 51 ms @ 2023-08-11T05:15:06.134Z

Case Description

Send binary message with payload 0.

Case Expectation

Receive echo'ed binary 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: r5riw71DmAx2AA4ZgdFsGA== +Sec-WebSocket-Key: SS0IjCB63OLpwVZn8yu/IA== 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: EGwC54EL/XITaGCAWAIGYM4bUwM=
+Sec-WebSocket-Accept: GJbxPmJ6vj+Glvz/uImS8ISM/L4=

Closing Behavior

@@ -287,13 +287,13 @@ Sec-WebSocket-Accept: EGwC54EL/XITaGCAWAIGYM4bUwM=
003 TX OCTETS: 8200
004 FAIL CONNECTION AFTER 1.000000 sec
005 RX OCTETS: 82
-
006 RX OCTETS: 801644b80f
-
007 RX FRAME : OPCODE=2, FIN=True, RSV=0, PAYLOAD-LEN=0, MASKED=True, MASK=3136343462383066
+
006 RX OCTETS: 808f8020ca
+
007 RX FRAME : OPCODE=2, FIN=True, RSV=0, PAYLOAD-LEN=0, MASKED=True, MASK=3866383032306361
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: 888263a30331604b
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3633613330333331
+
010 RX OCTETS: 888298c9931d9b21
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3938633939333164
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_1_2_1.json b/autobahn/client/hornbeam_case_1_2_1.json index f7f0f70..aea9c02 100644 --- a/autobahn/client/hornbeam_case_1_2_1.json +++ b/autobahn/client/hornbeam_case_1_2_1.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send binary message with payload 0.", "droppedByMe": true, - "duration": 50, + "duration": 51, "expectation": "Receive echo'ed binary message (with empty payload). Clean close with normal code.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=9&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: r5riw71DmAx2AA4ZgdFsGA==\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: EGwC54EL/XITaGCAWAIGYM4bUwM=\r\n\r\n", + "httpRequest": "GET /runCase?case=9&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: SS0IjCB63OLpwVZn8yu/IA==\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: GJbxPmJ6vj+Glvz/uImS8ISM/L4=\r\n\r\n", "id": "1.2.1", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "8": 1, "182": 1 }, - "started": "2023-08-10T23:01:25.826Z", + "started": "2023-08-11T05:15:06.134Z", "trafficStats": null, "txFrameStats": { "2": 1, @@ -125,7 +125,7 @@ "RO", [ 5, - "801644b80f" + "808f8020ca" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "1644b80f" + "8f8020ca" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "888263a30331604b" + "888298c9931d9b21" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "63a30331" + "98c9931d" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_1_2_2.html b/autobahn/client/hornbeam_case_1_2_2.html index 7b1dc85..50cd3ee 100644 --- a/autobahn/client/hornbeam_case_1_2_2.html +++ b/autobahn/client/hornbeam_case_1_2_2.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 1.2.2 : Pass - 48 ms @ 2023-08-10T23:01:25.879Z

+

Hornbeam - Case 1.2.2 : Pass - 45 ms @ 2023-08-11T05:15:06.187Z

Case Description

Send binary message message with payload of length 125.

Case Expectation

Receive echo'ed binary 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: KZcStJlEVN/FM1/3tb8ltA== +Sec-WebSocket-Key: TUtBSyFMZcISOxK8W6d6xg== 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: xr46dYUhFoIL/0HdNbUTG4iZVv0=
+Sec-WebSocket-Accept: AtVPsROAhmtVAvfDndBXp6BGAlc=

Closing Behavior

@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: xr46dYUhFoIL/0HdNbUTG4iZVv0=

Octets Received by Chop Size

- - + + - +
Chop SizeCountOctets
111
818
122
717
1301130
1831183
Total4322
Total5322

Octets Transmitted by Chop Size

@@ -290,18 +290,19 @@ Sec-WebSocket-Accept: xr46dYUhFoIL/0HdNbUTG4iZVv0=
               fefefefefefefefefefefefefefe ...
004 FAIL CONNECTION AFTER 1.000000 sec
005 RX OCTETS: 82
-
006 RX OCTETS: fdefff39ee1101c7101101c7101101c7101101c7101101c7101101c7101101c7101101c7101101c7101101c7101101c71011
-
               01c7101101c7101101c7101101c7 ...
-
007 RX FRAME : OPCODE=2, FIN=True, RSV=0, PAYLOAD-LEN=125, MASKED=True, MASK=6566666633396565
+
006 RX OCTETS: fdc78d78c03973863e3973863e3973863e3973863e3973863e3973863e3973863e3973863e3973863e3973863e3973863e39
+
               73863e3973863e3973863e397386 ...
+
007 RX FRAME : OPCODE=2, FIN=True, RSV=0, PAYLOAD-LEN=125, MASKED=True, MASK=6337386437386330
               0xfefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe
               fefefefefefefefefefefefefefefe ...
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: 8882e9904bcaea78
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6539393034626361
+
010 RX OCTETS: 88
+
011 RX OCTETS: 829e50dff19db8
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3965353064666631
               0x03e8
-
012 TCP DROPPED BY ME
+
013 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_1_2_2.json b/autobahn/client/hornbeam_case_1_2_2.json index b08fc96..0f546f9 100644 --- a/autobahn/client/hornbeam_case_1_2_2.json +++ b/autobahn/client/hornbeam_case_1_2_2.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send binary message message with payload of length 125.", "droppedByMe": true, - "duration": 48, + "duration": 45, "expectation": "Receive echo'ed binary message (with payload as sent). Clean close with normal code.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=10&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: KZcStJlEVN/FM1/3tb8ltA==\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: xr46dYUhFoIL/0HdNbUTG4iZVv0=\r\n\r\n", + "httpRequest": "GET /runCase?case=10&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: TUtBSyFMZcISOxK8W6d6xg==\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: AtVPsROAhmtVAvfDndBXp6BGAlc=\r\n\r\n", "id": "1.2.2", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 1, - "8": 1, + "1": 2, + "7": 1, "130": 1, "183": 1 }, - "started": "2023-08-10T23:01:25.879Z", + "started": "2023-08-11T05:15:06.187Z", "trafficStats": null, "txFrameStats": { "2": 1, @@ -125,7 +125,7 @@ "RO", [ 130, - "fdefff39ee1101c7101101c7101101c7101101c7101101c7101101c7101101c7101101c7101101c7101101c7101101c7101101c7101101c7101101c7101101c7 ..." + "fdc78d78c03973863e3973863e3973863e3973863e3973863e3973863e3973863e3973863e3973863e3973863e3973863e3973863e3973863e3973863e397386 ..." ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "efff39ee" + "c78d78c0" ], [ "TF", @@ -165,8 +165,15 @@ [ "RO", [ - 8, - "8882e9904bcaea78" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "829e50dff19db8" ] ], [ @@ -179,7 +186,7 @@ true, 0, true, - "e9904bca" + "9e50dff1" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_1_2_3.html b/autobahn/client/hornbeam_case_1_2_3.html index dd55422..d85a597 100644 --- a/autobahn/client/hornbeam_case_1_2_3.html +++ b/autobahn/client/hornbeam_case_1_2_3.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 1.2.3 : Pass - 50 ms @ 2023-08-10T23:01:25.930Z

+

Hornbeam - Case 1.2.3 : Pass - 45 ms @ 2023-08-11T05:15:06.233Z

Case Description

Send binary message message with payload of length 126.

Case Expectation

Receive echo'ed binary 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: PYjJybn37URinkbnTXGYDw== +Sec-WebSocket-Key: Cr2Vb8DuUcSFpkrLH6e5Sw== 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: n7OvX/VF77qCYz7g33uInYtAdhM=
+Sec-WebSocket-Accept: Na11i04S01WCkehBB7bES9xxWMw=

Closing Behavior

@@ -249,11 +249,10 @@ Sec-WebSocket-Accept: n7OvX/VF77qCYz7g33uInYtAdhM=
- - - + +
Chop SizeCountOctets
111
616
818
1331133
1771177
Total5325
1831183
Total4325

Octets Transmitted by Chop Size

@@ -282,28 +281,27 @@ Sec-WebSocket-Accept: n7OvX/VF77qCYz7g33uInYtAdhM=
000 RX OCTETS: 474554202f72756e436173653f636173653d3131266167656e743d486f726e6265616d20485454502f312e310d0a486f7374
               3a206c6f63616c686f73743a3930 ...
-
001 RX OCTETS: 31330d0a0d0a
-
002 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
               5465737453756974652f302e382e ...
-
003 TX FRAME : OPCODE=2, FIN=True, RSV=0, PAYLOAD-LEN=126, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
002 TX FRAME : OPCODE=2, FIN=True, RSV=0, PAYLOAD-LEN=126, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0xfefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe
               fefefefefefefefefefefefefefefe ...
-
004 TX OCTETS: 827e007efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe
+
003 TX OCTETS: 827e007efefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe
               fefefefefefefefefefefefefefe ...
-
005 FAIL CONNECTION AFTER 1.000000 sec
-
006 RX OCTETS: 82
-
007 RX OCTETS: fe007efd918af6036f7408036f7408036f7408036f7408036f7408036f7408036f7408036f7408036f7408036f7408036f74
-
               08036f7408036f7408036f740803 ...
-
008 RX FRAME : OPCODE=2, FIN=True, RSV=0, PAYLOAD-LEN=126, MASKED=True, MASK=6664393138616636
+
004 FAIL CONNECTION AFTER 1.000000 sec
+
005 RX OCTETS: 82
+
006 RX OCTETS: fe007e2a6ddbc6d4932538d4932538d4932538d4932538d4932538d4932538d4932538d4932538d4932538d4932538d49325
+
               38d4932538d4932538d4932538d4 ...
+
007 RX FRAME : OPCODE=2, FIN=True, RSV=0, PAYLOAD-LEN=126, MASKED=True, MASK=3261366464626336
               0xfefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe
               fefefefefefefefefefefefefefefe ...
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
008 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0x03e8
-
010 TX OCTETS: 880203e8
-
011 RX OCTETS: 88828b54bc1f88bc
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3862353462633166
+
009 TX OCTETS: 880203e8
+
010 RX OCTETS: 8882ec6acce6ef82
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6563366163636536
               0x03e8
-
013 TCP DROPPED BY ME
+
012 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_1_2_3.json b/autobahn/client/hornbeam_case_1_2_3.json index ffa7608..6e0c006 100644 --- a/autobahn/client/hornbeam_case_1_2_3.json +++ b/autobahn/client/hornbeam_case_1_2_3.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send binary message message with payload of length 126.", "droppedByMe": true, - "duration": 50, + "duration": 45, "expectation": "Receive echo'ed binary message (with payload as sent). Clean close with normal code.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=11&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: PYjJybn37URinkbnTXGYDw==\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: n7OvX/VF77qCYz7g33uInYtAdhM=\r\n\r\n", + "httpRequest": "GET /runCase?case=11&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Cr2Vb8DuUcSFpkrLH6e5Sw==\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: Na11i04S01WCkehBB7bES9xxWMw=\r\n\r\n", "id": "1.2.3", "isServer": true, "localCloseCode": 1000, @@ -52,12 +52,11 @@ }, "rxOctetStats": { "1": 1, - "6": 1, "8": 1, "133": 1, - "177": 1 + "183": 1 }, - "started": "2023-08-10T23:01:25.930Z", + "started": "2023-08-11T05:15:06.233Z", "trafficStats": null, "txFrameStats": { "2": 1, @@ -77,17 +76,10 @@ [ "RO", [ - 177, + 183, "474554202f72756e436173653f636173653d3131266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a3930 ..." ] ], - [ - "RO", - [ - 6, - "31330d0a0d0a" - ] - ], [ "TO", [ @@ -133,7 +125,7 @@ "RO", [ 133, - "fe007efd918af6036f7408036f7408036f7408036f7408036f7408036f7408036f7408036f7408036f7408036f7408036f7408036f7408036f7408036f740803 ..." + "fe007e2a6ddbc6d4932538d4932538d4932538d4932538d4932538d4932538d4932538d4932538d4932538d4932538d4932538d4932538d4932538d4932538d4 ..." ] ], [ @@ -146,7 +138,7 @@ true, 0, true, - "fd918af6" + "2a6ddbc6" ], [ "TF", @@ -174,7 +166,7 @@ "RO", [ 8, - "88828b54bc1f88bc" + "8882ec6acce6ef82" ] ], [ @@ -187,7 +179,7 @@ true, 0, true, - "8b54bc1f" + "ec6acce6" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_1_2_4.html b/autobahn/client/hornbeam_case_1_2_4.html index 6e833a5..3de6588 100644 --- a/autobahn/client/hornbeam_case_1_2_4.html +++ b/autobahn/client/hornbeam_case_1_2_4.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 1.2.4 : Pass - 44 ms @ 2023-08-10T23:01:25.982Z

+

Hornbeam - Case 1.2.4 : Pass - 45 ms @ 2023-08-11T05:15:06.280Z

Case Description

Send binary message message with payload of length 127.

Case Expectation

Receive echo'ed binary 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: FifRvKUpIHScBPWQTeBSdQ== +Sec-WebSocket-Key: i7jLilfu9gcUCt6Ff1UiNQ== 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: nZe7ifTvD3Mb58PjwS+laO+yr2s=
+Sec-WebSocket-Accept: jO8pPQKXCBiWWkjcCcn+jCFxKIE=

Closing Behavior

@@ -290,16 +290,16 @@ Sec-WebSocket-Accept: nZe7ifTvD3Mb58PjwS+laO+yr2s=
               fefefefefefefefefefefefefefe ...
004 FAIL CONNECTION AFTER 1.000000 sec
005 RX OCTETS: 82
-
006 RX OCTETS: fe007f88e1b2de761f4c20761f4c20761f4c20761f4c20761f4c20761f4c20761f4c20761f4c20761f4c20761f4c20761f4c
-
               20761f4c20761f4c20761f4c2076 ...
-
007 RX FRAME : OPCODE=2, FIN=True, RSV=0, PAYLOAD-LEN=127, MASKED=True, MASK=3838653162326465
+
006 RX OCTETS: fe007f51850135af7bffcbaf7bffcbaf7bffcbaf7bffcbaf7bffcbaf7bffcbaf7bffcbaf7bffcbaf7bffcbaf7bffcbaf7bff
+
               cbaf7bffcbaf7bffcbaf7bffcbaf ...
+
007 RX FRAME : OPCODE=2, FIN=True, RSV=0, PAYLOAD-LEN=127, MASKED=True, MASK=3531383530313335
               0xfefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe
               fefefefefefefefefefefefefefefe ...
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: 8882904c105b93a4
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3930346331303562
+
010 RX OCTETS: 88829e1840e39df0
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3965313834306533
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_1_2_4.json b/autobahn/client/hornbeam_case_1_2_4.json index 24a2b4c..9acb5a8 100644 --- a/autobahn/client/hornbeam_case_1_2_4.json +++ b/autobahn/client/hornbeam_case_1_2_4.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send binary message message with payload of length 127.", "droppedByMe": true, - "duration": 44, + "duration": 45, "expectation": "Receive echo'ed binary message (with payload as sent). Clean close with normal code.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=12&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: FifRvKUpIHScBPWQTeBSdQ==\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: nZe7ifTvD3Mb58PjwS+laO+yr2s=\r\n\r\n", + "httpRequest": "GET /runCase?case=12&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: i7jLilfu9gcUCt6Ff1UiNQ==\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: jO8pPQKXCBiWWkjcCcn+jCFxKIE=\r\n\r\n", "id": "1.2.4", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "134": 1, "183": 1 }, - "started": "2023-08-10T23:01:25.982Z", + "started": "2023-08-11T05:15:06.280Z", "trafficStats": null, "txFrameStats": { "2": 1, @@ -125,7 +125,7 @@ "RO", [ 134, - "fe007f88e1b2de761f4c20761f4c20761f4c20761f4c20761f4c20761f4c20761f4c20761f4c20761f4c20761f4c20761f4c20761f4c20761f4c20761f4c2076 ..." + "fe007f51850135af7bffcbaf7bffcbaf7bffcbaf7bffcbaf7bffcbaf7bffcbaf7bffcbaf7bffcbaf7bffcbaf7bffcbaf7bffcbaf7bffcbaf7bffcbaf7bffcbaf ..." ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "88e1b2de" + "51850135" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "8882904c105b93a4" + "88829e1840e39df0" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "904c105b" + "9e1840e3" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_1_2_5.html b/autobahn/client/hornbeam_case_1_2_5.html index 1c637e4..137cd7a 100644 --- a/autobahn/client/hornbeam_case_1_2_5.html +++ b/autobahn/client/hornbeam_case_1_2_5.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 1.2.5 : Pass - 46 ms @ 2023-08-10T23:01:26.028Z

+

Hornbeam - Case 1.2.5 : Pass - 45 ms @ 2023-08-11T05:15:06.327Z

Case Description

Send binary message message with payload of length 128.

Case Expectation

Receive echo'ed binary 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: BXeajqVg5uLngibxw3E5SQ== +Sec-WebSocket-Key: rJ4imsBoTPhU3oqcAGFplw== 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: xxWcI0U5xY3fXK+bhoAStOt02PM=
+Sec-WebSocket-Accept: sriHxguki04S+w+d5gHwsMkrnNQ=

Closing Behavior

@@ -290,16 +290,16 @@ Sec-WebSocket-Accept: xxWcI0U5xY3fXK+bhoAStOt02PM=
               fefefefefefefefefefefefefefe ...
004 FAIL CONNECTION AFTER 1.000000 sec
005 RX OCTETS: 82
-
006 RX OCTETS: fe00800e42df8bf0bc2175f0bc2175f0bc2175f0bc2175f0bc2175f0bc2175f0bc2175f0bc2175f0bc2175f0bc2175f0bc21
-
               75f0bc2175f0bc2175f0bc2175f0 ...
-
007 RX FRAME : OPCODE=2, FIN=True, RSV=0, PAYLOAD-LEN=128, MASKED=True, MASK=3065343264663862
+
006 RX OCTETS: fe00803935217fc7cbdf81c7cbdf81c7cbdf81c7cbdf81c7cbdf81c7cbdf81c7cbdf81c7cbdf81c7cbdf81c7cbdf81c7cbdf
+
               81c7cbdf81c7cbdf81c7cbdf81c7 ...
+
007 RX FRAME : OPCODE=2, FIN=True, RSV=0, PAYLOAD-LEN=128, MASKED=True, MASK=3339333532313766
               0xfefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe
               fefefefefefefefefefefefefefefe ...
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: 88822913d0622afb
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3239313364303632
+
010 RX OCTETS: 8882c762a35ac48a
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6337363261333561
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_1_2_5.json b/autobahn/client/hornbeam_case_1_2_5.json index c7b0e14..afbe9c0 100644 --- a/autobahn/client/hornbeam_case_1_2_5.json +++ b/autobahn/client/hornbeam_case_1_2_5.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send binary message message with payload of length 128.", "droppedByMe": true, - "duration": 46, + "duration": 45, "expectation": "Receive echo'ed binary message (with payload as sent). Clean close with normal code.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=13&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: BXeajqVg5uLngibxw3E5SQ==\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: xxWcI0U5xY3fXK+bhoAStOt02PM=\r\n\r\n", + "httpRequest": "GET /runCase?case=13&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: rJ4imsBoTPhU3oqcAGFplw==\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: sriHxguki04S+w+d5gHwsMkrnNQ=\r\n\r\n", "id": "1.2.5", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "135": 1, "183": 1 }, - "started": "2023-08-10T23:01:26.028Z", + "started": "2023-08-11T05:15:06.327Z", "trafficStats": null, "txFrameStats": { "2": 1, @@ -125,7 +125,7 @@ "RO", [ 135, - "fe00800e42df8bf0bc2175f0bc2175f0bc2175f0bc2175f0bc2175f0bc2175f0bc2175f0bc2175f0bc2175f0bc2175f0bc2175f0bc2175f0bc2175f0bc2175f0 ..." + "fe00803935217fc7cbdf81c7cbdf81c7cbdf81c7cbdf81c7cbdf81c7cbdf81c7cbdf81c7cbdf81c7cbdf81c7cbdf81c7cbdf81c7cbdf81c7cbdf81c7cbdf81c7 ..." ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "0e42df8b" + "3935217f" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "88822913d0622afb" + "8882c762a35ac48a" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "2913d062" + "c762a35a" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_1_2_6.html b/autobahn/client/hornbeam_case_1_2_6.html index ce2cc0b..f6265d3 100644 --- a/autobahn/client/hornbeam_case_1_2_6.html +++ b/autobahn/client/hornbeam_case_1_2_6.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 1.2.6 : Pass - 636 ms @ 2023-08-10T23:01:26.075Z

+

Hornbeam - Case 1.2.6 : Pass - 7 ms @ 2023-08-11T05:15:06.373Z

Case Description

Send binary message message with payload of length 65535.

Case Expectation

Receive echo'ed binary 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: 0293cRcGRS/LzO7C0cIKew== +Sec-WebSocket-Key: DXnlR2T2Zzka7n4mzWoUNA== 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: 2sMi6gwi3bxqQp28GVBXDQvN3bM=
+Sec-WebSocket-Accept: i6ahgt0KQAlpWgL42urok6tBE/0=

Closing Behavior

@@ -249,13 +249,12 @@ Sec-WebSocket-Accept: 2sMi6gwi3bxqQp28GVBXDQvN3bM=
- - - - - + + + +
Chop SizeCountOctets
122
313
414
717
1831183
7240214480
51055151055
Total965734
724017240
23168123168
35134135134
Total765734

Octets Transmitted by Chop Size

@@ -293,25 +292,23 @@ Sec-WebSocket-Accept: 2sMi6gwi3bxqQp28GVBXDQvN3bM=
               fefefefefefefefefefefefefefe ...
004 FAIL CONNECTION AFTER 10.000000 sec
005 RX OCTETS: 82
-
006 RX OCTETS: feffff
-
007 RX OCTETS: 3656c164
-
008 RX OCTETS: c8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a8
-
               3f9ac8a83f9ac8a83f9ac8a83f9a ...
-
009 RX OCTETS: c8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a8
-
               3f9ac8a83f9ac8a83f9ac8a83f9a ...
-
010 RX OCTETS: c8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a8
-
               3f9ac8a83f9ac8a83f9ac8a83f9a ...
-
011 RX FRAME : OPCODE=2, FIN=True, RSV=0, PAYLOAD-LEN=65535, MASKED=True, MASK=3336353663313634
+
006 RX OCTETS: feffff73fff29c8d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c
+
               628d010c628d010c628d010c628d ...
+
007 RX OCTETS: 010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c
+
               628d010c628d010c628d010c628d ...
+
008 RX OCTETS: 010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c
+
               628d010c628d010c628d010c628d ...
+
009 RX FRAME : OPCODE=2, FIN=True, RSV=0, PAYLOAD-LEN=65535, MASKED=True, MASK=3733666666323963
               0xfefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe
               fefefefefefefefefefefefefefefe ...
-
012 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
010 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0x03e8
-
013 TX OCTETS: 880203e8
-
014 RX OCTETS: 88
-
015 RX OCTETS: 82b3c90af7b021
-
016 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6233633930616637
+
011 TX OCTETS: 880203e8
+
012 RX OCTETS: 88
+
013 RX OCTETS: 82c8a63f01cb4e
+
014 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6338613633663031
               0x03e8
-
017 TCP DROPPED BY ME
+
015 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_1_2_6.json b/autobahn/client/hornbeam_case_1_2_6.json index 53b288a..06aaad6 100644 --- a/autobahn/client/hornbeam_case_1_2_6.json +++ b/autobahn/client/hornbeam_case_1_2_6.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send binary message message with payload of length 65535.", "droppedByMe": true, - "duration": 636, + "duration": 7, "expectation": "Receive echo'ed binary message (with payload as sent). Clean close with normal code.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=14&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 0293cRcGRS/LzO7C0cIKew==\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: 2sMi6gwi3bxqQp28GVBXDQvN3bM=\r\n\r\n", + "httpRequest": "GET /runCase?case=14&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: DXnlR2T2Zzka7n4mzWoUNA==\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: i6ahgt0KQAlpWgL42urok6tBE/0=\r\n\r\n", "id": "1.2.6", "isServer": true, "localCloseCode": 1000, @@ -52,14 +52,13 @@ }, "rxOctetStats": { "1": 2, - "3": 1, - "4": 1, "7": 1, "183": 1, - "7240": 2, - "51055": 1 + "7240": 1, + "23168": 1, + "35134": 1 }, - "started": "2023-08-10T23:01:26.075Z", + "started": "2023-08-11T05:15:06.373Z", "trafficStats": null, "txFrameStats": { "2": 1, @@ -124,39 +123,25 @@ "82" ] ], - [ - "RO", - [ - 3, - "feffff" - ] - ], - [ - "RO", - [ - 4, - "3656c164" - ] - ], [ "RO", [ 7240, - "c8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9a ..." + "feffff73fff29c8d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d ..." ] ], [ "RO", [ - 7240, - "c8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9a ..." + 23168, + "010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d ..." ] ], [ "RO", [ - 51055, - "c8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9ac8a83f9a ..." + 35134, + "010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d010c628d ..." ] ], [ @@ -169,7 +154,7 @@ true, 0, true, - "3656c164" + "73fff29c" ], [ "TF", @@ -204,7 +189,7 @@ "RO", [ 7, - "82b3c90af7b021" + "82c8a63f01cb4e" ] ], [ @@ -217,7 +202,7 @@ true, 0, true, - "b3c90af7" + "c8a63f01" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_1_2_7.html b/autobahn/client/hornbeam_case_1_2_7.html index e47f9fb..8dc4dd8 100644 --- a/autobahn/client/hornbeam_case_1_2_7.html +++ b/autobahn/client/hornbeam_case_1_2_7.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 1.2.7 : Pass - 538 ms @ 2023-08-10T23:01:26.714Z

+

Hornbeam - Case 1.2.7 : Pass - 8 ms @ 2023-08-11T05:15:06.383Z

Case Description

Send binary message message with payload of length 65536.

Case Expectation

Receive echo'ed binary 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: TlKnmXqdDzSz/z1FmyWIpw== +Sec-WebSocket-Key: 8McJtvaVH6AMwCJ0UH4h7w== 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: svZ76TPdESdHLvghfmhTmqXSx/c=
+Sec-WebSocket-Accept: fo+Y/F4Lpyw6mNU8V3JWyrBYkYU=

Closing Behavior

@@ -250,10 +250,10 @@ Sec-WebSocket-Accept: svZ76TPdESdHLvghfmhTmqXSx/c= - - - + + +
Chop SizeCountOctets
111
818
919
1831183
32575132575
32965132965
13032113032
24093124093
28424128424
Total665741

Octets Transmitted by Chop Size

@@ -292,19 +292,20 @@ Sec-WebSocket-Accept: svZ76TPdESdHLvghfmhTmqXSx/c=
               fefefefefefefefefefefefefefe ...
004 FAIL CONNECTION AFTER 10.000000 sec
005 RX OCTETS: 82
-
006 RX OCTETS: ff0000000000010000
-
007 RX OCTETS: 9bce8cca65307234653072346530723465307234653072346530723465307234653072346530723465307234653072346530
-
               7234653072346530723465307234 ...
-
008 RX OCTETS: 3465307234653072346530723465307234653072346530723465307234653072346530723465307234653072346530723465
-
               3072346530723465307234653072 ...
-
009 RX FRAME : OPCODE=2, FIN=True, RSV=0, PAYLOAD-LEN=65536, MASKED=True, MASK=3962636538636361
+
006 RX OCTETS: ff0000000000010000b121c57a4fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844f
+
               df3b844fdf3b844fdf3b844fdf3b ...
+
007 RX OCTETS: 844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844f
+
               df3b844fdf3b844fdf3b844fdf3b ...
+
008 RX OCTETS: 844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844f
+
               df3b844fdf3b844fdf3b844fdf3b ...
+
009 RX FRAME : OPCODE=2, FIN=True, RSV=0, PAYLOAD-LEN=65536, MASKED=True, MASK=6231323163353761
               0xfefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe
               fefefefefefefefefefefefefefefe ...
010 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0x03e8
011 TX OCTETS: 880203e8
-
012 RX OCTETS: 888235793b533691
-
013 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3335373933623533
+
012 RX OCTETS: 888288d6a4d18b3e
+
013 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3838643661346431
               0x03e8
014 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_1_2_7.json b/autobahn/client/hornbeam_case_1_2_7.json index 8530a3e..2e0d001 100644 --- a/autobahn/client/hornbeam_case_1_2_7.json +++ b/autobahn/client/hornbeam_case_1_2_7.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send binary message message with payload of length 65536.", "droppedByMe": true, - "duration": 538, + "duration": 8, "expectation": "Receive echo'ed binary message (with payload as sent). Clean close with normal code.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=15&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: TlKnmXqdDzSz/z1FmyWIpw==\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: svZ76TPdESdHLvghfmhTmqXSx/c=\r\n\r\n", + "httpRequest": "GET /runCase?case=15&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 8McJtvaVH6AMwCJ0UH4h7w==\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: fo+Y/F4Lpyw6mNU8V3JWyrBYkYU=\r\n\r\n", "id": "1.2.7", "isServer": true, "localCloseCode": 1000, @@ -53,12 +53,12 @@ "rxOctetStats": { "1": 1, "8": 1, - "9": 1, "183": 1, - "32575": 1, - "32965": 1 + "13032": 1, + "24093": 1, + "28424": 1 }, - "started": "2023-08-10T23:01:26.714Z", + "started": "2023-08-11T05:15:06.383Z", "trafficStats": null, "txFrameStats": { "2": 1, @@ -126,22 +126,22 @@ [ "RO", [ - 9, - "ff0000000000010000" + 13032, + "ff0000000000010000b121c57a4fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b ..." ] ], [ "RO", [ - 32575, - "9bce8cca653072346530723465307234653072346530723465307234653072346530723465307234653072346530723465307234653072346530723465307234 ..." + 28424, + "844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b ..." ] ], [ "RO", [ - 32965, - "34653072346530723465307234653072346530723465307234653072346530723465307234653072346530723465307234653072346530723465307234653072 ..." + 24093, + "844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b844fdf3b ..." ] ], [ @@ -154,7 +154,7 @@ true, 0, true, - "9bce8cca" + "b121c57a" ], [ "TF", @@ -182,7 +182,7 @@ "RO", [ 8, - "888235793b533691" + "888288d6a4d18b3e" ] ], [ @@ -195,7 +195,7 @@ true, 0, true, - "35793b53" + "88d6a4d1" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_1_2_8.html b/autobahn/client/hornbeam_case_1_2_8.html index a633c63..77baa9e 100644 --- a/autobahn/client/hornbeam_case_1_2_8.html +++ b/autobahn/client/hornbeam_case_1_2_8.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 1.2.8 : Pass - 443 ms @ 2023-08-10T23:01:27.256Z

+

Hornbeam - Case 1.2.8 : Pass - 28 ms @ 2023-08-11T05:15:06.393Z

Case Description

Send binary message message with payload of length 65536. Sent out data in chops of 997 octets.

Case Expectation

Receive echo'ed binary 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: zWuRhd7z2YfKs9tLeu2v0Q== +Sec-WebSocket-Key: TsPrEAH43kXO2tadYlufsg== 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: E7sOR9mt0AJDIdnNl6LzYOQ1jHU=
+Sec-WebSocket-Accept: poS90q5jwTbFoC56kNI2fAkU+EM=

Closing Behavior

@@ -248,13 +248,13 @@ Sec-WebSocket-Accept: E7sOR9mt0AJDIdnNl6LzYOQ1jHU=

Octets Received by Chop Size

- - - - + + - - + + + +
Chop SizeCountOctets
111
414
818
919
122
717
1831183
65536165536
Total665741
13032113032
24093124093
28424128424
Total765741

Octets Transmitted by Chop Size

@@ -423,20 +423,23 @@ Sec-WebSocket-Accept: E7sOR9mt0AJDIdnNl6LzYOQ1jHU=
069 TX OCTETS: fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe
               fefefefefefefefefefefefefefe ...
070 RX OCTETS: 82
-
071 RX OCTETS: ff0000000000010000
-
072 RX OCTETS: fd2c96e003d2681e03d2681e03d2681e03d2681e03d2681e03d2681e03d2681e03d2681e03d2681e03d2681e03d2681e03d2
-
               681e03d2681e03d2681e03d2681e ...
-
073 RX OCTETS: 03d2681e
-
074 RX FRAME : OPCODE=2, FIN=True, RSV=0, PAYLOAD-LEN=65536, MASKED=True, MASK=6664326339366530
+
071 RX OCTETS: ff0000000000010000be9632ec4068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc1240
+
               68cc124068cc124068cc124068cc ...
+
072 RX OCTETS: 124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc1240
+
               68cc124068cc124068cc124068cc ...
+
073 RX OCTETS: 124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc1240
+
               68cc124068cc124068cc124068cc ...
+
074 RX FRAME : OPCODE=2, FIN=True, RSV=0, PAYLOAD-LEN=65536, MASKED=True, MASK=6265393633326563
               0xfefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe
               fefefefefefefefefefefefefefefe ...
075 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0x03e8
076 TX OCTETS: 880203e8
-
077 RX OCTETS: 8882930bb98690e3
-
078 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3933306262393836
+
077 RX OCTETS: 88
+
078 RX OCTETS: 82d6d33422d53b
+
079 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6436643333343232
               0x03e8
-
079 TCP DROPPED BY ME
+
080 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_1_2_8.json b/autobahn/client/hornbeam_case_1_2_8.json index 9f9de5f..cce89e7 100644 --- a/autobahn/client/hornbeam_case_1_2_8.json +++ b/autobahn/client/hornbeam_case_1_2_8.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send binary message message with payload of length 65536. Sent out data in chops of 997 octets.", "droppedByMe": true, - "duration": 443, + "duration": 28, "expectation": "Receive echo'ed binary message (with payload as sent). Clean close with normal code.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=16&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: zWuRhd7z2YfKs9tLeu2v0Q==\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: E7sOR9mt0AJDIdnNl6LzYOQ1jHU=\r\n\r\n", + "httpRequest": "GET /runCase?case=16&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: TsPrEAH43kXO2tadYlufsg==\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: poS90q5jwTbFoC56kNI2fAkU+EM=\r\n\r\n", "id": "1.2.8", "isServer": true, "localCloseCode": 1000, @@ -51,14 +51,14 @@ "8": 1 }, "rxOctetStats": { - "1": 1, - "4": 1, - "8": 1, - "9": 1, + "1": 2, + "7": 1, "183": 1, - "65536": 1 + "13032": 1, + "24093": 1, + "28424": 1 }, - "started": "2023-08-10T23:01:27.256Z", + "started": "2023-08-11T05:15:06.393Z", "trafficStats": null, "txFrameStats": { "2": 1, @@ -647,22 +647,22 @@ [ "RO", [ - 9, - "ff0000000000010000" + 13032, + "ff0000000000010000be9632ec4068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc ..." ] ], [ "RO", [ - 65536, - "fd2c96e003d2681e03d2681e03d2681e03d2681e03d2681e03d2681e03d2681e03d2681e03d2681e03d2681e03d2681e03d2681e03d2681e03d2681e03d2681e ..." + 28424, + "124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc ..." ] ], [ "RO", [ - 4, - "03d2681e" + 24093, + "124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc124068cc ..." ] ], [ @@ -675,7 +675,7 @@ true, 0, true, - "fd2c96e0" + "be9632ec" ], [ "TF", @@ -702,8 +702,15 @@ [ "RO", [ - 8, - "8882930bb98690e3" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "82d6d33422d53b" ] ], [ @@ -716,7 +723,7 @@ true, 0, true, - "930bb986" + "d6d33422" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_2_1.html b/autobahn/client/hornbeam_case_2_1.html index 3ec6ff9..ae67121 100644 --- a/autobahn/client/hornbeam_case_2_1.html +++ b/autobahn/client/hornbeam_case_2_1.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 2.1 : Pass - 50 ms @ 2023-08-10T23:01:27.703Z

+

Hornbeam - Case 2.1 : Pass - 45 ms @ 2023-08-11T05:15:06.423Z

Case Description

Send ping without payload.

Case Expectation

Pong (with empty payload) is sent in reply to Ping. 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: a/tx3lrIbCtYrYuviFkReg== +Sec-WebSocket-Key: 3xhtAkZXN2fXf7M1tmiCkg== 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: ewRuMT8RVoURTtZZfdt1cv+t5GQ=
+Sec-WebSocket-Accept: GPXkdwKqCzAa74C1IUd5BjA9O7U=

Closing Behavior

@@ -287,13 +287,13 @@ Sec-WebSocket-Accept: ewRuMT8RVoURTtZZfdt1cv+t5GQ=
003 TX OCTETS: 8900
004 CLOSE CONNECTION AFTER 1.000000 sec
005 RX OCTETS: 8a
-
006 RX OCTETS: 80c5c3982b
-
007 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=0, MASKED=True, MASK=6335633339383262
+
006 RX OCTETS: 8097c992e1
+
007 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=0, MASKED=True, MASK=3937633939326531
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: 88828355684580bd
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3833353536383435
+
010 RX OCTETS: 88823685e93c356d
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3336383565393363
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_2_1.json b/autobahn/client/hornbeam_case_2_1.json index aeec1e7..c31167c 100644 --- a/autobahn/client/hornbeam_case_2_1.json +++ b/autobahn/client/hornbeam_case_2_1.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send ping without payload.", "droppedByMe": true, - "duration": 50, + "duration": 45, "expectation": "Pong (with empty payload) is sent in reply to Ping. Clean close with normal code.", "expected": { "OK": [ @@ -26,8 +26,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=17&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: a/tx3lrIbCtYrYuviFkReg==\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: ewRuMT8RVoURTtZZfdt1cv+t5GQ=\r\n\r\n", + "httpRequest": "GET /runCase?case=17&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 3xhtAkZXN2fXf7M1tmiCkg==\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: GPXkdwKqCzAa74C1IUd5BjA9O7U=\r\n\r\n", "id": "2.1", "isServer": true, "localCloseCode": 1000, @@ -54,7 +54,7 @@ "8": 1, "183": 1 }, - "started": "2023-08-10T23:01:27.703Z", + "started": "2023-08-11T05:15:06.423Z", "trafficStats": null, "txFrameStats": { "8": 1, @@ -123,7 +123,7 @@ "RO", [ 5, - "80c5c3982b" + "8097c992e1" ] ], [ @@ -136,7 +136,7 @@ true, 0, true, - "c5c3982b" + "97c992e1" ], [ "TF", @@ -164,7 +164,7 @@ "RO", [ 8, - "88828355684580bd" + "88823685e93c356d" ] ], [ @@ -177,7 +177,7 @@ true, 0, true, - "83556845" + "3685e93c" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_2_10.html b/autobahn/client/hornbeam_case_2_10.html index 42d26fb..085e590 100644 --- a/autobahn/client/hornbeam_case_2_10.html +++ b/autobahn/client/hornbeam_case_2_10.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 2.10 : Pass - 50 ms @ 2023-08-10T23:01:28.087Z

+

Hornbeam - Case 2.10 : Pass - 66 ms @ 2023-08-11T05:15:06.774Z

Case Description

Send 10 Pings with payload.

Case Expectation

Pongs for our Pings with all the payloads. Note: This is not required by the Spec .. but we check for this behaviour anyway. 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: SB0Juk6FHRcgxPrK3NLm5Q== +Sec-WebSocket-Key: oOjVSKCpiwS65bO2bsZoow== 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: OkLwdfsX5SCWNOaPw5nxuHd6UmE=
+Sec-WebSocket-Accept: GB/k+PRrpMU/yfIfph6fPfT8zCU=

Closing Behavior

@@ -315,33 +315,33 @@ Sec-WebSocket-Accept: OkLwdfsX5SCWNOaPw5nxuHd6UmE=
021 TX OCTETS: 89097061796c6f61642d39
022 CLOSE CONNECTION AFTER 3.000000 sec
023 RX OCTETS: 8a
-
024 RX OCTETS: 8920be262050df5f4c4fdf420d108a896e03b2a91e62cbc50162d6845f8a89708432a800e54bc41fe55685428a8900b68155
-
               70d7f8396fd7e578338a89b0f782 ...
-
025 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3230626532363230
+
024 RX OCTETS: 89e84679059827006987271d28d88a8909b3c29b79d2bbf766d2a6b6388a89968495dee6e5ecb2f9e5f1f3a48a89908b33c5
+
               e0ea4aa9ffea57e8a38a891ef0de ...
+
025 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6538343637393035
               payload-0
-
026 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3665303362326139
+
026 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3039623363323962
               payload-1
-
027 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3730383433326138
+
027 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3936383439356465
               payload-2
-
028 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3030623638313535
+
028 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3930386233336335
               payload-3
-
029 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6230663738326539
+
029 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3165663064656261
               payload-4
-
030 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6131623838343339
+
030 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6161353334376564
               payload-5
-
031 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6332346465636233
+
031 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6331643765646631
               payload-6
-
032 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6334613637373362
+
032 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3837333463306437
               payload-7
-
033 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3262343336323933
+
033 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3632306266313063
               payload-8
-
034 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3463323631323733
+
034 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6436356136313361
               payload-9
035 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0x03e8
036 TX OCTETS: 880203e8
-
037 RX OCTETS: 888250a68537534e
-
038 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3530613638353337
+
037 RX OCTETS: 8882de7801b3dd90
+
038 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6465373830316233
               0x03e8
039 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_2_10.json b/autobahn/client/hornbeam_case_2_10.json index fd1e022..f6b7280 100644 --- a/autobahn/client/hornbeam_case_2_10.json +++ b/autobahn/client/hornbeam_case_2_10.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send 10 Pings with payload.", "droppedByMe": true, - "duration": 50, + "duration": 66, "expectation": "Pongs for our Pings with all the payloads. Note: This is not required by the Spec .. but we check for this behaviour anyway. Clean close with normal code.", "expected": { "OK": [ @@ -62,8 +62,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=26&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: SB0Juk6FHRcgxPrK3NLm5Q==\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: OkLwdfsX5SCWNOaPw5nxuHd6UmE=\r\n\r\n", + "httpRequest": "GET /runCase?case=26&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: oOjVSKCpiwS65bO2bsZoow==\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: GB/k+PRrpMU/yfIfph6fPfT8zCU=\r\n\r\n", "id": "2.10", "isServer": true, "localCloseCode": 1000, @@ -126,7 +126,7 @@ "149": 1, "183": 1 }, - "started": "2023-08-10T23:01:28.087Z", + "started": "2023-08-11T05:15:06.774Z", "trafficStats": null, "txFrameStats": { "8": 1, @@ -393,7 +393,7 @@ "RO", [ 149, - "8920be262050df5f4c4fdf420d108a896e03b2a91e62cbc50162d6845f8a89708432a800e54bc41fe55685428a8900b6815570d7f8396fd7e578338a89b0f782 ..." + "89e84679059827006987271d28d88a8909b3c29b79d2bbf766d2a6b6388a89968495dee6e5ecb2f9e5f1f3a48a89908b33c5e0ea4aa9ffea57e8a38a891ef0de ..." ] ], [ @@ -406,7 +406,7 @@ true, 0, true, - "20be2620" + "e8467905" ], [ "RF", @@ -418,7 +418,7 @@ true, 0, true, - "6e03b2a9" + "09b3c29b" ], [ "RF", @@ -430,7 +430,7 @@ true, 0, true, - "708432a8" + "968495de" ], [ "RF", @@ -442,7 +442,7 @@ true, 0, true, - "00b68155" + "908b33c5" ], [ "RF", @@ -454,7 +454,7 @@ true, 0, true, - "b0f782e9" + "1ef0deba" ], [ "RF", @@ -466,7 +466,7 @@ true, 0, true, - "a1b88439" + "aa5347ed" ], [ "RF", @@ -478,7 +478,7 @@ true, 0, true, - "c24decb3" + "c1d7edf1" ], [ "RF", @@ -490,7 +490,7 @@ true, 0, true, - "c4a6773b" + "8734c0d7" ], [ "RF", @@ -502,7 +502,7 @@ true, 0, true, - "2b436293" + "620bf10c" ], [ "RF", @@ -514,7 +514,7 @@ true, 0, true, - "4c261273" + "d65a613a" ], [ "TF", @@ -542,7 +542,7 @@ "RO", [ 8, - "888250a68537534e" + "8882de7801b3dd90" ] ], [ @@ -555,7 +555,7 @@ true, 0, true, - "50a68537" + "de7801b3" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_2_11.html b/autobahn/client/hornbeam_case_2_11.html index 4400a80..f355e9a 100644 --- a/autobahn/client/hornbeam_case_2_11.html +++ b/autobahn/client/hornbeam_case_2_11.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 2.11 : Pass - 61 ms @ 2023-08-10T23:01:28.140Z

+

Hornbeam - Case 2.11 : Pass - 60 ms @ 2023-08-11T05:15:06.841Z

Case Description

Send 10 Pings with payload. Send out octets in octet-wise chops.

Case Expectation

Pongs for our Pings with all the payloads. Note: This is not required by the Spec .. but we check for this behaviour anyway. 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: OBRvYyRhYWFlOKisgDccuQ== +Sec-WebSocket-Key: s7BeW6FDSWb/ojorvFJRfA== 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: 2JGbBjsl38cTC8jWbPUbg2YZgPg=
+Sec-WebSocket-Accept: 5lPf2bYFgANCjRtt5DO8pIDbrr8=

Closing Behavior

@@ -248,11 +248,9 @@ Sec-WebSocket-Accept: 2JGbBjsl38cTC8jWbPUbg2YZgPg=

Octets Received by Chop Size

- - + - - + @@ -320,70 +318,70 @@ Sec-WebSocket-Accept: 2JGbBjsl38cTC8jWbPUbg2YZgPg=
023 TX OCTETS: 30
024 TX OCTETS: 89
025 TX OCTETS: 09
-
026 RX OCTETS: 8a
-
027 TX OCTETS: 70
-
028 RX OCTETS: 895fdc53bb2fbd2ad730bd37966f
-
029 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3566646335336262
+
026 TX OCTETS: 70
+
027 TX OCTETS: 61
+
028 RX OCTETS: 8a89e3f6675293971e3e8c97037fd3
+
029 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6533663636373532
               payload-0
-
030 TX OCTETS: 61
-
031 TX OCTETS: 79
-
032 TX OCTETS: 6c
-
033 TX OCTETS: 6f
-
034 TX OCTETS: 61
-
035 TX OCTETS: 64
-
036 TX OCTETS: 2d
-
037 TX OCTETS: 31
-
038 TX OCTETS: 89
-
039 TX OCTETS: 09
+
030 TX OCTETS: 79
+
031 TX OCTETS: 6c
+
032 TX OCTETS: 6f
+
033 TX OCTETS: 61
+
034 TX OCTETS: 64
+
035 TX OCTETS: 2d
+
036 TX OCTETS: 31
+
037 TX OCTETS: 89
+
038 TX OCTETS: 09
+
039 RX OCTETS: 8a
040 TX OCTETS: 70
-
041 RX OCTETS: 8a
-
042 TX OCTETS: 61
-
043 RX OCTETS: 89c4ae7253b4cf0b3fabcf167ef5
-
044 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6334616537323533
+
041 RX OCTETS: 897e21a9cd0e40d0a11140cde04f
+
042 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3765323161396364
               payload-1
-
045 TX OCTETS: 79
-
046 TX OCTETS: 6c
-
047 TX OCTETS: 6f
-
048 TX OCTETS: 61
-
049 TX OCTETS: 64
-
050 TX OCTETS: 2d
-
051 TX OCTETS: 32
-
052 TX OCTETS: 89
-
053 TX OCTETS: 09
+
043 TX OCTETS: 61
+
044 TX OCTETS: 79
+
045 TX OCTETS: 6c
+
046 TX OCTETS: 6f
+
047 TX OCTETS: 61
+
048 TX OCTETS: 64
+
049 TX OCTETS: 2d
+
050 TX OCTETS: 32
+
051 TX OCTETS: 89
+
052 TX OCTETS: 09
+
053 RX OCTETS: 8a
054 TX OCTETS: 70
-
055 TX OCTETS: 61
-
056 RX OCTETS: 8a895fe8d15e
-
057 TX OCTETS: 79
-
058 RX OCTETS: 2f89a8323089b5736d
-
059 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3566653864313565
+
055 RX OCTETS: 89599e2bb229ff52de36ff4f9f6b
+
056 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3539396532626232
               payload-2
-
060 TX OCTETS: 6c
-
061 TX OCTETS: 6f
-
062 TX OCTETS: 61
-
063 TX OCTETS: 64
-
064 TX OCTETS: 2d
-
065 TX OCTETS: 33
-
066 TX OCTETS: 89
-
067 TX OCTETS: 09
+
057 TX OCTETS: 61
+
058 TX OCTETS: 79
+
059 TX OCTETS: 6c
+
060 TX OCTETS: 6f
+
061 TX OCTETS: 61
+
062 TX OCTETS: 64
+
063 TX OCTETS: 2d
+
064 TX OCTETS: 33
+
065 TX OCTETS: 89
+
066 TX OCTETS: 09
+
067 TX OCTETS: 70
068 RX OCTETS: 8a
-
069 TX OCTETS: 70
-
070 RX OCTETS: 89368944a346e83dcf59e8208e05
-
071 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3336383934346133
+
069 TX OCTETS: 61
+
070 RX OCTETS: 891bb6e1c66bd798aa74d785eb28
+
071 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3162623665316336
               payload-3
-
072 TX OCTETS: 61
-
073 TX OCTETS: 79
-
074 TX OCTETS: 6c
-
075 TX OCTETS: 6f
-
076 TX OCTETS: 61
-
077 TX OCTETS: 64
-
078 TX OCTETS: 2d
-
079 TX OCTETS: 34
-
080 TX OCTETS: 89
-
081 TX OCTETS: 09
-
082 RX OCTETS: 8a892e245f595e45263541453b741a
-
083 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3265323435663539
+
072 TX OCTETS: 79
+
073 TX OCTETS: 6c
+
074 TX OCTETS: 6f
+
075 TX OCTETS: 61
+
076 TX OCTETS: 64
+
077 TX OCTETS: 2d
+
078 TX OCTETS: 34
+
079 TX OCTETS: 89
+
080 TX OCTETS: 09
+
081 RX OCTETS: 8a
+
082 TX OCTETS: 70
+
083 RX OCTETS: 89ce1d74e9be7c0d85a17c10c4fa
+
084 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6365316437346539
               payload-4
-
084 TX OCTETS: 70
085 TX OCTETS: 61
086 TX OCTETS: 79
087 TX OCTETS: 6c
@@ -394,26 +392,26 @@ Sec-WebSocket-Accept: 2JGbBjsl38cTC8jWbPUbg2YZgPg=
092 TX OCTETS: 35
093 TX OCTETS: 89
094 TX OCTETS: 09
-
095 RX OCTETS: 8a8912afb25d62cecb317dced67027
-
096 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3132616662323564
+
095 TX OCTETS: 70
+
096 TX OCTETS: 61
+
097 TX OCTETS: 79
+
098 TX OCTETS: 6c
+
099 TX OCTETS: 6f
+
100 RX OCTETS: 8a89b7675c0bc7062567d806382682
+
101 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6237363735633062
               payload-5
-
097 TX OCTETS: 70
-
098 TX OCTETS: 61
-
099 TX OCTETS: 79
-
100 TX OCTETS: 6c
-
101 TX OCTETS: 6f
102 TX OCTETS: 61
103 TX OCTETS: 64
104 TX OCTETS: 2d
105 TX OCTETS: 36
106 TX OCTETS: 89
107 TX OCTETS: 09
-
108 RX OCTETS: 8a8983715afaf3102396ec103ed7b5
-
109 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3833373135616661
+
108 TX OCTETS: 70
+
109 TX OCTETS: 61
+
110 TX OCTETS: 79
+
111 RX OCTETS: 8a894e1a67d33e7b1ebf217b03fe78
+
112 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3465316136376433
               payload-6
-
110 TX OCTETS: 70
-
111 TX OCTETS: 61
-
112 TX OCTETS: 79
113 TX OCTETS: 6c
114 TX OCTETS: 6f
115 TX OCTETS: 61
@@ -422,12 +420,12 @@ Sec-WebSocket-Accept: 2JGbBjsl38cTC8jWbPUbg2YZgPg=
118 TX OCTETS: 37
119 TX OCTETS: 89
120 TX OCTETS: 09
-
121 RX OCTETS: 8a89d91dc64ea97cbf22b67ca263ee
-
122 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6439316463363465
+
121 TX OCTETS: 70
+
122 TX OCTETS: 61
+
123 TX OCTETS: 79
+
124 RX OCTETS: 8a89a3495d64d3282408cc28394994
+
125 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6133343935643634
               payload-7
-
123 TX OCTETS: 70
-
124 TX OCTETS: 61
-
125 TX OCTETS: 79
126 TX OCTETS: 6c
127 TX OCTETS: 6f
128 TX OCTETS: 61
@@ -438,8 +436,8 @@ Sec-WebSocket-Accept: 2JGbBjsl38cTC8jWbPUbg2YZgPg=
133 TX OCTETS: 09
134 RX OCTETS: 8a
135 TX OCTETS: 70
-
136 RX OCTETS: 893054138c40356ae05f3577a108
-
137 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3330353431333863
+
136 RX OCTETS: 8915444ffb652536977a252bd62d
+
137 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3135343434666662
               payload-8
138 TX OCTETS: 61
139 TX OCTETS: 79
@@ -450,14 +448,14 @@ Sec-WebSocket-Accept: 2JGbBjsl38cTC8jWbPUbg2YZgPg=
144 TX OCTETS: 2d
145 TX OCTETS: 39
146 RX OCTETS: 8a
-
147 RX OCTETS: 89493f6c78395e1514265e085570
-
148 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3439336636633738
+
147 RX OCTETS: 891ee0d00a6e81a9667181b42727
+
148 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3165653064303061
               payload-9
149 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0x03e8
150 TX OCTETS: 880203e8
-
151 RX OCTETS: 8882a23e4edea1d6
-
152 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6132336534656465
+
151 RX OCTETS: 888224985d3f2770
+
152 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3234393835643366
               0x03e8
153 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_2_11.json b/autobahn/client/hornbeam_case_2_11.json index 4b82fea..8215ece 100644 --- a/autobahn/client/hornbeam_case_2_11.json +++ b/autobahn/client/hornbeam_case_2_11.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send 10 Pings with payload. Send out octets in octet-wise chops.", "droppedByMe": true, - "duration": 61, + "duration": 60, "expectation": "Pongs for our Pings with all the payloads. Note: This is not required by the Spec .. but we check for this behaviour anyway. Clean close with normal code.", "expected": { "OK": [ @@ -62,8 +62,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=27&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: OBRvYyRhYWFlOKisgDccuQ==\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: 2JGbBjsl38cTC8jWbPUbg2YZgPg=\r\n\r\n", + "httpRequest": "GET /runCase?case=27&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: s7BeW6FDSWb/ojorvFJRfA==\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: 5lPf2bYFgANCjRtt5DO8pIDbrr8=\r\n\r\n", "id": "2.11", "isServer": true, "localCloseCode": 1000, @@ -121,15 +121,13 @@ "10": 10 }, "rxOctetStats": { - "1": 5, - "6": 1, + "1": 6, "8": 1, - "9": 1, - "14": 5, + "14": 6, "15": 4, "183": 1 }, - "started": "2023-08-10T23:01:28.140Z", + "started": "2023-08-11T05:15:06.841Z", "trafficStats": null, "txFrameStats": { "8": 1, @@ -409,13 +407,6 @@ ], true ], - [ - "RO", - [ - 1, - "8a" - ] - ], [ "TO", [ @@ -424,11 +415,19 @@ ], true ], + [ + "TO", + [ + 1, + "61" + ], + true + ], [ "RO", [ - 14, - "895fdc53bb2fbd2ad730bd37966f" + 15, + "8a89e3f6675293971e3e8c97037fd3" ] ], [ @@ -441,15 +440,7 @@ true, 0, true, - "5fdc53bb" - ], - [ - "TO", - [ - 1, - "61" - ], - true + "e3f66752" ], [ "TO", @@ -523,14 +514,6 @@ ], true ], - [ - "TO", - [ - 1, - "70" - ], - true - ], [ "RO", [ @@ -542,7 +525,7 @@ "TO", [ 1, - "61" + "70" ], true ], @@ -550,7 +533,7 @@ "RO", [ 14, - "89c4ae7253b4cf0b3fabcf167ef5" + "897e21a9cd0e40d0a11140cde04f" ] ], [ @@ -563,7 +546,15 @@ true, 0, true, - "c4ae7253" + "7e21a9cd" + ], + [ + "TO", + [ + 1, + "61" + ], + true ], [ "TO", @@ -637,6 +628,13 @@ ], true ], + [ + "RO", + [ + 1, + "8a" + ] + ], [ "TO", [ @@ -645,34 +643,11 @@ ], true ], - [ - "TO", - [ - 1, - "61" - ], - true - ], [ "RO", [ - 6, - "8a895fe8d15e" - ] - ], - [ - "TO", - [ - 1, - "79" - ], - true - ], - [ - "RO", - [ - 9, - "2f89a8323089b5736d" + 14, + "89599e2bb229ff52de36ff4f9f6b" ] ], [ @@ -685,7 +660,23 @@ true, 0, true, - "5fe8d15e" + "599e2bb2" + ], + [ + "TO", + [ + 1, + "61" + ], + true + ], + [ + "TO", + [ + 1, + "79" + ], + true ], [ "TO", @@ -751,13 +742,6 @@ ], true ], - [ - "RO", - [ - 1, - "8a" - ] - ], [ "TO", [ @@ -766,11 +750,26 @@ ], true ], + [ + "RO", + [ + 1, + "8a" + ] + ], + [ + "TO", + [ + 1, + "61" + ], + true + ], [ "RO", [ 14, - "89368944a346e83dcf59e8208e05" + "891bb6e1c66bd798aa74d785eb28" ] ], [ @@ -783,15 +782,7 @@ true, 0, true, - "368944a3" - ], - [ - "TO", - [ - 1, - "61" - ], - true + "1bb6e1c6" ], [ "TO", @@ -868,8 +859,23 @@ [ "RO", [ - 15, - "8a892e245f595e45263541453b741a" + 1, + "8a" + ] + ], + [ + "TO", + [ + 1, + "70" + ], + true + ], + [ + "RO", + [ + 14, + "89ce1d74e9be7c0d85a17c10c4fa" ] ], [ @@ -882,15 +888,7 @@ true, 0, true, - "2e245f59" - ], - [ - "TO", - [ - 1, - "70" - ], - true + "ce1d74e9" ], [ "TO", @@ -972,25 +970,6 @@ ], true ], - [ - "RO", - [ - 15, - "8a8912afb25d62cecb317dced67027" - ] - ], - [ - "RF", - [ - 9, - "payload-5" - ], - 10, - true, - 0, - true, - "12afb25d" - ], [ "TO", [ @@ -1031,6 +1010,25 @@ ], true ], + [ + "RO", + [ + 15, + "8a89b7675c0bc7062567d806382682" + ] + ], + [ + "RF", + [ + 9, + "payload-5" + ], + 10, + true, + 0, + true, + "b7675c0b" + ], [ "TO", [ @@ -1079,25 +1077,6 @@ ], true ], - [ - "RO", - [ - 15, - "8a8983715afaf3102396ec103ed7b5" - ] - ], - [ - "RF", - [ - 9, - "payload-6" - ], - 10, - true, - 0, - true, - "83715afa" - ], [ "TO", [ @@ -1122,6 +1101,25 @@ ], true ], + [ + "RO", + [ + 15, + "8a894e1a67d33e7b1ebf217b03fe78" + ] + ], + [ + "RF", + [ + 9, + "payload-6" + ], + 10, + true, + 0, + true, + "4e1a67d3" + ], [ "TO", [ @@ -1186,25 +1184,6 @@ ], true ], - [ - "RO", - [ - 15, - "8a89d91dc64ea97cbf22b67ca263ee" - ] - ], - [ - "RF", - [ - 9, - "payload-7" - ], - 10, - true, - 0, - true, - "d91dc64e" - ], [ "TO", [ @@ -1229,6 +1208,25 @@ ], true ], + [ + "RO", + [ + 15, + "8a89a3495d64d3282408cc28394994" + ] + ], + [ + "RF", + [ + 9, + "payload-7" + ], + 10, + true, + 0, + true, + "a3495d64" + ], [ "TO", [ @@ -1312,7 +1310,7 @@ "RO", [ 14, - "893054138c40356ae05f3577a108" + "8915444ffb652536977a252bd62d" ] ], [ @@ -1325,7 +1323,7 @@ true, 0, true, - "3054138c" + "15444ffb" ], [ "TO", @@ -1402,7 +1400,7 @@ "RO", [ 14, - "89493f6c78395e1514265e085570" + "891ee0d00a6e81a9667181b42727" ] ], [ @@ -1415,7 +1413,7 @@ true, 0, true, - "493f6c78" + "1ee0d00a" ], [ "TF", @@ -1443,7 +1441,7 @@ "RO", [ 8, - "8882a23e4edea1d6" + "888224985d3f2770" ] ], [ @@ -1456,7 +1454,7 @@ true, 0, true, - "a23e4ede" + "24985d3f" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_2_2.html b/autobahn/client/hornbeam_case_2_2.html index df90502..1f22b37 100644 --- a/autobahn/client/hornbeam_case_2_2.html +++ b/autobahn/client/hornbeam_case_2_2.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 2.2 : Pass - 45 ms @ 2023-08-10T23:01:27.755Z

+

Hornbeam - Case 2.2 : Pass - 46 ms @ 2023-08-11T05:15:06.470Z

Case Description

Send ping with small text payload.

Case Expectation

Pong with payload echo'ed is sent in reply to Ping. 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: T8DAOwiIMom/ydVDJmKAWw== +Sec-WebSocket-Key: 9FIPePCsp1X9wxQAIUOIKA== 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: kl7WKK3uW5pS69IsqHTqdxww1GE=
+Sec-WebSocket-Accept: rEtrRMGg0T4IUr9Jv7hdyEIAoUw=

Closing Behavior

Chop SizeCountOctets
155
616
166
818
919
14570
14684
15460
1831183
Total18341
@@ -288,14 +288,14 @@ Sec-WebSocket-Accept: kl7WKK3uW5pS69IsqHTqdxww1GE=
003 TX OCTETS: 890d48656c6c6f2c20776f726c6421
004 CLOSE CONNECTION AFTER 1.000000 sec
005 RX OCTETS: 8a
-
006 RX OCTETS: 8dd52cfd6c9d499100ba00dd1bba5e9108f4
-
007 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=6435326366643663
+
006 RX OCTETS: 8d7c15b8553470d439133998221367d4315d
+
007 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=3763313562383535
               Hello, world!
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: 888200f92a4f0311
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3030663932613466
+
010 RX OCTETS: 88826713909c64fb
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3637313339303963
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_2_2.json b/autobahn/client/hornbeam_case_2_2.json index 5a86248..e46e8ed 100644 --- a/autobahn/client/hornbeam_case_2_2.json +++ b/autobahn/client/hornbeam_case_2_2.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send ping with small text payload.", "droppedByMe": true, - "duration": 45, + "duration": 46, "expectation": "Pong with payload echo'ed is sent in reply to Ping. Clean close with normal code.", "expected": { "OK": [ @@ -26,8 +26,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=18&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: T8DAOwiIMom/ydVDJmKAWw==\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: kl7WKK3uW5pS69IsqHTqdxww1GE=\r\n\r\n", + "httpRequest": "GET /runCase?case=18&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 9FIPePCsp1X9wxQAIUOIKA==\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: rEtrRMGg0T4IUr9Jv7hdyEIAoUw=\r\n\r\n", "id": "2.2", "isServer": true, "localCloseCode": 1000, @@ -54,7 +54,7 @@ "18": 1, "183": 1 }, - "started": "2023-08-10T23:01:27.755Z", + "started": "2023-08-11T05:15:06.470Z", "trafficStats": null, "txFrameStats": { "8": 1, @@ -123,7 +123,7 @@ "RO", [ 18, - "8dd52cfd6c9d499100ba00dd1bba5e9108f4" + "8d7c15b8553470d439133998221367d4315d" ] ], [ @@ -136,7 +136,7 @@ true, 0, true, - "d52cfd6c" + "7c15b855" ], [ "TF", @@ -164,7 +164,7 @@ "RO", [ 8, - "888200f92a4f0311" + "88826713909c64fb" ] ], [ @@ -177,7 +177,7 @@ true, 0, true, - "00f92a4f" + "6713909c" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_2_3.html b/autobahn/client/hornbeam_case_2_3.html index 30b6a98..83b2479 100644 --- a/autobahn/client/hornbeam_case_2_3.html +++ b/autobahn/client/hornbeam_case_2_3.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 2.3 : Pass - 44 ms @ 2023-08-10T23:01:27.803Z

+

Hornbeam - Case 2.3 : Pass - 45 ms @ 2023-08-11T05:15:06.517Z

Case Description

Send ping with small binary (non UTF-8) payload.

Case Expectation

Pong with payload echo'ed is sent in reply to Ping. 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: ychOMxgeODW+EZFG+QEK2w== +Sec-WebSocket-Key: n0A1QXMJ6bPbMOY2jihOzw== 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: PyvUn2gTy+O4L/deUO/1m3VBePs=
+Sec-WebSocket-Accept: ZUbVgAcpI1iFltl0PXhgDfO1an0=

Closing Behavior

@@ -288,14 +288,14 @@ Sec-WebSocket-Accept: PyvUn2gTy+O4L/deUO/1m3VBePs=
003 TX OCTETS: 890800fffefdfcfb00ff
004 CLOSE CONNECTION AFTER 1.000000 sec
005 RX OCTETS: 8a
-
006 RX OCTETS: 880e1bc8320ee436cff2e0c8cd
-
007 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=8, MASKED=True, MASK=3065316263383332
+
006 RX OCTETS: 88e17642b7e189bc4a1d8d4248
+
007 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=8, MASKED=True, MASK=6531373634326237
               0x00fffefdfcfb00ff
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: 888242a460db414c
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3432613436306462
+
010 RX OCTETS: 88823cdbbcc93f33
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3363646262636339
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_2_3.json b/autobahn/client/hornbeam_case_2_3.json index fe6d150..11f31b5 100644 --- a/autobahn/client/hornbeam_case_2_3.json +++ b/autobahn/client/hornbeam_case_2_3.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send ping with small binary (non UTF-8) payload.", "droppedByMe": true, - "duration": 44, + "duration": 45, "expectation": "Pong with payload echo'ed is sent in reply to Ping. Clean close with normal code.", "expected": { "OK": [ @@ -26,8 +26,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=19&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ychOMxgeODW+EZFG+QEK2w==\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: PyvUn2gTy+O4L/deUO/1m3VBePs=\r\n\r\n", + "httpRequest": "GET /runCase?case=19&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: n0A1QXMJ6bPbMOY2jihOzw==\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: ZUbVgAcpI1iFltl0PXhgDfO1an0=\r\n\r\n", "id": "2.3", "isServer": true, "localCloseCode": 1000, @@ -54,7 +54,7 @@ "13": 1, "183": 1 }, - "started": "2023-08-10T23:01:27.803Z", + "started": "2023-08-11T05:15:06.517Z", "trafficStats": null, "txFrameStats": { "8": 1, @@ -123,7 +123,7 @@ "RO", [ 13, - "880e1bc8320ee436cff2e0c8cd" + "88e17642b7e189bc4a1d8d4248" ] ], [ @@ -136,7 +136,7 @@ true, 0, true, - "0e1bc832" + "e17642b7" ], [ "TF", @@ -164,7 +164,7 @@ "RO", [ 8, - "888242a460db414c" + "88823cdbbcc93f33" ] ], [ @@ -177,7 +177,7 @@ true, 0, true, - "42a460db" + "3cdbbcc9" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_2_4.html b/autobahn/client/hornbeam_case_2_4.html index aa2e3dd..6b0f1bb 100644 --- a/autobahn/client/hornbeam_case_2_4.html +++ b/autobahn/client/hornbeam_case_2_4.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 2.4 : Pass - 46 ms @ 2023-08-10T23:05:02.890Z

+

Hornbeam - Case 2.4 : Pass - 45 ms @ 2023-08-11T05:15:06.563Z

Case Description

Send ping with binary payload of 125 octets.

Case Expectation

Pong with payload echo'ed is sent in reply to Ping. 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: WkpDLEWUSrXwh+7ncxjXGg== +Sec-WebSocket-Key: wI06xrcRW8IaIS8nBtOAJA== 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: IvzbRTrZmPw+ai1E2k4x28BpU8g=
+Sec-WebSocket-Accept: OHgMtfiaCptPdYUur+aL2WypgQc=

Closing Behavior

@@ -290,16 +290,16 @@ Sec-WebSocket-Accept: IvzbRTrZmPw+ai1E2k4x28BpU8g=
               fefefefefefefefefefefefefefe ...
004 CLOSE CONNECTION AFTER 1.000000 sec
005 RX OCTETS: 8a
-
006 RX OCTETS: fdd6c3942a283d6ad4283d6ad4283d6ad4283d6ad4283d6ad4283d6ad4283d6ad4283d6ad4283d6ad4283d6ad4283d6ad428
-
               3d6ad4283d6ad4283d6ad4283d6a ...
-
007 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=125, MASKED=True, MASK=6436633339343261
+
006 RX OCTETS: fd0f9f90d7f1616e29f1616e29f1616e29f1616e29f1616e29f1616e29f1616e29f1616e29f1616e29f1616e29f1616e29f1
+
               616e29f1616e29f1616e29f1616e ...
+
007 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=125, MASKED=True, MASK=3066396639306437
               0xfefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe
               fefefefefefefefefefefefefefefe ...
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: 8882126ef1a51186
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3132366566316135
+
010 RX OCTETS: 88827563d2de768b
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3735363364326465
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_2_4.json b/autobahn/client/hornbeam_case_2_4.json index 226b907..1192adf 100644 --- a/autobahn/client/hornbeam_case_2_4.json +++ b/autobahn/client/hornbeam_case_2_4.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send ping with binary payload of 125 octets.", "droppedByMe": true, - "duration": 46, + "duration": 45, "expectation": "Pong with payload echo'ed is sent in reply to Ping. Clean close with normal code.", "expected": { "OK": [ @@ -26,8 +26,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=20&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: WkpDLEWUSrXwh+7ncxjXGg==\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: IvzbRTrZmPw+ai1E2k4x28BpU8g=\r\n\r\n", + "httpRequest": "GET /runCase?case=20&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: wI06xrcRW8IaIS8nBtOAJA==\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: OHgMtfiaCptPdYUur+aL2WypgQc=\r\n\r\n", "id": "2.4", "isServer": true, "localCloseCode": 1000, @@ -54,7 +54,7 @@ "130": 1, "183": 1 }, - "started": "2023-08-10T23:05:02.890Z", + "started": "2023-08-11T05:15:06.563Z", "trafficStats": null, "txFrameStats": { "8": 1, @@ -123,7 +123,7 @@ "RO", [ 130, - "fdd6c3942a283d6ad4283d6ad4283d6ad4283d6ad4283d6ad4283d6ad4283d6ad4283d6ad4283d6ad4283d6ad4283d6ad4283d6ad4283d6ad4283d6ad4283d6a ..." + "fd0f9f90d7f1616e29f1616e29f1616e29f1616e29f1616e29f1616e29f1616e29f1616e29f1616e29f1616e29f1616e29f1616e29f1616e29f1616e29f1616e ..." ] ], [ @@ -136,7 +136,7 @@ true, 0, true, - "d6c3942a" + "0f9f90d7" ], [ "TF", @@ -164,7 +164,7 @@ "RO", [ 8, - "8882126ef1a51186" + "88827563d2de768b" ] ], [ @@ -177,7 +177,7 @@ true, 0, true, - "126ef1a5" + "7563d2de" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_2_5.html b/autobahn/client/hornbeam_case_2_5.html index 8e69229..35c3e81 100644 --- a/autobahn/client/hornbeam_case_2_5.html +++ b/autobahn/client/hornbeam_case_2_5.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 2.5 : Pass - 43 ms @ 2023-08-10T23:11:13.863Z

+

Hornbeam - Case 2.5 : Pass - 44 ms @ 2023-08-11T05:15:06.610Z

Case Description

Send ping with binary payload of 126 octets.

Case Expectation

Connection is failed immediately (1002/Protocol Error), since control frames are only allowed to have payload up to and including 125 octets..

@@ -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: YEQJLUdwuWmHIY49XMs+qw== +Sec-WebSocket-Key: Gb0F42IoJCX9BVape9cqiA== 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: UoAc1VkgWlTpk/9EHop44ngEN5A=
+Sec-WebSocket-Accept: KU+I8sqafmnlYEsAmWZjGYAUTdw=

Closing Behavior

@@ -249,9 +249,9 @@ Sec-WebSocket-Accept: UoAc1VkgWlTpk/9EHop44ngEN5A=
- - + +
Chop SizeCountOctets
111
1551155
1831183
Total3339
140711407
Total31591

Octets Transmitted by Chop Size

@@ -288,9 +288,9 @@ Sec-WebSocket-Accept: UoAc1VkgWlTpk/9EHop44ngEN5A=
               fefefefefefefefefefefefefefe ...
004 FAIL CONNECTION AFTER 1.000000 sec
005 RX OCTETS: 88
-
006 RX OCTETS: 90c7f9a4d4c413f4a6a88dcbb7a8958491b58bcba68afe007e96146ebe68ea904068ea904068ea904068ea904068ea904068
-
               ea904068ea904068ea904068ea90 ...
-
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=16, MASKED=True, MASK=6337663961346434
+
006 RX OCTETS: 904432700147d820732b461f622b5e504436401f738890334bed6630a1bd145c3f82055c27cd2341398214889010fd466013
+
               1716127f8929037f916625628f29 ...
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=16, MASKED=True, MASK=3434333237303031
               0x03ea50726f746f636f6c204572726f72
008 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0x03e8
diff --git a/autobahn/client/hornbeam_case_2_5.json b/autobahn/client/hornbeam_case_2_5.json index d0dd9d3..858b545 100644 --- a/autobahn/client/hornbeam_case_2_5.json +++ b/autobahn/client/hornbeam_case_2_5.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send ping with binary payload of 126 octets.", "droppedByMe": true, - "duration": 43, + "duration": 44, "expectation": "Connection is failed immediately (1002/Protocol Error), since control frames are only allowed to have payload up to and including 125 octets..", "expected": { "OK": [] @@ -21,8 +21,8 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=21&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: YEQJLUdwuWmHIY49XMs+qw==\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: UoAc1VkgWlTpk/9EHop44ngEN5A=\r\n\r\n", + "httpRequest": "GET /runCase?case=21&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Gb0F42IoJCX9BVape9cqiA==\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: KU+I8sqafmnlYEsAmWZjGYAUTdw=\r\n\r\n", "id": "2.5", "isServer": true, "localCloseCode": 1000, @@ -39,10 +39,10 @@ }, "rxOctetStats": { "1": 1, - "155": 1, - "183": 1 + "183": 1, + "1407": 1 }, - "started": "2023-08-10T23:11:13.863Z", + "started": "2023-08-11T05:15:06.610Z", "trafficStats": null, "txFrameStats": { "8": 1, @@ -110,8 +110,8 @@ [ "RO", [ - 155, - "90c7f9a4d4c413f4a6a88dcbb7a8958491b58bcba68afe007e96146ebe68ea904068ea904068ea904068ea904068ea904068ea904068ea904068ea904068ea90 ..." + 1407, + "904432700147d820732b461f622b5e504436401f738890334bed6630a1bd145c3f82055c27cd2341398214889010fd4660131716127f8929037f916625628f29 ..." ] ], [ @@ -124,7 +124,7 @@ true, 0, true, - "c7f9a4d4" + "44327001" ], [ "TF", diff --git a/autobahn/client/hornbeam_case_2_6.html b/autobahn/client/hornbeam_case_2_6.html index 3c17fc9..1655fc9 100644 --- a/autobahn/client/hornbeam_case_2_6.html +++ b/autobahn/client/hornbeam_case_2_6.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 2.6 : Pass - 51 ms @ 2023-08-10T23:01:27.949Z

+

Hornbeam - Case 2.6 : Pass - 60 ms @ 2023-08-11T05:15:06.656Z

Case Description

Send ping with binary payload of 125 octets, send in octet-wise chops.

Case Expectation

Pong with payload echo'ed is sent in reply to Ping. Implementations must be TCP clean. 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: owmthfrUYm1YwAHZU+dj/Q== +Sec-WebSocket-Key: sqqSSLHf31uhbxqLQGqEGg== 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: nlGo4a/sKPxw7RHv5yUneoReHu0=
+Sec-WebSocket-Accept: YffE01oAL6rJ3GmIz7DOXgwEc2Y=

Closing Behavior

@@ -415,16 +415,16 @@ Sec-WebSocket-Accept: nlGo4a/sKPxw7RHv5yUneoReHu0=
129 TX OCTETS: fe
130 TX OCTETS: fe
131 RX OCTETS: 8a
-
132 RX OCTETS: fdc81de11136e31fef36e31fef36e31fef36e31fef36e31fef36e31fef36e31fef36e31fef36e31fef36e31fef36e31fef36
-
               e31fef36e31fef36e31fef36e31f ...
-
133 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=125, MASKED=True, MASK=6338316465313131
+
132 RX OCTETS: fd4ddcb7c3b322493db322493db322493db322493db322493db322493db322493db322493db322493db322493db322493db3
+
               22493db322493db322493db32249 ...
+
133 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=125, MASKED=True, MASK=3464646362376333
               0xfefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe
               fefefefefefefefefefefefefefefe ...
134 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0x03e8
135 TX OCTETS: 880203e8
-
136 RX OCTETS: 88827e6851297d80
-
137 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3765363835313239
+
136 RX OCTETS: 8882f60d4685f5e5
+
137 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6636306434363835
               0x03e8
138 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_2_6.json b/autobahn/client/hornbeam_case_2_6.json index 47b9b2d..cff8723 100644 --- a/autobahn/client/hornbeam_case_2_6.json +++ b/autobahn/client/hornbeam_case_2_6.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send ping with binary payload of 125 octets, send in octet-wise chops.", "droppedByMe": true, - "duration": 51, + "duration": 60, "expectation": "Pong with payload echo'ed is sent in reply to Ping. Implementations must be TCP clean. Clean close with normal code.", "expected": { "OK": [ @@ -26,8 +26,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=22&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: owmthfrUYm1YwAHZU+dj/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: nlGo4a/sKPxw7RHv5yUneoReHu0=\r\n\r\n", + "httpRequest": "GET /runCase?case=22&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: sqqSSLHf31uhbxqLQGqEGg==\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: YffE01oAL6rJ3GmIz7DOXgwEc2Y=\r\n\r\n", "id": "2.6", "isServer": true, "localCloseCode": 1000, @@ -54,7 +54,7 @@ "130": 1, "183": 1 }, - "started": "2023-08-10T23:01:27.949Z", + "started": "2023-08-11T05:15:06.656Z", "trafficStats": null, "txFrameStats": { "8": 1, @@ -1131,7 +1131,7 @@ "RO", [ 130, - "fdc81de11136e31fef36e31fef36e31fef36e31fef36e31fef36e31fef36e31fef36e31fef36e31fef36e31fef36e31fef36e31fef36e31fef36e31fef36e31f ..." + "fd4ddcb7c3b322493db322493db322493db322493db322493db322493db322493db322493db322493db322493db322493db322493db322493db322493db32249 ..." ] ], [ @@ -1144,7 +1144,7 @@ true, 0, true, - "c81de111" + "4ddcb7c3" ], [ "TF", @@ -1172,7 +1172,7 @@ "RO", [ 8, - "88827e6851297d80" + "8882f60d4685f5e5" ] ], [ @@ -1185,7 +1185,7 @@ true, 0, true, - "7e685129" + "f60d4685" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_2_7.html b/autobahn/client/hornbeam_case_2_7.html index b59ee64..a60d0dd 100644 --- a/autobahn/client/hornbeam_case_2_7.html +++ b/autobahn/client/hornbeam_case_2_7.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 2.7 : Pass - 2 ms @ 2023-08-10T23:01:28.002Z

+

Hornbeam - Case 2.7 : Pass - 2 ms @ 2023-08-11T05:15:06.719Z

Case Description

Send unsolicited pong without payload. Verify nothing is received. Clean close with normal code.

Case Expectation

Nothing.

@@ -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: 66c4gGLRe4Hj6I90aLw8aw== +Sec-WebSocket-Key: i+6X9FKPEMNAIrJWbD0wGw== 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: KSmcX21f7ba3U0hIMk5iE6iYNY4=
+Sec-WebSocket-Accept: Ewg2tPwMxIclAk3oAWRjPytnG6o=

Closing Behavior

@@ -286,8 +286,8 @@ Sec-WebSocket-Accept: KSmcX21f7ba3U0hIMk5iE6iYNY4=
               0x03e8
005 TX OCTETS: 880203e8
006 CLOSE CONNECTION AFTER 1.000000 sec
-
007 RX OCTETS: 88825dbdc4ad5e55
-
008 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3564626463346164
+
007 RX OCTETS: 8882ad057ba4aeed
+
008 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6164303537626134
               0x03e8
009 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_2_7.json b/autobahn/client/hornbeam_case_2_7.json index 73d305b..d339787 100644 --- a/autobahn/client/hornbeam_case_2_7.json +++ b/autobahn/client/hornbeam_case_2_7.json @@ -21,8 +21,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=23&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 66c4gGLRe4Hj6I90aLw8aw==\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: KSmcX21f7ba3U0hIMk5iE6iYNY4=\r\n\r\n", + "httpRequest": "GET /runCase?case=23&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: i+6X9FKPEMNAIrJWbD0wGw==\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: Ewg2tPwMxIclAk3oAWRjPytnG6o=\r\n\r\n", "id": "2.7", "isServer": true, "localCloseCode": 1000, @@ -41,7 +41,7 @@ "8": 1, "183": 1 }, - "started": "2023-08-10T23:01:28.002Z", + "started": "2023-08-11T05:15:06.719Z", "trafficStats": null, "txFrameStats": { "8": 1, @@ -125,7 +125,7 @@ "RO", [ 8, - "88825dbdc4ad5e55" + "8882ad057ba4aeed" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "5dbdc4ad" + "ad057ba4" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_2_8.html b/autobahn/client/hornbeam_case_2_8.html index f3e2154..9c1eacf 100644 --- a/autobahn/client/hornbeam_case_2_8.html +++ b/autobahn/client/hornbeam_case_2_8.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 2.8 : Pass - 28 ms @ 2023-08-10T23:01:28.006Z

+

Hornbeam - Case 2.8 : Pass - 2 ms @ 2023-08-11T05:15:06.722Z

Case Description

Send unsolicited pong with payload. Verify nothing is received. Clean close with normal code.

Case Expectation

Nothing.

@@ -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: AR69e1V6Qu+fziswMIPIgg== +Sec-WebSocket-Key: JzlE+hzdp5z3OKlYwolFcA== 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: pnD3nyAXXit3lZLF75h8exD6kew=
+Sec-WebSocket-Accept: Ecss1Zm8NQeahi+XuvcdIwwmD9s=

Closing Behavior

@@ -287,8 +287,8 @@ Sec-WebSocket-Accept: pnD3nyAXXit3lZLF75h8exD6kew=
               0x03e8
005 TX OCTETS: 880203e8
006 CLOSE CONNECTION AFTER 1.000000 sec
-
007 RX OCTETS: 888225a0b5882648
-
008 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3235613062353838
+
007 RX OCTETS: 888280ec3d118304
+
008 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3830656333643131
               0x03e8
009 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_2_8.json b/autobahn/client/hornbeam_case_2_8.json index a2e7043..19c45d5 100644 --- a/autobahn/client/hornbeam_case_2_8.json +++ b/autobahn/client/hornbeam_case_2_8.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send unsolicited pong with payload. Verify nothing is received. Clean close with normal code.", "droppedByMe": true, - "duration": 28, + "duration": 2, "expectation": "Nothing.", "expected": { "OK": [] @@ -21,8 +21,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=24&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: AR69e1V6Qu+fziswMIPIgg==\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: pnD3nyAXXit3lZLF75h8exD6kew=\r\n\r\n", + "httpRequest": "GET /runCase?case=24&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: JzlE+hzdp5z3OKlYwolFcA==\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: Ecss1Zm8NQeahi+XuvcdIwwmD9s=\r\n\r\n", "id": "2.8", "isServer": true, "localCloseCode": 1000, @@ -41,7 +41,7 @@ "8": 1, "183": 1 }, - "started": "2023-08-10T23:01:28.006Z", + "started": "2023-08-11T05:15:06.722Z", "trafficStats": null, "txFrameStats": { "8": 1, @@ -125,7 +125,7 @@ "RO", [ 8, - "888225a0b5882648" + "888280ec3d118304" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "25a0b588" + "80ec3d11" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_2_9.html b/autobahn/client/hornbeam_case_2_9.html index 0f7b473..3378d8f 100644 --- a/autobahn/client/hornbeam_case_2_9.html +++ b/autobahn/client/hornbeam_case_2_9.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 2.9 : Pass - 47 ms @ 2023-08-10T23:01:28.037Z

+

Hornbeam - Case 2.9 : Pass - 45 ms @ 2023-08-11T05:15:06.726Z

Case Description

Send unsolicited pong with payload. Send ping with payload. Verify pong for ping is received.

Case Expectation

Nothing in reply to own Pong, but Pong with payload echo'ed in reply to Ping. 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: xhnMmO0/QIyR6TciJW767Q== +Sec-WebSocket-Key: hRXaX05eMQH1LQRC5rbQyg== 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: w31Gmfm4IPdyZcVuirH7KvUjq1M=
+Sec-WebSocket-Accept: 0MMAhzRm0eCm9pVDCLdxG34LaFY=

Closing Behavior

@@ -293,14 +293,14 @@ Sec-WebSocket-Accept: w31Gmfm4IPdyZcVuirH7KvUjq1M=
005 TX OCTETS: 890c70696e67207061796c6f6164
006 CLOSE CONNECTION AFTER 1.000000 sec
007 RX OCTETS: 8a
-
008 RX OCTETS: 8cd37002fba3196c9cf3006382bf1f639f
-
009 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=6433373030326662
+
008 RX OCTETS: 8c2dfcc7a85d95a9cf0d8ca6d14193a6cc
+
009 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=3264666363376138
               ping payload
010 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0x03e8
011 TX OCTETS: 880203e8
-
012 RX OCTETS: 8882681ad0696bf2
-
013 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3638316164303639
+
012 RX OCTETS: 88829126d6d492ce
+
013 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3931323664366434
               0x03e8
014 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_2_9.json b/autobahn/client/hornbeam_case_2_9.json index 47fd387..2d80984 100644 --- a/autobahn/client/hornbeam_case_2_9.json +++ b/autobahn/client/hornbeam_case_2_9.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send unsolicited pong with payload. Send ping with payload. Verify pong for ping is received.", "droppedByMe": true, - "duration": 47, + "duration": 45, "expectation": "Nothing in reply to own Pong, but Pong with payload echo'ed in reply to Ping. Clean close with normal code.", "expected": { "OK": [ @@ -26,8 +26,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=25&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: xhnMmO0/QIyR6TciJW767Q==\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: w31Gmfm4IPdyZcVuirH7KvUjq1M=\r\n\r\n", + "httpRequest": "GET /runCase?case=25&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: hRXaX05eMQH1LQRC5rbQyg==\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: 0MMAhzRm0eCm9pVDCLdxG34LaFY=\r\n\r\n", "id": "2.9", "isServer": true, "localCloseCode": 1000, @@ -54,7 +54,7 @@ "17": 1, "183": 1 }, - "started": "2023-08-10T23:01:28.037Z", + "started": "2023-08-11T05:15:06.726Z", "trafficStats": null, "txFrameStats": { "8": 1, @@ -147,7 +147,7 @@ "RO", [ 17, - "8cd37002fba3196c9cf3006382bf1f639f" + "8c2dfcc7a85d95a9cf0d8ca6d14193a6cc" ] ], [ @@ -160,7 +160,7 @@ true, 0, true, - "d37002fb" + "2dfcc7a8" ], [ "TF", @@ -188,7 +188,7 @@ "RO", [ 8, - "8882681ad0696bf2" + "88829126d6d492ce" ] ], [ @@ -201,7 +201,7 @@ true, 0, true, - "681ad069" + "9126d6d4" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_3_1.html b/autobahn/client/hornbeam_case_3_1.html index a2967ab..8f2f873 100644 --- a/autobahn/client/hornbeam_case_3_1.html +++ b/autobahn/client/hornbeam_case_3_1.html @@ -202,69 +202,69 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 3.1 : Fail - 1005 ms @ 2023-08-10T23:01:28.203Z

+

Hornbeam - Case 3.1 : Pass - 43 ms @ 2023-08-11T05:15:06.904Z

Case Description

Send small text message with RSV = 1.

Case Expectation

The connection is failed immediately (1002/protocol error), since RSV must be 0, when no extension defining RSV meaning has been negotiated.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'Hello, world!', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=28&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: 6+okpSeh18Mcb42fHTZySw==
+Sec-WebSocket-Key: N6lMlpBmCo9fCKVm9m/rPg==
 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: LaI1H2saKyiZkCZ3eUq4bJ0O1Pc=
+Sec-WebSocket-Accept: YC0NRt6I9uDkR27Y8Z6VX5LV3xQ=

Closing Behavior

- - - - - + + + + + - - - - + + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode1002The close code the peer sent me in close frame (if any).
remoteCloseReasonProtocol ErrorThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- + - +
Chop SizeCountOctets
111
18118
1531153
1831183
Total3202
Total3337

Octets Transmitted by Chop Size

- + - +
Chop SizeCountOctets
14114
414
15115
2061206
Total3235
Total3225

Frames Received by Opcode

- +
OpcodeCount
11
81
Total1

Frames Transmitted by Opcode

@@ -285,15 +285,15 @@ Sec-WebSocket-Accept: LaI1H2saKyiZkCZ3eUq4bJ0O1Pc=
               Hello, world!
003 TX OCTETS: 910d48656c6c6f2c20776f726c6421
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8d855e3313cd3b5f7fea721364ea2c5f77a4
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=3835356533333133
-
               Hello, world!
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 TCP DROPPED BY PEER
+
005 RX OCTETS: 88
+
006 RX OCTETS: 902f8444352c6e144740f02b5640e864705df62b478890263350a525d900d749473fc6495f70e054413fd788909c1972e19f
+
               f32293f36d1d82f37552a4ee6b1d ...
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=16, MASKED=True, MASK=3266383434343335
+
               0x03ea50726f746f636f6c204572726f72
+
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 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_3_1.json b/autobahn/client/hornbeam_case_3_1.json index e5f5abd..b68b9c8 100644 --- a/autobahn/client/hornbeam_case_3_1.json +++ b/autobahn/client/hornbeam_case_3_1.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 28, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send small text message with RSV = 1.", - "droppedByMe": false, - "duration": 1005, + "droppedByMe": true, + "duration": 43, "expectation": "The connection is failed immediately (1002/protocol error), since RSV must be 0, when no extension defining RSV meaning has been negotiated.", "expected": { "OK": [] @@ -20,48 +20,42 @@ "closedByMe": false, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=28&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 6+okpSeh18Mcb42fHTZySw==\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: LaI1H2saKyiZkCZ3eUq4bJ0O1Pc=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=28&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: N6lMlpBmCo9fCKVm9m/rPg==\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: YC0NRt6I9uDkR27Y8Z6VX5LV3xQ=\r\n\r\n", "id": "3.1", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "Hello, world!", - false - ] - ], - "remoteCloseCode": null, - "remoteCloseReason": null, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1002, + "remoteCloseReason": "Protocol Error", "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", "rxFrameStats": { - "1": 1 + "8": 1 }, "rxOctetStats": { "1": 1, - "18": 1, + "153": 1, "183": 1 }, - "started": "2023-08-10T23:01:28.203Z", + "started": "2023-08-11T05:15:06.904Z", "trafficStats": null, "txFrameStats": { "1": 1, "8": 1 }, "txOctetStats": { - "14": 1, + "4": 1, "15": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", + "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -110,36 +104,33 @@ "RO", [ 1, - "81" + "88" ] ], [ "RO", [ - 18, - "8d855e3313cd3b5f7fea721364ea2c5f77a4" + 153, + "902f8444352c6e144740f02b5640e864705df62b478890263350a525d900d749473fc6495f70e054413fd788909c1972e19ff32293f36d1d82f37552a4ee6b1d ..." ] ], [ "RF", [ - 13, - "Hello, world!" + 16, + "0x03ea50726f746f636f6c204572726f72" ], - 1, + 8, true, 0, true, - "855e3313" - ], - [ - "KLE" + "2f844435" ], [ "TF", [ - 12, - "0x03e9476f696e672041776179" + 2, + "0x03e8" ], 8, true, @@ -152,8 +143,8 @@ [ "TO", [ - 14, - "880c03e9476f696e672041776179" + 4, + "880203e8" ], false ] diff --git a/autobahn/client/hornbeam_case_3_2.html b/autobahn/client/hornbeam_case_3_2.html index 429d435..b8b2146 100644 --- a/autobahn/client/hornbeam_case_3_2.html +++ b/autobahn/client/hornbeam_case_3_2.html @@ -202,74 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 3.2 : Fail - 1003 ms @ 2023-08-10T23:01:29.210Z

+

Hornbeam - Case 3.2 : Pass - 44 ms @ 2023-08-11T05:15:06.950Z

Case Description

Send small text message, then send again with RSV = 2, then send Ping.

Case Expectation

Echo for first message is received, but then connection is failed immediately, since RSV must be 0, when no extension defining RSV meaning has been negotiated. The Pong is not received.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

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

- Observed:
[('message', u'Hello, world!', False), ('message', u'Hello, world!', False), ('pong', u'')] + Observed:
[('message', u'Hello, world!', False)]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=29&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: ryc+20TzaY7MXVNF0O5/UQ==
+Sec-WebSocket-Key: E7a9lj8n1DgPhXkGz8CBxw==
 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: 9vg9/z438xdLdW0/usVDpoM+izU=
+Sec-WebSocket-Accept: Uu5i2zQME2t6I2eyirt6MZs5/Cg=

Closing Behavior

- - + + - - - - + + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode1002The close code the peer sent me in close frame (if any).
remoteCloseReasonProtocol ErrorThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - + +
Chop SizeCountOctets
111
818
43143
1831183
Total4235
1941194
Total3378

Octets Transmitted by Chop Size

- + - +
Chop SizeCountOctets
212
14114
414
15230
2061206
Total5252
Total5242

Frames Received by Opcode

- + - - +
OpcodeCount
12
11
81
101
Total4
Total2

Frames Transmitted by Opcode

@@ -296,20 +294,16 @@ Sec-WebSocket-Accept: 9vg9/z438xdLdW0/usVDpoM+izU=
007 TX OCTETS: 8900
008 FAIL CONNECTION AFTER 1.000000 sec
009 RX OCTETS: 81
-
010 RX OCTETS: 8d6a7f7610221a1a7c05535667050d1a744b818d614ad9e6292fb58a0e66f9910e38b582408a803a051d23
-
011 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=3661376637363130
+
010 RX OCTETS: 8de20b66b6aa6e0ada8d2746c18d790ad2c38890f544757cf6ae250e9a301a1f9a28553987361a0e8890a1fce293a216b2e1
+
               ce888df0ce90c2d6d38e8de18890 ...
+
011 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=6532306236366236
               Hello, world!
-
012 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=3631346164396536
-
               Hello, world!
-
013 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=0, MASKED=True, MASK=3361303531643233
-
014 FAILING CONNECTION
-
015 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
016 TX OCTETS: 880c03e9476f696e672041776179
-
017 RX OCTETS: 888271eae6f07202
-
018 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3731656165366630
-
               0x03e8
-
019 TCP DROPPED BY ME
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=16, MASKED=True, MASK=6635343437353763
+
               0x03ea50726f746f636f6c204572726f72
+
013 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
014 TX OCTETS: 880203e8
+
015 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_3_2.json b/autobahn/client/hornbeam_case_3_2.json index a86a677..ae69ff7 100644 --- a/autobahn/client/hornbeam_case_3_2.json +++ b/autobahn/client/hornbeam_case_3_2.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 29, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send small text message, then send again with RSV = 2, then send Ping.", "droppedByMe": true, - "duration": 1003, + "duration": 44, "expectation": "Echo for first message is received, but then connection is failed immediately, since RSV must be 0, when no extension defining RSV meaning has been negotiated. The Pong is not received.", "expected": { "NON-STRICT": [], @@ -27,47 +27,36 @@ "closedByMe": false, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=29&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ryc+20TzaY7MXVNF0O5/UQ==\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: 9vg9/z438xdLdW0/usVDpoM+izU=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=29&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: E7a9lj8n1DgPhXkGz8CBxw==\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: Uu5i2zQME2t6I2eyirt6MZs5/Cg=\r\n\r\n", "id": "3.2", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", + "localCloseCode": 1000, + "localCloseReason": null, "received": [ [ "message", "Hello, world!", false - ], - [ - "message", - "Hello, world!", - false - ], - [ - "pong", - "" ] ], - "remoteCloseCode": 1000, - "remoteCloseReason": null, + "remoteCloseCode": 1002, + "remoteCloseReason": "Protocol Error", "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", "rxFrameStats": { - "1": 2, - "8": 1, - "10": 1 + "1": 1, + "8": 1 }, "rxOctetStats": { "1": 1, - "8": 1, - "43": 1, - "183": 1 + "183": 1, + "194": 1 }, - "started": "2023-08-10T23:01:29.210Z", + "started": "2023-08-11T05:15:06.950Z", "trafficStats": null, "txFrameStats": { "1": 2, @@ -76,7 +65,7 @@ }, "txOctetStats": { "2": 1, - "14": 1, + "4": 1, "15": 2, "206": 1 }, @@ -181,8 +170,8 @@ [ "RO", [ - 43, - "8d6a7f7610221a1a7c05535667050d1a744b818d614ad9e6292fb58a0e66f9910e38b582408a803a051d23" + 194, + "8de20b66b6aa6e0ada8d2746c18d790ad2c38890f544757cf6ae250e9a301a1f9a28553987361a0e8890a1fce293a216b2e1ce888df0ce90c2d6d38e8de18890 ..." ] ], [ @@ -195,40 +184,25 @@ true, 0, true, - "6a7f7610" + "e20b66b6" ], [ "RF", [ - 13, - "Hello, world!" + 16, + "0x03ea50726f746f636f6c204572726f72" ], - 1, + 8, true, 0, true, - "614ad9e6" - ], - [ - "RF", - [ - 0, - "" - ], - 10, - true, - 0, - true, - "3a051d23" - ], - [ - "KLE" + "f544757c" ], [ "TF", [ - 12, - "0x03e9476f696e672041776179" + 2, + "0x03e8" ], 8, true, @@ -241,29 +215,10 @@ [ "TO", [ - 14, - "880c03e9476f696e672041776179" + 4, + "880203e8" ], false - ], - [ - "RO", - [ - 8, - "888271eae6f07202" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "71eae6f0" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_3_3.html b/autobahn/client/hornbeam_case_3_3.html index 1289f8f..699329e 100644 --- a/autobahn/client/hornbeam_case_3_3.html +++ b/autobahn/client/hornbeam_case_3_3.html @@ -202,74 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 3.3 : Fail - 1003 ms @ 2023-08-10T23:01:30.216Z

+

Hornbeam - Case 3.3 : Pass - 44 ms @ 2023-08-11T05:15:06.996Z

Case Description

Send small text message, then send again with RSV = 3, then send Ping. Octets are sent in frame-wise chops. Octets are sent in octet-wise chops.

Case Expectation

Echo for first message is received, but then connection is failed immediately, since RSV must be 0, when no extension defining RSV meaning has been negotiated. The Pong is not received.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

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

- Observed:
[('message', u'Hello, world!', False), ('message', u'Hello, world!', False), ('pong', u'')] + Observed:
[('message', u'Hello, world!', False)]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=30&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: BGWECM/TNxYvDVropB7O1w==
+Sec-WebSocket-Key: L2mR2l9jq4aYLD31IT9BLg==
 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: y3kjtRbvVncF2veaUuw+RltgXiM=
+Sec-WebSocket-Accept: 9883q7teOKgZShBpqrbkWTR7Q9Q=

Closing Behavior

- - + + - - - - + + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode1002The close code the peer sent me in close frame (if any).
remoteCloseReasonProtocol ErrorThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - + +
Chop SizeCountOctets
111
818
43143
1831183
Total4235
1941194
Total3378

Octets Transmitted by Chop Size

- + - +
Chop SizeCountOctets
212
14114
414
15230
2061206
Total5252
Total5242

Frames Received by Opcode

- + - - +
OpcodeCount
12
11
81
101
Total4
Total2

Frames Transmitted by Opcode

@@ -296,20 +294,16 @@ Sec-WebSocket-Accept: y3kjtRbvVncF2veaUuw+RltgXiM=
007 TX OCTETS: b10d48656c6c6f2c20776f726c6421
008 TX OCTETS: 8900
009 RX OCTETS: 81
-
010 RX OCTETS: 8d245770426c321c2e4b7b50354b251c2605818dc5378a978d52e6fbaa1baae0aa45e6f3e48a807a192034
-
011 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=3234353737303432
+
010 RX OCTETS: 8db6ee3ca3fe8b50cfd9c21cd4d99c50c79788902998dd032a728d7146ecb26046f4fd465beab2718890aae8365aa9026628
+
               c59c5939c584161fd89a59288890 ...
+
011 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=6236656533636133
               Hello, world!
-
012 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=6335333738613937
-
               Hello, world!
-
013 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=0, MASKED=True, MASK=3761313932303334
-
014 FAILING CONNECTION
-
015 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
016 TX OCTETS: 880c03e9476f696e672041776179
-
017 RX OCTETS: 8882fdeacfeffe02
-
018 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6664656163666566
-
               0x03e8
-
019 TCP DROPPED BY ME
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=16, MASKED=True, MASK=3239393864643033
+
               0x03ea50726f746f636f6c204572726f72
+
013 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
014 TX OCTETS: 880203e8
+
015 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_3_3.json b/autobahn/client/hornbeam_case_3_3.json index c5913bf..c569efc 100644 --- a/autobahn/client/hornbeam_case_3_3.json +++ b/autobahn/client/hornbeam_case_3_3.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 30, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send small text message, then send again with RSV = 3, then send Ping. Octets are sent in frame-wise chops. Octets are sent in octet-wise chops.", "droppedByMe": true, - "duration": 1003, + "duration": 44, "expectation": "Echo for first message is received, but then connection is failed immediately, since RSV must be 0, when no extension defining RSV meaning has been negotiated. The Pong is not received.", "expected": { "NON-STRICT": [], @@ -27,47 +27,36 @@ "closedByMe": false, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=30&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: BGWECM/TNxYvDVropB7O1w==\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: y3kjtRbvVncF2veaUuw+RltgXiM=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=30&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: L2mR2l9jq4aYLD31IT9BLg==\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: 9883q7teOKgZShBpqrbkWTR7Q9Q=\r\n\r\n", "id": "3.3", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", + "localCloseCode": 1000, + "localCloseReason": null, "received": [ [ "message", "Hello, world!", false - ], - [ - "message", - "Hello, world!", - false - ], - [ - "pong", - "" ] ], - "remoteCloseCode": 1000, - "remoteCloseReason": null, + "remoteCloseCode": 1002, + "remoteCloseReason": "Protocol Error", "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", "rxFrameStats": { - "1": 2, - "8": 1, - "10": 1 + "1": 1, + "8": 1 }, "rxOctetStats": { "1": 1, - "8": 1, - "43": 1, - "183": 1 + "183": 1, + "194": 1 }, - "started": "2023-08-10T23:01:30.216Z", + "started": "2023-08-11T05:15:06.996Z", "trafficStats": null, "txFrameStats": { "1": 2, @@ -76,7 +65,7 @@ }, "txOctetStats": { "2": 1, - "14": 1, + "4": 1, "15": 2, "206": 1 }, @@ -181,8 +170,8 @@ [ "RO", [ - 43, - "8d245770426c321c2e4b7b50354b251c2605818dc5378a978d52e6fbaa1baae0aa45e6f3e48a807a192034" + 194, + "8db6ee3ca3fe8b50cfd9c21cd4d99c50c79788902998dd032a728d7146ecb26046f4fd465beab2718890aae8365aa9026628c59c5939c584161fd89a59288890 ..." ] ], [ @@ -195,40 +184,25 @@ true, 0, true, - "24577042" + "b6ee3ca3" ], [ "RF", [ - 13, - "Hello, world!" + 16, + "0x03ea50726f746f636f6c204572726f72" ], - 1, + 8, true, 0, true, - "c5378a97" - ], - [ - "RF", - [ - 0, - "" - ], - 10, - true, - 0, - true, - "7a192034" - ], - [ - "KLE" + "2998dd03" ], [ "TF", [ - 12, - "0x03e9476f696e672041776179" + 2, + "0x03e8" ], 8, true, @@ -241,29 +215,10 @@ [ "TO", [ - 14, - "880c03e9476f696e672041776179" + 4, + "880203e8" ], false - ], - [ - "RO", - [ - 8, - "8882fdeacfeffe02" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "fdeacfef" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_3_4.html b/autobahn/client/hornbeam_case_3_4.html index 00d53b1..80d8760 100644 --- a/autobahn/client/hornbeam_case_3_4.html +++ b/autobahn/client/hornbeam_case_3_4.html @@ -202,75 +202,70 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 3.4 : Fail - 1004 ms @ 2023-08-10T23:01:31.223Z

+

Hornbeam - Case 3.4 : Pass - 2 ms @ 2023-08-11T05:15:07.043Z

Case Description

Send small text message, then send again with RSV = 4, then send Ping. Octets are sent in octet-wise chops.

Case Expectation

Echo for first message is received, but then connection is failed immediately, since RSV must be 0, when no extension defining RSV meaning has been negotiated. The Pong is not received.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

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

- Observed:
[('message', u'Hello, world!', False), ('message', u'Hello, world!', False), ('pong', u'')] + Observed:
[('message', u'Hello, world!', False)]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=31&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: VJRxeJbalL/gmv5M+ZY5xg==
+Sec-WebSocket-Key: 4lZFbCmzPS+BUXnqj48MNQ==
 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: xSkyitxS5K9zhUO0Ipl15HtyffI=
+Sec-WebSocket-Accept: iQ1pcz1MOErNKYETDbPLe8MBBqY=

Closing Behavior

- - + + - - - - + + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode1002The close code the peer sent me in close frame (if any).
remoteCloseReasonProtocol ErrorThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - - + + - +
Chop SizeCountOctets
122
515
818
18118
19119
111
40140
1831183
Total7235
Total3224

Octets Transmitted by Chop Size

- - + - +
Chop SizeCountOctets
13232
14114
12222
2061206
Total34252
Total23228

Frames Received by Opcode

- + - - +
OpcodeCount
12
11
81
101
Total4
Total2

Frames Transmitted by Opcode

@@ -311,38 +306,19 @@ Sec-WebSocket-Accept: xSkyitxS5K9zhUO0Ipl15HtyffI=
021 TX OCTETS: c1
022 TX OCTETS: 0d
023 TX OCTETS: 48
-
024 RX OCTETS: 818db1c22ef9f9a74295deee0e8edeb0429d90
-
025 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=6231633232656639
+
024 TX OCTETS: 65
+
025 TX OCTETS: 6c
+
026 TX OCTETS: 6c
+
027 RX OCTETS: 81
+
028 TX OCTETS: 6f
+
029 RX OCTETS: 8df86fdc60b00ab00c9743fc17971db004d9889020a0c992234a99e04fd4a6f14fcce9d752d2a6e0
+
030 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=6638366664633630
               Hello, world!
-
026 TX OCTETS: 65
-
027 TX OCTETS: 6c
-
028 TX OCTETS: 6c
-
029 TX OCTETS: 6f
-
030 TX OCTETS: 2c
-
031 TX OCTETS: 20
-
032 TX OCTETS: 77
-
033 TX OCTETS: 6f
-
034 TX OCTETS: 72
-
035 TX OCTETS: 6c
-
036 TX OCTETS: 64
-
037 TX OCTETS: 21
-
038 TX OCTETS: 89
-
039 RX OCTETS: 81
-
040 TX OCTETS: 00
-
041 RX OCTETS: 8d5d4e4f22152b234e32626f55323c23467c
-
042 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=3564346534663232
-
               Hello, world!
-
043 RX OCTETS: 8a
-
044 RX OCTETS: 8078fd7f35
-
045 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=0, MASKED=True, MASK=3738666437663335
-
046 FAILING CONNECTION
-
047 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
048 TX OCTETS: 880c03e9476f696e672041776179
-
049 RX OCTETS: 888262443fc961ac
-
050 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3632343433666339
-
               0x03e8
-
051 TCP DROPPED BY ME
+
031 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=16, MASKED=True, MASK=3230613063393932
+
               0x03ea50726f746f636f6c204572726f72
+
032 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
033 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_3_4.json b/autobahn/client/hornbeam_case_3_4.json index 982e06a..2fd5414 100644 --- a/autobahn/client/hornbeam_case_3_4.json +++ b/autobahn/client/hornbeam_case_3_4.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 31, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send small text message, then send again with RSV = 4, then send Ping. Octets are sent in octet-wise chops.", "droppedByMe": true, - "duration": 1004, + "duration": 2, "expectation": "Echo for first message is received, but then connection is failed immediately, since RSV must be 0, when no extension defining RSV meaning has been negotiated. The Pong is not received.", "expected": { "NON-STRICT": [], @@ -27,49 +27,36 @@ "closedByMe": false, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=31&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: VJRxeJbalL/gmv5M+ZY5xg==\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: xSkyitxS5K9zhUO0Ipl15HtyffI=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=31&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 4lZFbCmzPS+BUXnqj48MNQ==\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: iQ1pcz1MOErNKYETDbPLe8MBBqY=\r\n\r\n", "id": "3.4", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", + "localCloseCode": 1000, + "localCloseReason": null, "received": [ [ "message", "Hello, world!", false - ], - [ - "message", - "Hello, world!", - false - ], - [ - "pong", - "" ] ], - "remoteCloseCode": 1000, - "remoteCloseReason": null, + "remoteCloseCode": 1002, + "remoteCloseReason": "Protocol Error", "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", "rxFrameStats": { - "1": 2, - "8": 1, - "10": 1 + "1": 1, + "8": 1 }, "rxOctetStats": { - "1": 2, - "5": 1, - "8": 1, - "18": 1, - "19": 1, + "1": 1, + "40": 1, "183": 1 }, - "started": "2023-08-10T23:01:31.223Z", + "started": "2023-08-11T05:15:07.043Z", "trafficStats": null, "txFrameStats": { "1": 2, @@ -77,8 +64,7 @@ "9": 1 }, "txOctetStats": { - "1": 32, - "14": 1, + "1": 22, "206": 1 }, "wasClean": true, @@ -292,25 +278,6 @@ ], true ], - [ - "RO", - [ - 19, - "818db1c22ef9f9a74295deee0e8edeb0429d90" - ] - ], - [ - "RF", - [ - 13, - "Hello, world!" - ], - 1, - true, - 0, - true, - "b1c22ef9" - ], [ "TO", [ @@ -335,86 +302,6 @@ ], true ], - [ - "TO", - [ - 1, - "6f" - ], - true - ], - [ - "TO", - [ - 1, - "2c" - ], - true - ], - [ - "TO", - [ - 1, - "20" - ], - true - ], - [ - "TO", - [ - 1, - "77" - ], - true - ], - [ - "TO", - [ - 1, - "6f" - ], - true - ], - [ - "TO", - [ - 1, - "72" - ], - true - ], - [ - "TO", - [ - 1, - "6c" - ], - true - ], - [ - "TO", - [ - 1, - "64" - ], - true - ], - [ - "TO", - [ - 1, - "21" - ], - true - ], - [ - "TO", - [ - 1, - "89" - ], - true - ], [ "RO", [ @@ -426,15 +313,15 @@ "TO", [ 1, - "00" + "6f" ], true ], [ "RO", [ - 18, - "8d5d4e4f22152b234e32626f55323c23467c" + 40, + "8df86fdc60b00ab00c9743fc17971db004d9889020a0c992234a99e04fd4a6f14fcce9d752d2a6e0" ] ], [ @@ -447,68 +334,22 @@ true, 0, true, - "5d4e4f22" - ], - [ - "RO", - [ - 1, - "8a" - ] - ], - [ - "RO", - [ - 5, - "8078fd7f35" - ] + "f86fdc60" ], [ "RF", [ - 0, - "" - ], - 10, - true, - 0, - true, - "78fd7f35" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" + 16, + "0x03ea50726f746f636f6c204572726f72" ], 8, true, 0, - null, - null, - null, - false + true, + "20a0c992" ], [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "888262443fc961ac" - ] - ], - [ - "RF", + "TF", [ 2, "0x03e8" @@ -516,8 +357,10 @@ 8, true, 0, - true, - "62443fc9" + null, + null, + null, + false ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_3_5.html b/autobahn/client/hornbeam_case_3_5.html index 6b462b7..b57422e 100644 --- a/autobahn/client/hornbeam_case_3_5.html +++ b/autobahn/client/hornbeam_case_3_5.html @@ -202,72 +202,70 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 3.5 : Fail - 1003 ms @ 2023-08-10T23:01:32.231Z

+

Hornbeam - Case 3.5 : Pass - 43 ms @ 2023-08-11T05:15:07.048Z

Case Description

Send small binary message with RSV = 5.

Case Expectation

The connection is failed immediately, since RSV must be 0.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', '0x00fffefdfcfb00ff', True)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=32&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: eHkCDKRsb5vokz6ITWd+EQ==
+Sec-WebSocket-Key: BYqcR9SO6SDeqVlqcyQ/hQ==
 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: bAxVmuYeeYxBsaZDkg5/btkubmc=
+Sec-WebSocket-Accept: KZPETTS/yRFHgXoIwmu0CrcwLDs=

Closing Behavior

- - + + - - - - + + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode1002The close code the peer sent me in close frame (if any).
remoteCloseReasonProtocol ErrorThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - + - +
Chop SizeCountOctets
111
818
13113
21121
1831183
Total4205
Total3205

Octets Transmitted by Chop Size

+ - - +
Chop SizeCountOctets
414
10110
14114
2061206
Total3230
Total3220

Frames Received by Opcode

- - +
OpcodeCount
21
81
Total2
Total1

Frames Transmitted by Opcode

@@ -287,18 +285,14 @@ Sec-WebSocket-Accept: bAxVmuYeeYxBsaZDkg5/btkubmc=
               0x00fffefdfcfb00ff
003 TX OCTETS: d20800fffefdfcfb00ff
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 82
-
006 RX OCTETS: 88d5340b5bd5cbf5a629cf0ba4
-
007 RX FRAME : OPCODE=2, FIN=True, RSV=0, PAYLOAD-LEN=8, MASKED=True, MASK=6435333430623562
-
               0x00fffefdfcfb00ff
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882aaf90806a911
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6161663930383036
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 RX OCTETS: 88
+
006 RX OCTETS: 90e89e2220eb74725287ea4d4387f202659aec4d52
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=16, MASKED=True, MASK=6538396532323230
+
               0x03ea50726f746f636f6c204572726f72
+
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 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_3_5.json b/autobahn/client/hornbeam_case_3_5.json index 895dab6..86b6a60 100644 --- a/autobahn/client/hornbeam_case_3_5.json +++ b/autobahn/client/hornbeam_case_3_5.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 32, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send small binary message with RSV = 5.", "droppedByMe": true, - "duration": 1003, + "duration": 43, "expectation": "The connection is failed immediately, since RSV must be 0.", "expected": { "OK": [] @@ -20,45 +20,37 @@ "closedByMe": false, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=32&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: eHkCDKRsb5vokz6ITWd+EQ==\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: bAxVmuYeeYxBsaZDkg5/btkubmc=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=32&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: BYqcR9SO6SDeqVlqcyQ/hQ==\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: KZPETTS/yRFHgXoIwmu0CrcwLDs=\r\n\r\n", "id": "3.5", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "0x00fffefdfcfb00ff", - true - ] - ], - "remoteCloseCode": 1000, - "remoteCloseReason": null, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1002, + "remoteCloseReason": "Protocol Error", "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", "rxFrameStats": { - "2": 1, "8": 1 }, "rxOctetStats": { "1": 1, - "8": 1, - "13": 1, + "21": 1, "183": 1 }, - "started": "2023-08-10T23:01:32.231Z", + "started": "2023-08-11T05:15:07.048Z", "trafficStats": null, "txFrameStats": { "2": 1, "8": 1 }, "txOctetStats": { + "4": 1, "10": 1, - "14": 1, "206": 1 }, "wasClean": true, @@ -112,36 +104,33 @@ "RO", [ 1, - "82" + "88" ] ], [ "RO", [ - 13, - "88d5340b5bd5cbf5a629cf0ba4" + 21, + "90e89e2220eb74725287ea4d4387f202659aec4d52" ] ], [ "RF", [ - 8, - "0x00fffefdfcfb00ff" + 16, + "0x03ea50726f746f636f6c204572726f72" ], - 2, + 8, true, 0, true, - "d5340b5b" - ], - [ - "KLE" + "e89e2220" ], [ "TF", [ - 12, - "0x03e9476f696e672041776179" + 2, + "0x03e8" ], 8, true, @@ -154,29 +143,10 @@ [ "TO", [ - 14, - "880c03e9476f696e672041776179" + 4, + "880203e8" ], false - ], - [ - "RO", - [ - 8, - "8882aaf90806a911" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "aaf90806" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_3_6.html b/autobahn/client/hornbeam_case_3_6.html index e8627f2..5189844 100644 --- a/autobahn/client/hornbeam_case_3_6.html +++ b/autobahn/client/hornbeam_case_3_6.html @@ -202,72 +202,70 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 3.6 : Fail - 1003 ms @ 2023-08-10T23:01:33.237Z

+

Hornbeam - Case 3.6 : Pass - 44 ms @ 2023-08-11T05:15:07.093Z

Case Description

Send Ping with RSV = 6.

Case Expectation

The connection is failed immediately, since RSV must be 0.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'Hello, world!', True)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=33&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: aqL+/qFSdpaSMvylec31BA==
+Sec-WebSocket-Key: FZRx0Y/8mTFmq4E4NHDe+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: 3432mogggOJh+mfZG5ayoSAw1n4=
+Sec-WebSocket-Accept: IHApI9ALKnza/sb2WZKUu2busFg=

Closing Behavior

- - + + - - - - + + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode1002The close code the peer sent me in close frame (if any).
remoteCloseReasonProtocol ErrorThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - + - +
Chop SizeCountOctets
111
818
18118
1531153
1831183
Total4210
Total3337

Octets Transmitted by Chop Size

- + - +
Chop SizeCountOctets
14114
414
15115
2061206
Total3235
Total3225

Frames Received by Opcode

- - +
OpcodeCount
21
81
Total2
Total1

Frames Transmitted by Opcode

@@ -287,18 +285,15 @@ Sec-WebSocket-Accept: 3432mogggOJh+mfZG5ayoSAw1n4=
               Hello, world!
003 TX OCTETS: e20d48656c6c6f2c20776f726c6421
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 82
-
006 RX OCTETS: 8d87e90b00cf8c676ce8c52b77e89b6764a6
-
007 RX FRAME : OPCODE=2, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=3837653930623030
-
               Hello, world!
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882131732f410ff
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3133313733326634
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 RX OCTETS: 88
+
006 RX OCTETS: 90f345810cf0afd17e9c31ee6f9c29a1498137ee7e8890515e321952b4626b3e2a5d7a3e32125c232c5d6b8890d654b5cad5
+
               bee5b8b920daa9b938958fa426da ...
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=16, MASKED=True, MASK=6633343538313063
+
               0x03ea50726f746f636f6c204572726f72
+
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 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_3_6.json b/autobahn/client/hornbeam_case_3_6.json index 16bca65..6feccd1 100644 --- a/autobahn/client/hornbeam_case_3_6.json +++ b/autobahn/client/hornbeam_case_3_6.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 33, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send Ping with RSV = 6.", "droppedByMe": true, - "duration": 1003, + "duration": 44, "expectation": "The connection is failed immediately, since RSV must be 0.", "expected": { "OK": [] @@ -20,44 +20,36 @@ "closedByMe": false, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=33&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: aqL+/qFSdpaSMvylec31BA==\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: 3432mogggOJh+mfZG5ayoSAw1n4=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=33&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: FZRx0Y/8mTFmq4E4NHDe+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: IHApI9ALKnza/sb2WZKUu2busFg=\r\n\r\n", "id": "3.6", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "Hello, world!", - true - ] - ], - "remoteCloseCode": 1000, - "remoteCloseReason": null, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1002, + "remoteCloseReason": "Protocol Error", "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", "rxFrameStats": { - "2": 1, "8": 1 }, "rxOctetStats": { "1": 1, - "8": 1, - "18": 1, + "153": 1, "183": 1 }, - "started": "2023-08-10T23:01:33.237Z", + "started": "2023-08-11T05:15:07.093Z", "trafficStats": null, "txFrameStats": { "2": 1, "8": 1 }, "txOctetStats": { - "14": 1, + "4": 1, "15": 1, "206": 1 }, @@ -112,36 +104,33 @@ "RO", [ 1, - "82" + "88" ] ], [ "RO", [ - 18, - "8d87e90b00cf8c676ce8c52b77e89b6764a6" + 153, + "90f345810cf0afd17e9c31ee6f9c29a1498137ee7e8890515e321952b4626b3e2a5d7a3e32125c232c5d6b8890d654b5cad5bee5b8b920daa9b938958fa426da ..." ] ], [ "RF", [ - 13, - "Hello, world!" + 16, + "0x03ea50726f746f636f6c204572726f72" ], - 2, + 8, true, 0, true, - "87e90b00" - ], - [ - "KLE" + "f345810c" ], [ "TF", [ - 12, - "0x03e9476f696e672041776179" + 2, + "0x03e8" ], 8, true, @@ -154,29 +143,10 @@ [ "TO", [ - 14, - "880c03e9476f696e672041776179" + 4, + "880203e8" ], false - ], - [ - "RO", - [ - 8, - "8882131732f410ff" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "131732f4" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_3_7.html b/autobahn/client/hornbeam_case_3_7.html index 922d55e..53dbe43 100644 --- a/autobahn/client/hornbeam_case_3_7.html +++ b/autobahn/client/hornbeam_case_3_7.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 3.7 : Pass - 3 ms @ 2023-08-10T23:01:34.243Z

+

Hornbeam - Case 3.7 : Pass - 44 ms @ 2023-08-11T05:15:07.139Z

Case Description

Send Close with RSV = 7.

Case Expectation

The connection is failed immediately, since RSV must be 0.

@@ -211,21 +211,21 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000; Expected:
{'OK': []}

Observed:
[]

-

Case Closing Behavior

The close code should have been 1002 or empty (WRONG CODE)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=34&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: d8uyMgBoubvEt25YbGolKA==
+Sec-WebSocket-Key: pLA494JZsR1nsKGElqN3bg==
 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: rGjOYZTFFtETM4YdqzvW9HDt0og=
+Sec-WebSocket-Accept: 4Mbcg/jFYwyVH7O9fEOTok9d5Po=

Closing Behavior

@@ -241,16 +241,17 @@ Sec-WebSocket-Accept: rGjOYZTFFtETM4YdqzvW9HDt0og= - - + +
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).
remoteCloseCode1002The close code the peer sent me in close frame (if any).
remoteCloseReasonProtocol ErrorThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- + + - +
Chop SizeCountOctets
818
111
21121
1831183
Total2191
Total3205

Octets Transmitted by Chop Size

@@ -282,13 +283,14 @@ Sec-WebSocket-Accept: rGjOYZTFFtETM4YdqzvW9HDt0og=
002 TX FRAME : OPCODE=8, FIN=True, RSV=7, PAYLOAD-LEN=0, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
003 TX OCTETS: f800
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 8882198ee95f1a66
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3139386565393566
-
               0x03e8
-
007 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
005 RX OCTETS: 88
+
006 RX OCTETS: 90037a108b009040f96c0e7fe86c1630ce71087ff9
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=16, MASKED=True, MASK=3033376131303862
+
               0x03ea50726f746f636f6c204572726f72
+
008 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0x03e8
-
008 TX OCTETS: 880203e8
-
009 TCP DROPPED BY ME
+
009 TX OCTETS: 880203e8
+
010 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_3_7.json b/autobahn/client/hornbeam_case_3_7.json index 871127f..2276b82 100644 --- a/autobahn/client/hornbeam_case_3_7.json +++ b/autobahn/client/hornbeam_case_3_7.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", "behavior": "OK", - "behaviorClose": "WRONG CODE", + "behaviorClose": "OK", "case": 34, "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send Close with RSV = 7.", "droppedByMe": true, - "duration": 3, + "duration": 44, "expectation": "The connection is failed immediately, since RSV must be 0.", "expected": { "OK": [] @@ -21,27 +21,28 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=34&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: d8uyMgBoubvEt25YbGolKA==\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: rGjOYZTFFtETM4YdqzvW9HDt0og=\r\n\r\n", + "httpRequest": "GET /runCase?case=34&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: pLA494JZsR1nsKGElqN3bg==\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: 4Mbcg/jFYwyVH7O9fEOTok9d5Po=\r\n\r\n", "id": "3.7", "isServer": true, "localCloseCode": 1000, "localCloseReason": null, "received": [], - "remoteCloseCode": 1000, - "remoteCloseReason": null, + "remoteCloseCode": 1002, + "remoteCloseReason": "Protocol Error", "reportCompressionRatio": false, "reportTime": false, "result": "Actual events match at least one expected.", - "resultClose": "The close code should have been 1002 or empty", + "resultClose": "Connection was properly closed", "rxFrameStats": { "8": 1 }, "rxOctetStats": { - "8": 1, + "1": 1, + "21": 1, "183": 1 }, - "started": "2023-08-10T23:01:34.243Z", + "started": "2023-08-11T05:15:07.139Z", "trafficStats": null, "txFrameStats": { "8": 2 @@ -101,21 +102,28 @@ [ "RO", [ - 8, - "8882198ee95f1a66" + 1, + "88" + ] + ], + [ + "RO", + [ + 21, + "90037a108b009040f96c0e7fe86c1630ce71087ff9" ] ], [ "RF", [ - 2, - "0x03e8" + 16, + "0x03ea50726f746f636f6c204572726f72" ], 8, true, 0, true, - "198ee95f" + "037a108b" ], [ "TF", diff --git a/autobahn/client/hornbeam_case_4_1_1.html b/autobahn/client/hornbeam_case_4_1_1.html index dc299e9..c0b8b83 100644 --- a/autobahn/client/hornbeam_case_4_1_1.html +++ b/autobahn/client/hornbeam_case_4_1_1.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 4.1.1 : Pass - 2 ms @ 2023-08-10T23:01:34.249Z

+

Hornbeam - Case 4.1.1 : Pass - 1 ms @ 2023-08-11T05:15:07.185Z

Case Description

Send frame with reserved non-control Opcode = 3.

Case Expectation

The connection is failed immediately.

@@ -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: afy9lQzSiC+1xHkHKgrkWw== +Sec-WebSocket-Key: LGto4TOwOawuQ72RneK5NQ== 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: Cd2cW++68hlJ7ypXrTuJIFa32P4=
+Sec-WebSocket-Accept: RvFQzhj40LpCP0vUUVBbwSoJ7g8=

Closing Behavior

diff --git a/autobahn/client/hornbeam_case_4_1_1.json b/autobahn/client/hornbeam_case_4_1_1.json index 40f8e92..6728d6f 100644 --- a/autobahn/client/hornbeam_case_4_1_1.json +++ b/autobahn/client/hornbeam_case_4_1_1.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send frame with reserved non-control Opcode = 3.", "droppedByMe": false, - "duration": 2, + "duration": 1, "expectation": "The connection is failed immediately.", "expected": { "OK": [] @@ -21,8 +21,8 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=35&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: afy9lQzSiC+1xHkHKgrkWw==\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: Cd2cW++68hlJ7ypXrTuJIFa32P4=\r\n\r\n", + "httpRequest": "GET /runCase?case=35&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: LGto4TOwOawuQ72RneK5NQ==\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: RvFQzhj40LpCP0vUUVBbwSoJ7g8=\r\n\r\n", "id": "4.1.1", "isServer": true, "localCloseCode": null, @@ -38,7 +38,7 @@ "rxOctetStats": { "183": 1 }, - "started": "2023-08-10T23:01:34.249Z", + "started": "2023-08-11T05:15:07.185Z", "trafficStats": null, "txFrameStats": { "3": 1 diff --git a/autobahn/client/hornbeam_case_4_1_2.html b/autobahn/client/hornbeam_case_4_1_2.html index 18003ec..d6d9f0f 100644 --- a/autobahn/client/hornbeam_case_4_1_2.html +++ b/autobahn/client/hornbeam_case_4_1_2.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 4.1.2 : Pass - 2 ms @ 2023-08-10T23:01:34.255Z

+

Hornbeam - Case 4.1.2 : Pass - 1 ms @ 2023-08-11T05:15:07.188Z

Case Description

Send frame with reserved non-control Opcode = 4 and non-empty payload.

Case Expectation

The connection is failed immediately.

@@ -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: 1yLVMH3X4yHtsniSRanZ7A== +Sec-WebSocket-Key: STuXAtIfkYzRKKidNZsdmQ== 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: Jx/XP7lYAiNUBXmRSJGMsPam0iM=
+Sec-WebSocket-Accept: Pkdw71M+LAaZ3A0RKZZF2yL2CWs=

Closing Behavior

diff --git a/autobahn/client/hornbeam_case_4_1_2.json b/autobahn/client/hornbeam_case_4_1_2.json index 88b50bd..9115c8b 100644 --- a/autobahn/client/hornbeam_case_4_1_2.json +++ b/autobahn/client/hornbeam_case_4_1_2.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send frame with reserved non-control Opcode = 4 and non-empty payload.", "droppedByMe": false, - "duration": 2, + "duration": 1, "expectation": "The connection is failed immediately.", "expected": { "OK": [] @@ -21,8 +21,8 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=36&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 1yLVMH3X4yHtsniSRanZ7A==\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: Jx/XP7lYAiNUBXmRSJGMsPam0iM=\r\n\r\n", + "httpRequest": "GET /runCase?case=36&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: STuXAtIfkYzRKKidNZsdmQ==\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: Pkdw71M+LAaZ3A0RKZZF2yL2CWs=\r\n\r\n", "id": "4.1.2", "isServer": true, "localCloseCode": null, @@ -38,7 +38,7 @@ "rxOctetStats": { "183": 1 }, - "started": "2023-08-10T23:01:34.255Z", + "started": "2023-08-11T05:15:07.188Z", "trafficStats": null, "txFrameStats": { "4": 1 diff --git a/autobahn/client/hornbeam_case_4_1_3.html b/autobahn/client/hornbeam_case_4_1_3.html index e240bae..dda86a5 100644 --- a/autobahn/client/hornbeam_case_4_1_3.html +++ b/autobahn/client/hornbeam_case_4_1_3.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 4.1.3 : Pass - 3 ms @ 2023-08-10T23:01:34.260Z

+

Hornbeam - Case 4.1.3 : Pass - 2 ms @ 2023-08-11T05:15:07.192Z

Case Description

Send small text message, then send frame with reserved non-control Opcode = 5, then send Ping.

Case Expectation

Echo for first message is received, but then connection is failed immediately, since reserved opcode frame is used. A Pong is not received.

@@ -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: zvE6ngWj3QN7q4Ft4/67xg== +Sec-WebSocket-Key: VI2IL8Qo2QsdoOBxf4cKPg== 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+pxgeH0oPi+2WZlxTS+2bFMs=
+Sec-WebSocket-Accept: YZgYYdkGlQhkbGOkWwu+A0D9iZA=

Closing Behavior

@@ -248,10 +248,9 @@ Sec-WebSocket-Accept: n9s+pxgeH0oPi+2WZlxTS+2bFMs=

Octets Received by Chop Size

- - + - +
Chop SizeCountOctets
111
18118
19119
1831183
Total3202
Total2202

Octets Transmitted by Chop Size

@@ -290,11 +289,10 @@ Sec-WebSocket-Accept: n9s+pxgeH0oPi+2WZlxTS+2bFMs=
006 TX FRAME : OPCODE=9, FIN=True, RSV=0, PAYLOAD-LEN=0, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
007 TX OCTETS: 8900
008 FAIL CONNECTION AFTER 1.000000 sec
-
009 RX OCTETS: 81
-
010 RX OCTETS: 8dce7d4a7f86182613a1516a08a10f261bef
-
011 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=6365376434613766
+
009 RX OCTETS: 818dc9de46bd81bb2ad1a6f266caa6ac2ad9e8
+
010 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=6339646534366264
               Hello, world!
-
012 TCP DROPPED BY PEER
+
011 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_4_1_3.json b/autobahn/client/hornbeam_case_4_1_3.json index 5de853e..c5b8bde 100644 --- a/autobahn/client/hornbeam_case_4_1_3.json +++ b/autobahn/client/hornbeam_case_4_1_3.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send small text message, then send frame with reserved non-control Opcode = 5, then send Ping.", "droppedByMe": false, - "duration": 3, + "duration": 2, "expectation": "Echo for first message is received, but then connection is failed immediately, since reserved opcode frame is used. A Pong is not received.", "expected": { "NON-STRICT": [], @@ -28,8 +28,8 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=37&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: zvE6ngWj3QN7q4Ft4/67xg==\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+pxgeH0oPi+2WZlxTS+2bFMs=\r\n\r\n", + "httpRequest": "GET /runCase?case=37&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: VI2IL8Qo2QsdoOBxf4cKPg==\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: YZgYYdkGlQhkbGOkWwu+A0D9iZA=\r\n\r\n", "id": "4.1.3", "isServer": true, "localCloseCode": null, @@ -51,11 +51,10 @@ "1": 1 }, "rxOctetStats": { - "1": 1, - "18": 1, + "19": 1, "183": 1 }, - "started": "2023-08-10T23:01:34.260Z", + "started": "2023-08-11T05:15:07.192Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -161,15 +160,8 @@ [ "RO", [ - 1, - "81" - ] - ], - [ - "RO", - [ - 18, - "8dce7d4a7f86182613a1516a08a10f261bef" + 19, + "818dc9de46bd81bb2ad1a6f266caa6ac2ad9e8" ] ], [ @@ -182,7 +174,7 @@ true, 0, true, - "ce7d4a7f" + "c9de46bd" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_4_1_4.html b/autobahn/client/hornbeam_case_4_1_4.html index e31b14c..a210034 100644 --- a/autobahn/client/hornbeam_case_4_1_4.html +++ b/autobahn/client/hornbeam_case_4_1_4.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 4.1.4 : Pass - 3 ms @ 2023-08-10T23:01:34.266Z

+

Hornbeam - Case 4.1.4 : Pass - 2 ms @ 2023-08-11T05:15:07.195Z

Case Description

Send small text message, then send frame with reserved non-control Opcode = 6 and non-empty payload, then send Ping.

Case Expectation

Echo for first message is received, but then connection is failed immediately, since reserved opcode frame is used. A Pong is not received.

@@ -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: EyeyaNNoQWmzMmRtZggR1A== +Sec-WebSocket-Key: 844YfNfY/svuiMQK7BZzwg== 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: xhBoEyGwlW6YK3sr6Q35Sj9F6n0=
+Sec-WebSocket-Accept: HUeygGYJl38BaW1ShKG3MVbatio=

Closing Behavior

@@ -290,8 +290,8 @@ Sec-WebSocket-Accept: xhBoEyGwlW6YK3sr6Q35Sj9F6n0=
006 TX FRAME : OPCODE=9, FIN=True, RSV=0, PAYLOAD-LEN=0, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
007 TX OCTETS: 8900
008 FAIL CONNECTION AFTER 1.000000 sec
-
009 RX OCTETS: 818d436b8c480b0ee0242c47ac3f2c19e02c62
-
010 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=3433366238633438
+
009 RX OCTETS: 818ded7bbb22a51ed74e82579b558209d746cc
+
010 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=6564376262623232
               Hello, world!
011 TCP DROPPED BY PEER
diff --git a/autobahn/client/hornbeam_case_4_1_4.json b/autobahn/client/hornbeam_case_4_1_4.json index b8ad7ea..12359cc 100644 --- a/autobahn/client/hornbeam_case_4_1_4.json +++ b/autobahn/client/hornbeam_case_4_1_4.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send small text message, then send frame with reserved non-control Opcode = 6 and non-empty payload, then send Ping.", "droppedByMe": false, - "duration": 3, + "duration": 2, "expectation": "Echo for first message is received, but then connection is failed immediately, since reserved opcode frame is used. A Pong is not received.", "expected": { "NON-STRICT": [], @@ -28,8 +28,8 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=38&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: EyeyaNNoQWmzMmRtZggR1A==\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: xhBoEyGwlW6YK3sr6Q35Sj9F6n0=\r\n\r\n", + "httpRequest": "GET /runCase?case=38&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 844YfNfY/svuiMQK7BZzwg==\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: HUeygGYJl38BaW1ShKG3MVbatio=\r\n\r\n", "id": "4.1.4", "isServer": true, "localCloseCode": null, @@ -54,7 +54,7 @@ "19": 1, "183": 1 }, - "started": "2023-08-10T23:01:34.266Z", + "started": "2023-08-11T05:15:07.195Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -161,7 +161,7 @@ "RO", [ 19, - "818d436b8c480b0ee0242c47ac3f2c19e02c62" + "818ded7bbb22a51ed74e82579b558209d746cc" ] ], [ @@ -174,7 +174,7 @@ true, 0, true, - "436b8c48" + "ed7bbb22" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_4_1_5.html b/autobahn/client/hornbeam_case_4_1_5.html index cb02d1c..91cd25d 100644 --- a/autobahn/client/hornbeam_case_4_1_5.html +++ b/autobahn/client/hornbeam_case_4_1_5.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 4.1.5 : Pass - 5 ms @ 2023-08-10T23:01:34.272Z

+

Hornbeam - Case 4.1.5 : Pass - 2 ms @ 2023-08-11T05:15:07.199Z

Case Description

Send small text message, then send frame with reserved non-control Opcode = 7 and non-empty payload, then send Ping.

Case Expectation

Echo for first message is received, but then connection is failed immediately, since reserved opcode frame is used. A Pong is not received.

@@ -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: 1+y8nc0kfsTbM3259owqdg== +Sec-WebSocket-Key: SwrLucJJnsj2lO9zkMkwJw== 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: RtYpRZY6xBEyib3Du/POfZJHThs=
+Sec-WebSocket-Accept: FcFG8MRvYup1OurSp5Yb+uoPOo4=

Closing Behavior

@@ -255,9 +255,9 @@ Sec-WebSocket-Accept: RtYpRZY6xBEyib3Du/POfZJHThs=

Octets Transmitted by Chop Size

- + - +
Chop SizeCountOctets
12020
12424
2061206
Total21226
Total25230

Frames Received by Opcode

@@ -303,13 +303,17 @@ Sec-WebSocket-Accept: RtYpRZY6xBEyib3Du/POfZJHThs=
020 TX OCTETS: 21
021 TX OCTETS: 87
022 TX OCTETS: 0d
-
023 RX OCTETS: 818d626ab4c82a0fd8a40d4694bf0d18d8ac43
-
024 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=3632366162346338
+
023 TX OCTETS: 48
+
024 TX OCTETS: 65
+
025 TX OCTETS: 6c
+
026 TX OCTETS: 6c
+
027 TX OCTETS: 6f
+
028 TX OCTETS: 2c
+
029 RX OCTETS: 818df0885355b8ed3f399fa473229ffa3f31d1
+
030 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=6630383835333535
               Hello, world!
-
025 TX OCTETS: 48
-
026 TX OCTETS: 65
-
027 TX OCTETS: 6c
-
028 TCP DROPPED BY PEER
+
031 TX OCTETS: 20
+
032 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_4_1_5.json b/autobahn/client/hornbeam_case_4_1_5.json index f1d9855..a7327cc 100644 --- a/autobahn/client/hornbeam_case_4_1_5.json +++ b/autobahn/client/hornbeam_case_4_1_5.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send small text message, then send frame with reserved non-control Opcode = 7 and non-empty payload, then send Ping.", "droppedByMe": false, - "duration": 5, + "duration": 2, "expectation": "Echo for first message is received, but then connection is failed immediately, since reserved opcode frame is used. A Pong is not received.", "expected": { "NON-STRICT": [], @@ -28,8 +28,8 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=39&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 1+y8nc0kfsTbM3259owqdg==\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: RtYpRZY6xBEyib3Du/POfZJHThs=\r\n\r\n", + "httpRequest": "GET /runCase?case=39&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: SwrLucJJnsj2lO9zkMkwJw==\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: FcFG8MRvYup1OurSp5Yb+uoPOo4=\r\n\r\n", "id": "4.1.5", "isServer": true, "localCloseCode": null, @@ -54,7 +54,7 @@ "19": 1, "183": 1 }, - "started": "2023-08-10T23:01:34.272Z", + "started": "2023-08-11T05:15:07.199Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -62,7 +62,7 @@ "9": 1 }, "txOctetStats": { - "1": 20, + "1": 24, "206": 1 }, "wasClean": false, @@ -268,25 +268,6 @@ ], true ], - [ - "RO", - [ - 19, - "818d626ab4c82a0fd8a40d4694bf0d18d8ac43" - ] - ], - [ - "RF", - [ - 13, - "Hello, world!" - ], - 1, - true, - 0, - true, - "626ab4c8" - ], [ "TO", [ @@ -310,6 +291,57 @@ "6c" ], true + ], + [ + "TO", + [ + 1, + "6c" + ], + true + ], + [ + "TO", + [ + 1, + "6f" + ], + true + ], + [ + "TO", + [ + 1, + "2c" + ], + true + ], + [ + "RO", + [ + 19, + "818df0885355b8ed3f399fa473229ffa3f31d1" + ] + ], + [ + "RF", + [ + 13, + "Hello, world!" + ], + 1, + true, + 0, + true, + "f0885355" + ], + [ + "TO", + [ + 1, + "20" + ], + true ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_4_2_1.html b/autobahn/client/hornbeam_case_4_2_1.html index 68fabf8..41880f5 100644 --- a/autobahn/client/hornbeam_case_4_2_1.html +++ b/autobahn/client/hornbeam_case_4_2_1.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 4.2.1 : Pass - 1 ms @ 2023-08-10T23:01:34.279Z

+

Hornbeam - Case 4.2.1 : Pass - 1 ms @ 2023-08-11T05:15:07.203Z

Case Description

Send frame with reserved control Opcode = 11.

Case Expectation

The connection is failed immediately.

@@ -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: lOGNNIhboHW0pxH2YtRADg== +Sec-WebSocket-Key: UjjeQRFMHIoPdnpMKa3biA== 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: PaYXzRX1aSOP34+BFDL+oVBUQe4=
+Sec-WebSocket-Accept: NuT9CwxwzDVOV5IHe7OVEXOMTlo=

Closing Behavior

diff --git a/autobahn/client/hornbeam_case_4_2_1.json b/autobahn/client/hornbeam_case_4_2_1.json index d2c4af7..0e2d1b5 100644 --- a/autobahn/client/hornbeam_case_4_2_1.json +++ b/autobahn/client/hornbeam_case_4_2_1.json @@ -21,8 +21,8 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=40&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: lOGNNIhboHW0pxH2YtRADg==\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: PaYXzRX1aSOP34+BFDL+oVBUQe4=\r\n\r\n", + "httpRequest": "GET /runCase?case=40&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: UjjeQRFMHIoPdnpMKa3biA==\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: NuT9CwxwzDVOV5IHe7OVEXOMTlo=\r\n\r\n", "id": "4.2.1", "isServer": true, "localCloseCode": null, @@ -38,7 +38,7 @@ "rxOctetStats": { "183": 1 }, - "started": "2023-08-10T23:01:34.279Z", + "started": "2023-08-11T05:15:07.203Z", "trafficStats": null, "txFrameStats": { "11": 1 diff --git a/autobahn/client/hornbeam_case_4_2_2.html b/autobahn/client/hornbeam_case_4_2_2.html index 0feacfd..196d6b5 100644 --- a/autobahn/client/hornbeam_case_4_2_2.html +++ b/autobahn/client/hornbeam_case_4_2_2.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 4.2.2 : Pass - 2 ms @ 2023-08-10T23:01:34.283Z

+

Hornbeam - Case 4.2.2 : Pass - 1 ms @ 2023-08-11T05:15:07.206Z

Case Description

Send frame with reserved control Opcode = 12 and non-empty payload.

Case Expectation

The connection is failed immediately.

@@ -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: ozZ93QM4R586XrsTF7Bunw== +Sec-WebSocket-Key: 21gWJLmH0jewsT++5bZDdw== 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: SFLUGCZBCcA0QQ7CyTYrkRGkpn4=
+Sec-WebSocket-Accept: UIiSYN4CmcFf4lqIjPRaPbl75ko=

Closing Behavior

diff --git a/autobahn/client/hornbeam_case_4_2_2.json b/autobahn/client/hornbeam_case_4_2_2.json index 18e384e..9ddd70f 100644 --- a/autobahn/client/hornbeam_case_4_2_2.json +++ b/autobahn/client/hornbeam_case_4_2_2.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send frame with reserved control Opcode = 12 and non-empty payload.", "droppedByMe": false, - "duration": 2, + "duration": 1, "expectation": "The connection is failed immediately.", "expected": { "OK": [] @@ -21,8 +21,8 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=41&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ozZ93QM4R586XrsTF7Bunw==\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: SFLUGCZBCcA0QQ7CyTYrkRGkpn4=\r\n\r\n", + "httpRequest": "GET /runCase?case=41&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 21gWJLmH0jewsT++5bZDdw==\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: UIiSYN4CmcFf4lqIjPRaPbl75ko=\r\n\r\n", "id": "4.2.2", "isServer": true, "localCloseCode": null, @@ -38,7 +38,7 @@ "rxOctetStats": { "183": 1 }, - "started": "2023-08-10T23:01:34.283Z", + "started": "2023-08-11T05:15:07.206Z", "trafficStats": null, "txFrameStats": { "12": 1 diff --git a/autobahn/client/hornbeam_case_4_2_3.html b/autobahn/client/hornbeam_case_4_2_3.html index e099fa4..3dc5112 100644 --- a/autobahn/client/hornbeam_case_4_2_3.html +++ b/autobahn/client/hornbeam_case_4_2_3.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 4.2.3 : Pass - 2 ms @ 2023-08-10T23:01:34.287Z

+

Hornbeam - Case 4.2.3 : Pass - 2 ms @ 2023-08-11T05:15:07.209Z

Case Description

Send small text message, then send frame with reserved control Opcode = 13, then send Ping.

Case Expectation

Echo for first message is received, but then connection is failed immediately, since reserved opcode frame is used. A Pong is not received.

@@ -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: uhGb/6Y0anhEUd8O7fuJSA== +Sec-WebSocket-Key: T4dSLIVELJjQuNHQ126Qfw== 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: ZnzoCrRv1jx9Ro34cf6Qoai9J/Q=
+Sec-WebSocket-Accept: HW/UVaLxcwOYdQNhzLqOKa2SF+o=

Closing Behavior

@@ -248,10 +248,9 @@ Sec-WebSocket-Accept: ZnzoCrRv1jx9Ro34cf6Qoai9J/Q=

Octets Received by Chop Size

- - + - +
Chop SizeCountOctets
111
18118
19119
1831183
Total3202
Total2202

Octets Transmitted by Chop Size

@@ -290,11 +289,10 @@ Sec-WebSocket-Accept: ZnzoCrRv1jx9Ro34cf6Qoai9J/Q=
006 TX FRAME : OPCODE=9, FIN=True, RSV=0, PAYLOAD-LEN=0, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
007 TX OCTETS: 8900
008 FAIL CONNECTION AFTER 1.000000 sec
-
009 RX OCTETS: 81
-
010 RX OCTETS: 8dd00d04e29868688ebf212495bf7f6886f1
-
011 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=6430306430346532
+
009 RX OCTETS: 818d0a6c709c42091cf0654050eb651e1cf82b
+
010 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=3061366337303963
               Hello, world!
-
012 TCP DROPPED BY PEER
+
011 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_4_2_3.json b/autobahn/client/hornbeam_case_4_2_3.json index 5f8014e..44ce51b 100644 --- a/autobahn/client/hornbeam_case_4_2_3.json +++ b/autobahn/client/hornbeam_case_4_2_3.json @@ -28,8 +28,8 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=42&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: uhGb/6Y0anhEUd8O7fuJSA==\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: ZnzoCrRv1jx9Ro34cf6Qoai9J/Q=\r\n\r\n", + "httpRequest": "GET /runCase?case=42&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: T4dSLIVELJjQuNHQ126Qfw==\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: HW/UVaLxcwOYdQNhzLqOKa2SF+o=\r\n\r\n", "id": "4.2.3", "isServer": true, "localCloseCode": null, @@ -51,11 +51,10 @@ "1": 1 }, "rxOctetStats": { - "1": 1, - "18": 1, + "19": 1, "183": 1 }, - "started": "2023-08-10T23:01:34.287Z", + "started": "2023-08-11T05:15:07.209Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -161,15 +160,8 @@ [ "RO", [ - 1, - "81" - ] - ], - [ - "RO", - [ - 18, - "8dd00d04e29868688ebf212495bf7f6886f1" + 19, + "818d0a6c709c42091cf0654050eb651e1cf82b" ] ], [ @@ -182,7 +174,7 @@ true, 0, true, - "d00d04e2" + "0a6c709c" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_4_2_4.html b/autobahn/client/hornbeam_case_4_2_4.html index cc73a7f..7336f44 100644 --- a/autobahn/client/hornbeam_case_4_2_4.html +++ b/autobahn/client/hornbeam_case_4_2_4.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 4.2.4 : Pass - 2 ms @ 2023-08-10T23:01:34.290Z

+

Hornbeam - Case 4.2.4 : Pass - 2 ms @ 2023-08-11T05:15:07.213Z

Case Description

Send small text message, then send frame with reserved control Opcode = 14 and non-empty payload, then send Ping.

Case Expectation

Echo for first message is received, but then connection is failed immediately, since reserved opcode frame is used. A Pong is not received.

@@ -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: jiNfCxq4TJPoT6IkzVilGg== +Sec-WebSocket-Key: 5rgJtPVS2LVaMC1migxjrg== 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: ufY8IPRsaYaDq7xXmXo4+xLY82Q=
+Sec-WebSocket-Accept: oA/MkO6F3Q1WozPgBW+Sa7ySURY=

Closing Behavior

@@ -290,8 +290,8 @@ Sec-WebSocket-Accept: ufY8IPRsaYaDq7xXmXo4+xLY82Q=
006 TX FRAME : OPCODE=9, FIN=True, RSV=0, PAYLOAD-LEN=0, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
007 TX OCTETS: 8900
008 FAIL CONNECTION AFTER 1.000000 sec
-
009 RX OCTETS: 818d076d63c14f080fad684143b6681f0fa526
-
010 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=3037366436336331
+
009 RX OCTETS: 818dec3c80aea459ecc28310a0d9834eeccacd
+
010 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=6563336338306165
               Hello, world!
011 TCP DROPPED BY PEER
diff --git a/autobahn/client/hornbeam_case_4_2_4.json b/autobahn/client/hornbeam_case_4_2_4.json index c683b5a..000280b 100644 --- a/autobahn/client/hornbeam_case_4_2_4.json +++ b/autobahn/client/hornbeam_case_4_2_4.json @@ -28,8 +28,8 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=43&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: jiNfCxq4TJPoT6IkzVilGg==\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: ufY8IPRsaYaDq7xXmXo4+xLY82Q=\r\n\r\n", + "httpRequest": "GET /runCase?case=43&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 5rgJtPVS2LVaMC1migxjrg==\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: oA/MkO6F3Q1WozPgBW+Sa7ySURY=\r\n\r\n", "id": "4.2.4", "isServer": true, "localCloseCode": null, @@ -54,7 +54,7 @@ "19": 1, "183": 1 }, - "started": "2023-08-10T23:01:34.290Z", + "started": "2023-08-11T05:15:07.213Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -161,7 +161,7 @@ "RO", [ 19, - "818d076d63c14f080fad684143b6681f0fa526" + "818dec3c80aea459ecc28310a0d9834eeccacd" ] ], [ @@ -174,7 +174,7 @@ true, 0, true, - "076d63c1" + "ec3c80ae" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_4_2_5.html b/autobahn/client/hornbeam_case_4_2_5.html index c67cf42..f2d1e51 100644 --- a/autobahn/client/hornbeam_case_4_2_5.html +++ b/autobahn/client/hornbeam_case_4_2_5.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 4.2.5 : Pass - 3 ms @ 2023-08-10T23:01:34.294Z

+

Hornbeam - Case 4.2.5 : Pass - 3 ms @ 2023-08-11T05:15:07.216Z

Case Description

Send small text message, then send frame with reserved control Opcode = 15 and non-empty payload, then send Ping.

Case Expectation

Echo for first message is received, but then connection is failed immediately, since reserved opcode frame is used. A Pong is not received.

@@ -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: zoCVGzv6VR0xNhDdaLktJw== +Sec-WebSocket-Key: KFXKfubMbURCNIhr8QbosQ== 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: pdCHjEqb98pyYj6B5fIp1s48Ugg=
+Sec-WebSocket-Accept: Id4Q7wRpOAQfcrxiIXiB0VaUzRw=

Closing Behavior

@@ -306,8 +306,8 @@ Sec-WebSocket-Accept: pdCHjEqb98pyYj6B5fIp1s48Ugg=
022 TX OCTETS: 0d
023 RX OCTETS: 81
024 TX OCTETS: 48
-
025 RX OCTETS: 8d6510fb692d7597050a3cdb1e0a62970d44
-
026 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=3635313066623639
+
025 RX OCTETS: 8d42baa1cb0adfcda72d9681bc2dc8cdaf63
+
026 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=3432626161316362
               Hello, world!
027 TX OCTETS: 65
028 TCP DROPPED BY PEER
diff --git a/autobahn/client/hornbeam_case_4_2_5.json b/autobahn/client/hornbeam_case_4_2_5.json index c23adfc..b08c75a 100644 --- a/autobahn/client/hornbeam_case_4_2_5.json +++ b/autobahn/client/hornbeam_case_4_2_5.json @@ -28,8 +28,8 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=44&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: zoCVGzv6VR0xNhDdaLktJw==\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: pdCHjEqb98pyYj6B5fIp1s48Ugg=\r\n\r\n", + "httpRequest": "GET /runCase?case=44&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: KFXKfubMbURCNIhr8QbosQ==\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: Id4Q7wRpOAQfcrxiIXiB0VaUzRw=\r\n\r\n", "id": "4.2.5", "isServer": true, "localCloseCode": null, @@ -55,7 +55,7 @@ "18": 1, "183": 1 }, - "started": "2023-08-10T23:01:34.294Z", + "started": "2023-08-11T05:15:07.216Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -288,7 +288,7 @@ "RO", [ 18, - "8d6510fb692d7597050a3cdb1e0a62970d44" + "8d42baa1cb0adfcda72d9681bc2dc8cdaf63" ] ], [ @@ -301,7 +301,7 @@ true, 0, true, - "6510fb69" + "42baa1cb" ], [ "TO", diff --git a/autobahn/client/hornbeam_case_5_1.html b/autobahn/client/hornbeam_case_5_1.html index 5940ea2..336e5bd 100644 --- a/autobahn/client/hornbeam_case_5_1.html +++ b/autobahn/client/hornbeam_case_5_1.html @@ -202,14 +202,14 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 5.1 : Fail - 3 ms @ 2023-08-10T23:01:34.299Z

+

Hornbeam - Case 5.1 : Pass - 43 ms @ 2023-08-11T05:15:07.221Z

Case Description

Send Ping fragmented into 2 fragments.

Case Expectation

Connection is failed immediately, since control message MUST NOT be fragmented.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('pong', u'fragment1')] + Observed:
[]

Case Closing Behavior

Connection was properly closed (OK)



@@ -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: mYCeizRDsRwzQR4zFhBb6A== +Sec-WebSocket-Key: COSyP0bA4YrBOv6PieKR/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: YWSQrOqgpqW7QjNa09yb7TRwfoE=
+Sec-WebSocket-Accept: SEio7AKl6b5OcHiMHV3LJQZV5Dg=

Closing Behavior

@@ -233,44 +233,47 @@ Sec-WebSocket-Accept: YWSQrOqgpqW7QjNa09yb7TRwfoE= - - - + + + - + - - + +
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).
remoteCloseCode1002The close code the peer sent me in close frame (if any).
remoteCloseReasonProtocol ErrorThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- + - + +
Chop SizeCountOctets
15115
111
1831183
Total2198
2411241
Total3425

Octets Transmitted by Chop Size

+ - +
Chop SizeCountOctets
414
11222
2061206
Total3228
Total4232

Frames Received by Opcode

- +
OpcodeCount
101
81
Total1

Frames Transmitted by Opcode

+ - +
OpcodeCount
01
81
91
Total2
Total3


Wire Log

@@ -286,10 +289,15 @@ Sec-WebSocket-Accept: YWSQrOqgpqW7QjNa09yb7TRwfoE=
               fragment2
005 TX OCTETS: 8009667261676d656e7432
006 FAIL CONNECTION AFTER 1.000000 sec
-
007 RX OCTETS: 8a89027ffb9a640d9afd6f1a95ee33
-
008 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3032376666623961
-
               fragment1
-
009 TCP DROPPED BY PEER
+
007 RX OCTETS: 88
+
008 RX OCTETS: 9074c3a4707729f4021bb7cb131baf843506b1cb0288906eb094dc6d5ac4ae01c4fbbf01dcb4991cc2fbae8890ac18de98af
+
               f28eeac36cb1fbc374feddde6ab1 ...
+
009 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=16, MASKED=True, MASK=3734633361343730
+
               0x03ea50726f746f636f6c204572726f72
+
010 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
011 TX OCTETS: 880203e8
+
012 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_5_1.json b/autobahn/client/hornbeam_case_5_1.json index f87575b..67f376b 100644 --- a/autobahn/client/hornbeam_case_5_1.json +++ b/autobahn/client/hornbeam_case_5_1.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", + "behavior": "OK", "behaviorClose": "OK", "case": 45, "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send Ping fragmented into 2 fragments.", - "droppedByMe": false, - "duration": 3, + "droppedByMe": true, + "duration": 43, "expectation": "Connection is failed immediately, since control message MUST NOT be fragmented.", "expected": { "OK": [] @@ -21,44 +21,42 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=45&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: mYCeizRDsRwzQR4zFhBb6A==\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: YWSQrOqgpqW7QjNa09yb7TRwfoE=\r\n\r\n", + "httpRequest": "GET /runCase?case=45&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: COSyP0bA4YrBOv6PieKR/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: SEio7AKl6b5OcHiMHV3LJQZV5Dg=\r\n\r\n", "id": "5.1", "isServer": true, - "localCloseCode": null, + "localCloseCode": 1000, "localCloseReason": null, - "received": [ - [ - "pong", - "fragment1" - ] - ], - "remoteCloseCode": null, - "remoteCloseReason": null, + "received": [], + "remoteCloseCode": 1002, + "remoteCloseReason": "Protocol Error", "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", + "result": "Actual events match at least one expected.", "resultClose": "Connection was properly closed", "rxFrameStats": { - "10": 1 + "8": 1 }, "rxOctetStats": { - "15": 1, - "183": 1 + "1": 1, + "183": 1, + "241": 1 }, - "started": "2023-08-10T23:01:34.299Z", + "started": "2023-08-11T05:15:07.221Z", "trafficStats": null, "txFrameStats": { "0": 1, + "8": 1, "9": 1 }, "txOctetStats": { + "4": 1, "11": 2, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", + "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -128,21 +126,50 @@ [ "RO", [ - 15, - "8a89027ffb9a640d9afd6f1a95ee33" + 1, + "88" + ] + ], + [ + "RO", + [ + 241, + "9074c3a4707729f4021bb7cb131baf843506b1cb0288906eb094dc6d5ac4ae01c4fbbf01dcb4991cc2fbae8890ac18de98aff28eeac36cb1fbc374feddde6ab1 ..." ] ], [ "RF", [ - 9, - "fragment1" + 16, + "0x03ea50726f746f636f6c204572726f72" ], - 10, + 8, true, 0, true, - "027ffb9a" + "74c3a470" + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_5_10.html b/autobahn/client/hornbeam_case_5_10.html index b7407ae..f90cb94 100644 --- a/autobahn/client/hornbeam_case_5_10.html +++ b/autobahn/client/hornbeam_case_5_10.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 5.10 : Pass - 2 ms @ 2023-08-10T23:01:34.391Z

+

Hornbeam - Case 5.10 : Pass - 2 ms @ 2023-08-11T05:15:07.615Z

Case Description

Send unfragmented Text Message after Continuation Frame with FIN = true, where there is nothing to continue, sent in per-frame chops.

Case Expectation

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

@@ -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: 7xoBxdKGcbMfwuMrCc7bOQ== +Sec-WebSocket-Key: TTPCHuOXsDjxo6iyMD/5AA== 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: S1+h3OXAf59lIgZNwJhHs/RnQyo=
+Sec-WebSocket-Accept: AcXrr2Lxgpew+uERnhe559yApAk=

Closing Behavior

diff --git a/autobahn/client/hornbeam_case_5_10.json b/autobahn/client/hornbeam_case_5_10.json index 94ddf5d..59b3051 100644 --- a/autobahn/client/hornbeam_case_5_10.json +++ b/autobahn/client/hornbeam_case_5_10.json @@ -21,8 +21,8 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=54&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 7xoBxdKGcbMfwuMrCc7bOQ==\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: S1+h3OXAf59lIgZNwJhHs/RnQyo=\r\n\r\n", + "httpRequest": "GET /runCase?case=54&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: TTPCHuOXsDjxo6iyMD/5AA==\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: AcXrr2Lxgpew+uERnhe559yApAk=\r\n\r\n", "id": "5.10", "isServer": true, "localCloseCode": null, @@ -38,7 +38,7 @@ "rxOctetStats": { "183": 1 }, - "started": "2023-08-10T23:01:34.391Z", + "started": "2023-08-11T05:15:07.615Z", "trafficStats": null, "txFrameStats": { "0": 1, diff --git a/autobahn/client/hornbeam_case_5_11.html b/autobahn/client/hornbeam_case_5_11.html index f019748..80fadfc 100644 --- a/autobahn/client/hornbeam_case_5_11.html +++ b/autobahn/client/hornbeam_case_5_11.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 5.11 : Pass - 3 ms @ 2023-08-10T23:01:34.395Z

+

Hornbeam - Case 5.11 : Pass - 2 ms @ 2023-08-11T05:15:07.619Z

Case Description

Send unfragmented Text Message after Continuation Frame with FIN = true, where there is nothing to continue, sent in octet-wise chops.

Case Expectation

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

@@ -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: nGxT64JlqFB8ekPfgXYDfg== +Sec-WebSocket-Key: N6W/NzqZ0vKiPp7eiauFXQ== 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: DCvXVJtT3hC/vHl/gtR3V654Xdk=
+Sec-WebSocket-Accept: 4LM9V3oYT00EYVUAy3FWnSCRoRI=

Closing Behavior

diff --git a/autobahn/client/hornbeam_case_5_11.json b/autobahn/client/hornbeam_case_5_11.json index 5b4d3dc..6c6afc4 100644 --- a/autobahn/client/hornbeam_case_5_11.json +++ b/autobahn/client/hornbeam_case_5_11.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send unfragmented Text Message after Continuation Frame with FIN = true, where there is nothing to continue, sent in octet-wise chops.", "droppedByMe": false, - "duration": 3, + "duration": 2, "expectation": "The connection is failed immediately, since there is no message to continue.", "expected": { "OK": [] @@ -21,8 +21,8 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=55&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: nGxT64JlqFB8ekPfgXYDfg==\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: DCvXVJtT3hC/vHl/gtR3V654Xdk=\r\n\r\n", + "httpRequest": "GET /runCase?case=55&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: N6W/NzqZ0vKiPp7eiauFXQ==\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: 4LM9V3oYT00EYVUAy3FWnSCRoRI=\r\n\r\n", "id": "5.11", "isServer": true, "localCloseCode": null, @@ -38,7 +38,7 @@ "rxOctetStats": { "183": 1 }, - "started": "2023-08-10T23:01:34.395Z", + "started": "2023-08-11T05:15:07.619Z", "trafficStats": null, "txFrameStats": { "0": 1, diff --git a/autobahn/client/hornbeam_case_5_12.html b/autobahn/client/hornbeam_case_5_12.html index 1feac81..792162e 100644 --- a/autobahn/client/hornbeam_case_5_12.html +++ b/autobahn/client/hornbeam_case_5_12.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 5.12 : Pass - 1 ms @ 2023-08-10T23:01:34.399Z

+

Hornbeam - Case 5.12 : Pass - 1 ms @ 2023-08-11T05:15:07.623Z

Case Description

Send unfragmented Text Message after Continuation Frame with FIN = false, where there is nothing to continue, sent in one chop.

Case Expectation

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

@@ -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: UIik+zeQmdpl1aw4z/xsMw== +Sec-WebSocket-Key: kIRFVPJy1RDy8paqp/7GFw== 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: qSf2XGNTM/uNKqNqsIh9RMCzOds=
+Sec-WebSocket-Accept: jQOOUeZ0gbtxQ4oDPczMe+6mkwE=

Closing Behavior

diff --git a/autobahn/client/hornbeam_case_5_12.json b/autobahn/client/hornbeam_case_5_12.json index 525fb6c..89aa310 100644 --- a/autobahn/client/hornbeam_case_5_12.json +++ b/autobahn/client/hornbeam_case_5_12.json @@ -21,8 +21,8 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=56&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: UIik+zeQmdpl1aw4z/xsMw==\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: qSf2XGNTM/uNKqNqsIh9RMCzOds=\r\n\r\n", + "httpRequest": "GET /runCase?case=56&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: kIRFVPJy1RDy8paqp/7GFw==\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: jQOOUeZ0gbtxQ4oDPczMe+6mkwE=\r\n\r\n", "id": "5.12", "isServer": true, "localCloseCode": null, @@ -38,7 +38,7 @@ "rxOctetStats": { "183": 1 }, - "started": "2023-08-10T23:01:34.399Z", + "started": "2023-08-11T05:15:07.623Z", "trafficStats": null, "txFrameStats": { "0": 1, diff --git a/autobahn/client/hornbeam_case_5_13.html b/autobahn/client/hornbeam_case_5_13.html index d3b7434..b30378b 100644 --- a/autobahn/client/hornbeam_case_5_13.html +++ b/autobahn/client/hornbeam_case_5_13.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 5.13 : Pass - 1 ms @ 2023-08-10T23:01:34.401Z

+

Hornbeam - Case 5.13 : Pass - 1 ms @ 2023-08-11T05:15:07.626Z

Case Description

Send unfragmented Text Message after Continuation Frame with FIN = false, where there is nothing to continue, sent in per-frame chops.

Case Expectation

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

@@ -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: ITCkFDUH1LUmxxvclGhQmg== +Sec-WebSocket-Key: V5Prg+Tmhu99adKwR/AWeQ== 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: 48/A3d7OTQnf1XPu54vOk0e/4q4=
+Sec-WebSocket-Accept: JlLNKu48y3l82xmZ5sBWMe7voVY=

Closing Behavior

diff --git a/autobahn/client/hornbeam_case_5_13.json b/autobahn/client/hornbeam_case_5_13.json index fea991d..14b536e 100644 --- a/autobahn/client/hornbeam_case_5_13.json +++ b/autobahn/client/hornbeam_case_5_13.json @@ -21,8 +21,8 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=57&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ITCkFDUH1LUmxxvclGhQmg==\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: 48/A3d7OTQnf1XPu54vOk0e/4q4=\r\n\r\n", + "httpRequest": "GET /runCase?case=57&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: V5Prg+Tmhu99adKwR/AWeQ==\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: JlLNKu48y3l82xmZ5sBWMe7voVY=\r\n\r\n", "id": "5.13", "isServer": true, "localCloseCode": null, @@ -38,7 +38,7 @@ "rxOctetStats": { "183": 1 }, - "started": "2023-08-10T23:01:34.401Z", + "started": "2023-08-11T05:15:07.626Z", "trafficStats": null, "txFrameStats": { "0": 1, diff --git a/autobahn/client/hornbeam_case_5_14.html b/autobahn/client/hornbeam_case_5_14.html index 8eeedd9..9441826 100644 --- a/autobahn/client/hornbeam_case_5_14.html +++ b/autobahn/client/hornbeam_case_5_14.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 5.14 : Pass - 2 ms @ 2023-08-10T23:01:34.405Z

+

Hornbeam - Case 5.14 : Pass - 2 ms @ 2023-08-11T05:15:07.628Z

Case Description

Send unfragmented Text Message after Continuation Frame with FIN = false, where there is nothing to continue, sent in octet-wise chops.

Case Expectation

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

@@ -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: s5rYfROJI1ZdgsCvV0OYcQ== +Sec-WebSocket-Key: DQ7WGKtHCf7R0h0Kn8LE3g== 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: JHQVJh2EzwdYzDirpc7qSfB7J8g=
+Sec-WebSocket-Accept: qI0efY4TQLq7/ayoC5on9So/Lyc=

Closing Behavior

diff --git a/autobahn/client/hornbeam_case_5_14.json b/autobahn/client/hornbeam_case_5_14.json index d8aeba7..425d749 100644 --- a/autobahn/client/hornbeam_case_5_14.json +++ b/autobahn/client/hornbeam_case_5_14.json @@ -21,8 +21,8 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=58&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: s5rYfROJI1ZdgsCvV0OYcQ==\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: JHQVJh2EzwdYzDirpc7qSfB7J8g=\r\n\r\n", + "httpRequest": "GET /runCase?case=58&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: DQ7WGKtHCf7R0h0Kn8LE3g==\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: qI0efY4TQLq7/ayoC5on9So/Lyc=\r\n\r\n", "id": "5.14", "isServer": true, "localCloseCode": null, @@ -38,7 +38,7 @@ "rxOctetStats": { "183": 1 }, - "started": "2023-08-10T23:01:34.405Z", + "started": "2023-08-11T05:15:07.628Z", "trafficStats": null, "txFrameStats": { "0": 1, diff --git a/autobahn/client/hornbeam_case_5_15.html b/autobahn/client/hornbeam_case_5_15.html index 491ee35..d1962ad 100644 --- a/autobahn/client/hornbeam_case_5_15.html +++ b/autobahn/client/hornbeam_case_5_15.html @@ -202,14 +202,14 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 5.15 : Fail - 2 ms @ 2023-08-10T23:01:34.408Z

+

Hornbeam - Case 5.15 : Pass - 1 ms @ 2023-08-11T05:15:07.631Z

Case Description

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

Case Expectation

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

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

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

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

Case Closing Behavior

Connection was properly closed (OK)



@@ -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: x8JVgL/JnGcVamT5rEqeRQ== +Sec-WebSocket-Key: gw5mN6Cvr6Li8DOqAxn1cw== 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: u08UCLyk/mzbW6OxP6gBUIFlIAU=
+Sec-WebSocket-Accept: tkkFC+Lbjpz0Bwke9ASHrGSKPR4=

Closing Behavior

@@ -248,10 +248,9 @@ Sec-WebSocket-Accept: u08UCLyk/mzbW6OxP6gBUIFlIAU=

Octets Received by Chop Size

- - + - +
Chop SizeCountOctets
111
14114
24124
1831183
Total3198
Total2207

Octets Transmitted by Chop Size

@@ -293,11 +292,10 @@ Sec-WebSocket-Accept: u08UCLyk/mzbW6OxP6gBUIFlIAU=
               fragment4
009 TX OCTETS: 8109667261676d656e7434
010 FAIL CONNECTION AFTER 1.000000 sec
-
011 RX OCTETS: 81
-
012 RX OCTETS: 89360e9f9a507cfefd5b6bf1ee07
-
013 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3336306539663961
-
               fragment1
-
014 TCP DROPPED BY PEER
+
011 RX OCTETS: 8192b2ccd781d4beb6e6dfa9b9f583aaa5e0d5a1b2efc6fe
+
012 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=18, MASKED=True, MASK=6232636364373831
+
               fragment1fragment2
+
013 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_5_15.json b/autobahn/client/hornbeam_case_5_15.json index 6dbf764..aeace67 100644 --- a/autobahn/client/hornbeam_case_5_15.json +++ b/autobahn/client/hornbeam_case_5_15.json @@ -1,6 +1,6 @@ { "agent": "Hornbeam", - "behavior": "FAILED", + "behavior": "OK", "behaviorClose": "OK", "case": 59, "closedByMe": false, @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send text Message fragmented into 2 fragments, then Continuation Frame with FIN = false where there is nothing to continue, then unfragmented Text Message, all sent in one chop.", "droppedByMe": false, - "duration": 2, + "duration": 1, "expectation": "The connection is failed immediately, since there is no message to continue.", "expected": { "NON-STRICT": [], @@ -28,8 +28,8 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=59&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: x8JVgL/JnGcVamT5rEqeRQ==\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: u08UCLyk/mzbW6OxP6gBUIFlIAU=\r\n\r\n", + "httpRequest": "GET /runCase?case=59&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: gw5mN6Cvr6Li8DOqAxn1cw==\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: tkkFC+Lbjpz0Bwke9ASHrGSKPR4=\r\n\r\n", "id": "5.15", "isServer": true, "localCloseCode": null, @@ -37,7 +37,7 @@ "received": [ [ "message", - "fragment1", + "fragment1fragment2", false ] ], @@ -45,17 +45,16 @@ "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", + "result": "Actual events match at least one expected.", "resultClose": "Connection was properly closed", "rxFrameStats": { "1": 1 }, "rxOctetStats": { - "1": 1, - "14": 1, + "24": 1, "183": 1 }, - "started": "2023-08-10T23:01:34.408Z", + "started": "2023-08-11T05:15:07.631Z", "trafficStats": null, "txFrameStats": { "0": 2, @@ -181,28 +180,21 @@ [ "RO", [ - 1, - "81" - ] - ], - [ - "RO", - [ - 14, - "89360e9f9a507cfefd5b6bf1ee07" + 24, + "8192b2ccd781d4beb6e6dfa9b9f583aaa5e0d5a1b2efc6fe" ] ], [ "RF", [ - 9, - "fragment1" + 18, + "fragment1fragment2" ], 1, true, 0, true, - "360e9f9a" + "b2ccd781" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_5_16.html b/autobahn/client/hornbeam_case_5_16.html index ad9a1ce..03b873d 100644 --- a/autobahn/client/hornbeam_case_5_16.html +++ b/autobahn/client/hornbeam_case_5_16.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 5.16 : Pass - 2 ms @ 2023-08-10T23:01:34.412Z

+

Hornbeam - Case 5.16 : Pass - 1 ms @ 2023-08-11T05:15:07.634Z

Case Description

Repeated 2x: Continuation Frame with FIN = false (where there is nothing to continue), then text Message fragmented into 2 fragments.

Case Expectation

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

@@ -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: G+AXjN6Mk1kEO82cuXdE2Q== +Sec-WebSocket-Key: 7c22W0OEkQYqUkht8Vdmcg== 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: kOQQEFhyxZRA7wLPjeCl3Sy4660=
+Sec-WebSocket-Accept: BgeLGt20uRixSU3FLCdzqwasmw8=

Closing Behavior

diff --git a/autobahn/client/hornbeam_case_5_16.json b/autobahn/client/hornbeam_case_5_16.json index d980c6a..7224116 100644 --- a/autobahn/client/hornbeam_case_5_16.json +++ b/autobahn/client/hornbeam_case_5_16.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Repeated 2x: Continuation Frame with FIN = false (where there is nothing to continue), then text Message fragmented into 2 fragments.", "droppedByMe": false, - "duration": 2, + "duration": 1, "expectation": "The connection is failed immediately, since there is no message to continue.", "expected": { "OK": [] @@ -21,8 +21,8 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=60&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: G+AXjN6Mk1kEO82cuXdE2Q==\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: kOQQEFhyxZRA7wLPjeCl3Sy4660=\r\n\r\n", + "httpRequest": "GET /runCase?case=60&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 7c22W0OEkQYqUkht8Vdmcg==\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: BgeLGt20uRixSU3FLCdzqwasmw8=\r\n\r\n", "id": "5.16", "isServer": true, "localCloseCode": null, @@ -38,7 +38,7 @@ "rxOctetStats": { "183": 1 }, - "started": "2023-08-10T23:01:34.412Z", + "started": "2023-08-11T05:15:07.634Z", "trafficStats": null, "txFrameStats": { "0": 4, diff --git a/autobahn/client/hornbeam_case_5_17.html b/autobahn/client/hornbeam_case_5_17.html index 959b442..30719bf 100644 --- a/autobahn/client/hornbeam_case_5_17.html +++ b/autobahn/client/hornbeam_case_5_17.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 5.17 : Pass - 1 ms @ 2023-08-10T23:01:34.416Z

+

Hornbeam - Case 5.17 : Pass - 1 ms @ 2023-08-11T05:15:07.636Z

Case Description

Repeated 2x: Continuation Frame with FIN = true (where there is nothing to continue), then text Message fragmented into 2 fragments.

Case Expectation

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

@@ -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: 3lUma1KYUsE80eNn0VbwwQ== +Sec-WebSocket-Key: dPTRcjcL7u1Av3aMqHMaTA== 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: 4Qfo3fckgDU+S6VzgpVUKwU9GZk=
+Sec-WebSocket-Accept: mioN0vEbK+s/UTiM1bjKLY0yLj8=

Closing Behavior

diff --git a/autobahn/client/hornbeam_case_5_17.json b/autobahn/client/hornbeam_case_5_17.json index 4fa4368..e908541 100644 --- a/autobahn/client/hornbeam_case_5_17.json +++ b/autobahn/client/hornbeam_case_5_17.json @@ -21,8 +21,8 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=61&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 3lUma1KYUsE80eNn0VbwwQ==\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: 4Qfo3fckgDU+S6VzgpVUKwU9GZk=\r\n\r\n", + "httpRequest": "GET /runCase?case=61&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: dPTRcjcL7u1Av3aMqHMaTA==\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: mioN0vEbK+s/UTiM1bjKLY0yLj8=\r\n\r\n", "id": "5.17", "isServer": true, "localCloseCode": null, @@ -38,7 +38,7 @@ "rxOctetStats": { "183": 1 }, - "started": "2023-08-10T23:01:34.416Z", + "started": "2023-08-11T05:15:07.636Z", "trafficStats": null, "txFrameStats": { "0": 4, diff --git a/autobahn/client/hornbeam_case_5_18.html b/autobahn/client/hornbeam_case_5_18.html index 7621a2a..9962865 100644 --- a/autobahn/client/hornbeam_case_5_18.html +++ b/autobahn/client/hornbeam_case_5_18.html @@ -202,72 +202,70 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 5.18 : Fail - 1003 ms @ 2023-08-10T23:01:34.419Z

+

Hornbeam - Case 5.18 : Pass - 41 ms @ 2023-08-11T05:15:07.639Z

Case Description

Send text Message fragmented into 2 fragments, with both frame opcodes set to text, sent in one chop.

Case Expectation

The connection is failed immediately, since all data frames after the initial data frame must have opcode 0.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'fragment1', False), ('message', u'fragment2', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=62&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: vI1desGVz91ydRB3BT46aw==
+Sec-WebSocket-Key: T+qcCHdQFnpZ5vNi7Fhggw==
 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: baiW1tzRXFh/7/5sG8J9Lfr3Meg=
+Sec-WebSocket-Accept: P1CCYnO32j8Qi996Q7hMnopEG1M=

Closing Behavior

- - + + - - - - + + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode1002The close code the peer sent me in close frame (if any).
remoteCloseReasonProtocol ErrorThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - + - +
Chop SizeCountOctets
111
818
29129
36136
1831183
Total4221
Total3220

Octets Transmitted by Chop Size

+ - - +
Chop SizeCountOctets
414
11222
14114
2061206
Total4242
Total4232

Frames Received by Opcode

- - +
OpcodeCount
12
81
Total3
Total1

Frames Transmitted by Opcode

@@ -290,20 +288,14 @@ Sec-WebSocket-Accept: baiW1tzRXFh/7/5sG8J9Lfr3Meg=
               fragment2
005 TX OCTETS: 8109667261676d656e7432
006 FAIL CONNECTION AFTER 1.000000 sec
-
007 RX OCTETS: 81
-
008 RX OCTETS: 89988fb518fefdd47ff5eadb6ca98189efc7a71289b5c67582a2c966dd
-
009 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3938386662353138
-
               fragment1
-
010 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6566633761373132
-
               fragment2
-
011 FAILING CONNECTION
-
012 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
013 TX OCTETS: 880c03e9476f696e672041776179
-
014 RX OCTETS: 888246670b6f458f
-
015 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3436363730623666
-
               0x03e8
-
016 TCP DROPPED BY ME
+
007 RX OCTETS: 88
+
008 RX OCTETS: 9035794487369314f55a0d2be45a1564c2470b2bf58189b3eb826ed599e309de8eec1a81
+
009 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=16, MASKED=True, MASK=3335373934343837
+
               0x03ea50726f746f636f6c204572726f72
+
010 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
011 TX OCTETS: 880203e8
+
012 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_5_18.json b/autobahn/client/hornbeam_case_5_18.json index 189690c..89227b3 100644 --- a/autobahn/client/hornbeam_case_5_18.json +++ b/autobahn/client/hornbeam_case_5_18.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 62, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send text Message fragmented into 2 fragments, with both frame opcodes set to text, sent in one chop.", "droppedByMe": true, - "duration": 1003, + "duration": 41, "expectation": "The connection is failed immediately, since all data frames after the initial data frame must have opcode 0.", "expected": { "OK": [] @@ -20,50 +20,37 @@ "closedByMe": false, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=62&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: vI1desGVz91ydRB3BT46aw==\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: baiW1tzRXFh/7/5sG8J9Lfr3Meg=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=62&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: T+qcCHdQFnpZ5vNi7Fhggw==\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: P1CCYnO32j8Qi996Q7hMnopEG1M=\r\n\r\n", "id": "5.18", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "fragment1", - false - ], - [ - "message", - "fragment2", - false - ] - ], - "remoteCloseCode": 1000, - "remoteCloseReason": null, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1002, + "remoteCloseReason": "Protocol Error", "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", "rxFrameStats": { - "1": 2, "8": 1 }, "rxOctetStats": { "1": 1, - "8": 1, - "29": 1, + "36": 1, "183": 1 }, - "started": "2023-08-10T23:01:34.419Z", + "started": "2023-08-11T05:15:07.639Z", "trafficStats": null, "txFrameStats": { "1": 2, "8": 1 }, "txOctetStats": { + "4": 1, "11": 2, - "14": 1, "206": 1 }, "wasClean": true, @@ -139,48 +126,33 @@ "RO", [ 1, - "81" + "88" ] ], [ "RO", [ - 29, - "89988fb518fefdd47ff5eadb6ca98189efc7a71289b5c67582a2c966dd" + 36, + "9035794487369314f55a0d2be45a1564c2470b2bf58189b3eb826ed599e309de8eec1a81" ] ], [ "RF", [ - 9, - "fragment1" + 16, + "0x03ea50726f746f636f6c204572726f72" ], - 1, + 8, true, 0, true, - "988fb518" - ], - [ - "RF", - [ - 9, - "fragment2" - ], - 1, - true, - 0, - true, - "efc7a712" - ], - [ - "KLE" + "35794487" ], [ "TF", [ - 12, - "0x03e9476f696e672041776179" + 2, + "0x03e8" ], 8, true, @@ -193,29 +165,10 @@ [ "TO", [ - 14, - "880c03e9476f696e672041776179" + 4, + "880203e8" ], false - ], - [ - "RO", - [ - 8, - "888246670b6f458f" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "46670b6f" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_5_19.html b/autobahn/client/hornbeam_case_5_19.html index 51ebe60..3a25d84 100644 --- a/autobahn/client/hornbeam_case_5_19.html +++ b/autobahn/client/hornbeam_case_5_19.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 5.19 : Fail - 3 ms @ 2023-08-10T23:01:35.424Z

+

Hornbeam - Case 5.19 : Pass - 1004 ms @ 2023-08-11T05:15:07.682Z

Case Description

A fragmented text message is sent in multiple frames. After sending the first 2 frames of the text message, a Ping is sent. Then we wait 1s, then we send 2 more text fragments, another Ping and then the final text fragment. @@ -212,41 +212,41 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000; payload exactly, and echo's the payload of the fragmented message back to us.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': [('pong', u'pongme 1!'), ('pong', u'pongme 2!'), ('message', u'fragment1fragment2fragment3fragment4fragment5', False)]}

- Observed:
[('message', u'fragment1', False)] + Observed:
[('pong', u'pongme 1!'), ('pong', u'pongme 2!'), ('message', u'fragment1fragment2fragment3fragment4fragment5', False)]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=63&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: 8g5xbVJ44zRysHUQzYd6fQ==
+Sec-WebSocket-Key: rLoNV8GKKJ2T0oL+kacOsg==
 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: 4cBYkLpYZeQJk43bmJtlzTvb1C4=
+Sec-WebSocket-Accept: C16fE9R8+5sWAuwuGl/evWqhmao=

Closing Behavior

- + - - - + + + - + - +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

@@ -254,30 +254,37 @@ Sec-WebSocket-Accept: 4cBYkLpYZeQJk43bmJtlzTvb1C4= + + + - +
Chop SizeCountOctets
111
818
14114
16116
50150
1831183
Total3198
Total6272

Octets Transmitted by Chop Size

- + + - +
Chop SizeCountOctets
11333
414
11777
2061206
Total4239
Total9287

Frames Received by Opcode

- + + +
OpcodeCount
11
Total1
81
102
Total4

Frames Transmitted by Opcode

- + - - + + +
OpcodeCount
01
04
11
91
Total3
81
92
Total8


Wire Log

@@ -296,11 +303,37 @@ Sec-WebSocket-Accept: 4cBYkLpYZeQJk43bmJtlzTvb1C4=
               pongme 1!
007 TX OCTETS: 8909706f6e676d65203121
008 DELAY 1.000000 sec for TAG None
-
009 RX OCTETS: 81
-
010 RX OCTETS: 89f58f3e9793fd5ff098ea50e3c4
-
011 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6635386633653937
-
               fragment1
-
012 TCP DROPPED BY PEER
+
009 RX OCTETS: 8a
+
010 RX OCTETS: 89442a52f334453c94294f72c265
+
011 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3434326135326633
+
               pongme 1!
+
012 DELAY TIMEOUT on TAG None
+
013 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=9, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               fragment3
+
014 TX OCTETS: 0009667261676d656e7433
+
015 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=9, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               fragment4
+
016 TX OCTETS: 0009667261676d656e7434
+
017 TX FRAME : OPCODE=9, FIN=True, RSV=0, PAYLOAD-LEN=9, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               pongme 2!
+
018 TX OCTETS: 8909706f6e676d65203221
+
019 TX FRAME : OPCODE=0, FIN=True, RSV=0, PAYLOAD-LEN=9, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               fragment5
+
020 TX OCTETS: 8009667261676d656e7435
+
021 CLOSE CONNECTION AFTER 1.000000 sec
+
022 RX OCTETS: 8a890ebabe197ed5d07e63df9e2b2f81
+
023 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3065626162653139
+
               pongme 2!
+
024 RX OCTETS: ad6ca23a230ad05b4401c754575dc448420bcf5f4d18905c510dc5574602d609451ec35d4e09cc4e170ad05b4401c7545759
+
025 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=45, MASKED=True, MASK=3663613233613233
+
               fragment1fragment2fragment3fragment4fragment5
+
026 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
027 TX OCTETS: 880203e8
+
028 RX OCTETS: 8882b6746619b59c
+
029 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6236373436363139
+
               0x03e8
+
030 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_5_19.json b/autobahn/client/hornbeam_case_5_19.json index 034ffcb..4fef5bc 100644 --- a/autobahn/client/hornbeam_case_5_19.json +++ b/autobahn/client/hornbeam_case_5_19.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 63, - "closedByMe": false, + "closedByMe": true, "createStats": true, "createWirelog": true, "description": "A fragmented text message is sent in multiple frames. After\n sending the first 2 frames of the text message, a Ping is sent. Then we wait 1s,\n then we send 2 more text fragments, another Ping and then the final text fragment.\n Everything is legal.", - "droppedByMe": false, - "duration": 3, + "droppedByMe": true, + "duration": 1004, "expectation": "The peer immediately answers the first Ping before\n it has received the last text message fragment. The peer pong's back the Ping's\n payload exactly, and echo's the payload of the fragmented message back to us.", "expected": { "OK": [ @@ -35,47 +35,62 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=63&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 8g5xbVJ44zRysHUQzYd6fQ==\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: 4cBYkLpYZeQJk43bmJtlzTvb1C4=\r\n\r\n", + "httpRequest": "GET /runCase?case=63&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: rLoNV8GKKJ2T0oL+kacOsg==\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: C16fE9R8+5sWAuwuGl/evWqhmao=\r\n\r\n", "id": "5.19", "isServer": true, - "localCloseCode": null, + "localCloseCode": 1000, "localCloseReason": null, "received": [ + [ + "pong", + "pongme 1!" + ], + [ + "pong", + "pongme 2!" + ], [ "message", - "fragment1", + "fragment1fragment2fragment3fragment4fragment5", false ] ], - "remoteCloseCode": null, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", "rxFrameStats": { - "1": 1 + "1": 1, + "8": 1, + "10": 2 }, "rxOctetStats": { "1": 1, + "8": 1, "14": 1, + "16": 1, + "50": 1, "183": 1 }, - "started": "2023-08-10T23:01:35.424Z", + "started": "2023-08-11T05:15:07.682Z", "trafficStats": null, "txFrameStats": { - "0": 1, + "0": 4, "1": 1, - "9": 1 + "8": 1, + "9": 2 }, "txOctetStats": { - "11": 3, + "4": 1, + "11": 7, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", + "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -169,27 +184,202 @@ "RO", [ 1, - "81" + "8a" ] ], [ "RO", [ 14, - "89f58f3e9793fd5ff098ea50e3c4" + "89442a52f334453c94294f72c265" ] ], [ "RF", [ 9, - "fragment1" + "pongme 1!" + ], + 10, + true, + 0, + true, + "442a52f3" + ], + [ + "CTE", + null + ], + [ + "TF", + [ + 9, + "fragment3" + ], + 0, + false, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 11, + "0009667261676d656e7433" + ], + false + ], + [ + "TF", + [ + 9, + "fragment4" + ], + 0, + false, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 11, + "0009667261676d656e7434" + ], + false + ], + [ + "TF", + [ + 9, + "pongme 2!" + ], + 9, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 11, + "8909706f6e676d65203221" + ], + false + ], + [ + "TF", + [ + 9, + "fragment5" + ], + 0, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 11, + "8009667261676d656e7435" + ], + false + ], + [ + "TI", + 1 + ], + [ + "RO", + [ + 16, + "8a890ebabe197ed5d07e63df9e2b2f81" + ] + ], + [ + "RF", + [ + 9, + "pongme 2!" + ], + 10, + true, + 0, + true, + "0ebabe19" + ], + [ + "RO", + [ + 50, + "ad6ca23a230ad05b4401c754575dc448420bcf5f4d18905c510dc5574602d609451ec35d4e09cc4e170ad05b4401c7545759" + ] + ], + [ + "RF", + [ + 45, + "fragment1fragment2fragment3fragment4fragment5" ], 1, true, 0, true, - "f58f3e97" + "6ca23a23" + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "8882b6746619b59c" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "b6746619" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_5_2.html b/autobahn/client/hornbeam_case_5_2.html index 5aa6295..1eabb88 100644 --- a/autobahn/client/hornbeam_case_5_2.html +++ b/autobahn/client/hornbeam_case_5_2.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 5.2 : Pass - 2 ms @ 2023-08-10T23:01:34.305Z

+

Hornbeam - Case 5.2 : Pass - 44 ms @ 2023-08-11T05:15:07.266Z

Case Description

Send Pong fragmented into 2 fragments.

Case Expectation

Connection is failed immediately, since control message MUST NOT be fragmented.

@@ -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: tGSFGY2Jk17IrikwzQ9fRw== +Sec-WebSocket-Key: EsthfOhXmZDazB5ly9oZDw== 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: LIU7shjqMNoBw00x98wrg2RxSb8=
+Sec-WebSocket-Accept: KlTXqXIG7f+jEFw5OTfW6OyYeQQ=

Closing Behavior

@@ -233,42 +233,47 @@ Sec-WebSocket-Accept: LIU7shjqMNoBw00x98wrg2RxSb8= - - - + + + - + - - + +
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).
remoteCloseCode1002The close code the peer sent me in close frame (if any).
remoteCloseReasonProtocol ErrorThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

+ - + +
Chop SizeCountOctets
111
1831183
Total1183
2411241
Total3425

Octets Transmitted by Chop Size

+ - +
Chop SizeCountOctets
414
11222
2061206
Total3228
Total4232

Frames Received by Opcode

- + +
OpcodeCount
Total0
81
Total1

Frames Transmitted by Opcode

+ - +
OpcodeCount
01
81
101
Total2
Total3


Wire Log

@@ -284,7 +289,15 @@ Sec-WebSocket-Accept: LIU7shjqMNoBw00x98wrg2RxSb8=
               fragment2
005 TX OCTETS: 8009667261676d656e7432
006 FAIL CONNECTION AFTER 1.000000 sec
-
007 TCP DROPPED BY PEER
+
007 RX OCTETS: 88
+
008 RX OCTETS: 9044eeaa0a4704fa782b9ac5692b828a4f369cc5788890c15c9305c2b6c377ae28fc66ae30b340b32efc7788908b62796788
+
               882915e4161604e40e5922f91016 ...
+
009 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=16, MASKED=True, MASK=3434656561613061
+
               0x03ea50726f746f636f6c204572726f72
+
010 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
011 TX OCTETS: 880203e8
+
012 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_5_2.json b/autobahn/client/hornbeam_case_5_2.json index a6b67c4..25bfbdd 100644 --- a/autobahn/client/hornbeam_case_5_2.json +++ b/autobahn/client/hornbeam_case_5_2.json @@ -7,8 +7,8 @@ "createStats": true, "createWirelog": true, "description": "Send Pong fragmented into 2 fragments.", - "droppedByMe": false, - "duration": 2, + "droppedByMe": true, + "duration": 44, "expectation": "Connection is failed immediately, since control message MUST NOT be fragmented.", "expected": { "OK": [] @@ -21,36 +21,42 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=46&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: tGSFGY2Jk17IrikwzQ9fRw==\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: LIU7shjqMNoBw00x98wrg2RxSb8=\r\n\r\n", + "httpRequest": "GET /runCase?case=46&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: EsthfOhXmZDazB5ly9oZDw==\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: KlTXqXIG7f+jEFw5OTfW6OyYeQQ=\r\n\r\n", "id": "5.2", "isServer": true, - "localCloseCode": null, + "localCloseCode": 1000, "localCloseReason": null, "received": [], - "remoteCloseCode": null, - "remoteCloseReason": null, + "remoteCloseCode": 1002, + "remoteCloseReason": "Protocol Error", "reportCompressionRatio": false, "reportTime": false, "result": "Actual events match at least one expected.", "resultClose": "Connection was properly closed", - "rxFrameStats": {}, - "rxOctetStats": { - "183": 1 + "rxFrameStats": { + "8": 1 }, - "started": "2023-08-10T23:01:34.305Z", + "rxOctetStats": { + "1": 1, + "183": 1, + "241": 1 + }, + "started": "2023-08-11T05:15:07.266Z", "trafficStats": null, "txFrameStats": { "0": 1, + "8": 1, "10": 1 }, "txOctetStats": { + "4": 1, "11": 2, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", + "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -116,6 +122,54 @@ [ "KL", 1 + ], + [ + "RO", + [ + 1, + "88" + ] + ], + [ + "RO", + [ + 241, + "9044eeaa0a4704fa782b9ac5692b828a4f369cc5788890c15c9305c2b6c377ae28fc66ae30b340b32efc7788908b62796788882915e4161604e40e5922f91016 ..." + ] + ], + [ + "RF", + [ + 16, + "0x03ea50726f746f636f6c204572726f72" + ], + 8, + true, + 0, + true, + "44eeaa0a" + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_5_20.html b/autobahn/client/hornbeam_case_5_20.html index 9305744..a8d9993 100644 --- a/autobahn/client/hornbeam_case_5_20.html +++ b/autobahn/client/hornbeam_case_5_20.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 5.20 : Fail - 2 ms @ 2023-08-10T23:01:35.429Z

+

Hornbeam - Case 5.20 : Pass - 1005 ms @ 2023-08-11T05:15:08.688Z

Case Description

Same as Case 5.19, but send all frames with SYNC = True. Note, this does not change the octets sent in any way, only how the stream is chopped up on the wire.

@@ -210,41 +210,41 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000; octet stream is chopped up on wire (must be TCP clean).

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': [('pong', u'pongme 1!'), ('pong', u'pongme 2!'), ('message', u'fragment1fragment2fragment3fragment4fragment5', False)]}

- Observed:
[] + Observed:
[('pong', u'pongme 1!'), ('pong', u'pongme 2!'), ('message', u'fragment1fragment2fragment3fragment4fragment5', False)]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=64&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: j8exgVzputQ3uDz2dsjvww==
+Sec-WebSocket-Key: GfEwMjpBF6p8OOfYrixOqA==
 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: wUnFLYhPlmW2isRxbqW9QgPR0+0=
+Sec-WebSocket-Accept: zZWWjcNQO+UsWU+6iLR2TLBZIuo=

Closing Behavior

- + - - - + + + - + - +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

@@ -252,28 +252,37 @@ Sec-WebSocket-Accept: wUnFLYhPlmW2isRxbqW9QgPR0+0= + + + + - +
Chop SizeCountOctets
111
818
14114
17117
49149
1831183
Total2184
Total6272

Octets Transmitted by Chop Size

- + + - +
Chop SizeCountOctets
11333
414
11777
2061206
Total4239
Total9287

Frames Received by Opcode

- + + + +
OpcodeCount
Total0
11
81
102
Total4

Frames Transmitted by Opcode

- + - - + + +
OpcodeCount
01
04
11
91
Total3
81
92
Total8


Wire Log

@@ -292,8 +301,37 @@ Sec-WebSocket-Accept: wUnFLYhPlmW2isRxbqW9QgPR0+0=
006 DELAY 1.000000 sec for TAG None
007 TX OCTETS: 0009667261676d656e7432
008 TX OCTETS: 8909706f6e676d65203121
-
009 RX OCTETS: 81
-
010 TCP DROPPED BY PEER
+
009 RX OCTETS: 8a
+
010 RX OCTETS: 89433429f5335b47922e5109c462
+
011 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3433333432396635
+
               pongme 1!
+
012 DELAY TIMEOUT on TAG None
+
013 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=9, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=True
+
               fragment3
+
014 TX OCTETS: 0009667261676d656e7433
+
015 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=9, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=True
+
               fragment4
+
016 TX FRAME : OPCODE=9, FIN=True, RSV=0, PAYLOAD-LEN=9, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=True
+
               pongme 2!
+
017 TX FRAME : OPCODE=0, FIN=True, RSV=0, PAYLOAD-LEN=9, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=True
+
               fragment5
+
018 CLOSE CONNECTION AFTER 1.000000 sec
+
019 TX OCTETS: 0009667261676d656e7434
+
020 TX OCTETS: 8909706f6e676d65203221
+
021 TX OCTETS: 8009667261676d656e7435
+
022 RX OCTETS: 8a8979f239df099d57b8149719ed5881ad
+
023 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3739663233396466
+
               pongme 2!
+
024 RX OCTETS: 795e0f531f2c6e34143b612748387d321e336a3d0d6c692118396236172a3c350b3f683e1c307b671f2c6e34143b61274c
+
025 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=45, MASKED=True, MASK=3739356530663533
+
               fragment1fragment2fragment3fragment4fragment5
+
026 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
027 TX OCTETS: 880203e8
+
028 RX OCTETS: 88829148143592a0
+
029 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3931343831343335
+
               0x03e8
+
030 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_5_20.json b/autobahn/client/hornbeam_case_5_20.json index 24459b7..0cc008d 100644 --- a/autobahn/client/hornbeam_case_5_20.json +++ b/autobahn/client/hornbeam_case_5_20.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 64, - "closedByMe": false, + "closedByMe": true, "createStats": true, "createWirelog": true, "description": "Same as Case 5.19, but send all frames with SYNC = True.\n Note, this does not change the octets sent in any way, only how the stream\n is chopped up on the wire.", - "droppedByMe": false, - "duration": 2, + "droppedByMe": true, + "duration": 1005, "expectation": "Same as Case 5.19. Implementations must be agnostic to how\n octet stream is chopped up on wire (must be TCP clean).", "expected": { "OK": [ @@ -35,38 +35,62 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=64&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: j8exgVzputQ3uDz2dsjvww==\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: wUnFLYhPlmW2isRxbqW9QgPR0+0=\r\n\r\n", + "httpRequest": "GET /runCase?case=64&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: GfEwMjpBF6p8OOfYrixOqA==\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: zZWWjcNQO+UsWU+6iLR2TLBZIuo=\r\n\r\n", "id": "5.20", "isServer": true, - "localCloseCode": null, + "localCloseCode": 1000, "localCloseReason": null, - "received": [], - "remoteCloseCode": null, + "received": [ + [ + "pong", + "pongme 1!" + ], + [ + "pong", + "pongme 2!" + ], + [ + "message", + "fragment1fragment2fragment3fragment4fragment5", + false + ] + ], + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": {}, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "1": 1, + "8": 1, + "10": 2 + }, "rxOctetStats": { "1": 1, + "8": 1, + "14": 1, + "17": 1, + "49": 1, "183": 1 }, - "started": "2023-08-10T23:01:35.429Z", + "started": "2023-08-11T05:15:08.688Z", "trafficStats": null, "txFrameStats": { - "0": 1, + "0": 4, "1": 1, - "9": 1 + "8": 1, + "9": 2 }, "txOctetStats": { - "11": 3, + "4": 1, + "11": 7, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", + "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -160,8 +184,202 @@ "RO", [ 1, - "81" + "8a" ] + ], + [ + "RO", + [ + 14, + "89433429f5335b47922e5109c462" + ] + ], + [ + "RF", + [ + 9, + "pongme 1!" + ], + 10, + true, + 0, + true, + "433429f5" + ], + [ + "CTE", + null + ], + [ + "TF", + [ + 9, + "fragment3" + ], + 0, + false, + 0, + null, + null, + null, + true + ], + [ + "TO", + [ + 11, + "0009667261676d656e7433" + ], + true + ], + [ + "TF", + [ + 9, + "fragment4" + ], + 0, + false, + 0, + null, + null, + null, + true + ], + [ + "TF", + [ + 9, + "pongme 2!" + ], + 9, + true, + 0, + null, + null, + null, + true + ], + [ + "TF", + [ + 9, + "fragment5" + ], + 0, + true, + 0, + null, + null, + null, + true + ], + [ + "TI", + 1 + ], + [ + "TO", + [ + 11, + "0009667261676d656e7434" + ], + true + ], + [ + "TO", + [ + 11, + "8909706f6e676d65203221" + ], + true + ], + [ + "TO", + [ + 11, + "8009667261676d656e7435" + ], + true + ], + [ + "RO", + [ + 17, + "8a8979f239df099d57b8149719ed5881ad" + ] + ], + [ + "RF", + [ + 9, + "pongme 2!" + ], + 10, + true, + 0, + true, + "79f239df" + ], + [ + "RO", + [ + 49, + "795e0f531f2c6e34143b612748387d321e336a3d0d6c692118396236172a3c350b3f683e1c307b671f2c6e34143b61274c" + ] + ], + [ + "RF", + [ + 45, + "fragment1fragment2fragment3fragment4fragment5" + ], + 1, + true, + 0, + true, + "795e0f53" + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "88829148143592a0" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "91481435" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_5_3.html b/autobahn/client/hornbeam_case_5_3.html index 8ac462f..d8153ca 100644 --- a/autobahn/client/hornbeam_case_5_3.html +++ b/autobahn/client/hornbeam_case_5_3.html @@ -202,46 +202,46 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 5.3 : Fail - 2 ms @ 2023-08-10T23:01:34.310Z

+

Hornbeam - Case 5.3 : Pass - 46 ms @ 2023-08-11T05:15:07.312Z

Case Description

Send text Message fragmented into 2 fragments.

Case Expectation

Message is processed and echo'ed back to us.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

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

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

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=47&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: VsWNN5ihmqgdgdktsb4bJw==
+Sec-WebSocket-Key: TcxgoE7EePzl6td2A4rE8w==
 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: cgDmez86yuMQHo+UYyr0lgQUNII=
+Sec-WebSocket-Accept: jIjhiksatwCCBUSmNfWVvp4Hhuw=

Closing Behavior

- + - - - + + + - + - +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

@@ -249,29 +249,33 @@ Sec-WebSocket-Accept: cgDmez86yuMQHo+UYyr0lgQUNII= - + + - +
Chop SizeCountOctets
111
14114
818
23123
1831183
Total3198
Total4215

Octets Transmitted by Chop Size

+ - +
Chop SizeCountOctets
414
11222
2061206
Total3228
Total4232

Frames Received by Opcode

- + +
OpcodeCount
11
Total1
81
Total2

Frames Transmitted by Opcode

- + +
OpcodeCount
01
11
Total2
81
Total3


Wire Log

@@ -288,10 +292,16 @@ Sec-WebSocket-Accept: cgDmez86yuMQHo+UYyr0lgQUNII=
005 TX OCTETS: 8009667261676d656e7432
006 CLOSE CONNECTION AFTER 1.000000 sec
007 RX OCTETS: 81
-
008 RX OCTETS: 89f480963692f2f75199e5f842c5
-
009 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6634383039363336
-
               fragment1
-
010 TCP DROPPED BY PEER
+
008 RX OCTETS: 92cda9d39babdbb2fca0ccbdeffccfa1faaac4b6f5b99b
+
009 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=18, MASKED=True, MASK=6364613964333962
+
               fragment1fragment2
+
010 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
011 TX OCTETS: 880203e8
+
012 RX OCTETS: 8882da7f372fd997
+
013 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6461376633373266
+
               0x03e8
+
014 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_5_3.json b/autobahn/client/hornbeam_case_5_3.json index 920b361..d2b24d4 100644 --- a/autobahn/client/hornbeam_case_5_3.json +++ b/autobahn/client/hornbeam_case_5_3.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 47, - "closedByMe": false, + "closedByMe": true, "createStats": true, "createWirelog": true, "description": "Send text Message fragmented into 2 fragments.", - "droppedByMe": false, - "duration": 2, + "droppedByMe": true, + "duration": 46, "expectation": "Message is processed and echo'ed back to us.", "expected": { "OK": [ @@ -27,46 +27,50 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=47&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: VsWNN5ihmqgdgdktsb4bJw==\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: cgDmez86yuMQHo+UYyr0lgQUNII=\r\n\r\n", + "httpRequest": "GET /runCase?case=47&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: TcxgoE7EePzl6td2A4rE8w==\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: jIjhiksatwCCBUSmNfWVvp4Hhuw=\r\n\r\n", "id": "5.3", "isServer": true, - "localCloseCode": null, + "localCloseCode": 1000, "localCloseReason": null, "received": [ [ "message", - "fragment1", + "fragment1fragment2", false ] ], - "remoteCloseCode": null, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", "rxFrameStats": { - "1": 1 + "1": 1, + "8": 1 }, "rxOctetStats": { "1": 1, - "14": 1, + "8": 1, + "23": 1, "183": 1 }, - "started": "2023-08-10T23:01:34.310Z", + "started": "2023-08-11T05:15:07.312Z", "trafficStats": null, "txFrameStats": { "0": 1, - "1": 1 + "1": 1, + "8": 1 }, "txOctetStats": { + "4": 1, "11": 2, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", + "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -143,21 +147,62 @@ [ "RO", [ - 14, - "89f480963692f2f75199e5f842c5" + 23, + "92cda9d39babdbb2fca0ccbdeffccfa1faaac4b6f5b99b" ] ], [ "RF", [ - 9, - "fragment1" + 18, + "fragment1fragment2" ], 1, true, 0, true, - "f4809636" + "cda9d39b" + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "8882da7f372fd997" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "da7f372f" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_5_4.html b/autobahn/client/hornbeam_case_5_4.html index 55ec92f..a989ee7 100644 --- a/autobahn/client/hornbeam_case_5_4.html +++ b/autobahn/client/hornbeam_case_5_4.html @@ -202,46 +202,46 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 5.4 : Fail - 25 ms @ 2023-08-10T23:01:34.314Z

+

Hornbeam - Case 5.4 : Pass - 45 ms @ 2023-08-11T05:15:07.360Z

Case Description

Send text Message fragmented into 2 fragments, octets are sent in frame-wise chops.

Case Expectation

Message is processed and echo'ed back to us.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

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

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

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=48&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: Q12Bx94FsEuXZGQXnsV8ZQ==
+Sec-WebSocket-Key: FIRrSzwnQMp2vcS4qCU3Vw==
 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: RbtHY4jOcka51Ajg0CS0VvBqdLk=
+Sec-WebSocket-Accept: /qrFW1ttTxIDoo1H19phX3Nd5Ss=

Closing Behavior

- + - - - + + + - + - +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

@@ -249,29 +249,33 @@ Sec-WebSocket-Accept: RbtHY4jOcka51Ajg0CS0VvBqdLk= - + + - +
Chop SizeCountOctets
111
14114
818
23123
1831183
Total3198
Total4215

Octets Transmitted by Chop Size

+ - +
Chop SizeCountOctets
414
11222
2061206
Total3228
Total4232

Frames Received by Opcode

- + +
OpcodeCount
11
Total1
81
Total2

Frames Transmitted by Opcode

- + +
OpcodeCount
01
11
Total2
81
Total3


Wire Log

@@ -288,10 +292,16 @@ Sec-WebSocket-Accept: RbtHY4jOcka51Ajg0CS0VvBqdLk=
005 CLOSE CONNECTION AFTER 1.000000 sec
006 TX OCTETS: 8009667261676d656e7432
007 RX OCTETS: 81
-
008 RX OCTETS: 89e670da8f8002bbe88b15b4fbd7
-
009 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6536373064613866
-
               fragment1
-
010 TCP DROPPED BY PEER
+
008 RX OCTETS: 921813374a7e61562d7576593e2975452b7f7e52246c21
+
009 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=18, MASKED=True, MASK=3138313333373461
+
               fragment1fragment2
+
010 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
011 TX OCTETS: 880203e8
+
012 RX OCTETS: 8882ee1b74c8edf3
+
013 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6565316237346338
+
               0x03e8
+
014 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_5_4.json b/autobahn/client/hornbeam_case_5_4.json index 67b05ec..bef29a7 100644 --- a/autobahn/client/hornbeam_case_5_4.json +++ b/autobahn/client/hornbeam_case_5_4.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 48, - "closedByMe": false, + "closedByMe": true, "createStats": true, "createWirelog": true, "description": "Send text Message fragmented into 2 fragments, octets are sent in frame-wise chops.", - "droppedByMe": false, - "duration": 25, + "droppedByMe": true, + "duration": 45, "expectation": "Message is processed and echo'ed back to us.", "expected": { "OK": [ @@ -27,46 +27,50 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=48&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Q12Bx94FsEuXZGQXnsV8ZQ==\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: RbtHY4jOcka51Ajg0CS0VvBqdLk=\r\n\r\n", + "httpRequest": "GET /runCase?case=48&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: FIRrSzwnQMp2vcS4qCU3Vw==\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: /qrFW1ttTxIDoo1H19phX3Nd5Ss=\r\n\r\n", "id": "5.4", "isServer": true, - "localCloseCode": null, + "localCloseCode": 1000, "localCloseReason": null, "received": [ [ "message", - "fragment1", + "fragment1fragment2", false ] ], - "remoteCloseCode": null, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", "rxFrameStats": { - "1": 1 + "1": 1, + "8": 1 }, "rxOctetStats": { "1": 1, - "14": 1, + "8": 1, + "23": 1, "183": 1 }, - "started": "2023-08-10T23:01:34.314Z", + "started": "2023-08-11T05:15:07.360Z", "trafficStats": null, "txFrameStats": { "0": 1, - "1": 1 + "1": 1, + "8": 1 }, "txOctetStats": { + "4": 1, "11": 2, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", + "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -143,21 +147,62 @@ [ "RO", [ - 14, - "89e670da8f8002bbe88b15b4fbd7" + 23, + "921813374a7e61562d7576593e2975452b7f7e52246c21" ] ], [ "RF", [ - 9, - "fragment1" + 18, + "fragment1fragment2" ], 1, true, 0, true, - "e670da8f" + "1813374a" + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "8882ee1b74c8edf3" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "ee1b74c8" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_5_5.html b/autobahn/client/hornbeam_case_5_5.html index 66a816f..85c5207 100644 --- a/autobahn/client/hornbeam_case_5_5.html +++ b/autobahn/client/hornbeam_case_5_5.html @@ -202,75 +202,80 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 5.5 : Fail - 27 ms @ 2023-08-10T23:01:34.341Z

+

Hornbeam - Case 5.5 : Pass - 45 ms @ 2023-08-11T05:15:07.407Z

Case Description

Send text Message fragmented into 2 fragments, octets are sent in octet-wise chops.

Case Expectation

Message is processed and echo'ed back to us.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

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

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

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=49&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: wSRHSkRDpQfgQ81iymAGgg==
+Sec-WebSocket-Key: c5ATJEloMHSimO3a0piikQ==
 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: kamVawP+nRqA0iQuuFV760Bxopc=
+Sec-WebSocket-Accept: 90vLn7h25Ht1GiHqLG8RNEm71iI=

Closing Behavior

- + - - - + + + - + - +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- + + + - +
Chop SizeCountOctets
15115
111
818
23123
1831183
Total2198
Total4215

Octets Transmitted by Chop Size

+ - +
Chop SizeCountOctets
12222
414
2061206
Total23228
Total24232

Frames Received by Opcode

- + +
OpcodeCount
11
Total1
81
Total2

Frames Transmitted by Opcode

- + +
OpcodeCount
01
11
Total2
81
Total3


Wire Log

@@ -301,15 +306,22 @@ Sec-WebSocket-Accept: kamVawP+nRqA0iQuuFV760Bxopc=
019 TX OCTETS: 72
020 TX OCTETS: 61
021 TX OCTETS: 67
-
022 RX OCTETS: 818968dac9b00ea8a8d705bfa7c459
-
023 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3638646163396230
-
               fragment1
-
024 TX OCTETS: 6d
-
025 TX OCTETS: 65
-
026 TX OCTETS: 6e
-
027 TX OCTETS: 74
-
028 TX OCTETS: 32
-
029 TCP DROPPED BY PEER
+
022 TX OCTETS: 6d
+
023 TX OCTETS: 65
+
024 TX OCTETS: 6e
+
025 TX OCTETS: 74
+
026 TX OCTETS: 32
+
027 RX OCTETS: 81
+
028 RX OCTETS: 92dec9b387b8bbd2e0b3acddf3efafc1e6b9a4d6e9aafb
+
029 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=18, MASKED=True, MASK=6465633962333837
+
               fragment1fragment2
+
030 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
031 TX OCTETS: 880203e8
+
032 RX OCTETS: 888275e115217609
+
033 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3735653131353231
+
               0x03e8
+
034 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_5_5.json b/autobahn/client/hornbeam_case_5_5.json index f61698e..2c50ee9 100644 --- a/autobahn/client/hornbeam_case_5_5.json +++ b/autobahn/client/hornbeam_case_5_5.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 49, - "closedByMe": false, + "closedByMe": true, "createStats": true, "createWirelog": true, "description": "Send text Message fragmented into 2 fragments, octets are sent in octet-wise chops.", - "droppedByMe": false, - "duration": 27, + "droppedByMe": true, + "duration": 45, "expectation": "Message is processed and echo'ed back to us.", "expected": { "OK": [ @@ -27,45 +27,50 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=49&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: wSRHSkRDpQfgQ81iymAGgg==\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: kamVawP+nRqA0iQuuFV760Bxopc=\r\n\r\n", + "httpRequest": "GET /runCase?case=49&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: c5ATJEloMHSimO3a0piikQ==\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: 90vLn7h25Ht1GiHqLG8RNEm71iI=\r\n\r\n", "id": "5.5", "isServer": true, - "localCloseCode": null, + "localCloseCode": 1000, "localCloseReason": null, "received": [ [ "message", - "fragment1", + "fragment1fragment2", false ] ], - "remoteCloseCode": null, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", "rxFrameStats": { - "1": 1 + "1": 1, + "8": 1 }, "rxOctetStats": { - "15": 1, + "1": 1, + "8": 1, + "23": 1, "183": 1 }, - "started": "2023-08-10T23:01:34.341Z", + "started": "2023-08-11T05:15:07.407Z", "trafficStats": null, "txFrameStats": { "0": 1, - "1": 1 + "1": 1, + "8": 1 }, "txOctetStats": { "1": 22, + "4": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", + "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -252,25 +257,6 @@ ], true ], - [ - "RO", - [ - 15, - "818968dac9b00ea8a8d705bfa7c459" - ] - ], - [ - "RF", - [ - 9, - "fragment1" - ], - 1, - true, - 0, - true, - "68dac9b0" - ], [ "TO", [ @@ -310,6 +296,73 @@ "32" ], true + ], + [ + "RO", + [ + 1, + "81" + ] + ], + [ + "RO", + [ + 23, + "92dec9b387b8bbd2e0b3acddf3efafc1e6b9a4d6e9aafb" + ] + ], + [ + "RF", + [ + 18, + "fragment1fragment2" + ], + 1, + true, + 0, + true, + "dec9b387" + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "888275e115217609" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "75e11521" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_5_6.html b/autobahn/client/hornbeam_case_5_6.html index dfc62a4..7831fb7 100644 --- a/autobahn/client/hornbeam_case_5_6.html +++ b/autobahn/client/hornbeam_case_5_6.html @@ -202,46 +202,46 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 5.6 : Fail - 3 ms @ 2023-08-10T23:01:34.369Z

+

Hornbeam - Case 5.6 : Pass - 45 ms @ 2023-08-11T05:15:07.453Z

Case Description

Send text Message fragmented into 2 fragments, one ping with payload in-between.

Case Expectation

A pong is received, then the message is echo'ed back to us.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': [('pong', u'ping payload'), ('message', u'fragment1fragment2', False)]}

- Observed:
[('message', u'fragment1', False), ('pong', u'ping payload')] + Observed:
[('pong', u'ping payload'), ('message', u'fragment1fragment2', False)]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=50&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: bC3C1G5dh4sn4jJUdesbow==
+Sec-WebSocket-Key: U9MGyVZpIBAV5CytOMI0Ug==
 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: jE4fAe6TPNJNXJJ0wdwOpoHT++o=
+Sec-WebSocket-Accept: Ituhz+1E7cBWeqZPa1wBzYpDXdg=

Closing Behavior

- + - - - + + + - + - +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

@@ -249,32 +249,36 @@ Sec-WebSocket-Accept: jE4fAe6TPNJNXJJ0wdwOpoHT++o= - + + - +
Chop SizeCountOctets
111
32132
818
41141
1831183
Total3216
Total4233

Octets Transmitted by Chop Size

+ - +
Chop SizeCountOctets
414
11222
14114
2061206
Total4242
Total5246

Frames Received by Opcode

+ - +
OpcodeCount
11
81
101
Total2
Total3

Frames Transmitted by Opcode

+ - +
OpcodeCount
01
11
81
91
Total3
Total4


Wire Log

@@ -293,13 +297,19 @@ Sec-WebSocket-Accept: jE4fAe6TPNJNXJJ0wdwOpoHT++o=
               fragment2
007 TX OCTETS: 8009667261676d656e7432
008 CLOSE CONNECTION AFTER 1.000000 sec
-
009 RX OCTETS: 81
-
010 RX OCTETS: 89b9f8f586df8a94e1d49d9bf2888a8cd6b6e36ca6df8d0bf6c68215bad98208
-
011 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6239663866353836
-
               fragment1
-
012 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=6436623665333663
+
009 RX OCTETS: 8a
+
010 RX OCTETS: 8c241664f7547f0a900466058e487905938192a1afe538c7dd845fccca8b4c90c99759c6c28056d59d
+
011 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=3234313636346637
               ping payload
-
013 TCP DROPPED BY PEER
+
012 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=18, MASKED=True, MASK=6131616665353338
+
               fragment1fragment2
+
013 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
014 TX OCTETS: 880203e8
+
015 RX OCTETS: 8882735378b970bb
+
016 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3733353337386239
+
               0x03e8
+
017 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_5_6.json b/autobahn/client/hornbeam_case_5_6.json index 6c3b094..96b66f2 100644 --- a/autobahn/client/hornbeam_case_5_6.json +++ b/autobahn/client/hornbeam_case_5_6.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 50, - "closedByMe": false, + "closedByMe": true, "createStats": true, "createWirelog": true, "description": "Send text Message fragmented into 2 fragments, one ping with payload in-between.", - "droppedByMe": false, - "duration": 3, + "droppedByMe": true, + "duration": 45, "expectation": "A pong is received, then the message is echo'ed back to us.", "expected": { "OK": [ @@ -31,53 +31,57 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=50&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: bC3C1G5dh4sn4jJUdesbow==\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: jE4fAe6TPNJNXJJ0wdwOpoHT++o=\r\n\r\n", + "httpRequest": "GET /runCase?case=50&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: U9MGyVZpIBAV5CytOMI0Ug==\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: Ituhz+1E7cBWeqZPa1wBzYpDXdg=\r\n\r\n", "id": "5.6", "isServer": true, - "localCloseCode": null, + "localCloseCode": 1000, "localCloseReason": null, "received": [ - [ - "message", - "fragment1", - false - ], [ "pong", "ping payload" + ], + [ + "message", + "fragment1fragment2", + false ] ], - "remoteCloseCode": null, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", "rxFrameStats": { "1": 1, + "8": 1, "10": 1 }, "rxOctetStats": { "1": 1, - "32": 1, + "8": 1, + "41": 1, "183": 1 }, - "started": "2023-08-10T23:01:34.369Z", + "started": "2023-08-11T05:15:07.453Z", "trafficStats": null, "txFrameStats": { "0": 1, "1": 1, + "8": 1, "9": 1 }, "txOctetStats": { + "4": 1, "11": 2, "14": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", + "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -170,28 +174,16 @@ "RO", [ 1, - "81" + "8a" ] ], [ "RO", [ - 32, - "89b9f8f586df8a94e1d49d9bf2888a8cd6b6e36ca6df8d0bf6c68215bad98208" + 41, + "8c241664f7547f0a900466058e487905938192a1afe538c7dd845fccca8b4c90c99759c6c28056d59d" ] ], - [ - "RF", - [ - 9, - "fragment1" - ], - 1, - true, - 0, - true, - "b9f8f586" - ], [ "RF", [ @@ -202,7 +194,60 @@ true, 0, true, - "d6b6e36c" + "241664f7" + ], + [ + "RF", + [ + 18, + "fragment1fragment2" + ], + 1, + true, + 0, + true, + "a1afe538" + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "8882735378b970bb" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "735378b9" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_5_7.html b/autobahn/client/hornbeam_case_5_7.html index 9d59b0a..dcd8bf5 100644 --- a/autobahn/client/hornbeam_case_5_7.html +++ b/autobahn/client/hornbeam_case_5_7.html @@ -202,46 +202,46 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 5.7 : Fail - 2 ms @ 2023-08-10T23:01:34.374Z

+

Hornbeam - Case 5.7 : Pass - 45 ms @ 2023-08-11T05:15:07.500Z

Case Description

Send text Message fragmented into 2 fragments, one ping with payload in-between. Octets are sent in frame-wise chops.

Case Expectation

A pong is received, then the message is echo'ed back to us.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': [('pong', u'ping payload'), ('message', u'fragment1fragment2', False)]}

- Observed:
[('message', u'fragment1', False), ('pong', u'ping payload')] + Observed:
[('pong', u'ping payload'), ('message', u'fragment1fragment2', False)]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=51&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: NMOsJMLL98tBRBtOY/1hxA==
+Sec-WebSocket-Key: VFQHGrMB4bqpfYreqjL33Q==
 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: J/aj4GeWlqTTjk0xwsS4KMGFQVM=
+Sec-WebSocket-Accept: HQHLYEV3exuzZx/4GE96HAO8MxA=

Closing Behavior

- + - - - + + + - + - +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

@@ -249,32 +249,36 @@ Sec-WebSocket-Accept: J/aj4GeWlqTTjk0xwsS4KMGFQVM= - + + - +
Chop SizeCountOctets
111
32132
818
41141
1831183
Total3216
Total4233

Octets Transmitted by Chop Size

+ - +
Chop SizeCountOctets
414
11222
14114
2061206
Total4242
Total5246

Frames Received by Opcode

+ - +
OpcodeCount
11
81
101
Total2
Total3

Frames Transmitted by Opcode

+ - +
OpcodeCount
01
11
81
91
Total3
Total4


Wire Log

@@ -293,13 +297,19 @@ Sec-WebSocket-Accept: J/aj4GeWlqTTjk0xwsS4KMGFQVM=
006 CLOSE CONNECTION AFTER 1.000000 sec
007 TX OCTETS: 890c70696e67207061796c6f6164
008 TX OCTETS: 8009667261676d656e7432
-
009 RX OCTETS: 81
-
010 RX OCTETS: 8922105cf144623d964f753285138a8c44dd554034b43b2764ad343928b23424
-
011 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3232313035636631
-
               fragment1
-
012 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=3434646435353430
+
009 RX OCTETS: 8a
+
010 RX OCTETS: 8c10414a676028240030312b1e7c2e2b038192ec7ec2f78a0ca390811bac83dd18b0968b13a799984c
+
011 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=3130343134613637
               ping payload
-
013 TCP DROPPED BY PEER
+
012 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=18, MASKED=True, MASK=6563376563326637
+
               fragment1fragment2
+
013 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
014 TX OCTETS: 880203e8
+
015 RX OCTETS: 88829dfc250c9e14
+
016 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3964666332353063
+
               0x03e8
+
017 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_5_7.json b/autobahn/client/hornbeam_case_5_7.json index d7d020f..8731bb2 100644 --- a/autobahn/client/hornbeam_case_5_7.json +++ b/autobahn/client/hornbeam_case_5_7.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 51, - "closedByMe": false, + "closedByMe": true, "createStats": true, "createWirelog": true, "description": "Send text Message fragmented into 2 fragments, one ping with payload in-between. Octets are sent in frame-wise chops.", - "droppedByMe": false, - "duration": 2, + "droppedByMe": true, + "duration": 45, "expectation": "A pong is received, then the message is echo'ed back to us.", "expected": { "OK": [ @@ -31,53 +31,57 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=51&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: NMOsJMLL98tBRBtOY/1hxA==\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: J/aj4GeWlqTTjk0xwsS4KMGFQVM=\r\n\r\n", + "httpRequest": "GET /runCase?case=51&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: VFQHGrMB4bqpfYreqjL33Q==\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: HQHLYEV3exuzZx/4GE96HAO8MxA=\r\n\r\n", "id": "5.7", "isServer": true, - "localCloseCode": null, + "localCloseCode": 1000, "localCloseReason": null, "received": [ - [ - "message", - "fragment1", - false - ], [ "pong", "ping payload" + ], + [ + "message", + "fragment1fragment2", + false ] ], - "remoteCloseCode": null, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", "rxFrameStats": { "1": 1, + "8": 1, "10": 1 }, "rxOctetStats": { "1": 1, - "32": 1, + "8": 1, + "41": 1, "183": 1 }, - "started": "2023-08-10T23:01:34.374Z", + "started": "2023-08-11T05:15:07.500Z", "trafficStats": null, "txFrameStats": { "0": 1, "1": 1, + "8": 1, "9": 1 }, "txOctetStats": { + "4": 1, "11": 2, "14": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", + "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -170,28 +174,16 @@ "RO", [ 1, - "81" + "8a" ] ], [ "RO", [ - 32, - "8922105cf144623d964f753285138a8c44dd554034b43b2764ad343928b23424" + 41, + "8c10414a676028240030312b1e7c2e2b038192ec7ec2f78a0ca390811bac83dd18b0968b13a799984c" ] ], - [ - "RF", - [ - 9, - "fragment1" - ], - 1, - true, - 0, - true, - "22105cf1" - ], [ "RF", [ @@ -202,7 +194,60 @@ true, 0, true, - "44dd5540" + "10414a67" + ], + [ + "RF", + [ + 18, + "fragment1fragment2" + ], + 1, + true, + 0, + true, + "ec7ec2f7" + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "88829dfc250c9e14" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "9dfc250c" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_5_8.html b/autobahn/client/hornbeam_case_5_8.html index 2055b5a..665cf01 100644 --- a/autobahn/client/hornbeam_case_5_8.html +++ b/autobahn/client/hornbeam_case_5_8.html @@ -202,46 +202,46 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 5.8 : Fail - 8 ms @ 2023-08-10T23:01:34.378Z

+

Hornbeam - Case 5.8 : Pass - 62 ms @ 2023-08-11T05:15:07.547Z

Case Description

Send text Message fragmented into 2 fragments, one ping with payload in-between. Octets are sent in octet-wise chops.

Case Expectation

A pong is received, then the message is echo'ed back to us.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': [('pong', u'ping payload'), ('message', u'fragment1fragment2', False)]}

- Observed:
[('message', u'fragment1', False), ('pong', u'ping payload')] + Observed:
[('pong', u'ping payload'), ('message', u'fragment1fragment2', False)]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=52&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: 7WI3gZ8qERUC+9/zZIfU9A==
+Sec-WebSocket-Key: /08jiU9Oa42YO0SSXPX52Q==
 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: KHqOzdMqLVhwR/RS1Ax+ixMF+pQ=
+Sec-WebSocket-Accept: 01WpjMt4LdHgeCug43fUiiopMz0=

Closing Behavior

- + - - - + + + - + - +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

@@ -249,32 +249,36 @@ Sec-WebSocket-Accept: KHqOzdMqLVhwR/RS1Ax+ixMF+pQ= - + + - +
Chop SizeCountOctets
111
14114
818
18118
23123
1831183
Total4216
Total5233

Octets Transmitted by Chop Size

+ - +
Chop SizeCountOctets
13636
414
2061206
Total37242
Total38246

Frames Received by Opcode

+ - +
OpcodeCount
11
81
101
Total2
Total3

Frames Transmitted by Opcode

+ - +
OpcodeCount
01
11
81
91
Total3
Total4


Wire Log

@@ -306,34 +310,40 @@ Sec-WebSocket-Accept: KHqOzdMqLVhwR/RS1Ax+ixMF+pQ=
019 TX OCTETS: 70
020 TX OCTETS: 69
021 TX OCTETS: 6e
-
022 RX OCTETS: 81
-
023 TX OCTETS: 67
-
024 RX OCTETS: 8983561b76e5247a11ee337502b2
-
025 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3833353631623736
-
               fragment1
-
026 TX OCTETS: 20
-
027 TX OCTETS: 70
-
028 TX OCTETS: 61
-
029 TX OCTETS: 79
-
030 TX OCTETS: 6c
-
031 TX OCTETS: 6f
-
032 TX OCTETS: 61
-
033 TX OCTETS: 64
-
034 TX OCTETS: 80
-
035 TX OCTETS: 09
-
036 TX OCTETS: 66
-
037 TX OCTETS: 72
-
038 TX OCTETS: 61
-
039 TX OCTETS: 67
-
040 RX OCTETS: 8a8cd1dfeba1a1b685c6f1af8ad8bdb08ac5
-
041 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=6431646665626131
+
022 TX OCTETS: 67
+
023 TX OCTETS: 20
+
024 TX OCTETS: 70
+
025 TX OCTETS: 61
+
026 TX OCTETS: 79
+
027 TX OCTETS: 6c
+
028 TX OCTETS: 6f
+
029 TX OCTETS: 61
+
030 TX OCTETS: 64
+
031 TX OCTETS: 80
+
032 TX OCTETS: 09
+
033 TX OCTETS: 66
+
034 RX OCTETS: 8a8cbcbac1bcccd3afdb9ccaa0c5d0d5a0d8
+
035 RX FRAME : OPCODE=10, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=6263626163316263
               ping payload
-
042 TX OCTETS: 6d
-
043 TX OCTETS: 65
-
044 TX OCTETS: 6e
-
045 TX OCTETS: 74
-
046 TX OCTETS: 32
-
047 TCP DROPPED BY PEER
+
036 TX OCTETS: 72
+
037 TX OCTETS: 61
+
038 TX OCTETS: 67
+
039 TX OCTETS: 6d
+
040 TX OCTETS: 65
+
041 TX OCTETS: 6e
+
042 TX OCTETS: 74
+
043 TX OCTETS: 32
+
044 RX OCTETS: 81
+
045 RX OCTETS: 92915c2676f72e4711fc394802a03a5417f6314318e56e
+
046 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=18, MASKED=True, MASK=3931356332363736
+
               fragment1fragment2
+
047 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
048 TX OCTETS: 880203e8
+
049 RX OCTETS: 8882ad07ec8daeef
+
050 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6164303765633864
+
               0x03e8
+
051 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_5_8.json b/autobahn/client/hornbeam_case_5_8.json index ce0abaf..a3bef24 100644 --- a/autobahn/client/hornbeam_case_5_8.json +++ b/autobahn/client/hornbeam_case_5_8.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 52, - "closedByMe": false, + "closedByMe": true, "createStats": true, "createWirelog": true, "description": "Send text Message fragmented into 2 fragments, one ping with payload in-between. Octets are sent in octet-wise chops.", - "droppedByMe": false, - "duration": 8, + "droppedByMe": true, + "duration": 62, "expectation": "A pong is received, then the message is echo'ed back to us.", "expected": { "OK": [ @@ -31,53 +31,57 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=52&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 7WI3gZ8qERUC+9/zZIfU9A==\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: KHqOzdMqLVhwR/RS1Ax+ixMF+pQ=\r\n\r\n", + "httpRequest": "GET /runCase?case=52&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: /08jiU9Oa42YO0SSXPX52Q==\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: 01WpjMt4LdHgeCug43fUiiopMz0=\r\n\r\n", "id": "5.8", "isServer": true, - "localCloseCode": null, + "localCloseCode": 1000, "localCloseReason": null, "received": [ - [ - "message", - "fragment1", - false - ], [ "pong", "ping payload" + ], + [ + "message", + "fragment1fragment2", + false ] ], - "remoteCloseCode": null, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", "rxFrameStats": { "1": 1, + "8": 1, "10": 1 }, "rxOctetStats": { "1": 1, - "14": 1, + "8": 1, "18": 1, + "23": 1, "183": 1 }, - "started": "2023-08-10T23:01:34.378Z", + "started": "2023-08-11T05:15:07.547Z", "trafficStats": null, "txFrameStats": { "0": 1, "1": 1, + "8": 1, "9": 1 }, "txOctetStats": { "1": 36, + "4": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", + "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -270,13 +274,6 @@ ], true ], - [ - "RO", - [ - 1, - "81" - ] - ], [ "TO", [ @@ -285,25 +282,6 @@ ], true ], - [ - "RO", - [ - 14, - "8983561b76e5247a11ee337502b2" - ] - ], - [ - "RF", - [ - 9, - "fragment1" - ], - 1, - true, - 0, - true, - "83561b76" - ], [ "TO", [ @@ -392,6 +370,25 @@ ], true ], + [ + "RO", + [ + 18, + "8a8cbcbac1bcccd3afdb9ccaa0c5d0d5a0d8" + ] + ], + [ + "RF", + [ + 12, + "ping payload" + ], + 10, + true, + 0, + true, + "bcbac1bc" + ], [ "TO", [ @@ -416,25 +413,6 @@ ], true ], - [ - "RO", - [ - 18, - "8a8cd1dfeba1a1b685c6f1af8ad8bdb08ac5" - ] - ], - [ - "RF", - [ - 12, - "ping payload" - ], - 10, - true, - 0, - true, - "d1dfeba1" - ], [ "TO", [ @@ -474,6 +452,73 @@ "32" ], true + ], + [ + "RO", + [ + 1, + "81" + ] + ], + [ + "RO", + [ + 23, + "92915c2676f72e4711fc394802a03a5417f6314318e56e" + ] + ], + [ + "RF", + [ + 18, + "fragment1fragment2" + ], + 1, + true, + 0, + true, + "915c2676" + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "8882ad07ec8daeef" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "ad07ec8d" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_5_9.html b/autobahn/client/hornbeam_case_5_9.html index d4ab23d..4d24ef7 100644 --- a/autobahn/client/hornbeam_case_5_9.html +++ b/autobahn/client/hornbeam_case_5_9.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 5.9 : Pass - 1 ms @ 2023-08-10T23:01:34.387Z

+

Hornbeam - Case 5.9 : Pass - 2 ms @ 2023-08-11T05:15:07.611Z

Case Description

Send unfragmented Text Message after Continuation Frame with FIN = true, where there is nothing to continue, sent in one chop.

Case Expectation

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

@@ -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: kt9vL0PH9OsJM/BrdiIcqA== +Sec-WebSocket-Key: o+OxffNqeJyHdyBSxdmvEw== 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: +6BdZsNKGWTFrObdC6c2hsdvpnc=
+Sec-WebSocket-Accept: N3ZE6ElE9KntNZEfUj7FZzSleRE=

Closing Behavior

diff --git a/autobahn/client/hornbeam_case_5_9.json b/autobahn/client/hornbeam_case_5_9.json index d4587d7..fc16c60 100644 --- a/autobahn/client/hornbeam_case_5_9.json +++ b/autobahn/client/hornbeam_case_5_9.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send unfragmented Text Message after Continuation Frame with FIN = true, where there is nothing to continue, sent in one chop.", "droppedByMe": false, - "duration": 1, + "duration": 2, "expectation": "The connection is failed immediately, since there is no message to continue.", "expected": { "OK": [] @@ -21,8 +21,8 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=53&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: kt9vL0PH9OsJM/BrdiIcqA==\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: +6BdZsNKGWTFrObdC6c2hsdvpnc=\r\n\r\n", + "httpRequest": "GET /runCase?case=53&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: o+OxffNqeJyHdyBSxdmvEw==\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: N3ZE6ElE9KntNZEfUj7FZzSleRE=\r\n\r\n", "id": "5.9", "isServer": true, "localCloseCode": null, @@ -38,7 +38,7 @@ "rxOctetStats": { "183": 1 }, - "started": "2023-08-10T23:01:34.387Z", + "started": "2023-08-11T05:15:07.611Z", "trafficStats": null, "txFrameStats": { "0": 1, diff --git a/autobahn/client/hornbeam_case_6_10_1.html b/autobahn/client/hornbeam_case_6_10_1.html index ee91646..45c3ad3 100644 --- a/autobahn/client/hornbeam_case_6_10_1.html +++ b/autobahn/client/hornbeam_case_6_10_1.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.10.1 : Fail - 503 ms @ 2023-08-10T23:01:47.524Z

+

Hornbeam - Case 6.10.1 : Pass - 1 ms @ 2023-08-11T05:15:18.996Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf7bfbfbf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=104&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: x8yRxCK5YuzoAOcjNKXXrw==
+Sec-WebSocket-Key: 6ZyXOQacPp3rSdiPI1x14w==
 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: GrKh6eFQDtxqeNhjBK0QLCPfSsU=
+Sec-WebSocket-Accept: ZhCLCw7KNP/qOA7mkHIJLssDqqs=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
17117
1841184
Total4210
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
616
14114
2061206
Total3226
Total2212

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: GrKh6eFQDtxqeNhjBK0QLCPfSsU=
               0xf7bfbfbf
003 TX OCTETS: 8104f7bfbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8cfde6060c1259bbe3425be9b34009b9b1
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=6664653630363063
-
               ����
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88821671b2081599
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3136373162323038
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_10_1.json b/autobahn/client/hornbeam_case_6_10_1.json index bfb23ee..ebd8256 100644 --- a/autobahn/client/hornbeam_case_6_10_1.json +++ b/autobahn/client/hornbeam_case_6_10_1.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 104, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf7bfbfbf", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=104&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: x8yRxCK5YuzoAOcjNKXXrw==\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: GrKh6eFQDtxqeNhjBK0QLCPfSsU=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=104&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 6ZyXOQacPp3rSdiPI1x14w==\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: ZhCLCw7KNP/qOA7mkHIJLssDqqs=\r\n\r\n", "id": "6.10.1", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "17": 1, "184": 1 }, - "started": "2023-08-10T23:01:47.524Z", + "started": "2023-08-11T05:15:18.996Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "6": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 17, - "8cfde6060c1259bbe3425be9b34009b9b1" - ] - ], - [ - "RF", - [ - 12, - "\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "fde6060c" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88821671b2081599" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "1671b208" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_10_2.html b/autobahn/client/hornbeam_case_6_10_2.html index f93c80f..f0923b4 100644 --- a/autobahn/client/hornbeam_case_6_10_2.html +++ b/autobahn/client/hornbeam_case_6_10_2.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.10.2 : Fail - 504 ms @ 2023-08-10T23:01:48.031Z

+

Hornbeam - Case 6.10.2 : Pass - 1 ms @ 2023-08-11T05:15:18.999Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfbbfbfbfbf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=105&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: ZNmDWP32LuSuCGNGztKc/g==
+Sec-WebSocket-Key: K6PUeON3K99xE5331CYW1w==
 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: S3/QyB4Ax5OLUSQ8WpXYlH/+UY0=
+Sec-WebSocket-Accept: SJH1UlvWOPLYoP4I5f8dx304nbk=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
20120
1841184
Total4213
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
717
14114
2061206
Total3227
Total2213

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: S3/QyB4Ax5OLUSQ8WpXYlH/+UY0=
               0xfbbfbfbfbf
003 TX OCTETS: 8105fbbfbfbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8fd1fb06013e44bbee6e46e9be6c14b9bc3e44bb
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=15, MASKED=True, MASK=6431666230363031
-
               �����
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88822b39fa9528d1
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3262333966613935
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_10_2.json b/autobahn/client/hornbeam_case_6_10_2.json index 858ae83..052727b 100644 --- a/autobahn/client/hornbeam_case_6_10_2.json +++ b/autobahn/client/hornbeam_case_6_10_2.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 105, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfbbfbfbfbf", - "droppedByMe": true, - "duration": 504, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=105&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ZNmDWP32LuSuCGNGztKc/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: S3/QyB4Ax5OLUSQ8WpXYlH/+UY0=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=105&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: K6PUeON3K99xE5331CYW1w==\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: SJH1UlvWOPLYoP4I5f8dx304nbk=\r\n\r\n", "id": "6.10.2", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "20": 1, "184": 1 }, - "started": "2023-08-10T23:01:48.031Z", + "started": "2023-08-11T05:15:18.999Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "7": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 20, - "8fd1fb06013e44bbee6e46e9be6c14b9bc3e44bb" - ] - ], - [ - "RF", - [ - 15, - "\ufffd\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "d1fb0601" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88822b39fa9528d1" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "2b39fa95" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_10_3.html b/autobahn/client/hornbeam_case_6_10_3.html index ebcd632..d171cc9 100644 --- a/autobahn/client/hornbeam_case_6_10_3.html +++ b/autobahn/client/hornbeam_case_6_10_3.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.10.3 : Fail - 503 ms @ 2023-08-10T23:01:48.538Z

+

Hornbeam - Case 6.10.3 : Pass - 1 ms @ 2023-08-11T05:15:19.001Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfdbfbfbfbfbf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=106&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: d2FYhReGa432Ba7unwQETw==
+Sec-WebSocket-Key: PHRPI6uyssPn9RfdAFz6UA==
 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: ZEMmKUkwmanrruAFBPPZBidQjeI=
+Sec-WebSocket-Accept: MC5cPNHuXoGLJokxgVvcB/oHoiQ=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
23123
1841184
Total4216
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
818
14114
2061206
Total3228
Total2214

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: ZEMmKUkwmanrruAFBPPZBidQjeI=
               0xfdbfbfbfbfbf
003 TX OCTETS: 8106fdbfbfbfbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 92f64b010619f4bce949f6eeb94ba4bebb19f4bce949f6
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=18, MASKED=True, MASK=6636346230313036
-
               ������
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88823457dcc637bf
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3334353764636336
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_10_3.json b/autobahn/client/hornbeam_case_6_10_3.json index f3f8da5..72baa5b 100644 --- a/autobahn/client/hornbeam_case_6_10_3.json +++ b/autobahn/client/hornbeam_case_6_10_3.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 106, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfdbfbfbfbfbf", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=106&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: d2FYhReGa432Ba7unwQETw==\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: ZEMmKUkwmanrruAFBPPZBidQjeI=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=106&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: PHRPI6uyssPn9RfdAFz6UA==\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: MC5cPNHuXoGLJokxgVvcB/oHoiQ=\r\n\r\n", "id": "6.10.3", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "23": 1, "184": 1 }, - "started": "2023-08-10T23:01:48.538Z", + "started": "2023-08-11T05:15:19.001Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "8": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 23, - "92f64b010619f4bce949f6eeb94ba4bebb19f4bce949f6" - ] - ], - [ - "RF", - [ - 18, - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "f64b0106" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88823457dcc637bf" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "3457dcc6" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_11_1.html b/autobahn/client/hornbeam_case_6_11_1.html index 4b5afed..acc2c80 100644 --- a/autobahn/client/hornbeam_case_6_11_1.html +++ b/autobahn/client/hornbeam_case_6_11_1.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.11.1 : Pass - 44 ms @ 2023-08-10T23:01:49.043Z

+

Hornbeam - Case 6.11.1 : Pass - 43 ms @ 2023-08-11T05:15:19.005Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xed9fbf

Case Expectation

The message is echo'ed back to us.

@@ -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: MteNIP768pewWqtlg70lZw== +Sec-WebSocket-Key: OXERunnfsC9JlaOGwOXGTw== 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: RBSMk3oJ4np0qZ7ijPtZDfXWtS8=
+Sec-WebSocket-Accept: +aswT+zf+W+2u/+o6gaGB9zS/Ws=

Closing Behavior

@@ -287,14 +287,14 @@ Sec-WebSocket-Accept: RBSMk3oJ4np0qZ7ijPtZDfXWtS8=
003 TX OCTETS: 8103ed9fbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 837700ed1a9a9f52
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3737303065643161
+
006 RX OCTETS: 83a5cf02254850bd
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=6135636630323235
               ퟿
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: 88829a6d9ee29985
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3961366439656532
+
010 RX OCTETS: 8882190e8ed41ae6
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3139306538656434
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_11_1.json b/autobahn/client/hornbeam_case_6_11_1.json index 7655651..cd4beb2 100644 --- a/autobahn/client/hornbeam_case_6_11_1.json +++ b/autobahn/client/hornbeam_case_6_11_1.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xed9fbf", "droppedByMe": true, - "duration": 44, + "duration": 43, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=107&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: MteNIP768pewWqtlg70lZw==\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: RBSMk3oJ4np0qZ7ijPtZDfXWtS8=\r\n\r\n", + "httpRequest": "GET /runCase?case=107&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: OXERunnfsC9JlaOGwOXGTw==\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: +aswT+zf+W+2u/+o6gaGB9zS/Ws=\r\n\r\n", "id": "6.11.1", "isServer": true, "localCloseCode": 1000, @@ -55,7 +55,7 @@ "8": 2, "184": 1 }, - "started": "2023-08-10T23:01:49.043Z", + "started": "2023-08-11T05:15:19.005Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -124,7 +124,7 @@ "RO", [ 8, - "837700ed1a9a9f52" + "83a5cf02254850bd" ] ], [ @@ -137,7 +137,7 @@ true, 0, true, - "7700ed1a" + "a5cf0225" ], [ "TF", @@ -165,7 +165,7 @@ "RO", [ 8, - "88829a6d9ee29985" + "8882190e8ed41ae6" ] ], [ @@ -178,7 +178,7 @@ true, 0, true, - "9a6d9ee2" + "190e8ed4" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_11_2.html b/autobahn/client/hornbeam_case_6_11_2.html index 79ec470..beea251 100644 --- a/autobahn/client/hornbeam_case_6_11_2.html +++ b/autobahn/client/hornbeam_case_6_11_2.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.11.2 : Pass - 46 ms @ 2023-08-10T23:01:49.089Z

+

Hornbeam - Case 6.11.2 : Pass - 47 ms @ 2023-08-11T05:15:19.049Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xee8080

Case Expectation

The message is echo'ed back to us.

@@ -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: y00+OywpNktHCxwUmnqt7Q== +Sec-WebSocket-Key: utYruo8ltrBaQPlpIiGBNA== 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: 8cgOWwwdz0MqWdUpSgjU6opx0yc=
+Sec-WebSocket-Accept: znT+025N8+H/6nhnahyegj2DpIs=

Closing Behavior

@@ -287,14 +287,14 @@ Sec-WebSocket-Accept: 8cgOWwwdz0MqWdUpSgjU6opx0yc=
003 TX OCTETS: 8103ee8080
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 83d994d2b3371452
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=6439393464326233
+
006 RX OCTETS: 8392ad93f37c2d13
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3932616439336633
               
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: 8882eaa0c3e7e948
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6561613063336537
+
010 RX OCTETS: 888237c12afc3429
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3337633132616663
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_11_2.json b/autobahn/client/hornbeam_case_6_11_2.json index 036e594..11f0775 100644 --- a/autobahn/client/hornbeam_case_6_11_2.json +++ b/autobahn/client/hornbeam_case_6_11_2.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xee8080", "droppedByMe": true, - "duration": 46, + "duration": 47, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=108&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: y00+OywpNktHCxwUmnqt7Q==\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: 8cgOWwwdz0MqWdUpSgjU6opx0yc=\r\n\r\n", + "httpRequest": "GET /runCase?case=108&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: utYruo8ltrBaQPlpIiGBNA==\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: znT+025N8+H/6nhnahyegj2DpIs=\r\n\r\n", "id": "6.11.2", "isServer": true, "localCloseCode": 1000, @@ -55,7 +55,7 @@ "8": 2, "184": 1 }, - "started": "2023-08-10T23:01:49.089Z", + "started": "2023-08-11T05:15:19.049Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -124,7 +124,7 @@ "RO", [ 8, - "83d994d2b3371452" + "8392ad93f37c2d13" ] ], [ @@ -137,7 +137,7 @@ true, 0, true, - "d994d2b3" + "92ad93f3" ], [ "TF", @@ -165,7 +165,7 @@ "RO", [ 8, - "8882eaa0c3e7e948" + "888237c12afc3429" ] ], [ @@ -178,7 +178,7 @@ true, 0, true, - "eaa0c3e7" + "37c12afc" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_11_3.html b/autobahn/client/hornbeam_case_6_11_3.html index 1590b09..64ca7e4 100644 --- a/autobahn/client/hornbeam_case_6_11_3.html +++ b/autobahn/client/hornbeam_case_6_11_3.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.11.3 : Pass - 46 ms @ 2023-08-10T23:01:49.137Z

+

Hornbeam - Case 6.11.3 : Pass - 45 ms @ 2023-08-11T05:15:19.098Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xefbfbd

Case Expectation

The message is echo'ed back to us.

@@ -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: TcW1i+ErcNPuRgDvagOkWw== +Sec-WebSocket-Key: hEsNPhpbFR6EGApSxpsC1g== 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: lSDdetUkySWetwQ0ic3vBiWz04E=
+Sec-WebSocket-Accept: uVykQV8SBzJMOTAb7yjEjYHYNN4=

Closing Behavior

@@ -287,14 +287,14 @@ Sec-WebSocket-Accept: lSDdetUkySWetwQ0ic3vBiWz04E=
003 TX OCTETS: 8103efbfbd
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 83d7e27d7b385dc0
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=6437653237643762
+
006 RX OCTETS: 83d626dd1b399960
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=6436323664643162
               �
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: 8882693bb0b66ad3
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3639336262306236
+
010 RX OCTETS: 88822597cffa267f
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3235393763666661
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_11_3.json b/autobahn/client/hornbeam_case_6_11_3.json index 18037ba..f38c09c 100644 --- a/autobahn/client/hornbeam_case_6_11_3.json +++ b/autobahn/client/hornbeam_case_6_11_3.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xefbfbd", "droppedByMe": true, - "duration": 46, + "duration": 45, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=109&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: TcW1i+ErcNPuRgDvagOkWw==\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: lSDdetUkySWetwQ0ic3vBiWz04E=\r\n\r\n", + "httpRequest": "GET /runCase?case=109&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: hEsNPhpbFR6EGApSxpsC1g==\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: uVykQV8SBzJMOTAb7yjEjYHYNN4=\r\n\r\n", "id": "6.11.3", "isServer": true, "localCloseCode": 1000, @@ -55,7 +55,7 @@ "8": 2, "184": 1 }, - "started": "2023-08-10T23:01:49.137Z", + "started": "2023-08-11T05:15:19.098Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -124,7 +124,7 @@ "RO", [ 8, - "83d7e27d7b385dc0" + "83d626dd1b399960" ] ], [ @@ -137,7 +137,7 @@ true, 0, true, - "d7e27d7b" + "d626dd1b" ], [ "TF", @@ -165,7 +165,7 @@ "RO", [ 8, - "8882693bb0b66ad3" + "88822597cffa267f" ] ], [ @@ -178,7 +178,7 @@ true, 0, true, - "693bb0b6" + "2597cffa" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_11_4.html b/autobahn/client/hornbeam_case_6_11_4.html index 1e7db90..53daae7 100644 --- a/autobahn/client/hornbeam_case_6_11_4.html +++ b/autobahn/client/hornbeam_case_6_11_4.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.11.4 : Pass - 48 ms @ 2023-08-10T23:01:49.186Z

+

Hornbeam - Case 6.11.4 : Pass - 45 ms @ 2023-08-11T05:15:19.146Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf48fbfbf

Case Expectation

The message is echo'ed back to us.

@@ -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: xzHE0Hwqk7w6fCr5K3+qbw== +Sec-WebSocket-Key: VYqgAUwRdEnUrUuZMhXM+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: Ar/kG8iBna1whZVEmPdLfwMOsuM=
+Sec-WebSocket-Accept: SpsCP1BpHchMeFDXC/rIudHZyk8=

Closing Behavior

@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: Ar/kG8iBna1whZVEmPdLfwMOsuM=

Octets Received by Chop Size

- - + + - +
Chop SizeCountOctets
111
818
122
717
919
1841184
Total4202
Total5202

Octets Transmitted by Chop Size

@@ -288,16 +288,17 @@ Sec-WebSocket-Accept: Ar/kG8iBna1whZVEmPdLfwMOsuM=
003 TX OCTETS: 8104f48fbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 84c344552037cbea9f
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6333343435353230
+
006 RX OCTETS: 845419995ea09626e1
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3534313939393565
               ô¿¿
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: 8882273c82e124d4
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3237336338326531
+
010 RX OCTETS: 88
+
011 RX OCTETS: 82be4c124dbda4
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6265346331323464
               0x03e8
-
012 TCP DROPPED BY ME
+
013 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_11_4.json b/autobahn/client/hornbeam_case_6_11_4.json index f3e7d31..b45f4b4 100644 --- a/autobahn/client/hornbeam_case_6_11_4.json +++ b/autobahn/client/hornbeam_case_6_11_4.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf48fbfbf", "droppedByMe": true, - "duration": 48, + "duration": 45, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=110&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: xzHE0Hwqk7w6fCr5K3+qbw==\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: Ar/kG8iBna1whZVEmPdLfwMOsuM=\r\n\r\n", + "httpRequest": "GET /runCase?case=110&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: VYqgAUwRdEnUrUuZMhXM+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: SpsCP1BpHchMeFDXC/rIudHZyk8=\r\n\r\n", "id": "6.11.4", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 1, - "8": 1, + "1": 2, + "7": 1, "9": 1, "184": 1 }, - "started": "2023-08-10T23:01:49.186Z", + "started": "2023-08-11T05:15:19.146Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "84c344552037cbea9f" + "845419995ea09626e1" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "c3445520" + "5419995e" ], [ "TF", @@ -165,8 +165,15 @@ [ "RO", [ - 8, - "8882273c82e124d4" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "82be4c124dbda4" ] ], [ @@ -179,7 +186,7 @@ true, 0, true, - "273c82e1" + "be4c124d" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_11_5.html b/autobahn/client/hornbeam_case_6_11_5.html index ef47e35..e3d6302 100644 --- a/autobahn/client/hornbeam_case_6_11_5.html +++ b/autobahn/client/hornbeam_case_6_11_5.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.11.5 : Fail - 503 ms @ 2023-08-10T23:01:49.236Z

+

Hornbeam - Case 6.11.5 : Pass - 2 ms @ 2023-08-11T05:15:19.193Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf4908080

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=111&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: EaBBAGG63eK5nsNvTZO/Qg==
+Sec-WebSocket-Key: rYbGaN2AspERFK2dayVWOQ==
 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: 2boVxVemoomOHHJcWUqQ3FiCexA=
+Sec-WebSocket-Accept: nyiLRHfd/q68zPyuU+KDyyYj9z0=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
17117
1841184
Total4210
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
616
14114
2061206
Total3226
Total2212

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: 2boVxVemoomOHHJcWUqQ3FiCexA=
               0xf4908080
003 TX OCTETS: 8104f4908080
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8c0b0470f3e4bbcd1cb4b99f4cb6ebcf4e
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=3062303437306633
-
               ����
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88823f6a45bc3c82
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3366366134356263
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_11_5.json b/autobahn/client/hornbeam_case_6_11_5.json index cc7a790..7786d9b 100644 --- a/autobahn/client/hornbeam_case_6_11_5.json +++ b/autobahn/client/hornbeam_case_6_11_5.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 111, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf4908080", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 2, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=111&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: EaBBAGG63eK5nsNvTZO/Qg==\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: 2boVxVemoomOHHJcWUqQ3FiCexA=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=111&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: rYbGaN2AspERFK2dayVWOQ==\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: nyiLRHfd/q68zPyuU+KDyyYj9z0=\r\n\r\n", "id": "6.11.5", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "17": 1, "184": 1 }, - "started": "2023-08-10T23:01:49.236Z", + "started": "2023-08-11T05:15:19.193Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "6": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 17, - "8c0b0470f3e4bbcd1cb4b99f4cb6ebcf4e" - ] - ], - [ - "RF", - [ - 12, - "\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "0b0470f3" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88823f6a45bc3c82" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "3f6a45bc" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_12_1.html b/autobahn/client/hornbeam_case_6_12_1.html index 47abe1b..9e6a5aa 100644 --- a/autobahn/client/hornbeam_case_6_12_1.html +++ b/autobahn/client/hornbeam_case_6_12_1.html @@ -202,78 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.12.1 : Fail - 504 ms @ 2023-08-10T23:01:49.741Z

+

Hornbeam - Case 6.12.1 : Pass - 1 ms @ 2023-08-11T05:15:19.196Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0x80

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=112&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: 8JFBnOpwv+r8210V5rU9hw==
+Sec-WebSocket-Key: C56FccYz3CVBbK2SVWO5EA==
 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: 9E+SOVbH4mX9F8yWygaFqqbg0fU=
+Sec-WebSocket-Accept: k/QmB24BKzsiMvcoUKJ+ykzw+NI=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - +
Chop SizeCountOctets
111
8216
1841184
Total4201
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
313
14114
2061206
Total3223
Total2209

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -286,18 +280,7 @@ Sec-WebSocket-Accept: 9E+SOVbH4mX9F8yWygaFqqbg0fU=
               0x80
003 TX OCTETS: 810180
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 83c34cc5d72cf378
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=6333346363356437
-
               �
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88826ef4db5c6d1c
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3665663464623563
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_12_1.json b/autobahn/client/hornbeam_case_6_12_1.json index 232dc52..7b97f7f 100644 --- a/autobahn/client/hornbeam_case_6_12_1.json +++ b/autobahn/client/hornbeam_case_6_12_1.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 112, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0x80", - "droppedByMe": true, - "duration": 504, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,49 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=112&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 8JFBnOpwv+r8210V5rU9hw==\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: 9E+SOVbH4mX9F8yWygaFqqbg0fU=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=112&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: C56FccYz3CVBbK2SVWO5EA==\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: k/QmB24BKzsiMvcoUKJ+ykzw+NI=\r\n\r\n", "id": "6.12.1", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 2, "184": 1 }, - "started": "2023-08-10T23:01:49.741Z", + "started": "2023-08-11T05:15:19.196Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "3": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -107,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 8, - "83c34cc5d72cf378" - ] - ], - [ - "RF", - [ - 3, - "\ufffd" - ], - 1, - true, - 0, - true, - "c34cc5d7" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88826ef4db5c6d1c" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "6ef4db5c" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_12_2.html b/autobahn/client/hornbeam_case_6_12_2.html index ec7c0c3..8227cea 100644 --- a/autobahn/client/hornbeam_case_6_12_2.html +++ b/autobahn/client/hornbeam_case_6_12_2.html @@ -202,78 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.12.2 : Fail - 503 ms @ 2023-08-10T23:01:50.247Z

+

Hornbeam - Case 6.12.2 : Pass - 1 ms @ 2023-08-11T05:15:19.199Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xbf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=113&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: e94Fvvjw4ciC27Sc5UUBgw==
+Sec-WebSocket-Key: QNvoA6ADjs6oIv/KnbxrKw==
 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: nlPts7yVi7QcAVsPTKM0TG3UJcU=
+Sec-WebSocket-Accept: VBBVwGL664a2ZiTdt9P9aYx6wfs=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - +
Chop SizeCountOctets
111
8216
1841184
Total4201
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
313
14114
2061206
Total3223
Total2209

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -286,18 +280,7 @@ Sec-WebSocket-Accept: nlPts7yVi7QcAVsPTKM0TG3UJcU=
               0xbf
003 TX OCTETS: 8101bf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 83a10da4304eb219
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=6131306461343330
-
               �
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882b6af60bbb547
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6236616636306262
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_12_2.json b/autobahn/client/hornbeam_case_6_12_2.json index c3b3da1..4465c02 100644 --- a/autobahn/client/hornbeam_case_6_12_2.json +++ b/autobahn/client/hornbeam_case_6_12_2.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 113, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xbf", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,49 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=113&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: e94Fvvjw4ciC27Sc5UUBgw==\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: nlPts7yVi7QcAVsPTKM0TG3UJcU=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=113&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: QNvoA6ADjs6oIv/KnbxrKw==\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: VBBVwGL664a2ZiTdt9P9aYx6wfs=\r\n\r\n", "id": "6.12.2", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 2, "184": 1 }, - "started": "2023-08-10T23:01:50.247Z", + "started": "2023-08-11T05:15:19.199Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "3": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -107,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 8, - "83a10da4304eb219" - ] - ], - [ - "RF", - [ - 3, - "\ufffd" - ], - 1, - true, - 0, - true, - "a10da430" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882b6af60bbb547" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "b6af60bb" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_12_3.html b/autobahn/client/hornbeam_case_6_12_3.html index 45d9dae..ff9eb45 100644 --- a/autobahn/client/hornbeam_case_6_12_3.html +++ b/autobahn/client/hornbeam_case_6_12_3.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.12.3 : Fail - 503 ms @ 2023-08-10T23:01:50.753Z

+

Hornbeam - Case 6.12.3 : Pass - 1 ms @ 2023-08-11T05:15:19.201Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0x80bf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=114&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: bkbpvhvwm2Fe+GRJ7kHE+g==
+Sec-WebSocket-Key: lfakBoHUC75HTFq3KBMghA==
 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: mSVHGEk32XPeZoO2oiIMkMWyeag=
+Sec-WebSocket-Accept: 8NgPPDTLNCUDxduHqbiZfWQ25cQ=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
11111
1841184
Total4204
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
414
14114
2061206
Total3224
Total2210

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: mSVHGEk32XPeZoO2oiIMkMWyeag=
               0x80bf
003 TX OCTETS: 810280bf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 86a011b42d4fae09c21fac
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=6, MASKED=True, MASK=6130313162343264
-
               ��
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882752a43d576c2
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3735326134336435
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_12_3.json b/autobahn/client/hornbeam_case_6_12_3.json index f845db5..2155b27 100644 --- a/autobahn/client/hornbeam_case_6_12_3.json +++ b/autobahn/client/hornbeam_case_6_12_3.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 114, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0x80bf", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=114&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: bkbpvhvwm2Fe+GRJ7kHE+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: mSVHGEk32XPeZoO2oiIMkMWyeag=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=114&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: lfakBoHUC75HTFq3KBMghA==\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: 8NgPPDTLNCUDxduHqbiZfWQ25cQ=\r\n\r\n", "id": "6.12.3", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "11": 1, "184": 1 }, - "started": "2023-08-10T23:01:50.753Z", + "started": "2023-08-11T05:15:19.201Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "4": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 11, - "86a011b42d4fae09c21fac" - ] - ], - [ - "RF", - [ - 6, - "\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "a011b42d" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882752a43d576c2" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "752a43d5" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_12_4.html b/autobahn/client/hornbeam_case_6_12_4.html index c76706e..889a23d 100644 --- a/autobahn/client/hornbeam_case_6_12_4.html +++ b/autobahn/client/hornbeam_case_6_12_4.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.12.4 : Fail - 504 ms @ 2023-08-10T23:01:51.259Z

+

Hornbeam - Case 6.12.4 : Pass - 1 ms @ 2023-08-11T05:15:19.204Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0x80bf80

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=115&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: zAqf+yeCkRVtWNlHUTXOjA==
+Sec-WebSocket-Key: 7nZsoUSLrnB+H31W3GUtBA==
 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: R3ev5lEhifD0hAGP+Vug1UQnQ1g=
+Sec-WebSocket-Accept: l0FaptVJmOESmVZp1VC4nJwVvyQ=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
14114
1841184
Total4207
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
515
14114
2061206
Total3225
Total2211

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: R3ev5lEhifD0hAGP+Vug1UQnQ1g=
               0x80bf80
003 TX OCTETS: 810380bf80
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 89f6ab1d241914a0cb4916f29b4b
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6636616231643234
-
               ���
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88822788f0ac2460
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3237383866306163
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_12_4.json b/autobahn/client/hornbeam_case_6_12_4.json index 3ca175c..7c54b53 100644 --- a/autobahn/client/hornbeam_case_6_12_4.json +++ b/autobahn/client/hornbeam_case_6_12_4.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 115, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0x80bf80", - "droppedByMe": true, - "duration": 504, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=115&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: zAqf+yeCkRVtWNlHUTXOjA==\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: R3ev5lEhifD0hAGP+Vug1UQnQ1g=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=115&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 7nZsoUSLrnB+H31W3GUtBA==\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: l0FaptVJmOESmVZp1VC4nJwVvyQ=\r\n\r\n", "id": "6.12.4", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "14": 1, "184": 1 }, - "started": "2023-08-10T23:01:51.259Z", + "started": "2023-08-11T05:15:19.204Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "5": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 14, - "89f6ab1d241914a0cb4916f29b4b" - ] - ], - [ - "RF", - [ - 9, - "\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "f6ab1d24" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88822788f0ac2460" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "2788f0ac" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_12_5.html b/autobahn/client/hornbeam_case_6_12_5.html index fb9c520..406252e 100644 --- a/autobahn/client/hornbeam_case_6_12_5.html +++ b/autobahn/client/hornbeam_case_6_12_5.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.12.5 : Fail - 504 ms @ 2023-08-10T23:01:51.765Z

+

Hornbeam - Case 6.12.5 : Pass - 1 ms @ 2023-08-11T05:15:19.206Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0x80bf80bf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=116&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: STNVAdy78DxkYsk6pi6V1A==
+Sec-WebSocket-Key: KpduOzQ5RiBRhX2txxojYA==
 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: zrG5ZVLy4oK7FQNqgNxZH8U5lzw=
+Sec-WebSocket-Accept: e/9b3wMr/VdExeESMjUPhbdYVEo=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
17117
1841184
Total4210
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
616
14114
2061206
Total3226
Total2212

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: zrG5ZVLy4oK7FQNqgNxZH8U5lzw=
               0x80bf80bf
003 TX OCTETS: 810480bf80bf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8cd3fb8c8f3c4431606c4663306e143332
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=6433666238633866
-
               ����
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88823c1525543ffd
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3363313532353534
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_12_5.json b/autobahn/client/hornbeam_case_6_12_5.json index 6ab1397..8ee137c 100644 --- a/autobahn/client/hornbeam_case_6_12_5.json +++ b/autobahn/client/hornbeam_case_6_12_5.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 116, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0x80bf80bf", - "droppedByMe": true, - "duration": 504, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=116&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: STNVAdy78DxkYsk6pi6V1A==\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: zrG5ZVLy4oK7FQNqgNxZH8U5lzw=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=116&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: KpduOzQ5RiBRhX2txxojYA==\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: e/9b3wMr/VdExeESMjUPhbdYVEo=\r\n\r\n", "id": "6.12.5", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "17": 1, "184": 1 }, - "started": "2023-08-10T23:01:51.765Z", + "started": "2023-08-11T05:15:19.206Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "6": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 17, - "8cd3fb8c8f3c4431606c4663306e143332" - ] - ], - [ - "RF", - [ - 12, - "\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "d3fb8c8f" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88823c1525543ffd" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "3c152554" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_12_6.html b/autobahn/client/hornbeam_case_6_12_6.html index e8a6354..d9f201a 100644 --- a/autobahn/client/hornbeam_case_6_12_6.html +++ b/autobahn/client/hornbeam_case_6_12_6.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.12.6 : Fail - 505 ms @ 2023-08-10T23:01:52.272Z

+

Hornbeam - Case 6.12.6 : Pass - 1 ms @ 2023-08-11T05:15:19.208Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0x80bf80bf80

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=117&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: CZQ/WvqZOYIBzZqO+T+oAA==
+Sec-WebSocket-Key: WlAzANNL89ti7jC4Nlj2mQ==
 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: 8uuAQjD6JI59Wg4gVjGzCELfdGw=
+Sec-WebSocket-Accept: 4LSPcUOrLtSKO7AMAW2pQS8FcVQ=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
20120
1841184
Total4213
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
717
14114
2061206
Total3227
Total2213

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: 8uuAQjD6JI59Wg4gVjGzCELfdGw=
               0x80bf80bf80
003 TX OCTETS: 810580bf80bf80
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8f4fb10229a00ebfc6f00ced96f25ebd94a00ebf
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=15, MASKED=True, MASK=3466623130323239
-
               �����
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882183a36891bd2
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3138336133363839
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_12_6.json b/autobahn/client/hornbeam_case_6_12_6.json index e4caace..fa5c136 100644 --- a/autobahn/client/hornbeam_case_6_12_6.json +++ b/autobahn/client/hornbeam_case_6_12_6.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 117, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0x80bf80bf80", - "droppedByMe": true, - "duration": 505, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=117&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: CZQ/WvqZOYIBzZqO+T+oAA==\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: 8uuAQjD6JI59Wg4gVjGzCELfdGw=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=117&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: WlAzANNL89ti7jC4Nlj2mQ==\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: 4LSPcUOrLtSKO7AMAW2pQS8FcVQ=\r\n\r\n", "id": "6.12.6", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "20": 1, "184": 1 }, - "started": "2023-08-10T23:01:52.272Z", + "started": "2023-08-11T05:15:19.208Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "7": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 20, - "8f4fb10229a00ebfc6f00ced96f25ebd94a00ebf" - ] - ], - [ - "RF", - [ - 15, - "\ufffd\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "4fb10229" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882183a36891bd2" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "183a3689" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_12_7.html b/autobahn/client/hornbeam_case_6_12_7.html index 43e66ce..5286be9 100644 --- a/autobahn/client/hornbeam_case_6_12_7.html +++ b/autobahn/client/hornbeam_case_6_12_7.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.12.7 : Fail - 503 ms @ 2023-08-10T23:01:52.780Z

+

Hornbeam - Case 6.12.7 : Pass - 1 ms @ 2023-08-11T05:15:19.212Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0x80bf80bf80bf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=118&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: UChmPkltCWKYVn+t6GrBEw==
+Sec-WebSocket-Key: 8Aq2botxEemczIEDbWk6Hg==
 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: Ww3zDjobOh16o/FYegWs134x56Q=
+Sec-WebSocket-Accept: qSmgrfhJEBiwuea8TnwXQ6RZrxw=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
23123
1841184
Total4216
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
818
14114
2061206
Total3228
Total2214

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: Ww3zDjobOh16o/FYegWs134x56Q=
               0x80bf80bf80bf
003 TX OCTETS: 810680bf80bf80bf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 9255fa9578ba452897ea477ac7e8152ac5ba452897ea47
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=18, MASKED=True, MASK=3535666139353738
-
               ������
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882ef263560ecce
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6566323633353630
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_12_7.json b/autobahn/client/hornbeam_case_6_12_7.json index 1f3cd60..a565900 100644 --- a/autobahn/client/hornbeam_case_6_12_7.json +++ b/autobahn/client/hornbeam_case_6_12_7.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 118, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0x80bf80bf80bf", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=118&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: UChmPkltCWKYVn+t6GrBEw==\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: Ww3zDjobOh16o/FYegWs134x56Q=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=118&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 8Aq2botxEemczIEDbWk6Hg==\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: qSmgrfhJEBiwuea8TnwXQ6RZrxw=\r\n\r\n", "id": "6.12.7", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "23": 1, "184": 1 }, - "started": "2023-08-10T23:01:52.780Z", + "started": "2023-08-11T05:15:19.212Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "8": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 23, - "9255fa9578ba452897ea477ac7e8152ac5ba452897ea47" - ] - ], - [ - "RF", - [ - 18, - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "55fa9578" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882ef263560ecce" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "ef263560" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_12_8.html b/autobahn/client/hornbeam_case_6_12_8.html index 62d5189..faaa2ba 100644 --- a/autobahn/client/hornbeam_case_6_12_8.html +++ b/autobahn/client/hornbeam_case_6_12_8.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.12.8 : Fail - 503 ms @ 2023-08-10T23:01:53.286Z

+

Hornbeam - Case 6.12.8 : Pass - 1 ms @ 2023-08-11T05:15:19.214Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0x808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbe

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', '0xefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdef ...', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=119&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: uS9BI7/4wIzmM79h8fu06A==
+Sec-WebSocket-Key: jIxlTAk8yJDR35uBRlJxTg==
 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: MQXZxls0r+SL4LLdjmaGUY9bns8=
+Sec-WebSocket-Accept: vQ9fGwfPC+WWy2anH53eBYd2vGE=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
1841184
1961196
Total4389
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
14114
65165
2061206
Total3285
Total2271

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -289,20 +282,7 @@ Sec-WebSocket-Accept: MQXZxls0r+SL4LLdjmaGUY9bns8=
003 TX OCTETS: 813f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf
               b0b1b2b3b4b5b6b7b8b9babbbcbd ...
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: fe00bd07e44e85e85bf36ab859a13aba0bf138e85bf36ab859a13aba0bf138e85bf36ab859a13aba0bf138e85bf36ab859a1
-
               3aba0bf138e85bf36ab859a13aba ...
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=189, MASKED=True, MASK=3037653434653835
-
               0xefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdef
-
               bfbdefbfbdefbfbdefbfbdefbfbdef ...
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882130fff3610e7
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3133306666663336
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_12_8.json b/autobahn/client/hornbeam_case_6_12_8.json index a37e357..c914d48 100644 --- a/autobahn/client/hornbeam_case_6_12_8.json +++ b/autobahn/client/hornbeam_case_6_12_8.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 119, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0x808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbe", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=119&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: uS9BI7/4wIzmM79h8fu06A==\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: MQXZxls0r+SL4LLdjmaGUY9bns8=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=119&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: jIxlTAk8yJDR35uBRlJxTg==\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: vQ9fGwfPC+WWy2anH53eBYd2vGE=\r\n\r\n", "id": "6.12.8", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "0xefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdef ...", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "184": 1, - "196": 1 + "184": 1 }, - "started": "2023-08-10T23:01:53.286Z", + "started": "2023-08-11T05:15:19.214Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { - "14": 1, "65": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 196, - "fe00bd07e44e85e85bf36ab859a13aba0bf138e85bf36ab859a13aba0bf138e85bf36ab859a13aba0bf138e85bf36ab859a13aba0bf138e85bf36ab859a13aba ..." - ] - ], - [ - "RF", - [ - 189, - "0xefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdef ..." - ], - 1, - true, - 0, - true, - "07e44e85" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882130fff3610e7" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "130fff36" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_13_1.html b/autobahn/client/hornbeam_case_6_13_1.html index 5aa5aac..084f72b 100644 --- a/autobahn/client/hornbeam_case_6_13_1.html +++ b/autobahn/client/hornbeam_case_6_13_1.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.13.1 : Fail - 502 ms @ 2023-08-10T23:01:53.792Z

+

Hornbeam - Case 6.13.1 : Pass - 1 ms @ 2023-08-11T05:15:19.216Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xc020c120c220c320c420c520c620c720c820c920ca20cb20cc20cd20ce20cf20d020d120d220d320d420d520d620d720d820d920da20db20dc20dd20de20

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd ...', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=120&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: 4c+gtfnpJ9kB+2Li0CQ2Eg==
+Sec-WebSocket-Key: KB/XYFpUnwC+f3uPZfHyAg==
 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: Zj/qckfHaQ+B7708lIn6ONVYlCw=
+Sec-WebSocket-Accept: YEeIHmfKgvLW+BBNrGFArbH3U6U=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
1291129
1841184
Total4322
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
14114
64164
2061206
Total3284
Total2270

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -289,19 +282,7 @@ Sec-WebSocket-Accept: Zj/qckfHaQ+B7708lIn6ONVYlCw=
003 TX OCTETS: 813ec020c120c220c320c420c520c620c720c820c920ca20cb20cc20cd20ce20cf20d020d120d220d320d420d520d620d720
               d820d920da20db20dc20dd20de20 ...
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: fc39c8bf92d67702b2d67702b2d67702b2d67702b2d67702b2d67702b2d67702b2d67702b2d67702b2d67702b2d67702b2d6
-
               7702b2d67702b2d67702b2d67702 ...
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=124, MASKED=True, MASK=3339633862663932
-
               � � � � � � � � � � � � � � � �  ...
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882a6767133a59e
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6136373637313333
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_13_1.json b/autobahn/client/hornbeam_case_6_13_1.json index fb2182d..c366312 100644 --- a/autobahn/client/hornbeam_case_6_13_1.json +++ b/autobahn/client/hornbeam_case_6_13_1.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 120, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xc020c120c220c320c420c520c620c720c820c920ca20cb20cc20cd20ce20cf20d020d120d220d320d420d520d620d720d820d920da20db20dc20dd20de20", - "droppedByMe": true, - "duration": 502, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=120&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 4c+gtfnpJ9kB+2Li0CQ2Eg==\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: Zj/qckfHaQ+B7708lIn6ONVYlCw=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=120&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: KB/XYFpUnwC+f3uPZfHyAg==\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: YEeIHmfKgvLW+BBNrGFArbH3U6U=\r\n\r\n", "id": "6.13.1", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd ...", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "129": 1, "184": 1 }, - "started": "2023-08-10T23:01:53.792Z", + "started": "2023-08-11T05:15:19.216Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { - "14": 1, "64": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 129, - "fc39c8bf92d67702b2d67702b2d67702b2d67702b2d67702b2d67702b2d67702b2d67702b2d67702b2d67702b2d67702b2d67702b2d67702b2d67702b2d67702 ..." - ] - ], - [ - "RF", - [ - 124, - "\ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd ..." - ], - 1, - true, - 0, - true, - "39c8bf92" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882a6767133a59e" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "a6767133" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_13_2.html b/autobahn/client/hornbeam_case_6_13_2.html index 033e724..03d51cc 100644 --- a/autobahn/client/hornbeam_case_6_13_2.html +++ b/autobahn/client/hornbeam_case_6_13_2.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.13.2 : Fail - 503 ms @ 2023-08-10T23:01:54.296Z

+

Hornbeam - Case 6.13.2 : Pass - 1 ms @ 2023-08-11T05:15:19.219Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xe020e120e220e320e420e520e620e720e820e920ea20eb20ec20ed20ee20

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd ', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=121&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: FK3Auwvv66TV+RlRp+wdRA==
+Sec-WebSocket-Key: bOdE5M07npTAMnPMCPiYyw==
 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: WYz3zumj+kBxmiDQowENpKEG7UQ=
+Sec-WebSocket-Accept: 7g4iCPEk5+lOF4xxN/3BwROyaI0=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
65165
1841184
Total4258
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
14114
32132
2061206
Total3252
Total2238

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,19 +280,7 @@ Sec-WebSocket-Accept: WYz3zumj+kBxmiDQowENpKEG7UQ=
               0xe020e120e220e320e420e520e620e720e820e920ea20eb20ec20ed20ee20
003 TX OCTETS: 811ee020e120e220e320e420e520e620e720e820e920ea20eb20ec20ed20ee20
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: bca1f455fa4e4be8da4e4be8da4e4be8da4e4be8da4e4be8da4e4be8da4e4be8da4e4be8da4e4be8da4e4be8da4e4be8da4e
-
               4be8da4e4be8da4e4be8da4e4be8 ...
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=60, MASKED=True, MASK=6131663435356661
-
               � � � � � � � � � � � � � � �
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 888269c3407d6a2b
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3639633334303764
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_13_2.json b/autobahn/client/hornbeam_case_6_13_2.json index a47481e..3630820 100644 --- a/autobahn/client/hornbeam_case_6_13_2.json +++ b/autobahn/client/hornbeam_case_6_13_2.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 121, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xe020e120e220e320e420e520e620e720e820e920ea20eb20ec20ed20ee20", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=121&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: FK3Auwvv66TV+RlRp+wdRA==\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: WYz3zumj+kBxmiDQowENpKEG7UQ=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=121&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: bOdE5M07npTAMnPMCPiYyw==\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: 7g4iCPEk5+lOF4xxN/3BwROyaI0=\r\n\r\n", "id": "6.13.2", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd ", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "65": 1, "184": 1 }, - "started": "2023-08-10T23:01:54.296Z", + "started": "2023-08-11T05:15:19.219Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { - "14": 1, "32": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 65, - "bca1f455fa4e4be8da4e4be8da4e4be8da4e4be8da4e4be8da4e4be8da4e4be8da4e4be8da4e4be8da4e4be8da4e4be8da4e4be8da4e4be8da4e4be8da4e4be8 ..." - ] - ], - [ - "RF", - [ - 60, - "\ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd " - ], - 1, - true, - 0, - true, - "a1f455fa" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "888269c3407d6a2b" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "69c3407d" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_13_3.html b/autobahn/client/hornbeam_case_6_13_3.html index 8e93e1c..382a292 100644 --- a/autobahn/client/hornbeam_case_6_13_3.html +++ b/autobahn/client/hornbeam_case_6_13_3.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.13.3 : Fail - 503 ms @ 2023-08-10T23:01:54.802Z

+

Hornbeam - Case 6.13.3 : Pass - 1 ms @ 2023-08-11T05:15:19.221Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf020f120f220f320f420f520f620

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd ', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=122&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: OLbK1LTWdAm/tAaQtiEXtw==
+Sec-WebSocket-Key: 7TTuu3GCMHnz0+iMDGFjhg==
 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: r9ibthV6gzAzlD7uVga2+TeoSnk=
+Sec-WebSocket-Accept: +E6H5OuwltUNTlsMB6Had22CTts=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
33133
1841184
Total4226
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
14114
16116
2061206
Total3236
Total2222

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: r9ibthV6gzAzlD7uVga2+TeoSnk=
               0xf020f120f220f320f420f520f620
003 TX OCTETS: 810ef020f120f220f320f420f520f620
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 9c825690666de92d466de92d466de92d466de92d466de92d466de92d466de92d46
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=28, MASKED=True, MASK=3832353639303636
-
               � � � � � � �
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882e51fe6ece6f7
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6535316665366563
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_13_3.json b/autobahn/client/hornbeam_case_6_13_3.json index c65f6f8..35ffc2e 100644 --- a/autobahn/client/hornbeam_case_6_13_3.json +++ b/autobahn/client/hornbeam_case_6_13_3.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 122, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf020f120f220f320f420f520f620", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=122&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: OLbK1LTWdAm/tAaQtiEXtw==\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: r9ibthV6gzAzlD7uVga2+TeoSnk=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=122&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 7TTuu3GCMHnz0+iMDGFjhg==\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: +E6H5OuwltUNTlsMB6Had22CTts=\r\n\r\n", "id": "6.13.3", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd ", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "33": 1, "184": 1 }, - "started": "2023-08-10T23:01:54.802Z", + "started": "2023-08-11T05:15:19.221Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { - "14": 1, "16": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 33, - "9c825690666de92d466de92d466de92d466de92d466de92d466de92d466de92d46" - ] - ], - [ - "RF", - [ - 28, - "\ufffd \ufffd \ufffd \ufffd \ufffd \ufffd \ufffd " - ], - 1, - true, - 0, - true, - "82569066" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882e51fe6ece6f7" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "e51fe6ec" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_13_4.html b/autobahn/client/hornbeam_case_6_13_4.html index 4d06003..a6f2db1 100644 --- a/autobahn/client/hornbeam_case_6_13_4.html +++ b/autobahn/client/hornbeam_case_6_13_4.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.13.4 : Fail - 503 ms @ 2023-08-10T23:01:55.309Z

+

Hornbeam - Case 6.13.4 : Pass - 2 ms @ 2023-08-11T05:15:19.224Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf820f920fa20

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd \ufffd \ufffd ', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=123&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: +7QZ0zCP/ly2OWhMIfipmg==
+Sec-WebSocket-Key: qfEQwN9eQWgVZpqNJ9OglA==
 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: x0zbsOS4i2XPy/eQD8qPz6QL+cw=
+Sec-WebSocket-Accept: ToBGY+6SPlxIU5XYp3XE9/xMNEA=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
17117
1841184
Total4210
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
818
14114
2061206
Total3228
Total2214

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: x0zbsOS4i2XPy/eQD8qPz6QL+cw=
               0xf820f920fa20
003 TX OCTETS: 8106f820f920fa20
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8c469b0d48a924b068a924b068a924b068
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=3436396230643438
-
               � � �
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882351dd45c36f5
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3335316464343563
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_13_4.json b/autobahn/client/hornbeam_case_6_13_4.json index 9e24eb9..60728cc 100644 --- a/autobahn/client/hornbeam_case_6_13_4.json +++ b/autobahn/client/hornbeam_case_6_13_4.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 123, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf820f920fa20", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 2, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=123&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: +7QZ0zCP/ly2OWhMIfipmg==\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: x0zbsOS4i2XPy/eQD8qPz6QL+cw=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=123&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: qfEQwN9eQWgVZpqNJ9OglA==\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: ToBGY+6SPlxIU5XYp3XE9/xMNEA=\r\n\r\n", "id": "6.13.4", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd \ufffd \ufffd ", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "17": 1, "184": 1 }, - "started": "2023-08-10T23:01:55.309Z", + "started": "2023-08-11T05:15:19.224Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "8": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 17, - "8c469b0d48a924b068a924b068a924b068" - ] - ], - [ - "RF", - [ - 12, - "\ufffd \ufffd \ufffd " - ], - 1, - true, - 0, - true, - "469b0d48" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882351dd45c36f5" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "351dd45c" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_13_5.html b/autobahn/client/hornbeam_case_6_13_5.html index 7c12f4c..7d7ccbd 100644 --- a/autobahn/client/hornbeam_case_6_13_5.html +++ b/autobahn/client/hornbeam_case_6_13_5.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.13.5 : Fail - 503 ms @ 2023-08-10T23:01:55.814Z

+

Hornbeam - Case 6.13.5 : Pass - 1 ms @ 2023-08-11T05:15:19.227Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfc20

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd ', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=124&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: WQ+1Tyvsw9S0iP+fni/3hg==
+Sec-WebSocket-Key: cHs/4Xfmkmb3RzlZ6vYyOA==
 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: nouzgoojwZSKVyS7R+PvEDwwVBA=
+Sec-WebSocket-Accept: rn2n0b6YTzICmwYVeZzu8sFVN/k=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
919
1841184
Total4202
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
414
14114
2061206
Total3224
Total2210

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: nouzgoojwZSKVyS7R+PvEDwwVBA=
               0xfc20
003 TX OCTETS: 8102fc20
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 84244178bbcbfec59b
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3234343137386262
-
               �
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882fabb6710f953
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6661626236373130
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_13_5.json b/autobahn/client/hornbeam_case_6_13_5.json index a6dd8ba..3c3059b 100644 --- a/autobahn/client/hornbeam_case_6_13_5.json +++ b/autobahn/client/hornbeam_case_6_13_5.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 124, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfc20", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=124&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: WQ+1Tyvsw9S0iP+fni/3hg==\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: nouzgoojwZSKVyS7R+PvEDwwVBA=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=124&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: cHs/4Xfmkmb3RzlZ6vYyOA==\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: rn2n0b6YTzICmwYVeZzu8sFVN/k=\r\n\r\n", "id": "6.13.5", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd ", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "9": 1, "184": 1 }, - "started": "2023-08-10T23:01:55.814Z", + "started": "2023-08-11T05:15:19.227Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "4": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 9, - "84244178bbcbfec59b" - ] - ], - [ - "RF", - [ - 4, - "\ufffd " - ], - 1, - true, - 0, - true, - "244178bb" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882fabb6710f953" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "fabb6710" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_14_1.html b/autobahn/client/hornbeam_case_6_14_1.html index 2a53808..0fcfb53 100644 --- a/autobahn/client/hornbeam_case_6_14_1.html +++ b/autobahn/client/hornbeam_case_6_14_1.html @@ -202,78 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.14.1 : Fail - 503 ms @ 2023-08-10T23:01:56.320Z

+

Hornbeam - Case 6.14.1 : Pass - 2 ms @ 2023-08-11T05:15:19.231Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xc0

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=125&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: nnuUv11284jmvcdXlf2n5w==
+Sec-WebSocket-Key: DTKzuguPvqH38zkjCFlazg==
 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: qeJemGScc+iH4Cb8eUKqPXmj0C4=
+Sec-WebSocket-Accept: ZtLODUri8m0Sj4IDbHRId/Sqd6g=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - +
Chop SizeCountOctets
111
8216
1841184
Total4201
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
313
14114
2061206
Total3223
Total2209

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -286,18 +280,7 @@ Sec-WebSocket-Accept: qeJemGScc+iH4Cb8eUKqPXmj0C4=
               0xc0
003 TX OCTETS: 8101c0
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8355916462ba2ed9
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3535393136343632
-
               �
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882db59f665d8b1
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6462353966363635
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_14_1.json b/autobahn/client/hornbeam_case_6_14_1.json index 6953da2..104471c 100644 --- a/autobahn/client/hornbeam_case_6_14_1.json +++ b/autobahn/client/hornbeam_case_6_14_1.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 125, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xc0", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 2, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,49 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=125&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: nnuUv11284jmvcdXlf2n5w==\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: qeJemGScc+iH4Cb8eUKqPXmj0C4=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=125&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: DTKzuguPvqH38zkjCFlazg==\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: ZtLODUri8m0Sj4IDbHRId/Sqd6g=\r\n\r\n", "id": "6.14.1", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 2, "184": 1 }, - "started": "2023-08-10T23:01:56.320Z", + "started": "2023-08-11T05:15:19.231Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "3": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -107,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 8, - "8355916462ba2ed9" - ] - ], - [ - "RF", - [ - 3, - "\ufffd" - ], - 1, - true, - 0, - true, - "55916462" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882db59f665d8b1" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "db59f665" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_14_10.html b/autobahn/client/hornbeam_case_6_14_10.html index 4b138f4..406764b 100644 --- a/autobahn/client/hornbeam_case_6_14_10.html +++ b/autobahn/client/hornbeam_case_6_14_10.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.14.10 : Fail - 503 ms @ 2023-08-10T23:02:00.913Z

+

Hornbeam - Case 6.14.10 : Pass - 1 ms @ 2023-08-11T05:15:19.266Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfdbfbfbfbf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=134&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: LCrLrfBX3vvb8QxOSPZnDA==
+Sec-WebSocket-Key: FwCFPOlNdnZCETT9jsZsHg==
 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: F2cN0TnlsT6sMSbMo/IbUHdHfuk=
+Sec-WebSocket-Accept: u9CN8oq/+5lbjpsNRdgpPiHZ+0Y=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
20120
1841184
Total4213
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
717
14114
2061206
Total3227
Total2213

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: F2cN0TnlsT6sMSbMo/IbUHdHfuk=
               0xfdbfbfbfbf
003 TX OCTETS: 8105fdbfbfbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8f43627e4cacddc3a3fcdf91f3fe8dc1f1acddc3
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=15, MASKED=True, MASK=3433363237653463
-
               �����
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88822fbf50ea2c57
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3266626635306561
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_14_10.json b/autobahn/client/hornbeam_case_6_14_10.json index c78ec48..7b628f8 100644 --- a/autobahn/client/hornbeam_case_6_14_10.json +++ b/autobahn/client/hornbeam_case_6_14_10.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 134, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfdbfbfbfbf", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=134&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: LCrLrfBX3vvb8QxOSPZnDA==\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: F2cN0TnlsT6sMSbMo/IbUHdHfuk=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=134&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: FwCFPOlNdnZCETT9jsZsHg==\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: u9CN8oq/+5lbjpsNRdgpPiHZ+0Y=\r\n\r\n", "id": "6.14.10", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "20": 1, "184": 1 }, - "started": "2023-08-10T23:02:00.913Z", + "started": "2023-08-11T05:15:19.266Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "7": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 20, - "8f43627e4cacddc3a3fcdf91f3fe8dc1f1acddc3" - ] - ], - [ - "RF", - [ - 15, - "\ufffd\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "43627e4c" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88822fbf50ea2c57" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "2fbf50ea" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_14_2.html b/autobahn/client/hornbeam_case_6_14_2.html index 277d02c..f2a8804 100644 --- a/autobahn/client/hornbeam_case_6_14_2.html +++ b/autobahn/client/hornbeam_case_6_14_2.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.14.2 : Fail - 503 ms @ 2023-08-10T23:01:56.826Z

+

Hornbeam - Case 6.14.2 : Pass - 1 ms @ 2023-08-11T05:15:19.236Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xe080

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=126&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: VJMEpmjV4alCB2+/YjtHfw==
+Sec-WebSocket-Key: qCFGFQoJXase0Ve6J0bxCg==
 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: a50xYhU30Q7o86llLkzZiVJUGLk=
+Sec-WebSocket-Accept: rOPWbnVdc0Nse7pizKP8yb4W6h4=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
11111
1841184
Total4204
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
414
14114
2061206
Total3224
Total2210

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: a50xYhU30Q7o86llLkzZiVJUGLk=
               0xe080
003 TX OCTETS: 8102e080
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 868c8e9403633129ec3333
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=6, MASKED=True, MASK=3863386539343033
-
               ��
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882df7aaa63dc92
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6466376161613633
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_14_2.json b/autobahn/client/hornbeam_case_6_14_2.json index 5ceee7f..ca559aa 100644 --- a/autobahn/client/hornbeam_case_6_14_2.json +++ b/autobahn/client/hornbeam_case_6_14_2.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 126, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xe080", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=126&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: VJMEpmjV4alCB2+/YjtHfw==\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: a50xYhU30Q7o86llLkzZiVJUGLk=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=126&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: qCFGFQoJXase0Ve6J0bxCg==\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: rOPWbnVdc0Nse7pizKP8yb4W6h4=\r\n\r\n", "id": "6.14.2", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "11": 1, "184": 1 }, - "started": "2023-08-10T23:01:56.826Z", + "started": "2023-08-11T05:15:19.236Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "4": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 11, - "868c8e9403633129ec3333" - ] - ], - [ - "RF", - [ - 6, - "\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "8c8e9403" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882df7aaa63dc92" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "df7aaa63" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_14_3.html b/autobahn/client/hornbeam_case_6_14_3.html index 670ad6f..6e5228a 100644 --- a/autobahn/client/hornbeam_case_6_14_3.html +++ b/autobahn/client/hornbeam_case_6_14_3.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.14.3 : Fail - 503 ms @ 2023-08-10T23:01:57.332Z

+

Hornbeam - Case 6.14.3 : Pass - 1 ms @ 2023-08-11T05:15:19.239Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf08080

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=127&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: Y2JYV2h1WtLuVTf9daq60A==
+Sec-WebSocket-Key: rnrdgl57snMokmvbJLoBAQ==
 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: GceAB8sg2K8LQ7VWR94JKv78cHg=
+Sec-WebSocket-Accept: RG4eGdl2RQltfHP662Z3nsRUUww=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
14114
1841184
Total4207
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
515
14114
2061206
Total3225
Total2211

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: GceAB8sg2K8LQ7VWR94JKv78cHg=
               0xf08080
003 TX OCTETS: 8103f08080
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8981544bec6eebf6033ee9a4533c
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3831353434626563
-
               ���
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882f2fcf199f114
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6632666366313939
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_14_3.json b/autobahn/client/hornbeam_case_6_14_3.json index 83ec0bd..c7f42b7 100644 --- a/autobahn/client/hornbeam_case_6_14_3.json +++ b/autobahn/client/hornbeam_case_6_14_3.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 127, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf08080", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=127&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Y2JYV2h1WtLuVTf9daq60A==\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: GceAB8sg2K8LQ7VWR94JKv78cHg=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=127&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: rnrdgl57snMokmvbJLoBAQ==\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: RG4eGdl2RQltfHP662Z3nsRUUww=\r\n\r\n", "id": "6.14.3", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "14": 1, "184": 1 }, - "started": "2023-08-10T23:01:57.332Z", + "started": "2023-08-11T05:15:19.239Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "5": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 14, - "8981544bec6eebf6033ee9a4533c" - ] - ], - [ - "RF", - [ - 9, - "\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "81544bec" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882f2fcf199f114" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "f2fcf199" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_14_4.html b/autobahn/client/hornbeam_case_6_14_4.html index 9c2fac9..e702db1 100644 --- a/autobahn/client/hornbeam_case_6_14_4.html +++ b/autobahn/client/hornbeam_case_6_14_4.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.14.4 : Fail - 503 ms @ 2023-08-10T23:01:57.838Z

+

Hornbeam - Case 6.14.4 : Pass - 2 ms @ 2023-08-11T05:15:19.242Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf8808080

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=128&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: HkaNzDIeK5Kq1167xLd2aA==
+Sec-WebSocket-Key: 87wQR+x/UInVFHm9B+7pXg==
 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: SHN29Mquk7fBPPXyOMztEeSt/JM=
+Sec-WebSocket-Accept: ApL/GkykrjzQDDS5UP9FVvKjhQU=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
17117
1841184
Total4210
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
616
14114
2061206
Total3226
Total2212

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: SHN29Mquk7fBPPXyOMztEeSt/JM=
               0xf8808080
003 TX OCTETS: 8104f8808080
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8cd48bdb873b3466686b3634386964643a
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=6434386264623837
-
               ����
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88824a9b03a34973
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3461396230336133
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_14_4.json b/autobahn/client/hornbeam_case_6_14_4.json index 4d7b2df..712a3ca 100644 --- a/autobahn/client/hornbeam_case_6_14_4.json +++ b/autobahn/client/hornbeam_case_6_14_4.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 128, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf8808080", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 2, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=128&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: HkaNzDIeK5Kq1167xLd2aA==\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: SHN29Mquk7fBPPXyOMztEeSt/JM=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=128&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 87wQR+x/UInVFHm9B+7pXg==\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: ApL/GkykrjzQDDS5UP9FVvKjhQU=\r\n\r\n", "id": "6.14.4", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "17": 1, "184": 1 }, - "started": "2023-08-10T23:01:57.838Z", + "started": "2023-08-11T05:15:19.242Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "6": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 17, - "8cd48bdb873b3466686b3634386964643a" - ] - ], - [ - "RF", - [ - 12, - "\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "d48bdb87" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88824a9b03a34973" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "4a9b03a3" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_14_5.html b/autobahn/client/hornbeam_case_6_14_5.html index 51a071d..cb299f6 100644 --- a/autobahn/client/hornbeam_case_6_14_5.html +++ b/autobahn/client/hornbeam_case_6_14_5.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.14.5 : Fail - 503 ms @ 2023-08-10T23:01:58.344Z

+

Hornbeam - Case 6.14.5 : Pass - 2 ms @ 2023-08-11T05:15:19.247Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfc80808080

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=129&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: FaYbUPMd0vzthZjXvQ2nXQ==
+Sec-WebSocket-Key: abRtN8cE/2SHELwdmWiB+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: I63gsqu7I9HTogTgy4JckXku9l4=
+Sec-WebSocket-Accept: Ts9XPd86ycLo3PAfQhkU4MbqAgQ=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
20120
1841184
Total4213
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
717
14114
2061206
Total3227
Total2213

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: I63gsqu7I9HTogTgy4JckXku9l4=
               0xfc80808080
003 TX OCTETS: 8105fc80808080
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8f25bfbb6bca0006849a0254d4985004d6ca0006
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=15, MASKED=True, MASK=3235626662623662
-
               �����
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88826dbb99536e53
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3664626239393533
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_14_5.json b/autobahn/client/hornbeam_case_6_14_5.json index 8210af4..8c906f7 100644 --- a/autobahn/client/hornbeam_case_6_14_5.json +++ b/autobahn/client/hornbeam_case_6_14_5.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 129, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfc80808080", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 2, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=129&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: FaYbUPMd0vzthZjXvQ2nXQ==\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: I63gsqu7I9HTogTgy4JckXku9l4=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=129&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: abRtN8cE/2SHELwdmWiB+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: Ts9XPd86ycLo3PAfQhkU4MbqAgQ=\r\n\r\n", "id": "6.14.5", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "20": 1, "184": 1 }, - "started": "2023-08-10T23:01:58.344Z", + "started": "2023-08-11T05:15:19.247Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "7": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 20, - "8f25bfbb6bca0006849a0254d4985004d6ca0006" - ] - ], - [ - "RF", - [ - 15, - "\ufffd\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "25bfbb6b" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88826dbb99536e53" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "6dbb9953" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_14_6.html b/autobahn/client/hornbeam_case_6_14_6.html index e7e792d..0d1d194 100644 --- a/autobahn/client/hornbeam_case_6_14_6.html +++ b/autobahn/client/hornbeam_case_6_14_6.html @@ -202,78 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.14.6 : Fail - 503 ms @ 2023-08-10T23:01:58.850Z

+

Hornbeam - Case 6.14.6 : Pass - 1 ms @ 2023-08-11T05:15:19.251Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xdf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=130&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: mcif/UBYgCewkw0flw/RXA==
+Sec-WebSocket-Key: zGBuan1wWUmkJNSrIh1r1A==
 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: DHsb81tmakRx/kfyhZ4SKoKTAPM=
+Sec-WebSocket-Accept: jo1XJH+1Msc4wJGdlK/Mx8flrjE=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - +
Chop SizeCountOctets
111
8216
1841184
Total4201
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
313
14114
2061206
Total3223
Total2209

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -286,18 +280,7 @@ Sec-WebSocket-Accept: DHsb81tmakRx/kfyhZ4SKoKTAPM=
               0xdf
003 TX OCTETS: 8101df
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 83411f23b5aea09e
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3431316632336235
-
               �
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882fceda073ff05
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6663656461303733
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_14_6.json b/autobahn/client/hornbeam_case_6_14_6.json index 9dd1e52..60ed102 100644 --- a/autobahn/client/hornbeam_case_6_14_6.json +++ b/autobahn/client/hornbeam_case_6_14_6.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 130, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xdf", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,49 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=130&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: mcif/UBYgCewkw0flw/RXA==\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: DHsb81tmakRx/kfyhZ4SKoKTAPM=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=130&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: zGBuan1wWUmkJNSrIh1r1A==\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: jo1XJH+1Msc4wJGdlK/Mx8flrjE=\r\n\r\n", "id": "6.14.6", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 2, "184": 1 }, - "started": "2023-08-10T23:01:58.850Z", + "started": "2023-08-11T05:15:19.251Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "3": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -107,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 8, - "83411f23b5aea09e" - ] - ], - [ - "RF", - [ - 3, - "\ufffd" - ], - 1, - true, - 0, - true, - "411f23b5" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882fceda073ff05" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "fceda073" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_14_7.html b/autobahn/client/hornbeam_case_6_14_7.html index 71542cb..05e1ccf 100644 --- a/autobahn/client/hornbeam_case_6_14_7.html +++ b/autobahn/client/hornbeam_case_6_14_7.html @@ -202,78 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.14.7 : Fail - 531 ms @ 2023-08-10T23:01:59.355Z

+

Hornbeam - Case 6.14.7 : Pass - 2 ms @ 2023-08-11T05:15:19.255Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xefbf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=131&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: 0iP/pbasSg07s5Y01GXnTQ==
+Sec-WebSocket-Key: wCDkxuTPPLP+Qnf57oSGKg==
 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: U3WR/A7KVWgZZFoEfmA/Woa9lOU=
+Sec-WebSocket-Accept: UMd1QsRGyl9+7XmFt//jU4xqKHE=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - +
Chop SizeCountOctets
111
8216
1841184
Total4201
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
414
14114
2061206
Total3224
Total2210

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -286,18 +280,7 @@ Sec-WebSocket-Accept: U3WR/A7KVWgZZFoEfmA/Woa9lOU=
               0xefbf
003 TX OCTETS: 8102efbf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 83882568d6679ad5
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3838323536386436
-
               �
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882ed45bdc4eead
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6564343562646334
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_14_7.json b/autobahn/client/hornbeam_case_6_14_7.json index 312028f..fa3858d 100644 --- a/autobahn/client/hornbeam_case_6_14_7.json +++ b/autobahn/client/hornbeam_case_6_14_7.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 131, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xefbf", - "droppedByMe": true, - "duration": 531, + "droppedByMe": false, + "duration": 2, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,49 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=131&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 0iP/pbasSg07s5Y01GXnTQ==\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: U3WR/A7KVWgZZFoEfmA/Woa9lOU=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=131&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: wCDkxuTPPLP+Qnf57oSGKg==\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: UMd1QsRGyl9+7XmFt//jU4xqKHE=\r\n\r\n", "id": "6.14.7", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 2, "184": 1 }, - "started": "2023-08-10T23:01:59.355Z", + "started": "2023-08-11T05:15:19.255Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "4": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -107,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 8, - "83882568d6679ad5" - ] - ], - [ - "RF", - [ - 3, - "\ufffd" - ], - 1, - true, - 0, - true, - "882568d6" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882ed45bdc4eead" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "ed45bdc4" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_14_8.html b/autobahn/client/hornbeam_case_6_14_8.html index 68d7331..d2d70e8 100644 --- a/autobahn/client/hornbeam_case_6_14_8.html +++ b/autobahn/client/hornbeam_case_6_14_8.html @@ -202,78 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.14.8 : Fail - 503 ms @ 2023-08-10T23:01:59.904Z

+

Hornbeam - Case 6.14.8 : Pass - 1 ms @ 2023-08-11T05:15:19.258Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf7bfbf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=132&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: dgERuWOhCwsBMqA3ZR4bOQ==
+Sec-WebSocket-Key: 0NPNezkzzOa0uWU+ihwZYg==
 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: 1eWU0iy67kO6Pucpce+yqi9B95E=
+Sec-WebSocket-Accept: Nk1nabm9LgJFLyCt5o9iglvTZ6k=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - +
Chop SizeCountOctets
818
15115
1841184
Total3207
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
515
14114
2061206
Total3225
Total2211

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -286,17 +280,7 @@ Sec-WebSocket-Accept: 1eWU0iy67kO6Pucpce+yqi9B95E=
               0xf7bfbf
003 TX OCTETS: 8103f7bfbf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 818916479e46f9f823a9a9fa71f9ab
-
006 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3136343739653436
-
               ���
-
007 FAILING CONNECTION
-
008 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
009 TX OCTETS: 880c03e9476f696e672041776179
-
010 RX OCTETS: 888226d65d3c253e
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3236643635643363
-
               0x03e8
-
012 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_14_8.json b/autobahn/client/hornbeam_case_6_14_8.json index 0737f54..aed5d39 100644 --- a/autobahn/client/hornbeam_case_6_14_8.json +++ b/autobahn/client/hornbeam_case_6_14_8.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 132, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf7bfbf", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,49 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=132&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: dgERuWOhCwsBMqA3ZR4bOQ==\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: 1eWU0iy67kO6Pucpce+yqi9B95E=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=132&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 0NPNezkzzOa0uWU+ihwZYg==\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: Nk1nabm9LgJFLyCt5o9iglvTZ6k=\r\n\r\n", "id": "6.14.8", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "8": 1, - "15": 1, "184": 1 }, - "started": "2023-08-10T23:01:59.904Z", + "started": "2023-08-11T05:15:19.258Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "5": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -107,69 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 15, - "818916479e46f9f823a9a9fa71f9ab" - ] - ], - [ - "RF", - [ - 9, - "\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "16479e46" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "888226d65d3c253e" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "26d65d3c" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_14_9.html b/autobahn/client/hornbeam_case_6_14_9.html index 5666e51..7a8b27a 100644 --- a/autobahn/client/hornbeam_case_6_14_9.html +++ b/autobahn/client/hornbeam_case_6_14_9.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.14.9 : Fail - 503 ms @ 2023-08-10T23:02:00.409Z

+

Hornbeam - Case 6.14.9 : Pass - 2 ms @ 2023-08-11T05:15:19.262Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfbbfbfbf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=133&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: lCtD5PjEceqESRMooflYWw==
+Sec-WebSocket-Key: IKcijM7Zzs9/1GhmiV7YgA==
 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: ljDMM28KEwP4wZFiHqVahhRaoTo=
+Sec-WebSocket-Accept: Kkkuj3Bo5JZ8EF3irCuyFSUUUPM=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
17117
1841184
Total4210
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
616
14114
2061206
Total3226
Total2212

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: ljDMM28KEwP4wZFiHqVahhRaoTo=
               0xfbbfbfbf
003 TX OCTETS: 8104fbbfbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8cd80e488637b1f56967b3a73965e1f73b
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=6438306534383836
-
               ����
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882ef3d22fbecd5
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6566336432326662
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_14_9.json b/autobahn/client/hornbeam_case_6_14_9.json index 7251a66..a91e29e 100644 --- a/autobahn/client/hornbeam_case_6_14_9.json +++ b/autobahn/client/hornbeam_case_6_14_9.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 133, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfbbfbfbf", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 2, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=133&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: lCtD5PjEceqESRMooflYWw==\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: ljDMM28KEwP4wZFiHqVahhRaoTo=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=133&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: IKcijM7Zzs9/1GhmiV7YgA==\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: Kkkuj3Bo5JZ8EF3irCuyFSUUUPM=\r\n\r\n", "id": "6.14.9", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "17": 1, "184": 1 }, - "started": "2023-08-10T23:02:00.409Z", + "started": "2023-08-11T05:15:19.262Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "6": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 17, - "8cd80e488637b1f56967b3a73965e1f73b" - ] - ], - [ - "RF", - [ - 12, - "\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "d80e4886" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882ef3d22fbecd5" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "ef3d22fb" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_15_1.html b/autobahn/client/hornbeam_case_6_15_1.html index b7430ad..df540cc 100644 --- a/autobahn/client/hornbeam_case_6_15_1.html +++ b/autobahn/client/hornbeam_case_6_15_1.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.15.1 : Fail - 503 ms @ 2023-08-10T23:02:01.420Z

+

Hornbeam - Case 6.15.1 : Pass - 1 ms @ 2023-08-11T05:15:19.270Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xc0e080f08080f8808080fc80808080dfefbff7bfbffbbfbfbffdbfbfbfbf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', '0xefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdef ...', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=135&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: WABK5ZbTtbGd3xxW0w7z9A==
+Sec-WebSocket-Key: BySmBBN1TdZEr7IC3B2AxA==
 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: O5YRGK5EQFY6GQp8jSDGSDZ4248=
+Sec-WebSocket-Accept: rWm+d7t1s8mqjUHc5zpKePWB38o=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
92192
1841184
Total4285
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
14114
32132
2061206
Total3252
Total2238

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,20 +280,7 @@ Sec-WebSocket-Accept: O5YRGK5EQFY6GQp8jSDGSDZ4248=
               0xc0e080f08080f8808080fc80808080dfefbff7bfbffbbfbfbffdbfbfbfbf
003 TX OCTETS: 811ec0e080f08080f8808080fc80808080dfefbff7bfbffbbfbfbffdbfbfbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: d7311b122edea4afc18ea6fd918cf4ad93dea4afc18ea6fd918cf4ad93dea4afc18ea6fd918cf4ad93dea4afc18ea6fd918c
-
               f4ad93dea4afc18ea6fd918cf4ad ...
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=87, MASKED=True, MASK=3331316231323265
-
               0xefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdef
-
               bfbdefbfbdefbfbdefbfbdefbfbdef ...
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 888219b552551a5d
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3139623535323535
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_15_1.json b/autobahn/client/hornbeam_case_6_15_1.json index e100cf0..bd4e776 100644 --- a/autobahn/client/hornbeam_case_6_15_1.json +++ b/autobahn/client/hornbeam_case_6_15_1.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 135, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xc0e080f08080f8808080fc80808080dfefbff7bfbffbbfbfbffdbfbfbfbf", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=135&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: WABK5ZbTtbGd3xxW0w7z9A==\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: O5YRGK5EQFY6GQp8jSDGSDZ4248=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=135&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: BySmBBN1TdZEr7IC3B2AxA==\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: rWm+d7t1s8mqjUHc5zpKePWB38o=\r\n\r\n", "id": "6.15.1", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "0xefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdef ...", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "92": 1, "184": 1 }, - "started": "2023-08-10T23:02:01.420Z", + "started": "2023-08-11T05:15:19.270Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { - "14": 1, "32": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 92, - "d7311b122edea4afc18ea6fd918cf4ad93dea4afc18ea6fd918cf4ad93dea4afc18ea6fd918cf4ad93dea4afc18ea6fd918cf4ad93dea4afc18ea6fd918cf4ad ..." - ] - ], - [ - "RF", - [ - 87, - "0xefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdefbfbdef ..." - ], - 1, - true, - 0, - true, - "311b122e" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "888219b552551a5d" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "19b55255" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_16_1.html b/autobahn/client/hornbeam_case_6_16_1.html index 5e4bdbf..be8848a 100644 --- a/autobahn/client/hornbeam_case_6_16_1.html +++ b/autobahn/client/hornbeam_case_6_16_1.html @@ -202,78 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.16.1 : Fail - 502 ms @ 2023-08-10T23:02:01.925Z

+

Hornbeam - Case 6.16.1 : Pass - 2 ms @ 2023-08-11T05:15:19.273Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfe

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=136&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: MN1sp4Fi8jfy8NFA50yHww==
+Sec-WebSocket-Key: N2qg0WA2VJmstddK+mLuLA==
 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: m2zLggtyDkC0GI9FtIYJ4GJ6tXE=
+Sec-WebSocket-Accept: COLlK3jUQOap1k3/AWJMqCGouyY=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - +
Chop SizeCountOctets
111
8216
1841184
Total4201
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
313
14114
2061206
Total3223
Total2209

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -286,18 +280,7 @@ Sec-WebSocket-Accept: m2zLggtyDkC0GI9FtIYJ4GJ6tXE=
               0xfe
003 TX OCTETS: 8101fe
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 83fea92528111698
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=6665613932353238
-
               �
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 888279a2a3b07a4a
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3739613261336230
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_16_1.json b/autobahn/client/hornbeam_case_6_16_1.json index af69c64..e6980a0 100644 --- a/autobahn/client/hornbeam_case_6_16_1.json +++ b/autobahn/client/hornbeam_case_6_16_1.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 136, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfe", - "droppedByMe": true, - "duration": 502, + "droppedByMe": false, + "duration": 2, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,49 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=136&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: MN1sp4Fi8jfy8NFA50yHww==\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: m2zLggtyDkC0GI9FtIYJ4GJ6tXE=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=136&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: N2qg0WA2VJmstddK+mLuLA==\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: COLlK3jUQOap1k3/AWJMqCGouyY=\r\n\r\n", "id": "6.16.1", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 2, "184": 1 }, - "started": "2023-08-10T23:02:01.925Z", + "started": "2023-08-11T05:15:19.273Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "3": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -107,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 8, - "83fea92528111698" - ] - ], - [ - "RF", - [ - 3, - "\ufffd" - ], - 1, - true, - 0, - true, - "fea92528" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "888279a2a3b07a4a" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "79a2a3b0" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_16_2.html b/autobahn/client/hornbeam_case_6_16_2.html index 515ed1b..4abfcb5 100644 --- a/autobahn/client/hornbeam_case_6_16_2.html +++ b/autobahn/client/hornbeam_case_6_16_2.html @@ -202,78 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.16.2 : Fail - 504 ms @ 2023-08-10T23:02:02.428Z

+

Hornbeam - Case 6.16.2 : Pass - 2 ms @ 2023-08-11T05:15:19.277Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xff

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=137&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: tAavZx3ptqCcSzWcHsHA1Q==
+Sec-WebSocket-Key: Vlxz9lpkOFus5fFHl6f6Hw==
 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: SfKQpoHnmnOXC0zdSRTUhj/swPI=
+Sec-WebSocket-Accept: yyR7dEshNYlVy0QMifX7+BAxdvE=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - +
Chop SizeCountOctets
111
8216
1841184
Total4201
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
313
14114
2061206
Total3223
Total2209

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -286,18 +280,7 @@ Sec-WebSocket-Accept: SfKQpoHnmnOXC0zdSRTUhj/swPI=
               0xff
003 TX OCTETS: 8101ff
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8370daa2019f651f
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3730646161323031
-
               �
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882ca8f0cebc967
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6361386630636562
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_16_2.json b/autobahn/client/hornbeam_case_6_16_2.json index 877cdcd..e30b22a 100644 --- a/autobahn/client/hornbeam_case_6_16_2.json +++ b/autobahn/client/hornbeam_case_6_16_2.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 137, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xff", - "droppedByMe": true, - "duration": 504, + "droppedByMe": false, + "duration": 2, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,49 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=137&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: tAavZx3ptqCcSzWcHsHA1Q==\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: SfKQpoHnmnOXC0zdSRTUhj/swPI=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=137&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Vlxz9lpkOFus5fFHl6f6Hw==\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: yyR7dEshNYlVy0QMifX7+BAxdvE=\r\n\r\n", "id": "6.16.2", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 2, "184": 1 }, - "started": "2023-08-10T23:02:02.428Z", + "started": "2023-08-11T05:15:19.277Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "3": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -107,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 8, - "8370daa2019f651f" - ] - ], - [ - "RF", - [ - 3, - "\ufffd" - ], - 1, - true, - 0, - true, - "70daa201" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882ca8f0cebc967" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "ca8f0ceb" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_16_3.html b/autobahn/client/hornbeam_case_6_16_3.html index cd35f57..38c69dc 100644 --- a/autobahn/client/hornbeam_case_6_16_3.html +++ b/autobahn/client/hornbeam_case_6_16_3.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.16.3 : Fail - 503 ms @ 2023-08-10T23:02:02.934Z

+

Hornbeam - Case 6.16.3 : Pass - 2 ms @ 2023-08-11T05:15:19.281Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfefeffff

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=138&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: EQJYri3AIasNhuaO62+0Zg==
+Sec-WebSocket-Key: UuFSoxL43/zaejcdnxcNDA==
 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: ujVCpBXFVdhrEAesWNBY3Sn3ejw=
+Sec-WebSocket-Accept: R6mx3b1IL5BzFiuPsF0UxeXGu40=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
17117
1841184
Total4210
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
616
14114
2061206
Total3226
Total2212

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: ujVCpBXFVdhrEAesWNBY3Sn3ejw=
               0xfefeffff
003 TX OCTETS: 8104fefeffff
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8ca196d1334e296cdc1e2b3e8c1c796e8e
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=6131393664313333
-
               ����
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88823111bc9032f9
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3331313162633930
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_16_3.json b/autobahn/client/hornbeam_case_6_16_3.json index 37781ad..2700a5b 100644 --- a/autobahn/client/hornbeam_case_6_16_3.json +++ b/autobahn/client/hornbeam_case_6_16_3.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 138, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfefeffff", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 2, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=138&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: EQJYri3AIasNhuaO62+0Zg==\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: ujVCpBXFVdhrEAesWNBY3Sn3ejw=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=138&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: UuFSoxL43/zaejcdnxcNDA==\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: R6mx3b1IL5BzFiuPsF0UxeXGu40=\r\n\r\n", "id": "6.16.3", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "17": 1, "184": 1 }, - "started": "2023-08-10T23:02:02.934Z", + "started": "2023-08-11T05:15:19.281Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "6": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 17, - "8ca196d1334e296cdc1e2b3e8c1c796e8e" - ] - ], - [ - "RF", - [ - 12, - "\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "a196d133" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88823111bc9032f9" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "3111bc90" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_17_1.html b/autobahn/client/hornbeam_case_6_17_1.html index 3ed8d4f..1da5d32 100644 --- a/autobahn/client/hornbeam_case_6_17_1.html +++ b/autobahn/client/hornbeam_case_6_17_1.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.17.1 : Fail - 503 ms @ 2023-08-10T23:02:03.440Z

+

Hornbeam - Case 6.17.1 : Pass - 1 ms @ 2023-08-11T05:15:19.286Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xc0af

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=139&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: P8rR5mpoKzUacfypIRSZyQ==
+Sec-WebSocket-Key: cZHRbZdo7IkrT60jRufA6A==
 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: EX/kmBQxVWR5izFQMBpVYwBDkJQ=
+Sec-WebSocket-Accept: m8BHZwEd6r2MRVob25NT41CXW3Q=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
11111
1841184
Total4204
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
414
14114
2061206
Total3224
Total2210

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: EX/kmBQxVWR5izFQMBpVYwBDkJQ=
               0xc0af
003 TX OCTETS: 8102c0af
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8694f7527d7b48ef922b4a
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=6, MASKED=True, MASK=3934663735323764
-
               ��
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882771177c774f9
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3737313137376337
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_17_1.json b/autobahn/client/hornbeam_case_6_17_1.json index 4d1d904..486ab13 100644 --- a/autobahn/client/hornbeam_case_6_17_1.json +++ b/autobahn/client/hornbeam_case_6_17_1.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 139, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xc0af", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=139&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: P8rR5mpoKzUacfypIRSZyQ==\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: EX/kmBQxVWR5izFQMBpVYwBDkJQ=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=139&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: cZHRbZdo7IkrT60jRufA6A==\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: m8BHZwEd6r2MRVob25NT41CXW3Q=\r\n\r\n", "id": "6.17.1", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "11": 1, "184": 1 }, - "started": "2023-08-10T23:02:03.440Z", + "started": "2023-08-11T05:15:19.286Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "4": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 11, - "8694f7527d7b48ef922b4a" - ] - ], - [ - "RF", - [ - 6, - "\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "94f7527d" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882771177c774f9" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "771177c7" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_17_2.html b/autobahn/client/hornbeam_case_6_17_2.html index 70333e0..fbc4b83 100644 --- a/autobahn/client/hornbeam_case_6_17_2.html +++ b/autobahn/client/hornbeam_case_6_17_2.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.17.2 : Fail - 503 ms @ 2023-08-10T23:02:03.945Z

+

Hornbeam - Case 6.17.2 : Pass - 1 ms @ 2023-08-11T05:15:19.289Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xe080af

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=140&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: 7zfN9X8L7y79LsOMhk5Txg==
+Sec-WebSocket-Key: U3BJXP8mO4zlKnCNq4JpCg==
 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: 8cKaA8fVVLzomZ65y/GrBlaSdgg=
+Sec-WebSocket-Accept: bF9jgM27jgclfWo0oe3tGzcVrIE=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
14114
1841184
Total4207
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
515
14114
2061206
Total3225
Total2211

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: 8cKaA8fVVLzomZ65y/GrBlaSdgg=
               0xe080af
003 TX OCTETS: 8103e080af
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 89b53cc7115a837afe0a8128ae08
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6235336363373131
-
               ���
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882e9e83a3cea00
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6539653833613363
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_17_2.json b/autobahn/client/hornbeam_case_6_17_2.json index 9cbd878..ddac068 100644 --- a/autobahn/client/hornbeam_case_6_17_2.json +++ b/autobahn/client/hornbeam_case_6_17_2.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 140, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xe080af", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=140&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 7zfN9X8L7y79LsOMhk5Txg==\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: 8cKaA8fVVLzomZ65y/GrBlaSdgg=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=140&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: U3BJXP8mO4zlKnCNq4JpCg==\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: bF9jgM27jgclfWo0oe3tGzcVrIE=\r\n\r\n", "id": "6.17.2", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "14": 1, "184": 1 }, - "started": "2023-08-10T23:02:03.945Z", + "started": "2023-08-11T05:15:19.289Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "5": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 14, - "89b53cc7115a837afe0a8128ae08" - ] - ], - [ - "RF", - [ - 9, - "\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "b53cc711" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882e9e83a3cea00" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "e9e83a3c" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_17_3.html b/autobahn/client/hornbeam_case_6_17_3.html index b4d969a..5824f19 100644 --- a/autobahn/client/hornbeam_case_6_17_3.html +++ b/autobahn/client/hornbeam_case_6_17_3.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.17.3 : Fail - 503 ms @ 2023-08-10T23:02:04.451Z

+

Hornbeam - Case 6.17.3 : Pass - 2 ms @ 2023-08-11T05:15:19.292Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf08080af

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=141&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: 5ktd8UGBIZKlUuqCwytTIw==
+Sec-WebSocket-Key: zK2q6vJd4yPfvvvMPakNQg==
 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: kAbwZMk9SZMHSyb9VqI+vgSBJG8=
+Sec-WebSocket-Accept: QKJ01C52W9bqqTJros0JoOicU5Q=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
17117
1841184
Total4210
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
616
14114
2061206
Total3226
Total2212

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: kAbwZMk9SZMHSyb9VqI+vgSBJG8=
               0xf08080af
003 TX OCTETS: 8104f08080af
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8cd4c40a683b7bb7876b79e5d7692bb5d5
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=6434633430613638
-
               ����
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88824c90dcc44f78
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3463393064636334
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_17_3.json b/autobahn/client/hornbeam_case_6_17_3.json index 4e208cb..7e62f75 100644 --- a/autobahn/client/hornbeam_case_6_17_3.json +++ b/autobahn/client/hornbeam_case_6_17_3.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 141, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf08080af", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 2, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=141&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 5ktd8UGBIZKlUuqCwytTIw==\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: kAbwZMk9SZMHSyb9VqI+vgSBJG8=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=141&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: zK2q6vJd4yPfvvvMPakNQg==\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: QKJ01C52W9bqqTJros0JoOicU5Q=\r\n\r\n", "id": "6.17.3", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "17": 1, "184": 1 }, - "started": "2023-08-10T23:02:04.451Z", + "started": "2023-08-11T05:15:19.292Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "6": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 17, - "8cd4c40a683b7bb7876b79e5d7692bb5d5" - ] - ], - [ - "RF", - [ - 12, - "\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "d4c40a68" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88824c90dcc44f78" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "4c90dcc4" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_17_4.html b/autobahn/client/hornbeam_case_6_17_4.html index 3d64b32..0b75041 100644 --- a/autobahn/client/hornbeam_case_6_17_4.html +++ b/autobahn/client/hornbeam_case_6_17_4.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.17.4 : Fail - 503 ms @ 2023-08-10T23:02:04.957Z

+

Hornbeam - Case 6.17.4 : Pass - 1 ms @ 2023-08-11T05:15:19.297Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf8808080af

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=142&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: Zvy4xf+/i4bnmPArgPc28g==
+Sec-WebSocket-Key: uKH9hqi6ZXDvfqID4dXeuA==
 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: otD5IBZVESMEb3gZ8YCiDIb2HWQ=
+Sec-WebSocket-Accept: cifhWDE2AD1oirjpE6rAGWLiLlo=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
20120
1841184
Total4213
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
717
14114
2061206
Total3227
Total2213

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: otD5IBZVESMEb3gZ8YCiDIb2HWQ=
               0xf8808080af
003 TX OCTETS: 8105f8808080af
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8fd7683cb538d7815a68d5d30a6a87830838d781
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=15, MASKED=True, MASK=6437363833636235
-
               �����
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882110956cf12e1
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3131303935366366
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_17_4.json b/autobahn/client/hornbeam_case_6_17_4.json index d55fc28..e24037a 100644 --- a/autobahn/client/hornbeam_case_6_17_4.json +++ b/autobahn/client/hornbeam_case_6_17_4.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 142, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf8808080af", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=142&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Zvy4xf+/i4bnmPArgPc28g==\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: otD5IBZVESMEb3gZ8YCiDIb2HWQ=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=142&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: uKH9hqi6ZXDvfqID4dXeuA==\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: cifhWDE2AD1oirjpE6rAGWLiLlo=\r\n\r\n", "id": "6.17.4", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "20": 1, "184": 1 }, - "started": "2023-08-10T23:02:04.957Z", + "started": "2023-08-11T05:15:19.297Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "7": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 20, - "8fd7683cb538d7815a68d5d30a6a87830838d781" - ] - ], - [ - "RF", - [ - 15, - "\ufffd\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "d7683cb5" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882110956cf12e1" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "110956cf" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_17_5.html b/autobahn/client/hornbeam_case_6_17_5.html index 6409754..c9e77be 100644 --- a/autobahn/client/hornbeam_case_6_17_5.html +++ b/autobahn/client/hornbeam_case_6_17_5.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.17.5 : Fail - 503 ms @ 2023-08-10T23:02:05.463Z

+

Hornbeam - Case 6.17.5 : Pass - 1 ms @ 2023-08-11T05:15:19.300Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfc80808080af

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=143&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: 5bQMHHx/HG0w38lmqBmNdw==
+Sec-WebSocket-Key: HOuCtaZordm3CF1PvzQ5pw==
 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: TuYBXZkybvY7MOT/l5xIMixSrnk=
+Sec-WebSocket-Accept: PaxRQ6tN1OmAP7yeQIBlIj/1EmA=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
23123
1841184
Total4216
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
818
14114
2061206
Total3228
Total2214

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: TuYBXZkybvY7MOT/l5xIMixSrnk=
               0xfc80808080af
003 TX OCTETS: 8106fc80808080af
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 92338acb9cdc3576738c3724238e657421dc3576738c37
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=18, MASKED=True, MASK=3333386163623963
-
               ������
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882eb6f3f35e887
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6562366633663335
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_17_5.json b/autobahn/client/hornbeam_case_6_17_5.json index 6f7fb2d..da8f4c5 100644 --- a/autobahn/client/hornbeam_case_6_17_5.json +++ b/autobahn/client/hornbeam_case_6_17_5.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 143, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfc80808080af", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=143&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 5bQMHHx/HG0w38lmqBmNdw==\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: TuYBXZkybvY7MOT/l5xIMixSrnk=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=143&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: HOuCtaZordm3CF1PvzQ5pw==\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: PaxRQ6tN1OmAP7yeQIBlIj/1EmA=\r\n\r\n", "id": "6.17.5", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "23": 1, "184": 1 }, - "started": "2023-08-10T23:02:05.463Z", + "started": "2023-08-11T05:15:19.300Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "8": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 23, - "92338acb9cdc3576738c3724238e657421dc3576738c37" - ] - ], - [ - "RF", - [ - 18, - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "338acb9c" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882eb6f3f35e887" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "eb6f3f35" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_18_1.html b/autobahn/client/hornbeam_case_6_18_1.html index 76258f0..b50b319 100644 --- a/autobahn/client/hornbeam_case_6_18_1.html +++ b/autobahn/client/hornbeam_case_6_18_1.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.18.1 : Fail - 504 ms @ 2023-08-10T23:02:05.969Z

+

Hornbeam - Case 6.18.1 : Pass - 1 ms @ 2023-08-11T05:15:19.303Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xc1bf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=144&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: O/4qfbG61exUjxlFFatRVQ==
+Sec-WebSocket-Key: wt06FJM6Py4FLKA7mCBsFg==
 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: YZ4NABkLRRmqSxXpNQFP7YXpWDI=
+Sec-WebSocket-Accept: VrjEElX5NdGt8z+4fqfK2v0HQWs=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
11111
1841184
Total4204
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
414
14114
2061206
Total3224
Total2210

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: YZ4NABkLRRmqSxXpNQFP7YXpWDI=
               0xc1bf
003 TX OCTETS: 8102c1bf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 86e69f5c9b0920e1745922
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=6, MASKED=True, MASK=6536396635633962
-
               ��
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88827428c81677c0
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3734323863383136
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_18_1.json b/autobahn/client/hornbeam_case_6_18_1.json index 175f34d..295d43a 100644 --- a/autobahn/client/hornbeam_case_6_18_1.json +++ b/autobahn/client/hornbeam_case_6_18_1.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 144, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xc1bf", - "droppedByMe": true, - "duration": 504, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=144&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: O/4qfbG61exUjxlFFatRVQ==\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: YZ4NABkLRRmqSxXpNQFP7YXpWDI=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=144&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: wt06FJM6Py4FLKA7mCBsFg==\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: VrjEElX5NdGt8z+4fqfK2v0HQWs=\r\n\r\n", "id": "6.18.1", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "11": 1, "184": 1 }, - "started": "2023-08-10T23:02:05.969Z", + "started": "2023-08-11T05:15:19.303Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "4": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 11, - "86e69f5c9b0920e1745922" - ] - ], - [ - "RF", - [ - 6, - "\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "e69f5c9b" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88827428c81677c0" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "7428c816" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_18_2.html b/autobahn/client/hornbeam_case_6_18_2.html index 89e78b1..af308d2 100644 --- a/autobahn/client/hornbeam_case_6_18_2.html +++ b/autobahn/client/hornbeam_case_6_18_2.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.18.2 : Fail - 503 ms @ 2023-08-10T23:02:06.475Z

+

Hornbeam - Case 6.18.2 : Pass - 1 ms @ 2023-08-11T05:15:19.306Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xe09fbf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=145&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: tLeUfDkLJi6NXRMrPYCKdg==
+Sec-WebSocket-Key: wCa6gsXlq/DVpIzr604pvw==
 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: UvrCniUid0cXSQC0DOB2I6jkits=
+Sec-WebSocket-Accept: 3LbcHV7uk32DE6n16PmQk4eN7B0=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
14114
1841184
Total4207
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
515
14114
2061206
Total3225
Total2211

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: UvrCniUid0cXSQC0DOB2I6jkits=
               0xe09fbf
003 TX OCTETS: 8103e09fbf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 89b517e3905aa85e7f0aaa0c2f08
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6235313765333930
-
               ���
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88824660403e4588
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3436363034303365
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_18_2.json b/autobahn/client/hornbeam_case_6_18_2.json index 4fa742a..892eaa3 100644 --- a/autobahn/client/hornbeam_case_6_18_2.json +++ b/autobahn/client/hornbeam_case_6_18_2.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 145, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xe09fbf", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=145&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: tLeUfDkLJi6NXRMrPYCKdg==\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: UvrCniUid0cXSQC0DOB2I6jkits=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=145&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: wCa6gsXlq/DVpIzr604pvw==\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: 3LbcHV7uk32DE6n16PmQk4eN7B0=\r\n\r\n", "id": "6.18.2", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "14": 1, "184": 1 }, - "started": "2023-08-10T23:02:06.475Z", + "started": "2023-08-11T05:15:19.306Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "5": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 14, - "89b517e3905aa85e7f0aaa0c2f08" - ] - ], - [ - "RF", - [ - 9, - "\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "b517e390" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88824660403e4588" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "4660403e" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_18_3.html b/autobahn/client/hornbeam_case_6_18_3.html index 9ab8436..bc37197 100644 --- a/autobahn/client/hornbeam_case_6_18_3.html +++ b/autobahn/client/hornbeam_case_6_18_3.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.18.3 : Fail - 503 ms @ 2023-08-10T23:02:06.981Z

+

Hornbeam - Case 6.18.3 : Pass - 2 ms @ 2023-08-11T05:15:19.309Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf08fbfbf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=146&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: rxsuw9dE7yHtAxIqLfrb1A==
+Sec-WebSocket-Key: mRllc+NoKG9gDJnuodFvBw==
 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: CJqZ9a9+tQRXTv4mBCEZatbdsS4=
+Sec-WebSocket-Accept: 2vYsODwiwmCWXiM4u1AhVAtG36E=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
17117
1841184
Total4210
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
616
14114
2061206
Total3226
Total2212

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: CJqZ9a9+tQRXTv4mBCEZatbdsS4=
               0xf08fbfbf
003 TX OCTETS: 8104f08fbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8cec4fa11b03f01cf453f24ea451a01ea6
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=6563346661313162
-
               ����
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882d03effe8d3d6
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6430336566666538
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_18_3.json b/autobahn/client/hornbeam_case_6_18_3.json index 69d4bad..aa7ef67 100644 --- a/autobahn/client/hornbeam_case_6_18_3.json +++ b/autobahn/client/hornbeam_case_6_18_3.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 146, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf08fbfbf", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 2, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=146&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: rxsuw9dE7yHtAxIqLfrb1A==\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: CJqZ9a9+tQRXTv4mBCEZatbdsS4=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=146&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: mRllc+NoKG9gDJnuodFvBw==\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: 2vYsODwiwmCWXiM4u1AhVAtG36E=\r\n\r\n", "id": "6.18.3", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "17": 1, "184": 1 }, - "started": "2023-08-10T23:02:06.981Z", + "started": "2023-08-11T05:15:19.309Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "6": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 17, - "8cec4fa11b03f01cf453f24ea451a01ea6" - ] - ], - [ - "RF", - [ - 12, - "\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "ec4fa11b" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882d03effe8d3d6" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "d03effe8" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_18_4.html b/autobahn/client/hornbeam_case_6_18_4.html index 1c616e8..08dfc9a 100644 --- a/autobahn/client/hornbeam_case_6_18_4.html +++ b/autobahn/client/hornbeam_case_6_18_4.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.18.4 : Fail - 503 ms @ 2023-08-10T23:02:07.488Z

+

Hornbeam - Case 6.18.4 : Pass - 1 ms @ 2023-08-11T05:15:19.312Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf887bfbfbf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=147&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: ugazE9+S2zV3i+dcgHjSJA==
+Sec-WebSocket-Key: K2BMealyBljW+d3wv1C3dA==
 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: +TUiCd1eCFUjWpAGbXExJqPpPZE=
+Sec-WebSocket-Accept: Ejkspns8pc77FWSEnDhqA4iqdJM=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
20120
1841184
Total4213
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
717
14114
2061206
Total3227
Total2213

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: +TUiCd1eCFUjWpAGbXExJqPpPZE=
               0xf887bfbfbf
003 TX OCTETS: 8105f887bfbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8f4ac76b99a578d676f57a8426f728d424a578d6
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=15, MASKED=True, MASK=3461633736623939
-
               �����
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882c172d25dc29a
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6331373264323564
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_18_4.json b/autobahn/client/hornbeam_case_6_18_4.json index dff2ceb..575aca1 100644 --- a/autobahn/client/hornbeam_case_6_18_4.json +++ b/autobahn/client/hornbeam_case_6_18_4.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 147, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf887bfbfbf", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=147&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ugazE9+S2zV3i+dcgHjSJA==\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: +TUiCd1eCFUjWpAGbXExJqPpPZE=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=147&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: K2BMealyBljW+d3wv1C3dA==\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: Ejkspns8pc77FWSEnDhqA4iqdJM=\r\n\r\n", "id": "6.18.4", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "20": 1, "184": 1 }, - "started": "2023-08-10T23:02:07.488Z", + "started": "2023-08-11T05:15:19.312Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "7": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 20, - "8f4ac76b99a578d676f57a8426f728d424a578d6" - ] - ], - [ - "RF", - [ - 15, - "\ufffd\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "4ac76b99" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882c172d25dc29a" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "c172d25d" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_18_5.html b/autobahn/client/hornbeam_case_6_18_5.html index 9b92631..f26bac8 100644 --- a/autobahn/client/hornbeam_case_6_18_5.html +++ b/autobahn/client/hornbeam_case_6_18_5.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.18.5 : Fail - 503 ms @ 2023-08-10T23:02:07.994Z

+

Hornbeam - Case 6.18.5 : Pass - 1 ms @ 2023-08-11T05:15:19.315Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfc83bfbfbfbf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=148&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: mOAfsyMk8YDg/B0Qk0FVMA==
+Sec-WebSocket-Key: Cgpj49V6JLanoFujBjmIbg==
 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: CofK4ZRxKUWefFkSFrrua4IFKXo=
+Sec-WebSocket-Accept: JaztjipdzF6HuMPy4jFcP4ZYEVY=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
23123
1841184
Total4216
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
818
14114
2061206
Total3228
Total2214

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: CofK4ZRxKUWefFkSFrrua4IFKXo=
               0xfc83bfbfbfbf
003 TX OCTETS: 8106fc83bfbfbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 9214986a38fb27d7d7ab258587a977d585fb27d7d7ab25
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=18, MASKED=True, MASK=3134393836613338
-
               ������
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 888262128f5961fa
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3632313238663539
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_18_5.json b/autobahn/client/hornbeam_case_6_18_5.json index d8c8677..a170723 100644 --- a/autobahn/client/hornbeam_case_6_18_5.json +++ b/autobahn/client/hornbeam_case_6_18_5.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 148, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfc83bfbfbfbf", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=148&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: mOAfsyMk8YDg/B0Qk0FVMA==\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: CofK4ZRxKUWefFkSFrrua4IFKXo=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=148&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Cgpj49V6JLanoFujBjmIbg==\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: JaztjipdzF6HuMPy4jFcP4ZYEVY=\r\n\r\n", "id": "6.18.5", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "23": 1, "184": 1 }, - "started": "2023-08-10T23:02:07.994Z", + "started": "2023-08-11T05:15:19.315Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "8": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 23, - "9214986a38fb27d7d7ab258587a977d585fb27d7d7ab25" - ] - ], - [ - "RF", - [ - 18, - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "14986a38" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "888262128f5961fa" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "62128f59" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_19_1.html b/autobahn/client/hornbeam_case_6_19_1.html index 8de4bec..d3eecc1 100644 --- a/autobahn/client/hornbeam_case_6_19_1.html +++ b/autobahn/client/hornbeam_case_6_19_1.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.19.1 : Fail - 503 ms @ 2023-08-10T23:02:08.499Z

+

Hornbeam - Case 6.19.1 : Pass - 1 ms @ 2023-08-11T05:15:19.317Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xc080

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=149&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: MPAAWKglJEUV6YflMfFNCw==
+Sec-WebSocket-Key: +XV73Zc/X+BfoJ64BZTafA==
 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: EOvP34l70tfyHN2vDF6dugXjzgc=
+Sec-WebSocket-Accept: vScmVUPod7yd832j6+ORIri9wtU=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
11111
1841184
Total4204
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
414
14114
2061206
Total3224
Total2210

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: EOvP34l70tfyHN2vDF6dugXjzgc=
               0xc080
003 TX OCTETS: 8102c080
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 864e216914a19ed4fbf19c
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=6, MASKED=True, MASK=3465323136393134
-
               ��
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88820b77aee7089f
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3062373761656537
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_19_1.json b/autobahn/client/hornbeam_case_6_19_1.json index 96f3f22..504b8ca 100644 --- a/autobahn/client/hornbeam_case_6_19_1.json +++ b/autobahn/client/hornbeam_case_6_19_1.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 149, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xc080", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=149&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: MPAAWKglJEUV6YflMfFNCw==\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: EOvP34l70tfyHN2vDF6dugXjzgc=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=149&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: +XV73Zc/X+BfoJ64BZTafA==\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: vScmVUPod7yd832j6+ORIri9wtU=\r\n\r\n", "id": "6.19.1", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "11": 1, "184": 1 }, - "started": "2023-08-10T23:02:08.499Z", + "started": "2023-08-11T05:15:19.317Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "4": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 11, - "864e216914a19ed4fbf19c" - ] - ], - [ - "RF", - [ - 6, - "\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "4e216914" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88820b77aee7089f" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "0b77aee7" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_19_2.html b/autobahn/client/hornbeam_case_6_19_2.html index b054533..fd09a0c 100644 --- a/autobahn/client/hornbeam_case_6_19_2.html +++ b/autobahn/client/hornbeam_case_6_19_2.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.19.2 : Fail - 503 ms @ 2023-08-10T23:02:09.005Z

+

Hornbeam - Case 6.19.2 : Pass - 1 ms @ 2023-08-11T05:15:19.320Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xe08080

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=150&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: 0wXVhVBZXoCWbb3CqGO9Ww==
+Sec-WebSocket-Key: p1DQCZF9UT/5BU5ZSr63qw==
 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: tcxgEUOxXtcVaG+liNVJ9q1wz8U=
+Sec-WebSocket-Accept: I/y2e56cSm+ScFXVKYqoipO727Q=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
14114
1841184
Total4207
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
515
14114
2061206
Total3225
Total2211

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: tcxgEUOxXtcVaG+liNVJ9q1wz8U=
               0xe08080
003 TX OCTETS: 8103e08080
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 89e778e9a708c7544858c506185a
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6537373865396137
-
               ���
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882752f1dfc76c7
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3735326631646663
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_19_2.json b/autobahn/client/hornbeam_case_6_19_2.json index ec04533..ae710a1 100644 --- a/autobahn/client/hornbeam_case_6_19_2.json +++ b/autobahn/client/hornbeam_case_6_19_2.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 150, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xe08080", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=150&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 0wXVhVBZXoCWbb3CqGO9Ww==\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: tcxgEUOxXtcVaG+liNVJ9q1wz8U=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=150&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: p1DQCZF9UT/5BU5ZSr63qw==\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/y2e56cSm+ScFXVKYqoipO727Q=\r\n\r\n", "id": "6.19.2", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "14": 1, "184": 1 }, - "started": "2023-08-10T23:02:09.005Z", + "started": "2023-08-11T05:15:19.320Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "5": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 14, - "89e778e9a708c7544858c506185a" - ] - ], - [ - "RF", - [ - 9, - "\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "e778e9a7" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882752f1dfc76c7" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "752f1dfc" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_19_3.html b/autobahn/client/hornbeam_case_6_19_3.html index 61c1dc7..b86829b 100644 --- a/autobahn/client/hornbeam_case_6_19_3.html +++ b/autobahn/client/hornbeam_case_6_19_3.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.19.3 : Fail - 502 ms @ 2023-08-10T23:02:09.511Z

+

Hornbeam - Case 6.19.3 : Pass - 1 ms @ 2023-08-11T05:15:19.322Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf0808080

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=151&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: 72EXbIZw9qoMxDEULybB3A==
+Sec-WebSocket-Key: O7f6e8ajdnWsph7Gu3g+7Q==
 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: 5gNlYVJOohpSpKB1XxAyJg9HHlY=
+Sec-WebSocket-Accept: m5z/NY69fP0Sd+r5WQ80rdxvVq4=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
17117
1841184
Total4210
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
616
14114
2061206
Total3226
Total2212

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: 5gNlYVJOohpSpKB1XxAyJg9HHlY=
               0xf0808080
003 TX OCTETS: 8104f0808080
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8c490945fca6b6f813f6b4aa43f4e6fa41
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=3439303934356663
-
               ����
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88826ebd6ed66d55
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3665626436656436
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_19_3.json b/autobahn/client/hornbeam_case_6_19_3.json index 08ecbcb..e1a26ee 100644 --- a/autobahn/client/hornbeam_case_6_19_3.json +++ b/autobahn/client/hornbeam_case_6_19_3.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 151, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf0808080", - "droppedByMe": true, - "duration": 502, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=151&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 72EXbIZw9qoMxDEULybB3A==\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: 5gNlYVJOohpSpKB1XxAyJg9HHlY=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=151&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: O7f6e8ajdnWsph7Gu3g+7Q==\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: m5z/NY69fP0Sd+r5WQ80rdxvVq4=\r\n\r\n", "id": "6.19.3", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "17": 1, "184": 1 }, - "started": "2023-08-10T23:02:09.511Z", + "started": "2023-08-11T05:15:19.322Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "6": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 17, - "8c490945fca6b6f813f6b4aa43f4e6fa41" - ] - ], - [ - "RF", - [ - 12, - "\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "490945fc" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88826ebd6ed66d55" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "6ebd6ed6" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_19_4.html b/autobahn/client/hornbeam_case_6_19_4.html index fcc2977..cd22518 100644 --- a/autobahn/client/hornbeam_case_6_19_4.html +++ b/autobahn/client/hornbeam_case_6_19_4.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.19.4 : Fail - 502 ms @ 2023-08-10T23:02:10.016Z

+

Hornbeam - Case 6.19.4 : Pass - 2 ms @ 2023-08-11T05:15:19.325Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf880808080

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=152&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: OYYH2Lgd9o0karHmmAs0xw==
+Sec-WebSocket-Key: Bf+ZWrnUQ0C5ETSe2oOwdg==
 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: wK7XyYGZOM9FsFNVLyF7MNnGLqU=
+Sec-WebSocket-Accept: sSaO4p/0Qz327Vpfpgqd6t9mf0Y=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
20120
1841184
Total4213
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
717
14114
2061206
Total3227
Total2213

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: wK7XyYGZOM9FsFNVLyF7MNnGLqU=
               0xf880808080
003 TX OCTETS: 8105f880808080
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8fc12f0c282e90b1c77e92e3977cc0b3952e90b1
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=15, MASKED=True, MASK=6331326630633238
-
               �����
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882289ded752b75
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3238396465643735
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_19_4.json b/autobahn/client/hornbeam_case_6_19_4.json index d9143f3..1f5c7ff 100644 --- a/autobahn/client/hornbeam_case_6_19_4.json +++ b/autobahn/client/hornbeam_case_6_19_4.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 152, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf880808080", - "droppedByMe": true, - "duration": 502, + "droppedByMe": false, + "duration": 2, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=152&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: OYYH2Lgd9o0karHmmAs0xw==\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: wK7XyYGZOM9FsFNVLyF7MNnGLqU=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=152&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Bf+ZWrnUQ0C5ETSe2oOwdg==\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: sSaO4p/0Qz327Vpfpgqd6t9mf0Y=\r\n\r\n", "id": "6.19.4", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "20": 1, "184": 1 }, - "started": "2023-08-10T23:02:10.016Z", + "started": "2023-08-11T05:15:19.325Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "7": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 20, - "8fc12f0c282e90b1c77e92e3977cc0b3952e90b1" - ] - ], - [ - "RF", - [ - 15, - "\ufffd\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "c12f0c28" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882289ded752b75" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "289ded75" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_19_5.html b/autobahn/client/hornbeam_case_6_19_5.html index 4179903..5b8ab8e 100644 --- a/autobahn/client/hornbeam_case_6_19_5.html +++ b/autobahn/client/hornbeam_case_6_19_5.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.19.5 : Fail - 504 ms @ 2023-08-10T23:02:10.520Z

+

Hornbeam - Case 6.19.5 : Pass - 1 ms @ 2023-08-11T05:15:19.329Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfc8080808080

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=153&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: nYlUd9MEqO32mCjzucCqNg==
+Sec-WebSocket-Key: yNLO9buP+gV1pairQKw6cg==
 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: OQWVcxgmbaC3HwtagGdNcylUQZM=
+Sec-WebSocket-Accept: 16Fui8kUjwseiZkaWmrmtOMbmmE=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
23123
1841184
Total4216
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
818
14114
2061206
Total3228
Total2214

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: OQWVcxgmbaC3HwtagGdNcylUQZM=
               0xfc8080808080
003 TX OCTETS: 8106fc8080808080
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 92396cd51cd6d368f386d13aa384836aa1d6d368f386d1
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=18, MASKED=True, MASK=3339366364353163
-
               ������
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882ee870ed7ed6f
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6565383730656437
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_19_5.json b/autobahn/client/hornbeam_case_6_19_5.json index 706f52f..405fae0 100644 --- a/autobahn/client/hornbeam_case_6_19_5.json +++ b/autobahn/client/hornbeam_case_6_19_5.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 153, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfc8080808080", - "droppedByMe": true, - "duration": 504, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=153&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: nYlUd9MEqO32mCjzucCqNg==\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: OQWVcxgmbaC3HwtagGdNcylUQZM=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=153&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: yNLO9buP+gV1pairQKw6cg==\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: 16Fui8kUjwseiZkaWmrmtOMbmmE=\r\n\r\n", "id": "6.19.5", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "23": 1, "184": 1 }, - "started": "2023-08-10T23:02:10.520Z", + "started": "2023-08-11T05:15:19.329Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "8": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 23, - "92396cd51cd6d368f386d13aa384836aa1d6d368f386d1" - ] - ], - [ - "RF", - [ - 18, - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "396cd51c" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882ee870ed7ed6f" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "ee870ed7" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_1_1.html b/autobahn/client/hornbeam_case_6_1_1.html index f67b21f..721cffa 100644 --- a/autobahn/client/hornbeam_case_6_1_1.html +++ b/autobahn/client/hornbeam_case_6_1_1.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.1.1 : Pass - 54 ms @ 2023-08-10T23:01:35.432Z

+

Hornbeam - Case 6.1.1 : Pass - 47 ms @ 2023-08-11T05:15:09.695Z

Case Description

Send text message of length 0.

Case Expectation

A message is echo'ed back to us (with empty payload).

@@ -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: lt8FnPJ77lScHJTtBcW+lg== +Sec-WebSocket-Key: MlmVDQ4BR6tSq5nUPUHlQw== 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: qgmGS+FoHePb0Id2Al7f7I/eZsM=
+Sec-WebSocket-Accept: gXolHqlMOSUa9cQrm4mpIs8Nj80=

Closing Behavior

@@ -287,13 +287,13 @@ Sec-WebSocket-Accept: qgmGS+FoHePb0Id2Al7f7I/eZsM=
003 TX OCTETS: 8100
004 CLOSE CONNECTION AFTER 1.000000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 80d9097305
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=0, MASKED=True, MASK=6439303937333035
+
006 RX OCTETS: 8055dd7d82
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=0, MASKED=True, MASK=3535646437643832
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: 88822654554925bc
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3236353435353439
+
010 RX OCTETS: 88827af19a827919
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3761663139613832
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_1_1.json b/autobahn/client/hornbeam_case_6_1_1.json index 90310f3..b29c30d 100644 --- a/autobahn/client/hornbeam_case_6_1_1.json +++ b/autobahn/client/hornbeam_case_6_1_1.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send text message of length 0.", "droppedByMe": true, - "duration": 54, + "duration": 47, "expectation": "A message is echo'ed back to us (with empty payload).", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=65&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: lt8FnPJ77lScHJTtBcW+lg==\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: qgmGS+FoHePb0Id2Al7f7I/eZsM=\r\n\r\n", + "httpRequest": "GET /runCase?case=65&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: MlmVDQ4BR6tSq5nUPUHlQw==\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: gXolHqlMOSUa9cQrm4mpIs8Nj80=\r\n\r\n", "id": "6.1.1", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "8": 1, "183": 1 }, - "started": "2023-08-10T23:01:35.432Z", + "started": "2023-08-11T05:15:09.695Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 5, - "80d9097305" + "8055dd7d82" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "d9097305" + "55dd7d82" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "88822654554925bc" + "88827af19a827919" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "26545549" + "7af19a82" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_1_2.html b/autobahn/client/hornbeam_case_6_1_2.html index 3c5274f..9d52b6d 100644 --- a/autobahn/client/hornbeam_case_6_1_2.html +++ b/autobahn/client/hornbeam_case_6_1_2.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.1.2 : Pass - 3 ms @ 2023-08-10T23:01:35.490Z

+

Hornbeam - Case 6.1.2 : Pass - 47 ms @ 2023-08-11T05:15:09.745Z

Case Description

Send fragmented text message, 3 fragments each of length 0.

Case Expectation

A message is echo'ed back to us (with empty payload).

@@ -211,21 +211,21 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000; Expected:
{'OK': [('message', u'', False)]}

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

-

Case Closing Behavior

The spec requires the connection to be failed cleanly here (UNCLEAN)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=66&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: /swDhhDJ2vOYfDq5PSxmVw==
+Sec-WebSocket-Key: Zt/MQE6kE5eS6u9t7VgSyw==
 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: qBSxXpUiNRJfgB45L0s/GTmpz5A=
+Sec-WebSocket-Accept: 8HXXcIUp346pkGdxGsWOPCH4VZQ=

Closing Behavior

@@ -233,15 +233,15 @@ Sec-WebSocket-Accept: qBSxXpUiNRJfgB45L0s/GTmpz5A= - - - + + + - +
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

@@ -250,8 +250,9 @@ Sec-WebSocket-Accept: qBSxXpUiNRJfgB45L0s/GTmpz5A= Chop SizeCountOctets 111 515 + 818 1831183 - Total3189 + Total4197

Octets Transmitted by Chop Size

@@ -265,7 +266,8 @@ Sec-WebSocket-Accept: qBSxXpUiNRJfgB45L0s/GTmpz5A=
- + +
OpcodeCount
11
Total1
81
Total2

Frames Transmitted by Opcode

@@ -290,12 +292,15 @@ Sec-WebSocket-Accept: qBSxXpUiNRJfgB45L0s/GTmpz5A=
007 TX OCTETS: 8000
008 CLOSE CONNECTION AFTER 1.000000 sec
009 RX OCTETS: 81
-
010 RX OCTETS: 80e5eaf608
-
011 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=0, MASKED=True, MASK=6535656166363038
+
010 RX OCTETS: 803a8a33cc
+
011 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=0, MASKED=True, MASK=3361386133336363
012 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0x03e8
013 TX OCTETS: 880203e8
-
014 TCP DROPPED BY PEER
+
014 RX OCTETS: 8882c4ae3e29c746
+
015 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6334616533653239
+
               0x03e8
+
016 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_1_2.json b/autobahn/client/hornbeam_case_6_1_2.json index f64e3fc..f69a2ec 100644 --- a/autobahn/client/hornbeam_case_6_1_2.json +++ b/autobahn/client/hornbeam_case_6_1_2.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", "behavior": "OK", - "behaviorClose": "UNCLEAN", + "behaviorClose": "OK", "case": 66, "closedByMe": true, "createStats": true, "createWirelog": true, "description": "Send fragmented text message, 3 fragments each of length 0.", - "droppedByMe": false, - "duration": 3, + "droppedByMe": true, + "duration": 47, "expectation": "A message is echo'ed back to us (with empty payload).", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=66&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: /swDhhDJ2vOYfDq5PSxmVw==\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: qBSxXpUiNRJfgB45L0s/GTmpz5A=\r\n\r\n", + "httpRequest": "GET /runCase?case=66&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Zt/MQE6kE5eS6u9t7VgSyw==\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: 8HXXcIUp346pkGdxGsWOPCH4VZQ=\r\n\r\n", "id": "6.1.2", "isServer": true, "localCloseCode": 1000, @@ -40,21 +40,23 @@ false ] ], - "remoteCloseCode": null, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, "result": "Actual events match at least one expected.", - "resultClose": "The spec requires the connection to be failed cleanly here", + "resultClose": "Connection was properly closed", "rxFrameStats": { - "1": 1 + "1": 1, + "8": 1 }, "rxOctetStats": { "1": 1, "5": 1, + "8": 1, "183": 1 }, - "started": "2023-08-10T23:01:35.490Z", + "started": "2023-08-11T05:15:09.745Z", "trafficStats": null, "txFrameStats": { "0": 2, @@ -66,9 +68,9 @@ "4": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", + "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -168,7 +170,7 @@ "RO", [ 5, - "80e5eaf608" + "803a8a33cc" ] ], [ @@ -181,7 +183,7 @@ true, 0, true, - "e5eaf608" + "3a8a33cc" ], [ "TF", @@ -204,6 +206,25 @@ "880203e8" ], false + ], + [ + "RO", + [ + 8, + "8882c4ae3e29c746" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "c4ae3e29" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_1_3.html b/autobahn/client/hornbeam_case_6_1_3.html index 0423252..24d1a6f 100644 --- a/autobahn/client/hornbeam_case_6_1_3.html +++ b/autobahn/client/hornbeam_case_6_1_3.html @@ -202,46 +202,46 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.1.3 : Fail - 2 ms @ 2023-08-10T23:01:35.496Z

+

Hornbeam - Case 6.1.3 : Pass - 44 ms @ 2023-08-11T05:15:09.794Z

Case Description

Send fragmented text message, 3 fragments, first and last of length 0, middle non-empty.

Case Expectation

A message is echo'ed back to us (with payload = payload of middle fragment).

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': [('message', u'middle frame payload', False)]}

- Observed:
[('message', u'', False)] + Observed:
[('message', u'middle frame payload', False)]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=67&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: pTlYZSaTDsyOi3R63J2FKQ==
+Sec-WebSocket-Key: ++6SoO04EFaua/p0kIoD2Q==
 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: y3dRhu/OPO04MMzMFP865k7s8bw=
+Sec-WebSocket-Accept: pUjD0U77bY3m+ZzImdRdkDWUNaM=

Closing Behavior

- + - - - + + + - + - +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

@@ -249,30 +249,34 @@ Sec-WebSocket-Accept: y3dRhu/OPO04MMzMFP865k7s8bw= - + + - +
Chop SizeCountOctets
111
515
818
25125
1831183
Total3189
Total4217

Octets Transmitted by Chop Size

+ - +
Chop SizeCountOctets
224
414
22122
2061206
Total4232
Total5236

Frames Received by Opcode

- + +
OpcodeCount
11
Total1
81
Total2

Frames Transmitted by Opcode

- + +
OpcodeCount
02
11
Total3
81
Total4


Wire Log

@@ -290,9 +294,16 @@ Sec-WebSocket-Accept: y3dRhu/OPO04MMzMFP865k7s8bw=
007 TX OCTETS: 8000
008 CLOSE CONNECTION AFTER 1.000000 sec
009 RX OCTETS: 81
-
010 RX OCTETS: 80ff1e05df
-
011 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=0, MASKED=True, MASK=6666316530356466
-
012 TCP DROPPED BY PEER
+
010 RX OCTETS: 94267be4de4b1280ba4a1ec4b8541a89bb060b85a74a1485ba
+
011 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=20, MASKED=True, MASK=3236376265346465
+
               middle frame payload
+
012 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
013 TX OCTETS: 880203e8
+
014 RX OCTETS: 888220070d0223ef
+
015 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3230303730643032
+
               0x03e8
+
016 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_1_3.json b/autobahn/client/hornbeam_case_6_1_3.json index 33707b7..9d087f0 100644 --- a/autobahn/client/hornbeam_case_6_1_3.json +++ b/autobahn/client/hornbeam_case_6_1_3.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 67, - "closedByMe": false, + "closedByMe": true, "createStats": true, "createWirelog": true, "description": "Send fragmented text message, 3 fragments, first and last of length 0, middle non-empty.", - "droppedByMe": false, - "duration": 2, + "droppedByMe": true, + "duration": 44, "expectation": "A message is echo'ed back to us (with payload = payload of middle fragment).", "expected": { "OK": [ @@ -27,47 +27,51 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=67&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: pTlYZSaTDsyOi3R63J2FKQ==\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: y3dRhu/OPO04MMzMFP865k7s8bw=\r\n\r\n", + "httpRequest": "GET /runCase?case=67&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ++6SoO04EFaua/p0kIoD2Q==\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: pUjD0U77bY3m+ZzImdRdkDWUNaM=\r\n\r\n", "id": "6.1.3", "isServer": true, - "localCloseCode": null, + "localCloseCode": 1000, "localCloseReason": null, "received": [ [ "message", - "", + "middle frame payload", false ] ], - "remoteCloseCode": null, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", "rxFrameStats": { - "1": 1 + "1": 1, + "8": 1 }, "rxOctetStats": { "1": 1, - "5": 1, + "8": 1, + "25": 1, "183": 1 }, - "started": "2023-08-10T23:01:35.496Z", + "started": "2023-08-11T05:15:09.794Z", "trafficStats": null, "txFrameStats": { "0": 2, - "1": 1 + "1": 1, + "8": 1 }, "txOctetStats": { "2": 2, + "4": 1, "22": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", + "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -166,21 +170,62 @@ [ "RO", [ - 5, - "80ff1e05df" + 25, + "94267be4de4b1280ba4a1ec4b8541a89bb060b85a74a1485ba" ] ], [ "RF", [ - 0, - "" + 20, + "middle frame payload" ], 1, true, 0, true, - "ff1e05df" + "267be4de" + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "888220070d0223ef" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "20070d02" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_20_1.html b/autobahn/client/hornbeam_case_6_20_1.html index ef10e56..39093fc 100644 --- a/autobahn/client/hornbeam_case_6_20_1.html +++ b/autobahn/client/hornbeam_case_6_20_1.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.20.1 : Fail - 503 ms @ 2023-08-10T23:02:11.027Z

+

Hornbeam - Case 6.20.1 : Pass - 1 ms @ 2023-08-11T05:15:19.332Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xeda080

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=154&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: fXRJkvq64379YOBOIJRq2w==
+Sec-WebSocket-Key: mCvMaoLyeNKvdcJKoFSz3g==
 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: kad76/8yg7yu5KO3t/fafpDtFPA=
+Sec-WebSocket-Accept: XJ6MwEbnorMB7Vu3Oe8dHzWLh6U=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
14114
1841184
Total4207
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
515
14114
2061206
Total3225
Total2211

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: kad76/8yg7yu5KO3t/fafpDtFPA=
               í €
003 TX OCTETS: 8103eda080
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8913e6fd6dfc594082ac5b12d2ae
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3133653666643664
-
               ���
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 888278750a5e7b9d
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3738373530613565
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_20_1.json b/autobahn/client/hornbeam_case_6_20_1.json index 59107d3..45d5dae 100644 --- a/autobahn/client/hornbeam_case_6_20_1.json +++ b/autobahn/client/hornbeam_case_6_20_1.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 154, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xeda080", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=154&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: fXRJkvq64379YOBOIJRq2w==\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: kad76/8yg7yu5KO3t/fafpDtFPA=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=154&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: mCvMaoLyeNKvdcJKoFSz3g==\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: XJ6MwEbnorMB7Vu3Oe8dHzWLh6U=\r\n\r\n", "id": "6.20.1", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "14": 1, "184": 1 }, - "started": "2023-08-10T23:02:11.027Z", + "started": "2023-08-11T05:15:19.332Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "5": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 14, - "8913e6fd6dfc594082ac5b12d2ae" - ] - ], - [ - "RF", - [ - 9, - "\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "13e6fd6d" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "888278750a5e7b9d" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "78750a5e" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_20_2.html b/autobahn/client/hornbeam_case_6_20_2.html index edf6089..0e1ab05 100644 --- a/autobahn/client/hornbeam_case_6_20_2.html +++ b/autobahn/client/hornbeam_case_6_20_2.html @@ -202,80 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.20.2 : Fail - 503 ms @ 2023-08-10T23:02:11.534Z

+

Hornbeam - Case 6.20.2 : Pass - 1 ms @ 2023-08-11T05:15:19.335Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedadbf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=155&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: cFH2ZevuFhBpCqbu26Iwjg==
+Sec-WebSocket-Key: WCWTcKuyoQNmiMz+lTdqjA==
 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: U8kcrc6/tG9pIrPjtZNz6BXcFks=
+Sec-WebSocket-Accept: se8cNvsVtcJbVUsf5BnQmowjraU=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - - +
Chop SizeCountOctets
111
212
616
14114
1841184
Total5207
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
515
14114
2061206
Total3225
Total2211

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -288,19 +280,7 @@ Sec-WebSocket-Accept: U8kcrc6/tG9pIrPjtZNz6BXcFks=
               í­¿
003 TX OCTETS: 8103edadbf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 89a876f8a447c9454b17cb171b15
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6138373666386134
-
               ���
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882216e6800
-
012 RX OCTETS: 2286
-
013 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3231366536383030
-
               0x03e8
-
014 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_20_2.json b/autobahn/client/hornbeam_case_6_20_2.json index 002f2e7..6da284c 100644 --- a/autobahn/client/hornbeam_case_6_20_2.json +++ b/autobahn/client/hornbeam_case_6_20_2.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 155, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedadbf", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,51 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=155&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: cFH2ZevuFhBpCqbu26Iwjg==\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: U8kcrc6/tG9pIrPjtZNz6BXcFks=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=155&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: WCWTcKuyoQNmiMz+lTdqjA==\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: se8cNvsVtcJbVUsf5BnQmowjraU=\r\n\r\n", "id": "6.20.2", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "2": 1, - "6": 1, - "14": 1, "184": 1 }, - "started": "2023-08-10T23:02:11.534Z", + "started": "2023-08-11T05:15:19.335Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "5": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -109,83 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 14, - "89a876f8a447c9454b17cb171b15" - ] - ], - [ - "RF", - [ - 9, - "\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "a876f8a4" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 6, - "8882216e6800" - ] - ], - [ - "RO", - [ - 2, - "2286" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "216e6800" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_20_3.html b/autobahn/client/hornbeam_case_6_20_3.html index 0f10a71..289193a 100644 --- a/autobahn/client/hornbeam_case_6_20_3.html +++ b/autobahn/client/hornbeam_case_6_20_3.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.20.3 : Fail - 503 ms @ 2023-08-10T23:02:12.040Z

+

Hornbeam - Case 6.20.3 : Pass - 1 ms @ 2023-08-11T05:15:19.337Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedae80

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=156&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: UvhgwQHWTiLxxfiDftSQEA==
+Sec-WebSocket-Key: 1Si+zxZStGUAEwLBLdmXkw==
 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: 4jEc1OwlsrHwJcLfqAWDfHwIANY=
+Sec-WebSocket-Accept: +qrTVtn4Afdqed+csD8aGc442+M=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
14114
1841184
Total4207
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
515
14114
2061206
Total3225
Total2211

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: 4jEc1OwlsrHwJcLfqAWDfHwIANY=
               í®€
003 TX OCTETS: 8103edae80
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 89120e12aafdb1af45adb3fd15af
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3132306531326161
-
               ���
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 888287e954ca8401
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3837653935346361
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_20_3.json b/autobahn/client/hornbeam_case_6_20_3.json index 55ee20a..ae6f123 100644 --- a/autobahn/client/hornbeam_case_6_20_3.json +++ b/autobahn/client/hornbeam_case_6_20_3.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 156, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedae80", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=156&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: UvhgwQHWTiLxxfiDftSQEA==\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: 4jEc1OwlsrHwJcLfqAWDfHwIANY=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=156&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 1Si+zxZStGUAEwLBLdmXkw==\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: +qrTVtn4Afdqed+csD8aGc442+M=\r\n\r\n", "id": "6.20.3", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "14": 1, "184": 1 }, - "started": "2023-08-10T23:02:12.040Z", + "started": "2023-08-11T05:15:19.337Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "5": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 14, - "89120e12aafdb1af45adb3fd15af" - ] - ], - [ - "RF", - [ - 9, - "\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "120e12aa" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "888287e954ca8401" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "87e954ca" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_20_4.html b/autobahn/client/hornbeam_case_6_20_4.html index 6fb76bf..466db44 100644 --- a/autobahn/client/hornbeam_case_6_20_4.html +++ b/autobahn/client/hornbeam_case_6_20_4.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.20.4 : Fail - 504 ms @ 2023-08-10T23:02:12.546Z

+

Hornbeam - Case 6.20.4 : Pass - 1 ms @ 2023-08-11T05:15:19.341Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedafbf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=157&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: txQIPazKjTYibtvX7T8AZg==
+Sec-WebSocket-Key: kREIh0FtcOJEZj+6SpwYFQ==
 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: e0Beb8xVigSboo4SbEUfQr5zXuQ=
+Sec-WebSocket-Accept: JsTgYlOwxq34AKGY+QJI0vnxzLY=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
14114
1841184
Total4207
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
515
14114
2061206
Total3225
Total2211

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: e0Beb8xVigSboo4SbEUfQr5zXuQ=
               í¯¿
003 TX OCTETS: 8103edafbf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 89535f23f6bce09e19ece2cc49ee
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3533356632336636
-
               ���
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88829fd04e0c9c38
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3966643034653063
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_20_4.json b/autobahn/client/hornbeam_case_6_20_4.json index 905d1fc..453de76 100644 --- a/autobahn/client/hornbeam_case_6_20_4.json +++ b/autobahn/client/hornbeam_case_6_20_4.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 157, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedafbf", - "droppedByMe": true, - "duration": 504, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=157&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: txQIPazKjTYibtvX7T8AZg==\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: e0Beb8xVigSboo4SbEUfQr5zXuQ=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=157&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: kREIh0FtcOJEZj+6SpwYFQ==\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: JsTgYlOwxq34AKGY+QJI0vnxzLY=\r\n\r\n", "id": "6.20.4", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "14": 1, "184": 1 }, - "started": "2023-08-10T23:02:12.546Z", + "started": "2023-08-11T05:15:19.341Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "5": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 14, - "89535f23f6bce09e19ece2cc49ee" - ] - ], - [ - "RF", - [ - 9, - "\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "535f23f6" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88829fd04e0c9c38" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "9fd04e0c" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_20_5.html b/autobahn/client/hornbeam_case_6_20_5.html index 872c69b..6d3df68 100644 --- a/autobahn/client/hornbeam_case_6_20_5.html +++ b/autobahn/client/hornbeam_case_6_20_5.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.20.5 : Fail - 503 ms @ 2023-08-10T23:02:13.052Z

+

Hornbeam - Case 6.20.5 : Pass - 1 ms @ 2023-08-11T05:15:19.344Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedb080

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=158&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: ngKjXd8/KAj4ECj9gSRXlg==
+Sec-WebSocket-Key: 6ccKRVlxtoSu7KPlBW0wUA==
 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: PDs1aZnKN2l57qFuQZOvBToGKvc=
+Sec-WebSocket-Accept: VQvZysLAuCo05UstggpE+oJwxx0=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
14114
1841184
Total4207
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
515
14114
2061206
Total3225
Total2211

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: PDs1aZnKN2l57qFuQZOvBToGKvc=
               í°€
003 TX OCTETS: 8103edb080
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 89917e844a7ec139a52ec36bf52c
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3931376538343461
-
               ���
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88821916bf8d1afe
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3139313662663864
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_20_5.json b/autobahn/client/hornbeam_case_6_20_5.json index ac8dc82..f87c19c 100644 --- a/autobahn/client/hornbeam_case_6_20_5.json +++ b/autobahn/client/hornbeam_case_6_20_5.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 158, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedb080", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=158&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ngKjXd8/KAj4ECj9gSRXlg==\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: PDs1aZnKN2l57qFuQZOvBToGKvc=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=158&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 6ccKRVlxtoSu7KPlBW0wUA==\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: VQvZysLAuCo05UstggpE+oJwxx0=\r\n\r\n", "id": "6.20.5", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "14": 1, "184": 1 }, - "started": "2023-08-10T23:02:13.052Z", + "started": "2023-08-11T05:15:19.344Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "5": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 14, - "89917e844a7ec139a52ec36bf52c" - ] - ], - [ - "RF", - [ - 9, - "\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "917e844a" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88821916bf8d1afe" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "1916bf8d" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_20_6.html b/autobahn/client/hornbeam_case_6_20_6.html index 7eb0a47..c8eae3f 100644 --- a/autobahn/client/hornbeam_case_6_20_6.html +++ b/autobahn/client/hornbeam_case_6_20_6.html @@ -202,80 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.20.6 : Fail - 503 ms @ 2023-08-10T23:02:13.559Z

+

Hornbeam - Case 6.20.6 : Pass - 2 ms @ 2023-08-11T05:15:19.348Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedbe80

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=159&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: QHRoNvQYw0H2R+aptXAy0A==
+Sec-WebSocket-Key: ElfDLAlNFv7NfzZIwkM4EQ==
 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: +peWHX71na6fBDQWXb86zENVQfY=
+Sec-WebSocket-Accept: y6xquT0eXN5910Df68Wl/IXir7c=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - - +
Chop SizeCountOctets
111
212
616
14114
1841184
Total5207
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
515
14114
2061206
Total3225
Total2211

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -288,19 +280,7 @@ Sec-WebSocket-Accept: +peWHX71na6fBDQWXb86zENVQfY=
               í¾€
003 TX OCTETS: 8103edbe80
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 89196d97a5f6d22a4aa6d0781aa4
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3139366439376135
-
               ���
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88829bb3b1e1
-
012 RX OCTETS: 985b
-
013 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3962623362316531
-
               0x03e8
-
014 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_20_6.json b/autobahn/client/hornbeam_case_6_20_6.json index 4799b1d..ea25cb4 100644 --- a/autobahn/client/hornbeam_case_6_20_6.json +++ b/autobahn/client/hornbeam_case_6_20_6.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 159, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedbe80", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 2, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,51 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=159&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: QHRoNvQYw0H2R+aptXAy0A==\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: +peWHX71na6fBDQWXb86zENVQfY=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=159&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ElfDLAlNFv7NfzZIwkM4EQ==\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: y6xquT0eXN5910Df68Wl/IXir7c=\r\n\r\n", "id": "6.20.6", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "2": 1, - "6": 1, - "14": 1, "184": 1 }, - "started": "2023-08-10T23:02:13.559Z", + "started": "2023-08-11T05:15:19.348Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "5": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -109,83 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 14, - "89196d97a5f6d22a4aa6d0781aa4" - ] - ], - [ - "RF", - [ - 9, - "\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "196d97a5" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 6, - "88829bb3b1e1" - ] - ], - [ - "RO", - [ - 2, - "985b" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "9bb3b1e1" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_20_7.html b/autobahn/client/hornbeam_case_6_20_7.html index 26102f1..7d3ac6e 100644 --- a/autobahn/client/hornbeam_case_6_20_7.html +++ b/autobahn/client/hornbeam_case_6_20_7.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.20.7 : Fail - 503 ms @ 2023-08-10T23:02:14.065Z

+

Hornbeam - Case 6.20.7 : Pass - 1 ms @ 2023-08-11T05:15:19.351Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedbfbf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=160&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: mWyFMJPwI43dwXXMPpm4SA==
+Sec-WebSocket-Key: Enbs0ptMUSVAxf9UiZZZiQ==
 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: BlruX+xwz/TDBgV7ZuexSxKrE9Q=
+Sec-WebSocket-Accept: rXuHIpR/7lObOLuNa2VlQWthnG4=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
14114
1841184
Total4207
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
515
14114
2061206
Total3225
Total2211

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: BlruX+xwz/TDBgV7ZuexSxKrE9Q=
               í¿¿
003 TX OCTETS: 8103edbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 89c73bad8b28841064788642347a
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6337336261643862
-
               ���
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88826fa47bdb6c4c
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3666613437626462
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_20_7.json b/autobahn/client/hornbeam_case_6_20_7.json index 016a0ef..f2d941f 100644 --- a/autobahn/client/hornbeam_case_6_20_7.json +++ b/autobahn/client/hornbeam_case_6_20_7.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 160, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedbfbf", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=160&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: mWyFMJPwI43dwXXMPpm4SA==\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: BlruX+xwz/TDBgV7ZuexSxKrE9Q=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=160&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Enbs0ptMUSVAxf9UiZZZiQ==\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: rXuHIpR/7lObOLuNa2VlQWthnG4=\r\n\r\n", "id": "6.20.7", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "14": 1, "184": 1 }, - "started": "2023-08-10T23:02:14.065Z", + "started": "2023-08-11T05:15:19.351Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "5": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 14, - "89c73bad8b28841064788642347a" - ] - ], - [ - "RF", - [ - 9, - "\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "c73bad8b" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88826fa47bdb6c4c" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "6fa47bdb" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_21_1.html b/autobahn/client/hornbeam_case_6_21_1.html index 969b43e..3ce9ab0 100644 --- a/autobahn/client/hornbeam_case_6_21_1.html +++ b/autobahn/client/hornbeam_case_6_21_1.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.21.1 : Fail - 503 ms @ 2023-08-10T23:02:14.570Z

+

Hornbeam - Case 6.21.1 : Pass - 1 ms @ 2023-08-11T05:15:19.355Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xeda080edb080

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=161&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: P9lvzicGyJmGzU3q/am7+w==
+Sec-WebSocket-Key: I4XuCareO7Dar4JVpqu0jA==
 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: xWtIgwSp9TKf8Wv8Nx1TsItbA/8=
+Sec-WebSocket-Accept: 32MuTTWKm8ui8eBKNilXAEXh0NU=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
23123
1841184
Total4216
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
818
14114
2061206
Total3228
Total2214

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: xWtIgwSp9TKf8Wv8Nx1TsItbA/8=
               ð€€
003 TX OCTETS: 8106eda080edb080
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 92fdfa4c5f1245f1b04247a3e04015f3e21245f1b04247
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=18, MASKED=True, MASK=6664666134633566
-
               ������
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882a5c27d44a62a
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6135633237643434
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_21_1.json b/autobahn/client/hornbeam_case_6_21_1.json index 023b7e0..567692e 100644 --- a/autobahn/client/hornbeam_case_6_21_1.json +++ b/autobahn/client/hornbeam_case_6_21_1.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 161, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xeda080edb080", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=161&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: P9lvzicGyJmGzU3q/am7+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: xWtIgwSp9TKf8Wv8Nx1TsItbA/8=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=161&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: I4XuCareO7Dar4JVpqu0jA==\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: 32MuTTWKm8ui8eBKNilXAEXh0NU=\r\n\r\n", "id": "6.21.1", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "23": 1, "184": 1 }, - "started": "2023-08-10T23:02:14.570Z", + "started": "2023-08-11T05:15:19.355Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "8": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 23, - "92fdfa4c5f1245f1b04247a3e04015f3e21245f1b04247" - ] - ], - [ - "RF", - [ - 18, - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "fdfa4c5f" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882a5c27d44a62a" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "a5c27d44" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_21_2.html b/autobahn/client/hornbeam_case_6_21_2.html index 5b7c8bb..7f00f6b 100644 --- a/autobahn/client/hornbeam_case_6_21_2.html +++ b/autobahn/client/hornbeam_case_6_21_2.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.21.2 : Fail - 503 ms @ 2023-08-10T23:02:15.076Z

+

Hornbeam - Case 6.21.2 : Pass - 1 ms @ 2023-08-11T05:15:19.358Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xeda080edbfbf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=162&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: vzq/gjuIWdVb/h+YwWWq1g==
+Sec-WebSocket-Key: wmMFOsgECkgmuZhbPCU4Zw==
 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: faNtWdUw9SIx+lzW3RyIx0G2gYw=
+Sec-WebSocket-Accept: phRmn1g+ftwPrnQF0iE/vpo6psk=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
23123
1841184
Total4216
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
818
14114
2061206
Total3228
Total2214

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: faNtWdUw9SIx+lzW3RyIx0G2gYw=
               ð¿
003 TX OCTETS: 8106eda080edbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 92dfc73f5a307882b5607ad0e5622880e7307882b5607a
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=18, MASKED=True, MASK=6466633733663561
-
               ������
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88829c7a94e89f92
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3963376139346538
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_21_2.json b/autobahn/client/hornbeam_case_6_21_2.json index 61a649e..52ab8ec 100644 --- a/autobahn/client/hornbeam_case_6_21_2.json +++ b/autobahn/client/hornbeam_case_6_21_2.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 162, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xeda080edbfbf", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=162&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: vzq/gjuIWdVb/h+YwWWq1g==\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: faNtWdUw9SIx+lzW3RyIx0G2gYw=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=162&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: wmMFOsgECkgmuZhbPCU4Zw==\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: phRmn1g+ftwPrnQF0iE/vpo6psk=\r\n\r\n", "id": "6.21.2", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "23": 1, "184": 1 }, - "started": "2023-08-10T23:02:15.076Z", + "started": "2023-08-11T05:15:19.358Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "8": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 23, - "92dfc73f5a307882b5607ad0e5622880e7307882b5607a" - ] - ], - [ - "RF", - [ - 18, - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "dfc73f5a" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88829c7a94e89f92" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "9c7a94e8" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_21_3.html b/autobahn/client/hornbeam_case_6_21_3.html index 36d90d7..6a5b973 100644 --- a/autobahn/client/hornbeam_case_6_21_3.html +++ b/autobahn/client/hornbeam_case_6_21_3.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.21.3 : Fail - 503 ms @ 2023-08-10T23:02:15.582Z

+

Hornbeam - Case 6.21.3 : Pass - 1 ms @ 2023-08-11T05:15:19.361Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedadbfedb080

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=163&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: o0wVHCCaL7iLXjfutDdeUg==
+Sec-WebSocket-Key: rX0HgkanbLCk1R+XuyfaAA==
 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: 3HjQKkzP5NfJMnbAThvGmIucR9I=
+Sec-WebSocket-Accept: K6iC30OE68O4R+ZTXVLbzVDuHp8=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
23123
1841184
Total4216
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
818
14114
2061206
Total3228
Total2214

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: 3HjQKkzP5NfJMnbAThvGmIucR9I=
               ó¯°€
003 TX OCTETS: 8106edadbfedb080
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 9246be6db3a901d05cf903820cfb51d20ea901d05cf903
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=18, MASKED=True, MASK=3436626536646233
-
               ������
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882dd84c283de6c
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6464383463323833
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_21_3.json b/autobahn/client/hornbeam_case_6_21_3.json index dc7c01e..3b1e090 100644 --- a/autobahn/client/hornbeam_case_6_21_3.json +++ b/autobahn/client/hornbeam_case_6_21_3.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 163, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedadbfedb080", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=163&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: o0wVHCCaL7iLXjfutDdeUg==\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: 3HjQKkzP5NfJMnbAThvGmIucR9I=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=163&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: rX0HgkanbLCk1R+XuyfaAA==\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: K6iC30OE68O4R+ZTXVLbzVDuHp8=\r\n\r\n", "id": "6.21.3", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "23": 1, "184": 1 }, - "started": "2023-08-10T23:02:15.582Z", + "started": "2023-08-11T05:15:19.361Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "8": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 23, - "9246be6db3a901d05cf903820cfb51d20ea901d05cf903" - ] - ], - [ - "RF", - [ - 18, - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "46be6db3" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882dd84c283de6c" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "dd84c283" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_21_4.html b/autobahn/client/hornbeam_case_6_21_4.html index 1c2868c..83dcc2a 100644 --- a/autobahn/client/hornbeam_case_6_21_4.html +++ b/autobahn/client/hornbeam_case_6_21_4.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.21.4 : Fail - 503 ms @ 2023-08-10T23:02:16.088Z

+

Hornbeam - Case 6.21.4 : Pass - 2 ms @ 2023-08-11T05:15:19.364Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedadbfedbfbf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=164&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: k1/uwMaEeP3pEawNFY2TLA==
+Sec-WebSocket-Key: pU3N+oIl1YZ5fSiToXRrqw==
 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: smi1s02NIA0iRnvmQCvrNwJj0og=
+Sec-WebSocket-Accept: hzbJipe394vBpy+bOACdsLvv8yg=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
23123
1841184
Total4216
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
818
14114
2061206
Total3228
Total2214

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: smi1s02NIA0iRnvmQCvrNwJj0og=
               󯿿
003 TX OCTETS: 8106edadbfedbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 9291cad7727e756a9d2e7738cd2c2568cf7e756a9d2e77
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=18, MASKED=True, MASK=3931636164373732
-
               ������
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882f61b340af5f3
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6636316233343061
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_21_4.json b/autobahn/client/hornbeam_case_6_21_4.json index aafce5a..66d1711 100644 --- a/autobahn/client/hornbeam_case_6_21_4.json +++ b/autobahn/client/hornbeam_case_6_21_4.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 164, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedadbfedbfbf", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 2, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=164&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: k1/uwMaEeP3pEawNFY2TLA==\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: smi1s02NIA0iRnvmQCvrNwJj0og=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=164&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: pU3N+oIl1YZ5fSiToXRrqw==\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: hzbJipe394vBpy+bOACdsLvv8yg=\r\n\r\n", "id": "6.21.4", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "23": 1, "184": 1 }, - "started": "2023-08-10T23:02:16.088Z", + "started": "2023-08-11T05:15:19.364Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "8": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 23, - "9291cad7727e756a9d2e7738cd2c2568cf7e756a9d2e77" - ] - ], - [ - "RF", - [ - 18, - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "91cad772" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882f61b340af5f3" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "f61b340a" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_21_5.html b/autobahn/client/hornbeam_case_6_21_5.html index fb49161..84af002 100644 --- a/autobahn/client/hornbeam_case_6_21_5.html +++ b/autobahn/client/hornbeam_case_6_21_5.html @@ -202,80 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.21.5 : Fail - 503 ms @ 2023-08-10T23:02:16.593Z

+

Hornbeam - Case 6.21.5 : Pass - 1 ms @ 2023-08-11T05:15:19.368Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedae80edb080

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=165&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: /hmp1OWgLBK+0h1Rk7xV4A==
+Sec-WebSocket-Key: NTZ3WGzIY/zpfhyLLp5gyA==
 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: LdyiQh3Fc386Z51KqlFrWJxqL6A=
+Sec-WebSocket-Accept: d4q+lkXqsLuVksOu4OSlJD5kGXs=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - - +
Chop SizeCountOctets
111
212
616
23123
1841184
Total5216
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
818
14114
2061206
Total3228
Total2214

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -288,19 +280,7 @@ Sec-WebSocket-Accept: LdyiQh3Fc386Z51KqlFrWJxqL6A=
               ó°€€
003 TX OCTETS: 8106edae80edb080
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 923f5e244bd0e199a480e3cbf482b19bf6d0e199a480e3
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=18, MASKED=True, MASK=3366356532343462
-
               ������
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882e0eab6c0
-
012 RX OCTETS: e302
-
013 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6530656162366330
-
               0x03e8
-
014 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_21_5.json b/autobahn/client/hornbeam_case_6_21_5.json index c33203e..e35bbc4 100644 --- a/autobahn/client/hornbeam_case_6_21_5.json +++ b/autobahn/client/hornbeam_case_6_21_5.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 165, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedae80edb080", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,51 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=165&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: /hmp1OWgLBK+0h1Rk7xV4A==\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: LdyiQh3Fc386Z51KqlFrWJxqL6A=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=165&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: NTZ3WGzIY/zpfhyLLp5gyA==\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: d4q+lkXqsLuVksOu4OSlJD5kGXs=\r\n\r\n", "id": "6.21.5", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "2": 1, - "6": 1, - "23": 1, "184": 1 }, - "started": "2023-08-10T23:02:16.593Z", + "started": "2023-08-11T05:15:19.368Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "8": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -109,83 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 23, - "923f5e244bd0e199a480e3cbf482b19bf6d0e199a480e3" - ] - ], - [ - "RF", - [ - 18, - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "3f5e244b" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 6, - "8882e0eab6c0" - ] - ], - [ - "RO", - [ - 2, - "e302" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "e0eab6c0" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_21_6.html b/autobahn/client/hornbeam_case_6_21_6.html index 44eb290..cca2159 100644 --- a/autobahn/client/hornbeam_case_6_21_6.html +++ b/autobahn/client/hornbeam_case_6_21_6.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.21.6 : Fail - 503 ms @ 2023-08-10T23:02:17.099Z

+

Hornbeam - Case 6.21.6 : Pass - 1 ms @ 2023-08-11T05:15:19.371Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedae80edbfbf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=166&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: v5sVadMQtQbEQmvn4nis9w==
+Sec-WebSocket-Key: +8kGRsGYOWz6EZRz4qyR6g==
 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: nK1DxASGvfpn7kwqUkHAig0+/Us=
+Sec-WebSocket-Accept: VbAvkOjfj1N5DrZ3maTY72/vfYE=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
23123
1841184
Total4216
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
818
14114
2061206
Total3228
Total2214

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: nK1DxASGvfpn7kwqUkHAig0+/Us=
               ó°¿
003 TX OCTETS: 8106edae80edbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 925b72dbefb4cd6600e4cf3450e69d6452b4cd6600e4cf
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=18, MASKED=True, MASK=3562373264626566
-
               ������
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88823ab76b33395f
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3361623736623333
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_21_6.json b/autobahn/client/hornbeam_case_6_21_6.json index 5f7d4ba..a9860a9 100644 --- a/autobahn/client/hornbeam_case_6_21_6.json +++ b/autobahn/client/hornbeam_case_6_21_6.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 166, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedae80edbfbf", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=166&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: v5sVadMQtQbEQmvn4nis9w==\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: nK1DxASGvfpn7kwqUkHAig0+/Us=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=166&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: +8kGRsGYOWz6EZRz4qyR6g==\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: VbAvkOjfj1N5DrZ3maTY72/vfYE=\r\n\r\n", "id": "6.21.6", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "23": 1, "184": 1 }, - "started": "2023-08-10T23:02:17.099Z", + "started": "2023-08-11T05:15:19.371Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "8": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 23, - "925b72dbefb4cd6600e4cf3450e69d6452b4cd6600e4cf" - ] - ], - [ - "RF", - [ - 18, - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "5b72dbef" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88823ab76b33395f" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "3ab76b33" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_21_7.html b/autobahn/client/hornbeam_case_6_21_7.html index adcdf29..6a51389 100644 --- a/autobahn/client/hornbeam_case_6_21_7.html +++ b/autobahn/client/hornbeam_case_6_21_7.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.21.7 : Fail - 503 ms @ 2023-08-10T23:02:17.605Z

+

Hornbeam - Case 6.21.7 : Pass - 1 ms @ 2023-08-11T05:15:19.374Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedafbfedb080

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=167&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: MeRO9PSnvyzd06vRsnGcRg==
+Sec-WebSocket-Key: Fd0z7haEkmrGW/iLoV7brw==
 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: sDHbvm+WiieL4Xnvg+2vcYRUklY=
+Sec-WebSocket-Accept: 6Ni8/bDWRJlKuuyDYzcxtrqadM8=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
23123
1841184
Total4216
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
818
14114
2061206
Total3228
Total2214

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: sDHbvm+WiieL4Xnvg+2vcYRUklY=
               ô°€
003 TX OCTETS: 8106edafbfedb080
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 922b2394bdc49c2952949e7b0296cc2b00c49c2952949e
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=18, MASKED=True, MASK=3262323339346264
-
               ������
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882bd6d075dbe85
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6264366430373564
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_21_7.json b/autobahn/client/hornbeam_case_6_21_7.json index da4572a..da8746e 100644 --- a/autobahn/client/hornbeam_case_6_21_7.json +++ b/autobahn/client/hornbeam_case_6_21_7.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 167, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedafbfedb080", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=167&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: MeRO9PSnvyzd06vRsnGcRg==\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: sDHbvm+WiieL4Xnvg+2vcYRUklY=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=167&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Fd0z7haEkmrGW/iLoV7brw==\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: 6Ni8/bDWRJlKuuyDYzcxtrqadM8=\r\n\r\n", "id": "6.21.7", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "23": 1, "184": 1 }, - "started": "2023-08-10T23:02:17.605Z", + "started": "2023-08-11T05:15:19.374Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "8": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 23, - "922b2394bdc49c2952949e7b0296cc2b00c49c2952949e" - ] - ], - [ - "RF", - [ - 18, - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "2b2394bd" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882bd6d075dbe85" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "bd6d075d" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_21_8.html b/autobahn/client/hornbeam_case_6_21_8.html index 13d3310..5dc127c 100644 --- a/autobahn/client/hornbeam_case_6_21_8.html +++ b/autobahn/client/hornbeam_case_6_21_8.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.21.8 : Fail - 503 ms @ 2023-08-10T23:02:18.111Z

+

Hornbeam - Case 6.21.8 : Pass - 1 ms @ 2023-08-11T05:15:19.377Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedafbfedbfbf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=168&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: 4ihDqVGc22WN3GbLj1Ubng==
+Sec-WebSocket-Key: HZnTF1FZuNa0Hr5aWdeMSQ==
 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: X2KPI9NSgTFnGT4KxweRWQTFlYo=
+Sec-WebSocket-Accept: vH5gnHfCRQNUcNHPpupFi8V70s0=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
23123
1841184
Total4216
Total1184

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
818
14114
2061206
Total3228
Total2214

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: X2KPI9NSgTFnGT4KxweRWQTFlYo=
               ô¿¿
003 TX OCTETS: 8106edafbfedbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 9228e53352c75a8ebd9758dced950a8cefc75a8ebd9758
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=18, MASKED=True, MASK=3238653533333532
-
               ������
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88824b6b621c4883
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3462366236323163
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_21_8.json b/autobahn/client/hornbeam_case_6_21_8.json index 6c1f728..263d9cd 100644 --- a/autobahn/client/hornbeam_case_6_21_8.json +++ b/autobahn/client/hornbeam_case_6_21_8.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 168, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xedafbfedbfbf", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=168&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 4ihDqVGc22WN3GbLj1Ubng==\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: X2KPI9NSgTFnGT4KxweRWQTFlYo=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=168&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: HZnTF1FZuNa0Hr5aWdeMSQ==\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: vH5gnHfCRQNUcNHPpupFi8V70s0=\r\n\r\n", "id": "6.21.8", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "23": 1, "184": 1 }, - "started": "2023-08-10T23:02:18.111Z", + "started": "2023-08-11T05:15:19.377Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "8": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 23, - "9228e53352c75a8ebd9758dced950a8cefc75a8ebd9758" - ] - ], - [ - "RF", - [ - 18, - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "28e53352" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88824b6b621c4883" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "4b6b621c" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_1.html b/autobahn/client/hornbeam_case_6_22_1.html index 9ea1a50..886a4d0 100644 --- a/autobahn/client/hornbeam_case_6_22_1.html +++ b/autobahn/client/hornbeam_case_6_22_1.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.1 : Pass - 52 ms @ 2023-08-10T23:02:18.616Z

+

Hornbeam - Case 6.22.1 : Pass - 45 ms @ 2023-08-11T05:15:19.379Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xefbfbe

Case Expectation

The message is echo'ed back to us.

@@ -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: iPg3r+OmETynR6nXwzedvw== +Sec-WebSocket-Key: hKyA3t4aSrQpTMJsJRBqcw== 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: 5b8jDiDu7QGy9rXNFm059BKFO/I=
+Sec-WebSocket-Accept: U/c3DsQupke5yhPOq1nLOgyYi18=

Closing Behavior

@@ -288,15 +288,15 @@ Sec-WebSocket-Accept: 5b8jDiDu7QGy9rXNFm059BKFO/I=
003 TX OCTETS: 8103efbfbe
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 838943730b66fccd
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3839343337333062
+
006 RX OCTETS: 833108ab25deb715
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3331303861623235
               ￾
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: 822dfecee62e16
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3264666563656536
+
011 RX OCTETS: 82f7869e58f46e
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6637383639653538
               0x03e8
013 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_22_1.json b/autobahn/client/hornbeam_case_6_22_1.json index ef9cf5b..00206e2 100644 --- a/autobahn/client/hornbeam_case_6_22_1.json +++ b/autobahn/client/hornbeam_case_6_22_1.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xefbfbe", "droppedByMe": true, - "duration": 52, + "duration": 45, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=169&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: iPg3r+OmETynR6nXwzedvw==\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: 5b8jDiDu7QGy9rXNFm059BKFO/I=\r\n\r\n", + "httpRequest": "GET /runCase?case=169&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: hKyA3t4aSrQpTMJsJRBqcw==\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: U/c3DsQupke5yhPOq1nLOgyYi18=\r\n\r\n", "id": "6.22.1", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "8": 1, "184": 1 }, - "started": "2023-08-10T23:02:18.616Z", + "started": "2023-08-11T05:15:19.379Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 8, - "838943730b66fccd" + "833108ab25deb715" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "8943730b" + "3108ab25" ], [ "TF", @@ -173,7 +173,7 @@ "RO", [ 7, - "822dfecee62e16" + "82f7869e58f46e" ] ], [ @@ -186,7 +186,7 @@ true, 0, true, - "2dfecee6" + "f7869e58" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_10.html b/autobahn/client/hornbeam_case_6_22_10.html index da41a68..c1c5e76 100644 --- a/autobahn/client/hornbeam_case_6_22_10.html +++ b/autobahn/client/hornbeam_case_6_22_10.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.10 : Pass - 47 ms @ 2023-08-10T23:02:19.066Z

+

Hornbeam - Case 6.22.10 : Pass - 44 ms @ 2023-08-11T05:15:19.814Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf18fbfbf

Case Expectation

The message is echo'ed back to us.

@@ -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: khgRAXF0yPqg8HNFooouFw== +Sec-WebSocket-Key: j2S3yCfOP8P3PPLw9/4zTg== 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: gFBtSkfgBn1A3ujJ7nbTNGtitv4=
+Sec-WebSocket-Accept: zNzmjZzgVnRptt4LtPynEzsSfkE=

Closing Behavior

@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: gFBtSkfgBn1A3ujJ7nbTNGtitv4=

Octets Received by Chop Size

- - + + - +
Chop SizeCountOctets
122
717
111
818
919
1841184
Total5202
Total4202

Octets Transmitted by Chop Size

@@ -288,17 +288,16 @@ Sec-WebSocket-Accept: gFBtSkfgBn1A3ujJ7nbTNGtitv4=
003 TX OCTETS: 8104f18fbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 847123265980ac99e6
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3731323332363539
+
006 RX OCTETS: 840cb8067bfd37b9c4
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3063623830363762
               ñ¿¿
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: 82bd8b1099be63
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6264386231303939
+
010 RX OCTETS: 88824ea834d04d40
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3465613833346430
               0x03e8
-
013 TCP DROPPED BY ME
+
012 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_22_10.json b/autobahn/client/hornbeam_case_6_22_10.json index d311b49..fe6d5f7 100644 --- a/autobahn/client/hornbeam_case_6_22_10.json +++ b/autobahn/client/hornbeam_case_6_22_10.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf18fbfbf", "droppedByMe": true, - "duration": 47, + "duration": 44, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=178&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: khgRAXF0yPqg8HNFooouFw==\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: gFBtSkfgBn1A3ujJ7nbTNGtitv4=\r\n\r\n", + "httpRequest": "GET /runCase?case=178&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: j2S3yCfOP8P3PPLw9/4zTg==\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: zNzmjZzgVnRptt4LtPynEzsSfkE=\r\n\r\n", "id": "6.22.10", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 2, - "7": 1, + "1": 1, + "8": 1, "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:19.066Z", + "started": "2023-08-11T05:15:19.814Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "847123265980ac99e6" + "840cb8067bfd37b9c4" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "71232659" + "0cb8067b" ], [ "TF", @@ -165,15 +165,8 @@ [ "RO", [ - 1, - "88" - ] - ], - [ - "RO", - [ - 7, - "82bd8b1099be63" + 8, + "88824ea834d04d40" ] ], [ @@ -186,7 +179,7 @@ true, 0, true, - "bd8b1099" + "4ea834d0" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_11.html b/autobahn/client/hornbeam_case_6_22_11.html index 2bb5f0d..e137c22 100644 --- a/autobahn/client/hornbeam_case_6_22_11.html +++ b/autobahn/client/hornbeam_case_6_22_11.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.11 : Pass - 45 ms @ 2023-08-10T23:02:19.116Z

+

Hornbeam - Case 6.22.11 : Pass - 48 ms @ 2023-08-11T05:15:19.861Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf19fbfbe

Case Expectation

The message is echo'ed back to us.

@@ -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: OoVBEXRjXlnUCnlkX2UYFQ== +Sec-WebSocket-Key: AxvfLjrqUAhGdXlO9bdKWw== 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: nTy5o422WkaEUSMjh5fvYq+GjQM=
+Sec-WebSocket-Accept: Tahz1aGtyE3pQMmDtzipfnDOCWE=

Closing Behavior

@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: nTy5o422WkaEUSMjh5fvYq+GjQM=

Octets Received by Chop Size

- - + + - +
Chop SizeCountOctets
122
717
111
818
919
1841184
Total5202
Total4202

Octets Transmitted by Chop Size

@@ -288,17 +288,16 @@ Sec-WebSocket-Accept: nTy5o422WkaEUSMjh5fvYq+GjQM=
003 TX OCTETS: 8104f19fbfbe
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 847d59618d8cc6de33
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3764353936313864
+
006 RX OCTETS: 8444a1fc22b53e439c
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3434613166633232
               񟿾
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: 820791695a0479
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3037393136393561
+
010 RX OCTETS: 88828b02563f88ea
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3862303235363366
               0x03e8
-
013 TCP DROPPED BY ME
+
012 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_22_11.json b/autobahn/client/hornbeam_case_6_22_11.json index 32ffbee..12e3dea 100644 --- a/autobahn/client/hornbeam_case_6_22_11.json +++ b/autobahn/client/hornbeam_case_6_22_11.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf19fbfbe", "droppedByMe": true, - "duration": 45, + "duration": 48, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=179&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: OoVBEXRjXlnUCnlkX2UYFQ==\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: nTy5o422WkaEUSMjh5fvYq+GjQM=\r\n\r\n", + "httpRequest": "GET /runCase?case=179&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: AxvfLjrqUAhGdXlO9bdKWw==\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: Tahz1aGtyE3pQMmDtzipfnDOCWE=\r\n\r\n", "id": "6.22.11", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 2, - "7": 1, + "1": 1, + "8": 1, "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:19.116Z", + "started": "2023-08-11T05:15:19.861Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "847d59618d8cc6de33" + "8444a1fc22b53e439c" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "7d59618d" + "44a1fc22" ], [ "TF", @@ -165,15 +165,8 @@ [ "RO", [ - 1, - "88" - ] - ], - [ - "RO", - [ - 7, - "820791695a0479" + 8, + "88828b02563f88ea" ] ], [ @@ -186,7 +179,7 @@ true, 0, true, - "0791695a" + "8b02563f" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_12.html b/autobahn/client/hornbeam_case_6_22_12.html index 205dd1e..e19176c 100644 --- a/autobahn/client/hornbeam_case_6_22_12.html +++ b/autobahn/client/hornbeam_case_6_22_12.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.12 : Pass - 48 ms @ 2023-08-10T23:02:19.162Z

+

Hornbeam - Case 6.22.12 : Pass - 47 ms @ 2023-08-11T05:15:19.911Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf19fbfbf

Case Expectation

The message is echo'ed back to us.

@@ -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: lY+XMVb7Zziji5M4WET8EA== +Sec-WebSocket-Key: gfGlk6ugSNIxzooR8AANdQ== 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: tndsssz2a9l5klv4FePW5aQ7a9E=
+Sec-WebSocket-Accept: 0KZt5eKfvZdgSf+gm7THo9rDDFg=

Closing Behavior

@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: tndsssz2a9l5klv4FePW5aQ7a9E=

Octets Received by Chop Size

- - + + - +
Chop SizeCountOctets
122
717
111
818
919
1841184
Total5202
Total4202

Octets Transmitted by Chop Size

@@ -288,17 +288,16 @@ Sec-WebSocket-Accept: tndsssz2a9l5klv4FePW5aQ7a9E=
003 TX OCTETS: 8104f19fbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 84dd467d7b2cd9c2c4
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6464343637643762
+
006 RX OCTETS: 849672a32e67ed1c91
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3936373261333265
               񟿿
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: 82da3122fbd9d9
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6461333132326662
+
010 RX OCTETS: 8882559ff9ee5677
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3535396666396565
               0x03e8
-
013 TCP DROPPED BY ME
+
012 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_22_12.json b/autobahn/client/hornbeam_case_6_22_12.json index 2e9f360..693d5a7 100644 --- a/autobahn/client/hornbeam_case_6_22_12.json +++ b/autobahn/client/hornbeam_case_6_22_12.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf19fbfbf", "droppedByMe": true, - "duration": 48, + "duration": 47, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=180&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: lY+XMVb7Zziji5M4WET8EA==\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: tndsssz2a9l5klv4FePW5aQ7a9E=\r\n\r\n", + "httpRequest": "GET /runCase?case=180&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: gfGlk6ugSNIxzooR8AANdQ==\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: 0KZt5eKfvZdgSf+gm7THo9rDDFg=\r\n\r\n", "id": "6.22.12", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 2, - "7": 1, + "1": 1, + "8": 1, "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:19.162Z", + "started": "2023-08-11T05:15:19.911Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "84dd467d7b2cd9c2c4" + "849672a32e67ed1c91" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "dd467d7b" + "9672a32e" ], [ "TF", @@ -165,15 +165,8 @@ [ "RO", [ - 1, - "88" - ] - ], - [ - "RO", - [ - 7, - "82da3122fbd9d9" + 8, + "8882559ff9ee5677" ] ], [ @@ -186,7 +179,7 @@ true, 0, true, - "da3122fb" + "559ff9ee" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_13.html b/autobahn/client/hornbeam_case_6_22_13.html index f5c5d2e..3abd1a5 100644 --- a/autobahn/client/hornbeam_case_6_22_13.html +++ b/autobahn/client/hornbeam_case_6_22_13.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.13 : Pass - 45 ms @ 2023-08-10T23:02:19.212Z

+

Hornbeam - Case 6.22.13 : Pass - 48 ms @ 2023-08-11T05:15:19.960Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf1afbfbe

Case Expectation

The message is echo'ed back to us.

@@ -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: kWLvfjPzJWCpdjhiG6VPQA== +Sec-WebSocket-Key: M57IJDaxIGm/Ef9x0aoS+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: dO5PooJTAzEq22FONzig+mdHkj8=
+Sec-WebSocket-Accept: uBp15MJyszppruE3doWLH0UGoGY=

Closing Behavior

@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: dO5PooJTAzEq22FONzig+mdHkj8=

Octets Received by Chop Size

- - + + - +
Chop SizeCountOctets
122
717
111
818
919
1841184
Total5202
Total4202

Octets Transmitted by Chop Size

@@ -288,17 +288,16 @@ Sec-WebSocket-Accept: dO5PooJTAzEq22FONzig+mdHkj8=
003 TX OCTETS: 8104f1afbfbe
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 84dbee9eed2a412153
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6462656539656564
+
006 RX OCTETS: 84da5b392a2bf48694
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6461356233393261
               񯿾
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: 82276bc64b2483
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3237366263363462
+
010 RX OCTETS: 88820d8699850e6e
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3064383639393835
               0x03e8
-
013 TCP DROPPED BY ME
+
012 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_22_13.json b/autobahn/client/hornbeam_case_6_22_13.json index 84d1eb1..a46c525 100644 --- a/autobahn/client/hornbeam_case_6_22_13.json +++ b/autobahn/client/hornbeam_case_6_22_13.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf1afbfbe", "droppedByMe": true, - "duration": 45, + "duration": 48, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=181&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: kWLvfjPzJWCpdjhiG6VPQA==\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: dO5PooJTAzEq22FONzig+mdHkj8=\r\n\r\n", + "httpRequest": "GET /runCase?case=181&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: M57IJDaxIGm/Ef9x0aoS+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: uBp15MJyszppruE3doWLH0UGoGY=\r\n\r\n", "id": "6.22.13", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 2, - "7": 1, + "1": 1, + "8": 1, "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:19.212Z", + "started": "2023-08-11T05:15:19.960Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "84dbee9eed2a412153" + "84da5b392a2bf48694" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "dbee9eed" + "da5b392a" ], [ "TF", @@ -165,15 +165,8 @@ [ "RO", [ - 1, - "88" - ] - ], - [ - "RO", - [ - 7, - "82276bc64b2483" + 8, + "88820d8699850e6e" ] ], [ @@ -186,7 +179,7 @@ true, 0, true, - "276bc64b" + "0d869985" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_14.html b/autobahn/client/hornbeam_case_6_22_14.html index d4018cf..6a1eb4b 100644 --- a/autobahn/client/hornbeam_case_6_22_14.html +++ b/autobahn/client/hornbeam_case_6_22_14.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.14 : Pass - 48 ms @ 2023-08-10T23:02:19.259Z

+

Hornbeam - Case 6.22.14 : Pass - 46 ms @ 2023-08-11T05:15:20.010Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf1afbfbf

Case Expectation

The message is echo'ed back to us.

@@ -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: zt3wF/XfbMIQA7zhpD32Vw== +Sec-WebSocket-Key: 1IS6RnfdKkD2JM12W+8aKg== 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: oG1pVdb1LAcJ94oITfrKzf8y708=
+Sec-WebSocket-Accept: 2ZZm0jbF0Zh96im9z69oNY+vjbY=

Closing Behavior

@@ -288,14 +288,14 @@ Sec-WebSocket-Accept: oG1pVdb1LAcJ94oITfrKzf8y708=
003 TX OCTETS: 8104f1afbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 841209ac19e3a613a6
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3132303961633139
+
006 RX OCTETS: 84955dc02164f27f9e
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3935356463303231
               񯿿
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: 88820476d300079e
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3034373664333030
+
010 RX OCTETS: 88820562e178068a
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3035363265313738
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_22_14.json b/autobahn/client/hornbeam_case_6_22_14.json index e812539..42997c7 100644 --- a/autobahn/client/hornbeam_case_6_22_14.json +++ b/autobahn/client/hornbeam_case_6_22_14.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf1afbfbf", "droppedByMe": true, - "duration": 48, + "duration": 46, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=182&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: zt3wF/XfbMIQA7zhpD32Vw==\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: oG1pVdb1LAcJ94oITfrKzf8y708=\r\n\r\n", + "httpRequest": "GET /runCase?case=182&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 1IS6RnfdKkD2JM12W+8aKg==\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: 2ZZm0jbF0Zh96im9z69oNY+vjbY=\r\n\r\n", "id": "6.22.14", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:19.259Z", + "started": "2023-08-11T05:15:20.010Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "841209ac19e3a613a6" + "84955dc02164f27f9e" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "1209ac19" + "955dc021" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "88820476d300079e" + "88820562e178068a" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "0476d300" + "0562e178" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_15.html b/autobahn/client/hornbeam_case_6_22_15.html index 4e21161..74cd137 100644 --- a/autobahn/client/hornbeam_case_6_22_15.html +++ b/autobahn/client/hornbeam_case_6_22_15.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.15 : Pass - 47 ms @ 2023-08-10T23:02:19.309Z

+

Hornbeam - Case 6.22.15 : Pass - 44 ms @ 2023-08-11T05:15:20.057Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf1bfbfbe

Case Expectation

The message is echo'ed back to us.

@@ -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: IV86KniZ6TwXA8mEjWS6mg== +Sec-WebSocket-Key: 2rZ2FuqnLrtlNz3WmtePgQ== 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: ptKJpL7xubPjsmJL+/T2hI3YAKA=
+Sec-WebSocket-Accept: oGvaI3BcwFeXqSrTdO1XeZDrfWY=

Closing Behavior

@@ -288,14 +288,14 @@ Sec-WebSocket-Accept: ptKJpL7xubPjsmJL+/T2hI3YAKA=
003 TX OCTETS: 8104f1bfbfbe
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 8417e2c494e65d7b2a
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3137653263343934
+
006 RX OCTETS: 84216d8e34d0d2318a
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3231366438653334
               ñ¿¿¾
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: 88821c1c15a31ff4
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3163316331356133
+
010 RX OCTETS: 88821010fce913f8
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3130313066636539
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_22_15.json b/autobahn/client/hornbeam_case_6_22_15.json index ab1bcec..dd34286 100644 --- a/autobahn/client/hornbeam_case_6_22_15.json +++ b/autobahn/client/hornbeam_case_6_22_15.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf1bfbfbe", "droppedByMe": true, - "duration": 47, + "duration": 44, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=183&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: IV86KniZ6TwXA8mEjWS6mg==\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: ptKJpL7xubPjsmJL+/T2hI3YAKA=\r\n\r\n", + "httpRequest": "GET /runCase?case=183&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 2rZ2FuqnLrtlNz3WmtePgQ==\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: oGvaI3BcwFeXqSrTdO1XeZDrfWY=\r\n\r\n", "id": "6.22.15", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:19.309Z", + "started": "2023-08-11T05:15:20.057Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "8417e2c494e65d7b2a" + "84216d8e34d0d2318a" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "17e2c494" + "216d8e34" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "88821c1c15a31ff4" + "88821010fce913f8" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "1c1c15a3" + "1010fce9" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_16.html b/autobahn/client/hornbeam_case_6_22_16.html index 8e6ef2a..e53d3ae 100644 --- a/autobahn/client/hornbeam_case_6_22_16.html +++ b/autobahn/client/hornbeam_case_6_22_16.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.16 : Pass - 46 ms @ 2023-08-10T23:02:19.358Z

+

Hornbeam - Case 6.22.16 : Pass - 44 ms @ 2023-08-11T05:15:20.104Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf1bfbfbf

Case Expectation

The message is echo'ed back to us.

@@ -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: ZNLgmIIms7g3UuKR/7jZ3A== +Sec-WebSocket-Key: dvWa4YKk3pfbHhbU2FAWSw== 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: q2/LYUDVi4jjHYC1PoMC1WfQqww=
+Sec-WebSocket-Accept: CLtPBgRkTo1pGqHxMNFlaJE8gp8=

Closing Behavior

@@ -288,14 +288,14 @@ Sec-WebSocket-Accept: q2/LYUDVi4jjHYC1PoMC1WfQqww=
003 TX OCTETS: 8104f1bfbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 84a9706a4258cfd5fd
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6139373036613432
+
006 RX OCTETS: 84b407a46e45b81bd1
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6234303761343665
               ñ¿¿¿
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: 8882444e703747a6
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3434346537303337
+
010 RX OCTETS: 8882e48f1395e767
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6534386631333935
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_22_16.json b/autobahn/client/hornbeam_case_6_22_16.json index 36636ae..9e70863 100644 --- a/autobahn/client/hornbeam_case_6_22_16.json +++ b/autobahn/client/hornbeam_case_6_22_16.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf1bfbfbf", "droppedByMe": true, - "duration": 46, + "duration": 44, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=184&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ZNLgmIIms7g3UuKR/7jZ3A==\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: q2/LYUDVi4jjHYC1PoMC1WfQqww=\r\n\r\n", + "httpRequest": "GET /runCase?case=184&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: dvWa4YKk3pfbHhbU2FAWSw==\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: CLtPBgRkTo1pGqHxMNFlaJE8gp8=\r\n\r\n", "id": "6.22.16", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:19.358Z", + "started": "2023-08-11T05:15:20.104Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "84a9706a4258cfd5fd" + "84b407a46e45b81bd1" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "a9706a42" + "b407a46e" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "8882444e703747a6" + "8882e48f1395e767" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "444e7037" + "e48f1395" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_17.html b/autobahn/client/hornbeam_case_6_22_17.html index c70a476..459d79f 100644 --- a/autobahn/client/hornbeam_case_6_22_17.html +++ b/autobahn/client/hornbeam_case_6_22_17.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.17 : Pass - 48 ms @ 2023-08-10T23:02:19.406Z

+

Hornbeam - Case 6.22.17 : Pass - 47 ms @ 2023-08-11T05:15:20.161Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf28fbfbe

Case Expectation

The message is echo'ed back to us.

@@ -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: L3c3f84H42lSGmlkqIXwJg== +Sec-WebSocket-Key: +re7X3t969As9PCs04CHjA== 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: 1wARay1uVi8ijyB5p0xfK6B+nFU=
+Sec-WebSocket-Accept: lMHum8Tp7p1zuNUrJV+tmk/0A0g=

Closing Behavior

@@ -288,14 +288,14 @@ Sec-WebSocket-Accept: 1wARay1uVi8ijyB5p0xfK6B+nFU=
003 TX OCTETS: 8104f28fbfbe
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 842bff134ad970acf4
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3262666631333461
+
006 RX OCTETS: 84720210ff808daf41
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3732303231306666
               ò¿¾
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: 88821591027e1679
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3135393130323765
+
010 RX OCTETS: 8882bd663678be8e
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6264363633363738
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_22_17.json b/autobahn/client/hornbeam_case_6_22_17.json index 043a6a2..357c701 100644 --- a/autobahn/client/hornbeam_case_6_22_17.json +++ b/autobahn/client/hornbeam_case_6_22_17.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf28fbfbe", "droppedByMe": true, - "duration": 48, + "duration": 47, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=185&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: L3c3f84H42lSGmlkqIXwJg==\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: 1wARay1uVi8ijyB5p0xfK6B+nFU=\r\n\r\n", + "httpRequest": "GET /runCase?case=185&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: +re7X3t969As9PCs04CHjA==\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: lMHum8Tp7p1zuNUrJV+tmk/0A0g=\r\n\r\n", "id": "6.22.17", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:19.406Z", + "started": "2023-08-11T05:15:20.161Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "842bff134ad970acf4" + "84720210ff808daf41" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "2bff134a" + "720210ff" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "88821591027e1679" + "8882bd663678be8e" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "1591027e" + "bd663678" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_18.html b/autobahn/client/hornbeam_case_6_22_18.html index 63c1348..857519b 100644 --- a/autobahn/client/hornbeam_case_6_22_18.html +++ b/autobahn/client/hornbeam_case_6_22_18.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.18 : Pass - 48 ms @ 2023-08-10T23:02:19.456Z

+

Hornbeam - Case 6.22.18 : Pass - 53 ms @ 2023-08-11T05:15:20.226Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf28fbfbf

Case Expectation

The message is echo'ed back to us.

@@ -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: 86ZQ4nrXyPCSeC78XpLBgw== +Sec-WebSocket-Key: wGT5jTnVnBDS0wWr2LE55w== 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: ZkzdG3ACHs3xrBT02YXle+dH6MQ=
+Sec-WebSocket-Accept: 7I/Ze8sdpwPPvXhfkzlXmkGdhys=

Closing Behavior

@@ -288,15 +288,15 @@ Sec-WebSocket-Accept: ZkzdG3ACHs3xrBT02YXle+dH6MQ=
003 TX OCTETS: 8104f28fbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 845fb4c1e3ad3b7e5c
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3566623463316533
+
006 RX OCTETS: 84a803e0ee5a8c5f51
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6138303365306565
               ò¿¿
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: 82d0b29e6bd35a
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6430623239653662
+
011 RX OCTETS: 821a83a04c196b
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3161383361303463
               0x03e8
013 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_22_18.json b/autobahn/client/hornbeam_case_6_22_18.json index 2f994ff..76e5f9e 100644 --- a/autobahn/client/hornbeam_case_6_22_18.json +++ b/autobahn/client/hornbeam_case_6_22_18.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf28fbfbf", "droppedByMe": true, - "duration": 48, + "duration": 53, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=186&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 86ZQ4nrXyPCSeC78XpLBgw==\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: ZkzdG3ACHs3xrBT02YXle+dH6MQ=\r\n\r\n", + "httpRequest": "GET /runCase?case=186&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: wGT5jTnVnBDS0wWr2LE55w==\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: 7I/Ze8sdpwPPvXhfkzlXmkGdhys=\r\n\r\n", "id": "6.22.18", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:19.456Z", + "started": "2023-08-11T05:15:20.226Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "845fb4c1e3ad3b7e5c" + "84a803e0ee5a8c5f51" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "5fb4c1e3" + "a803e0ee" ], [ "TF", @@ -173,7 +173,7 @@ "RO", [ 7, - "82d0b29e6bd35a" + "821a83a04c196b" ] ], [ @@ -186,7 +186,7 @@ true, 0, true, - "d0b29e6b" + "1a83a04c" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_19.html b/autobahn/client/hornbeam_case_6_22_19.html index d0fbc77..b791d6d 100644 --- a/autobahn/client/hornbeam_case_6_22_19.html +++ b/autobahn/client/hornbeam_case_6_22_19.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.19 : Pass - 46 ms @ 2023-08-10T23:02:19.507Z

+

Hornbeam - Case 6.22.19 : Pass - 48 ms @ 2023-08-11T05:15:20.290Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf29fbfbe

Case Expectation

The message is echo'ed back to us.

@@ -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: yzC0jdaHDInIRO1C17Bpxw== +Sec-WebSocket-Key: gBeopOhMx7YNN2oOYLdxvA== 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: Ml6Yqo8N1RDRzt07L7K3VPijWxA=
+Sec-WebSocket-Accept: ojAHhEy5ycxe9GYhh8UhXiFphbQ=

Closing Behavior

@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: Ml6Yqo8N1RDRzt07L7K3VPijWxA=

Octets Received by Chop Size

- - + + - +
Chop SizeCountOctets
111
818
122
717
919
1841184
Total4202
Total5202

Octets Transmitted by Chop Size

@@ -288,16 +288,17 @@ Sec-WebSocket-Accept: Ml6Yqo8N1RDRzt07L7K3VPijWxA=
003 TX OCTETS: 8104f29fbfbe
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 8405aab2d4f7350d6a
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3035616162326434
+
006 RX OCTETS: 84971ba7e16584185f
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3937316261376531
               򟿾
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: 88829379152a9091
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3933373931353261
+
010 RX OCTETS: 88
+
011 RX OCTETS: 82c079213dc391
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6330373932313364
               0x03e8
-
012 TCP DROPPED BY ME
+
013 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_22_19.json b/autobahn/client/hornbeam_case_6_22_19.json index 7843f1a..2d9af83 100644 --- a/autobahn/client/hornbeam_case_6_22_19.json +++ b/autobahn/client/hornbeam_case_6_22_19.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf29fbfbe", "droppedByMe": true, - "duration": 46, + "duration": 48, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=187&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: yzC0jdaHDInIRO1C17Bpxw==\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: Ml6Yqo8N1RDRzt07L7K3VPijWxA=\r\n\r\n", + "httpRequest": "GET /runCase?case=187&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: gBeopOhMx7YNN2oOYLdxvA==\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: ojAHhEy5ycxe9GYhh8UhXiFphbQ=\r\n\r\n", "id": "6.22.19", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 1, - "8": 1, + "1": 2, + "7": 1, "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:19.507Z", + "started": "2023-08-11T05:15:20.290Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "8405aab2d4f7350d6a" + "84971ba7e16584185f" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "05aab2d4" + "971ba7e1" ], [ "TF", @@ -165,8 +165,15 @@ [ "RO", [ - 8, - "88829379152a9091" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "82c079213dc391" ] ], [ @@ -179,7 +186,7 @@ true, 0, true, - "9379152a" + "c079213d" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_2.html b/autobahn/client/hornbeam_case_6_22_2.html index 62973f8..8b65579 100644 --- a/autobahn/client/hornbeam_case_6_22_2.html +++ b/autobahn/client/hornbeam_case_6_22_2.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.2 : Pass - 47 ms @ 2023-08-10T23:02:18.670Z

+

Hornbeam - Case 6.22.2 : Pass - 46 ms @ 2023-08-11T05:15:19.426Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xefbfbf

Case Expectation

The message is echo'ed back to us.

@@ -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: T1QsEur5lk9MlhwTe+bLwg== +Sec-WebSocket-Key: TrO/AgrcqbiHRKZjdiOhfg== 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: VArb7p9KefOE2VjVJ+CZ4s/G68I=
+Sec-WebSocket-Accept: KbBbv5Ow3Sjqp7fIsh9f2Hxr4mM=

Closing Behavior

@@ -248,10 +248,11 @@ Sec-WebSocket-Accept: VArb7p9KefOE2VjVJ+CZ4s/G68I=

Octets Received by Chop Size

- - + + + - +
Chop SizeCountOctets
111
8216
122
717
818
1841184
Total4201
Total5201

Octets Transmitted by Chop Size

@@ -287,16 +288,17 @@ Sec-WebSocket-Accept: VArb7p9KefOE2VjVJ+CZ4s/G68I=
003 TX OCTETS: 8103efbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 8343aaa2b8ac151d
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3433616161326238
+
006 RX OCTETS: 839fdb50067064ef
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3966646235303036
               ï¿¿
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: 88829eb9ffb79d51
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3965623966666237
+
010 RX OCTETS: 88
+
011 RX OCTETS: 82a1756beea29d
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6131373536626565
               0x03e8
-
012 TCP DROPPED BY ME
+
013 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_22_2.json b/autobahn/client/hornbeam_case_6_22_2.json index 726974e..584bda2 100644 --- a/autobahn/client/hornbeam_case_6_22_2.json +++ b/autobahn/client/hornbeam_case_6_22_2.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xefbfbf", "droppedByMe": true, - "duration": 47, + "duration": 46, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=170&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: T1QsEur5lk9MlhwTe+bLwg==\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: VArb7p9KefOE2VjVJ+CZ4s/G68I=\r\n\r\n", + "httpRequest": "GET /runCase?case=170&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: TrO/AgrcqbiHRKZjdiOhfg==\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: KbBbv5Ow3Sjqp7fIsh9f2Hxr4mM=\r\n\r\n", "id": "6.22.2", "isServer": true, "localCloseCode": 1000, @@ -51,11 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 1, - "8": 2, + "1": 2, + "7": 1, + "8": 1, "184": 1 }, - "started": "2023-08-10T23:02:18.670Z", + "started": "2023-08-11T05:15:19.426Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -124,7 +125,7 @@ "RO", [ 8, - "8343aaa2b8ac151d" + "839fdb50067064ef" ] ], [ @@ -137,7 +138,7 @@ true, 0, true, - "43aaa2b8" + "9fdb5006" ], [ "TF", @@ -164,8 +165,15 @@ [ "RO", [ - 8, - "88829eb9ffb79d51" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "82a1756beea29d" ] ], [ @@ -178,7 +186,7 @@ true, 0, true, - "9eb9ffb7" + "a1756bee" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_20.html b/autobahn/client/hornbeam_case_6_22_20.html index 29bca73..cd51804 100644 --- a/autobahn/client/hornbeam_case_6_22_20.html +++ b/autobahn/client/hornbeam_case_6_22_20.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.20 : Pass - 48 ms @ 2023-08-10T23:02:19.556Z

+

Hornbeam - Case 6.22.20 : Pass - 47 ms @ 2023-08-11T05:15:20.341Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf29fbfbf

Case Expectation

The message is echo'ed back to us.

@@ -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: WZMibRHc31X8DmxWPKgLoQ== +Sec-WebSocket-Key: tI//YNxUDHE7WTLlFp3USw== 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: gR7k53BhSpQN8FZcTEjGHL8Lkqs=
+Sec-WebSocket-Accept: FT4/n7YsoDY6B6EtjMGppDS4t8I=

Closing Behavior

@@ -288,15 +288,15 @@ Sec-WebSocket-Accept: gR7k53BhSpQN8FZcTEjGHL8Lkqs=
003 TX OCTETS: 8104f29fbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 84ca986e8e3807d131
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6361393836653865
+
006 RX OCTETS: 847364ad2f81fb1290
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3733363461643266
               òŸ¿¿
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: 82e61df7ffe5f5
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6536316466376666
+
011 RX OCTETS: 829c27173d9fcf
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3963323731373364
               0x03e8
013 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_22_20.json b/autobahn/client/hornbeam_case_6_22_20.json index 42ccf7a..14c990c 100644 --- a/autobahn/client/hornbeam_case_6_22_20.json +++ b/autobahn/client/hornbeam_case_6_22_20.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf29fbfbf", "droppedByMe": true, - "duration": 48, + "duration": 47, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=188&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: WZMibRHc31X8DmxWPKgLoQ==\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: gR7k53BhSpQN8FZcTEjGHL8Lkqs=\r\n\r\n", + "httpRequest": "GET /runCase?case=188&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: tI//YNxUDHE7WTLlFp3USw==\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: FT4/n7YsoDY6B6EtjMGppDS4t8I=\r\n\r\n", "id": "6.22.20", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:19.556Z", + "started": "2023-08-11T05:15:20.341Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "84ca986e8e3807d131" + "847364ad2f81fb1290" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "ca986e8e" + "7364ad2f" ], [ "TF", @@ -173,7 +173,7 @@ "RO", [ 7, - "82e61df7ffe5f5" + "829c27173d9fcf" ] ], [ @@ -186,7 +186,7 @@ true, 0, true, - "e61df7ff" + "9c27173d" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_21.html b/autobahn/client/hornbeam_case_6_22_21.html index c02d3b0..9b38286 100644 --- a/autobahn/client/hornbeam_case_6_22_21.html +++ b/autobahn/client/hornbeam_case_6_22_21.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.21 : Pass - 45 ms @ 2023-08-10T23:02:19.606Z

+

Hornbeam - Case 6.22.21 : Pass - 47 ms @ 2023-08-11T05:15:20.391Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf2afbfbe

Case Expectation

The message is echo'ed back to us.

@@ -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: zCtxnAE+Kf4Gh4e5MIb1lg== +Sec-WebSocket-Key: At1LC8EuZx4qB1BWHk350Q== 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: w8TFOvHEeVdhYq9vqOHc0uC2rIo=
+Sec-WebSocket-Accept: fIFhoGWSzkJLRcKEVXFaW/wbm04=

Closing Behavior

@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: w8TFOvHEeVdhYq9vqOHc0uC2rIo=

Octets Received by Chop Size

- - + + - +
Chop SizeCountOctets
111
818
122
717
919
1841184
Total4202
Total5202

Octets Transmitted by Chop Size

@@ -288,16 +288,17 @@ Sec-WebSocket-Accept: w8TFOvHEeVdhYq9vqOHc0uC2rIo=
003 TX OCTETS: 8104f2afbfbe
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 849c38a1e36e971e5d
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3963333861316533
+
006 RX OCTETS: 84be0a9a494ca525f7
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6265306139613439
               򯿾
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: 8882746173657789
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3734363137333635
+
010 RX OCTETS: 88
+
011 RX OCTETS: 8200072f8503ef
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3030303732663835
               0x03e8
-
012 TCP DROPPED BY ME
+
013 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_22_21.json b/autobahn/client/hornbeam_case_6_22_21.json index 8b3deb7..9533bee 100644 --- a/autobahn/client/hornbeam_case_6_22_21.json +++ b/autobahn/client/hornbeam_case_6_22_21.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf2afbfbe", "droppedByMe": true, - "duration": 45, + "duration": 47, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=189&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: zCtxnAE+Kf4Gh4e5MIb1lg==\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: w8TFOvHEeVdhYq9vqOHc0uC2rIo=\r\n\r\n", + "httpRequest": "GET /runCase?case=189&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: At1LC8EuZx4qB1BWHk350Q==\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: fIFhoGWSzkJLRcKEVXFaW/wbm04=\r\n\r\n", "id": "6.22.21", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 1, - "8": 1, + "1": 2, + "7": 1, "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:19.606Z", + "started": "2023-08-11T05:15:20.391Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "849c38a1e36e971e5d" + "84be0a9a494ca525f7" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "9c38a1e3" + "be0a9a49" ], [ "TF", @@ -165,8 +165,15 @@ [ "RO", [ - 8, - "8882746173657789" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "8200072f8503ef" ] ], [ @@ -179,7 +186,7 @@ true, 0, true, - "74617365" + "00072f85" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_22.html b/autobahn/client/hornbeam_case_6_22_22.html index cf50fe9..27d3a5f 100644 --- a/autobahn/client/hornbeam_case_6_22_22.html +++ b/autobahn/client/hornbeam_case_6_22_22.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.22 : Pass - 47 ms @ 2023-08-10T23:02:19.653Z

+

Hornbeam - Case 6.22.22 : Pass - 48 ms @ 2023-08-11T05:15:20.441Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf2afbfbf

Case Expectation

The message is echo'ed back to us.

@@ -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: 0OZXgC2ND8YVhB1HL7dwEA== +Sec-WebSocket-Key: BcVySglJtpLyQytMMvvlCA== 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: 68I4jnLMc4pXldf9ppCj3s7OYnY=
+Sec-WebSocket-Accept: b9XyyRXR9uZAzx1mk7i5qMobOQI=

Closing Behavior

@@ -288,15 +288,15 @@ Sec-WebSocket-Accept: 68I4jnLMc4pXldf9ppCj3s7OYnY=
003 TX OCTETS: 8104f2afbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 84946dab6866c214d7
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3934366461623638
+
006 RX OCTETS: 84af2298165d8d27a9
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6166323239383136
               򯿿
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: 8236a3109e354b
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3336613331303965
+
011 RX OCTETS: 824136f03b42de
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3431333666303362
               0x03e8
013 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_22_22.json b/autobahn/client/hornbeam_case_6_22_22.json index a3ef2cc..5cd6f97 100644 --- a/autobahn/client/hornbeam_case_6_22_22.json +++ b/autobahn/client/hornbeam_case_6_22_22.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf2afbfbf", "droppedByMe": true, - "duration": 47, + "duration": 48, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=190&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 0OZXgC2ND8YVhB1HL7dwEA==\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: 68I4jnLMc4pXldf9ppCj3s7OYnY=\r\n\r\n", + "httpRequest": "GET /runCase?case=190&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: BcVySglJtpLyQytMMvvlCA==\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: b9XyyRXR9uZAzx1mk7i5qMobOQI=\r\n\r\n", "id": "6.22.22", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:19.653Z", + "started": "2023-08-11T05:15:20.441Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "84946dab6866c214d7" + "84af2298165d8d27a9" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "946dab68" + "af229816" ], [ "TF", @@ -173,7 +173,7 @@ "RO", [ 7, - "8236a3109e354b" + "824136f03b42de" ] ], [ @@ -186,7 +186,7 @@ true, 0, true, - "36a3109e" + "4136f03b" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_23.html b/autobahn/client/hornbeam_case_6_22_23.html index 61f39b4..e0b127a 100644 --- a/autobahn/client/hornbeam_case_6_22_23.html +++ b/autobahn/client/hornbeam_case_6_22_23.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.23 : Pass - 48 ms @ 2023-08-10T23:02:19.703Z

+

Hornbeam - Case 6.22.23 : Pass - 45 ms @ 2023-08-11T05:15:20.491Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf2bfbfbe

Case Expectation

The message is echo'ed back to us.

@@ -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: fjat1yze48suMUzZzS5g5w== +Sec-WebSocket-Key: eUUbz7agwA/JJglbPCpgkw== 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: JQg+oJ8aoI7UhLZV1ErBeMsrfWk=
+Sec-WebSocket-Accept: G5xjoqjehHpMFVs+MKrrExBurM8=

Closing Behavior

@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: JQg+oJ8aoI7UhLZV1ErBeMsrfWk=

Octets Received by Chop Size

- - + + - +
Chop SizeCountOctets
111
818
122
717
919
1841184
Total4202
Total5202

Octets Transmitted by Chop Size

@@ -288,16 +288,17 @@ Sec-WebSocket-Accept: JQg+oJ8aoI7UhLZV1ErBeMsrfWk=
003 TX OCTETS: 8104f2bfbfbe
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 8460e41d4b925ba2f5
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3630653431643462
+
006 RX OCTETS: 84b214a91140ab16af
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6232313461393131
               ò¿¿¾
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: 88828b103f6b88f8
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3862313033663662
+
010 RX OCTETS: 88
+
011 RX OCTETS: 820bbd5df70855
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3062626435646637
               0x03e8
-
012 TCP DROPPED BY ME
+
013 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_22_23.json b/autobahn/client/hornbeam_case_6_22_23.json index 4be005d..6342088 100644 --- a/autobahn/client/hornbeam_case_6_22_23.json +++ b/autobahn/client/hornbeam_case_6_22_23.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf2bfbfbe", "droppedByMe": true, - "duration": 48, + "duration": 45, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=191&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: fjat1yze48suMUzZzS5g5w==\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: JQg+oJ8aoI7UhLZV1ErBeMsrfWk=\r\n\r\n", + "httpRequest": "GET /runCase?case=191&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: eUUbz7agwA/JJglbPCpgkw==\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: G5xjoqjehHpMFVs+MKrrExBurM8=\r\n\r\n", "id": "6.22.23", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 1, - "8": 1, + "1": 2, + "7": 1, "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:19.703Z", + "started": "2023-08-11T05:15:20.491Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "8460e41d4b925ba2f5" + "84b214a91140ab16af" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "60e41d4b" + "b214a911" ], [ "TF", @@ -165,8 +165,15 @@ [ "RO", [ - 8, - "88828b103f6b88f8" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "820bbd5df70855" ] ], [ @@ -179,7 +186,7 @@ true, 0, true, - "8b103f6b" + "0bbd5df7" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_24.html b/autobahn/client/hornbeam_case_6_22_24.html index 763b5f9..1034bb7 100644 --- a/autobahn/client/hornbeam_case_6_22_24.html +++ b/autobahn/client/hornbeam_case_6_22_24.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.24 : Pass - 49 ms @ 2023-08-10T23:02:19.754Z

+

Hornbeam - Case 6.22.24 : Pass - 45 ms @ 2023-08-11T05:15:20.538Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf2bfbfbf

Case Expectation

The message is echo'ed back to us.

@@ -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: l2/vRLUqgqrWfUFsoVs8EA== +Sec-WebSocket-Key: PJi7SyYHS2VHIVKT0JFzbQ== 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: tRhB3g3kJhCDwV7Ltbx8DxY1ZIY=
+Sec-WebSocket-Accept: 6bJQ6p0YQYSr3ikCQJYSFdw6/XM=

Closing Behavior

@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: tRhB3g3kJhCDwV7Ltbx8DxY1ZIY=

Octets Received by Chop Size

- - + + - +
Chop SizeCountOctets
111
818
122
717
919
1841184
Total4202
Total5202

Octets Transmitted by Chop Size

@@ -288,16 +288,17 @@ Sec-WebSocket-Accept: tRhB3g3kJhCDwV7Ltbx8DxY1ZIY=
003 TX OCTETS: 8104f2bfbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 84b819f0d54aa64f6a
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6238313966306435
+
006 RX OCTETS: 8418728b39eacd3486
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3138373238623339
               ò¿¿¿
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: 8882b44b3407b7a3
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6234346233343037
+
010 RX OCTETS: 88
+
011 RX OCTETS: 825004bf2653ec
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3530303462663236
               0x03e8
-
012 TCP DROPPED BY ME
+
013 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_22_24.json b/autobahn/client/hornbeam_case_6_22_24.json index e7d8a4c..d4793ab 100644 --- a/autobahn/client/hornbeam_case_6_22_24.json +++ b/autobahn/client/hornbeam_case_6_22_24.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf2bfbfbf", "droppedByMe": true, - "duration": 49, + "duration": 45, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=192&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: l2/vRLUqgqrWfUFsoVs8EA==\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: tRhB3g3kJhCDwV7Ltbx8DxY1ZIY=\r\n\r\n", + "httpRequest": "GET /runCase?case=192&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: PJi7SyYHS2VHIVKT0JFzbQ==\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: 6bJQ6p0YQYSr3ikCQJYSFdw6/XM=\r\n\r\n", "id": "6.22.24", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 1, - "8": 1, + "1": 2, + "7": 1, "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:19.754Z", + "started": "2023-08-11T05:15:20.538Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "84b819f0d54aa64f6a" + "8418728b39eacd3486" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "b819f0d5" + "18728b39" ], [ "TF", @@ -165,8 +165,15 @@ [ "RO", [ - 8, - "8882b44b3407b7a3" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "825004bf2653ec" ] ], [ @@ -179,7 +186,7 @@ true, 0, true, - "b44b3407" + "5004bf26" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_25.html b/autobahn/client/hornbeam_case_6_22_25.html index 17ec8f3..09508cf 100644 --- a/autobahn/client/hornbeam_case_6_22_25.html +++ b/autobahn/client/hornbeam_case_6_22_25.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.25 : Pass - 48 ms @ 2023-08-10T23:02:19.806Z

+

Hornbeam - Case 6.22.25 : Pass - 46 ms @ 2023-08-11T05:15:20.585Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf38fbfbe

Case Expectation

The message is echo'ed back to us.

@@ -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: neTu4bl0KJcepo1x5RqwAw== +Sec-WebSocket-Key: 7U2tKC2qr5ZDypnjQ+o0BA== 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: 7R66Iou+LEJ0Z+bNIMkhAdYNIRE=
+Sec-WebSocket-Accept: phU71DzPa0c5uPWYFYpjAhNK3jw=

Closing Behavior

@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: 7R66Iou+LEJ0Z+bNIMkhAdYNIRE=

Octets Received by Chop Size

- - + + - +
Chop SizeCountOctets
111
818
122
717
919
1841184
Total4202
Total5202

Octets Transmitted by Chop Size

@@ -288,16 +288,17 @@ Sec-WebSocket-Accept: 7R66Iou+LEJ0Z+bNIMkhAdYNIRE=
003 TX OCTETS: 8104f38fbfbe
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 840af78a36f9783588
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3061663738613336
+
006 RX OCTETS: 84d24555b721caea09
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6432343535356237
               ó¿¾
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: 888299fa24b59a12
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3939666132346235
+
010 RX OCTETS: 88
+
011 RX OCTETS: 825f15e47e5cfd
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3566313565343765
               0x03e8
-
012 TCP DROPPED BY ME
+
013 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_22_25.json b/autobahn/client/hornbeam_case_6_22_25.json index 0f12d45..eacd9ce 100644 --- a/autobahn/client/hornbeam_case_6_22_25.json +++ b/autobahn/client/hornbeam_case_6_22_25.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf38fbfbe", "droppedByMe": true, - "duration": 48, + "duration": 46, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=193&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: neTu4bl0KJcepo1x5RqwAw==\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: 7R66Iou+LEJ0Z+bNIMkhAdYNIRE=\r\n\r\n", + "httpRequest": "GET /runCase?case=193&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 7U2tKC2qr5ZDypnjQ+o0BA==\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: phU71DzPa0c5uPWYFYpjAhNK3jw=\r\n\r\n", "id": "6.22.25", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 1, - "8": 1, + "1": 2, + "7": 1, "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:19.806Z", + "started": "2023-08-11T05:15:20.585Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "840af78a36f9783588" + "84d24555b721caea09" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "0af78a36" + "d24555b7" ], [ "TF", @@ -165,8 +165,15 @@ [ "RO", [ - 8, - "888299fa24b59a12" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "825f15e47e5cfd" ] ], [ @@ -179,7 +186,7 @@ true, 0, true, - "99fa24b5" + "5f15e47e" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_26.html b/autobahn/client/hornbeam_case_6_22_26.html index 25813b6..7d77681 100644 --- a/autobahn/client/hornbeam_case_6_22_26.html +++ b/autobahn/client/hornbeam_case_6_22_26.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.26 : Pass - 47 ms @ 2023-08-10T23:02:19.857Z

+

Hornbeam - Case 6.22.26 : Pass - 46 ms @ 2023-08-11T05:15:20.634Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf38fbfbf

Case Expectation

The message is echo'ed back to us.

@@ -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: p/LNgFpN0ibKXNAw8Rk5Yg== +Sec-WebSocket-Key: cYJT2yhgXKJ+gBR+lrV5yA== 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: lbeFvjJMXghUmGAHhMQGwizl7wE=
+Sec-WebSocket-Accept: 8mseM7n6lwqM95bZqnn+VTCT1xk=

Closing Behavior

@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: lbeFvjJMXghUmGAHhMQGwizl7wE=

Octets Received by Chop Size

- - + + - +
Chop SizeCountOctets
122
717
111
818
919
1841184
Total5202
Total4202

Octets Transmitted by Chop Size

@@ -288,17 +288,16 @@ Sec-WebSocket-Accept: lbeFvjJMXghUmGAHhMQGwizl7wE=
003 TX OCTETS: 8104f38fbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 848cc4ed207f4b529f
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3863633465643230
+
006 RX OCTETS: 843768535cc4e7ece3
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3337363835333563
               ó¿¿
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: 8219ac84c91a44
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3139616338346339
+
010 RX OCTETS: 8882f30f6082f0e7
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6633306636303832
               0x03e8
-
013 TCP DROPPED BY ME
+
012 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_22_26.json b/autobahn/client/hornbeam_case_6_22_26.json index af5876c..477ba4d 100644 --- a/autobahn/client/hornbeam_case_6_22_26.json +++ b/autobahn/client/hornbeam_case_6_22_26.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf38fbfbf", "droppedByMe": true, - "duration": 47, + "duration": 46, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=194&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: p/LNgFpN0ibKXNAw8Rk5Yg==\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: lbeFvjJMXghUmGAHhMQGwizl7wE=\r\n\r\n", + "httpRequest": "GET /runCase?case=194&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: cYJT2yhgXKJ+gBR+lrV5yA==\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: 8mseM7n6lwqM95bZqnn+VTCT1xk=\r\n\r\n", "id": "6.22.26", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 2, - "7": 1, + "1": 1, + "8": 1, "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:19.857Z", + "started": "2023-08-11T05:15:20.634Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "848cc4ed207f4b529f" + "843768535cc4e7ece3" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "8cc4ed20" + "3768535c" ], [ "TF", @@ -165,15 +165,8 @@ [ "RO", [ - 1, - "88" - ] - ], - [ - "RO", - [ - 7, - "8219ac84c91a44" + 8, + "8882f30f6082f0e7" ] ], [ @@ -186,7 +179,7 @@ true, 0, true, - "19ac84c9" + "f30f6082" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_27.html b/autobahn/client/hornbeam_case_6_22_27.html index 1cec611..acc1a6d 100644 --- a/autobahn/client/hornbeam_case_6_22_27.html +++ b/autobahn/client/hornbeam_case_6_22_27.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.27 : Pass - 49 ms @ 2023-08-10T23:02:19.906Z

+

Hornbeam - Case 6.22.27 : Pass - 77 ms @ 2023-08-11T05:15:20.684Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf39fbfbe

Case Expectation

The message is echo'ed back to us.

@@ -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: kn6hIXr0RJOLQQcfxFF5Ng== +Sec-WebSocket-Key: CMcAmoNQbMIM4rD8eYPXXQ== 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: r0e1DJe7GTmDfts8743qoeB+62M=
+Sec-WebSocket-Accept: odqKaUlo12c2cIJsEHKDOiMEZ+s=

Closing Behavior

@@ -288,15 +288,15 @@ Sec-WebSocket-Accept: r0e1DJe7GTmDfts8743qoeB+62M=
003 TX OCTETS: 8104f39fbfbe
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 8428416418dbdedba6
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3238343136343138
+
006 RX OCTETS: 848876ce007be971be
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3838373663653030
               󟿾
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: 829ca9139a9f41
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3963613931333961
+
011 RX OCTETS: 82fbd9989ef831
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6662643939383965
               0x03e8
013 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_22_27.json b/autobahn/client/hornbeam_case_6_22_27.json index ee7dd25..7822c15 100644 --- a/autobahn/client/hornbeam_case_6_22_27.json +++ b/autobahn/client/hornbeam_case_6_22_27.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf39fbfbe", "droppedByMe": true, - "duration": 49, + "duration": 77, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=195&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: kn6hIXr0RJOLQQcfxFF5Ng==\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: r0e1DJe7GTmDfts8743qoeB+62M=\r\n\r\n", + "httpRequest": "GET /runCase?case=195&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: CMcAmoNQbMIM4rD8eYPXXQ==\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: odqKaUlo12c2cIJsEHKDOiMEZ+s=\r\n\r\n", "id": "6.22.27", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:19.906Z", + "started": "2023-08-11T05:15:20.684Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "8428416418dbdedba6" + "848876ce007be971be" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "28416418" + "8876ce00" ], [ "TF", @@ -173,7 +173,7 @@ "RO", [ 7, - "829ca9139a9f41" + "82fbd9989ef831" ] ], [ @@ -186,7 +186,7 @@ true, 0, true, - "9ca9139a" + "fbd9989e" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_28.html b/autobahn/client/hornbeam_case_6_22_28.html index 2158f2c..00a70c8 100644 --- a/autobahn/client/hornbeam_case_6_22_28.html +++ b/autobahn/client/hornbeam_case_6_22_28.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.28 : Pass - 47 ms @ 2023-08-10T23:02:19.957Z

+

Hornbeam - Case 6.22.28 : Pass - 54 ms @ 2023-08-11T05:15:20.764Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf39fbfbf

Case Expectation

The message is echo'ed back to us.

@@ -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: qa8Cg0xDkGOrNkzNZMtEGg== +Sec-WebSocket-Key: NbZ7660zKLQ5Z29PmApBVQ== 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: fPtbhJUCTc/hTAml+UTKEbqCDdQ=
+Sec-WebSocket-Accept: 274N7eyheWC9xCPkMCfg3zCxIsI=

Closing Behavior

@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: fPtbhJUCTc/hTAml+UTKEbqCDdQ=

Octets Received by Chop Size

- - + + - +
Chop SizeCountOctets
111
818
122
717
919
1841184
Total4202
Total5202

Octets Transmitted by Chop Size

@@ -288,16 +288,17 @@ Sec-WebSocket-Accept: fPtbhJUCTc/hTAml+UTKEbqCDdQ=
003 TX OCTETS: 8104f39fbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 846094be2b930b0194
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3630393462653262
+
006 RX OCTETS: 84f711ea30048e558f
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6637313165613330
               óŸ¿¿
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: 88821dcddddb1e25
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3164636464646462
+
010 RX OCTETS: 88
+
011 RX OCTETS: 82847da51e8795
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3834376461353165
               0x03e8
-
012 TCP DROPPED BY ME
+
013 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_22_28.json b/autobahn/client/hornbeam_case_6_22_28.json index c299c0f..ebd36ea 100644 --- a/autobahn/client/hornbeam_case_6_22_28.json +++ b/autobahn/client/hornbeam_case_6_22_28.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf39fbfbf", "droppedByMe": true, - "duration": 47, + "duration": 54, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=196&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: qa8Cg0xDkGOrNkzNZMtEGg==\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: fPtbhJUCTc/hTAml+UTKEbqCDdQ=\r\n\r\n", + "httpRequest": "GET /runCase?case=196&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: NbZ7660zKLQ5Z29PmApBVQ==\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: 274N7eyheWC9xCPkMCfg3zCxIsI=\r\n\r\n", "id": "6.22.28", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 1, - "8": 1, + "1": 2, + "7": 1, "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:19.957Z", + "started": "2023-08-11T05:15:20.764Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "846094be2b930b0194" + "84f711ea30048e558f" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "6094be2b" + "f711ea30" ], [ "TF", @@ -165,8 +165,15 @@ [ "RO", [ - 8, - "88821dcddddb1e25" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "82847da51e8795" ] ], [ @@ -179,7 +186,7 @@ true, 0, true, - "1dcddddb" + "847da51e" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_29.html b/autobahn/client/hornbeam_case_6_22_29.html index cec4310..6e6d880 100644 --- a/autobahn/client/hornbeam_case_6_22_29.html +++ b/autobahn/client/hornbeam_case_6_22_29.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.29 : Pass - 50 ms @ 2023-08-10T23:02:20.007Z

+

Hornbeam - Case 6.22.29 : Pass - 52 ms @ 2023-08-11T05:15:20.821Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf3afbfbe

Case Expectation

The message is echo'ed back to us.

@@ -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: 0Z8zyXberffLzJFrE1pfuQ== +Sec-WebSocket-Key: dxT9/9QY3mcMTmuv7ttjGA== 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: 8bIkmxb2iC1fkGtGdBG4Z3NG63o=
+Sec-WebSocket-Accept: v7hdPaUyszmTRJ+cH8k5NWv+B0I=

Closing Behavior

@@ -288,15 +288,15 @@ Sec-WebSocket-Accept: 8bIkmxb2iC1fkGtGdBG4Z3NG63o=
003 TX OCTETS: 8104f3afbfbe
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 84bd8c566e4e23e9d0
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6264386335363665
+
006 RX OCTETS: 84242f3a33d780858d
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3234326633613333
               󯿾
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: 82b7200deab4c8
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6237323030646561
+
011 RX OCTETS: 82469dce8a4575
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3436396463653861
               0x03e8
013 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_22_29.json b/autobahn/client/hornbeam_case_6_22_29.json index 9b40d75..42b4243 100644 --- a/autobahn/client/hornbeam_case_6_22_29.json +++ b/autobahn/client/hornbeam_case_6_22_29.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf3afbfbe", "droppedByMe": true, - "duration": 50, + "duration": 52, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=197&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 0Z8zyXberffLzJFrE1pfuQ==\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: 8bIkmxb2iC1fkGtGdBG4Z3NG63o=\r\n\r\n", + "httpRequest": "GET /runCase?case=197&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: dxT9/9QY3mcMTmuv7ttjGA==\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: v7hdPaUyszmTRJ+cH8k5NWv+B0I=\r\n\r\n", "id": "6.22.29", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:20.007Z", + "started": "2023-08-11T05:15:20.821Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "84bd8c566e4e23e9d0" + "84242f3a33d780858d" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "bd8c566e" + "242f3a33" ], [ "TF", @@ -173,7 +173,7 @@ "RO", [ 7, - "82b7200deab4c8" + "82469dce8a4575" ] ], [ @@ -186,7 +186,7 @@ true, 0, true, - "b7200dea" + "469dce8a" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_3.html b/autobahn/client/hornbeam_case_6_22_3.html index d0708c9..b0ff0f1 100644 --- a/autobahn/client/hornbeam_case_6_22_3.html +++ b/autobahn/client/hornbeam_case_6_22_3.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.3 : Pass - 48 ms @ 2023-08-10T23:02:18.720Z

+

Hornbeam - Case 6.22.3 : Pass - 49 ms @ 2023-08-11T05:15:19.473Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf09fbfbe

Case Expectation

The message is echo'ed back to us.

@@ -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: nDV2pCUdCjYmZ79fgQEgFw== +Sec-WebSocket-Key: vA7CKQxnBhqwvb5R9qnP0A== 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: 70pqPuZyMkfH8gr8D3wW8gMiroI=
+Sec-WebSocket-Accept: HKoTzPGjB2ZtbByH1cciCkqjgds=

Closing Behavior

@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: 70pqPuZyMkfH8gr8D3wW8gMiroI=

Octets Received by Chop Size

- - + + - +
Chop SizeCountOctets
122
717
111
818
919
1841184
Total5202
Total4202

Octets Transmitted by Chop Size

@@ -288,17 +288,16 @@ Sec-WebSocket-Accept: 70pqPuZyMkfH8gr8D3wW8gMiroI=
003 TX OCTETS: 8104f09fbfbe
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 84aa42fbda5add4464
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6161343266626461
+
006 RX OCTETS: 849c95c8d56c0a776b
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3963393563386435
               🿾
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: 82596b2a2e5a83
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3539366232613265
+
010 RX OCTETS: 88825eb275af5d5a
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3565623237356166
               0x03e8
-
013 TCP DROPPED BY ME
+
012 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_22_3.json b/autobahn/client/hornbeam_case_6_22_3.json index 76248f5..73a5fb7 100644 --- a/autobahn/client/hornbeam_case_6_22_3.json +++ b/autobahn/client/hornbeam_case_6_22_3.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf09fbfbe", "droppedByMe": true, - "duration": 48, + "duration": 49, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=171&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: nDV2pCUdCjYmZ79fgQEgFw==\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: 70pqPuZyMkfH8gr8D3wW8gMiroI=\r\n\r\n", + "httpRequest": "GET /runCase?case=171&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: vA7CKQxnBhqwvb5R9qnP0A==\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: HKoTzPGjB2ZtbByH1cciCkqjgds=\r\n\r\n", "id": "6.22.3", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 2, - "7": 1, + "1": 1, + "8": 1, "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:18.720Z", + "started": "2023-08-11T05:15:19.473Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "84aa42fbda5add4464" + "849c95c8d56c0a776b" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "aa42fbda" + "9c95c8d5" ], [ "TF", @@ -165,15 +165,8 @@ [ "RO", [ - 1, - "88" - ] - ], - [ - "RO", - [ - 7, - "82596b2a2e5a83" + 8, + "88825eb275af5d5a" ] ], [ @@ -186,7 +179,7 @@ true, 0, true, - "596b2a2e" + "5eb275af" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_30.html b/autobahn/client/hornbeam_case_6_22_30.html index 9874f58..0a54975 100644 --- a/autobahn/client/hornbeam_case_6_22_30.html +++ b/autobahn/client/hornbeam_case_6_22_30.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.30 : Pass - 51 ms @ 2023-08-10T23:02:20.059Z

+

Hornbeam - Case 6.22.30 : Pass - 56 ms @ 2023-08-11T05:15:20.877Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf3afbfbf

Case Expectation

The message is echo'ed back to us.

@@ -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: C07BVC40t5ozr/Ez4ZrmSg== +Sec-WebSocket-Key: Jr4qGJQ6QZkCfG8Sn/d3vw== 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: x3DV8j/tzrDaMd/qCmtdXb1giWM=
+Sec-WebSocket-Accept: VPR4iIgw4MU7DHSrrP5wb044PoY=

Closing Behavior

@@ -288,14 +288,14 @@ Sec-WebSocket-Accept: x3DV8j/tzrDaMd/qCmtdXb1giWM=
003 TX OCTETS: 8104f3afbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 84faca4d300965f28f
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6661636134643330
+
006 RX OCTETS: 84cad1f0f5397e4f4a
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6361643166306635
               󯿿
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: 8882684419b96bac
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3638343431396239
+
010 RX OCTETS: 88820e6235580d8a
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3065363233353538
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_22_30.json b/autobahn/client/hornbeam_case_6_22_30.json index 78c6cb0..4a0ec2a 100644 --- a/autobahn/client/hornbeam_case_6_22_30.json +++ b/autobahn/client/hornbeam_case_6_22_30.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf3afbfbf", "droppedByMe": true, - "duration": 51, + "duration": 56, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=198&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: C07BVC40t5ozr/Ez4ZrmSg==\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: x3DV8j/tzrDaMd/qCmtdXb1giWM=\r\n\r\n", + "httpRequest": "GET /runCase?case=198&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Jr4qGJQ6QZkCfG8Sn/d3vw==\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: VPR4iIgw4MU7DHSrrP5wb044PoY=\r\n\r\n", "id": "6.22.30", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:20.059Z", + "started": "2023-08-11T05:15:20.877Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "84faca4d300965f28f" + "84cad1f0f5397e4f4a" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "faca4d30" + "cad1f0f5" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "8882684419b96bac" + "88820e6235580d8a" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "684419b9" + "0e623558" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_31.html b/autobahn/client/hornbeam_case_6_22_31.html index 56c40c7..92ea8d0 100644 --- a/autobahn/client/hornbeam_case_6_22_31.html +++ b/autobahn/client/hornbeam_case_6_22_31.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.31 : Pass - 45 ms @ 2023-08-10T23:02:20.112Z

+

Hornbeam - Case 6.22.31 : Pass - 48 ms @ 2023-08-11T05:15:20.935Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf3bfbfbe

Case Expectation

The message is echo'ed back to us.

@@ -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: QFG6BfW/sXNt6xhkrlyt2w== +Sec-WebSocket-Key: Es/5g5Scc0wkS35v7+3taw== 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: QYERLRo0IWj7CZ9jYEX9CXVodnk=
+Sec-WebSocket-Accept: ZPojfNd5apmAXp3X4Z67yRccY6I=

Closing Behavior

@@ -288,15 +288,15 @@ Sec-WebSocket-Accept: QYERLRo0IWj7CZ9jYEX9CXVodnk=
003 TX OCTETS: 8104f3bfbfbe
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 8464e2586d975de7d3
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3634653235383664
+
006 RX OCTETS: 84076726e2f4d8995c
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3037363732366532
               ó¿¿¾
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: 8222bdb8322155
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3232626462383332
+
011 RX OCTETS: 828a54560489bc
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3861353435363034
               0x03e8
013 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_22_31.json b/autobahn/client/hornbeam_case_6_22_31.json index 841b7cf..10bca87 100644 --- a/autobahn/client/hornbeam_case_6_22_31.json +++ b/autobahn/client/hornbeam_case_6_22_31.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf3bfbfbe", "droppedByMe": true, - "duration": 45, + "duration": 48, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=199&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: QFG6BfW/sXNt6xhkrlyt2w==\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: QYERLRo0IWj7CZ9jYEX9CXVodnk=\r\n\r\n", + "httpRequest": "GET /runCase?case=199&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Es/5g5Scc0wkS35v7+3taw==\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: ZPojfNd5apmAXp3X4Z67yRccY6I=\r\n\r\n", "id": "6.22.31", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:20.112Z", + "started": "2023-08-11T05:15:20.935Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "8464e2586d975de7d3" + "84076726e2f4d8995c" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "64e2586d" + "076726e2" ], [ "TF", @@ -173,7 +173,7 @@ "RO", [ 7, - "8222bdb8322155" + "828a54560489bc" ] ], [ @@ -186,7 +186,7 @@ true, 0, true, - "22bdb832" + "8a545604" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_32.html b/autobahn/client/hornbeam_case_6_22_32.html index 9572cc1..0d4a949 100644 --- a/autobahn/client/hornbeam_case_6_22_32.html +++ b/autobahn/client/hornbeam_case_6_22_32.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.32 : Pass - 50 ms @ 2023-08-10T23:02:20.160Z

+

Hornbeam - Case 6.22.32 : Pass - 49 ms @ 2023-08-11T05:15:20.986Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf3bfbfbf

Case Expectation

The message is echo'ed back to us.

@@ -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: tONjLLiq6dbqd1SLWVEi1A== +Sec-WebSocket-Key: GzNYWyXmcQFbhSB5nz9e/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: eSAZEczlVzhjPVtld4oZksk2lHc=
+Sec-WebSocket-Accept: GcIc1E3579cz8WPJrLt/eYxJFtU=

Closing Behavior

@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: eSAZEczlVzhjPVtld4oZksk2lHc=

Octets Received by Chop Size

- - + + - +
Chop SizeCountOctets
122
717
111
818
919
1841184
Total5202
Total4202

Octets Transmitted by Chop Size

@@ -288,17 +288,16 @@ Sec-WebSocket-Accept: eSAZEczlVzhjPVtld4oZksk2lHc=
003 TX OCTETS: 8104f3bfbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 8466b975d49506ca6b
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3636623937356434
+
006 RX OCTETS: 8425a34033d61cff8c
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3235613334303333
               ó¿¿¿
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: 82c9e4f647ca0c
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6339653466363437
+
010 RX OCTETS: 88826386f1ec606e
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3633383666316563
               0x03e8
-
013 TCP DROPPED BY ME
+
012 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_22_32.json b/autobahn/client/hornbeam_case_6_22_32.json index 423ca69..cf47ea9 100644 --- a/autobahn/client/hornbeam_case_6_22_32.json +++ b/autobahn/client/hornbeam_case_6_22_32.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf3bfbfbf", "droppedByMe": true, - "duration": 50, + "duration": 49, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=200&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: tONjLLiq6dbqd1SLWVEi1A==\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: eSAZEczlVzhjPVtld4oZksk2lHc=\r\n\r\n", + "httpRequest": "GET /runCase?case=200&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: GzNYWyXmcQFbhSB5nz9e/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: GcIc1E3579cz8WPJrLt/eYxJFtU=\r\n\r\n", "id": "6.22.32", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 2, - "7": 1, + "1": 1, + "8": 1, "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:20.160Z", + "started": "2023-08-11T05:15:20.986Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "8466b975d49506ca6b" + "8425a34033d61cff8c" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "66b975d4" + "25a34033" ], [ "TF", @@ -165,15 +165,8 @@ [ "RO", [ - 1, - "88" - ] - ], - [ - "RO", - [ - 7, - "82c9e4f647ca0c" + 8, + "88826386f1ec606e" ] ], [ @@ -186,7 +179,7 @@ true, 0, true, - "c9e4f647" + "6386f1ec" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_33.html b/autobahn/client/hornbeam_case_6_22_33.html index 6e44eb1..0a85bf5 100644 --- a/autobahn/client/hornbeam_case_6_22_33.html +++ b/autobahn/client/hornbeam_case_6_22_33.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.33 : Pass - 48 ms @ 2023-08-10T23:02:20.213Z

+

Hornbeam - Case 6.22.33 : Pass - 47 ms @ 2023-08-11T05:15:21.038Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf48fbfbe

Case Expectation

The message is echo'ed back to us.

@@ -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: No5Ru8ohwKpJ/nbFmVHsXg== +Sec-WebSocket-Key: Dt/oXPj3rqsgkUIe6EK1ZA== 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: D26DIY+Xp83EVfZhMPlHHxKsF4I=
+Sec-WebSocket-Accept: IRCIRZyfLLVfgoXFw4GVtaNNVEQ=

Closing Behavior

@@ -288,14 +288,14 @@ Sec-WebSocket-Accept: D26DIY+Xp83EVfZhMPlHHxKsF4I=
003 TX OCTETS: 8104f48fbfbe
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 84181d446bec92fbd5
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3138316434343662
+
006 RX OCTETS: 84da277aee2ea8c550
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6461323737616565
               ô¿¾
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: 8882afd06bcaac38
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6166643036626361
+
010 RX OCTETS: 888244f42ec2471c
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3434663432656332
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_22_33.json b/autobahn/client/hornbeam_case_6_22_33.json index 6891097..94ebaed 100644 --- a/autobahn/client/hornbeam_case_6_22_33.json +++ b/autobahn/client/hornbeam_case_6_22_33.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf48fbfbe", "droppedByMe": true, - "duration": 48, + "duration": 47, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=201&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: No5Ru8ohwKpJ/nbFmVHsXg==\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: D26DIY+Xp83EVfZhMPlHHxKsF4I=\r\n\r\n", + "httpRequest": "GET /runCase?case=201&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Dt/oXPj3rqsgkUIe6EK1ZA==\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: IRCIRZyfLLVfgoXFw4GVtaNNVEQ=\r\n\r\n", "id": "6.22.33", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:20.213Z", + "started": "2023-08-11T05:15:21.038Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "84181d446bec92fbd5" + "84da277aee2ea8c550" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "181d446b" + "da277aee" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "8882afd06bcaac38" + "888244f42ec2471c" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "afd06bca" + "44f42ec2" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_34.html b/autobahn/client/hornbeam_case_6_22_34.html index 3d72adf..82704ec 100644 --- a/autobahn/client/hornbeam_case_6_22_34.html +++ b/autobahn/client/hornbeam_case_6_22_34.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.34 : Pass - 50 ms @ 2023-08-10T23:02:20.263Z

+

Hornbeam - Case 6.22.34 : Pass - 62 ms @ 2023-08-11T05:15:21.092Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf48fbfbf

Case Expectation

The message is echo'ed back to us.

@@ -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: 87HbZXJ3qTOSpcX7tmvmdw== +Sec-WebSocket-Key: K01lwdKZgSy3X/vaarPaSg== 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: j2fEoiffBOJZ8LHe3ffrUeKJhx4=
+Sec-WebSocket-Accept: Qvm5RlaUQwP4m0e7Y6o6w9mP1R4=

Closing Behavior

@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: j2fEoiffBOJZ8LHe3ffrUeKJhx4=

Octets Received by Chop Size

- - + + - +
Chop SizeCountOctets
122
717
111
818
919
1841184
Total5202
Total4202

Octets Transmitted by Chop Size

@@ -288,17 +288,16 @@ Sec-WebSocket-Accept: j2fEoiffBOJZ8LHe3ffrUeKJhx4=
003 TX OCTETS: 8104f48fbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 84a422724050adcdff
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6134323237323430
+
006 RX OCTETS: 844a50db0fbedf64b0
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3461353064623066
               ô¿¿
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: 82dc23cb1adfcb
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6463323363623161
+
010 RX OCTETS: 8882d5451869d6ad
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6435343531383639
               0x03e8
-
013 TCP DROPPED BY ME
+
012 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_22_34.json b/autobahn/client/hornbeam_case_6_22_34.json index 86370df..94e4ad6 100644 --- a/autobahn/client/hornbeam_case_6_22_34.json +++ b/autobahn/client/hornbeam_case_6_22_34.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf48fbfbf", "droppedByMe": true, - "duration": 50, + "duration": 62, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=202&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 87HbZXJ3qTOSpcX7tmvmdw==\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: j2fEoiffBOJZ8LHe3ffrUeKJhx4=\r\n\r\n", + "httpRequest": "GET /runCase?case=202&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: K01lwdKZgSy3X/vaarPaSg==\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: Qvm5RlaUQwP4m0e7Y6o6w9mP1R4=\r\n\r\n", "id": "6.22.34", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 2, - "7": 1, + "1": 1, + "8": 1, "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:20.263Z", + "started": "2023-08-11T05:15:21.092Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "84a422724050adcdff" + "844a50db0fbedf64b0" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "a4227240" + "4a50db0f" ], [ "TF", @@ -165,15 +165,8 @@ [ "RO", [ - 1, - "88" - ] - ], - [ - "RO", - [ - 7, - "82dc23cb1adfcb" + 8, + "8882d5451869d6ad" ] ], [ @@ -186,7 +179,7 @@ true, 0, true, - "dc23cb1a" + "d5451869" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_4.html b/autobahn/client/hornbeam_case_6_22_4.html index c9c3508..686d39f 100644 --- a/autobahn/client/hornbeam_case_6_22_4.html +++ b/autobahn/client/hornbeam_case_6_22_4.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.4 : Pass - 47 ms @ 2023-08-10T23:02:18.770Z

+

Hornbeam - Case 6.22.4 : Pass - 45 ms @ 2023-08-11T05:15:19.524Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf09fbfbf

Case Expectation

The message is echo'ed back to us.

@@ -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: T0u8I2M/XiQbIfbkH/1KtQ== +Sec-WebSocket-Key: MOz2YWxjQyu1mSwo83b1bw== 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: q36bj76bFjJSP4zxVzzdpo9UIjo=
+Sec-WebSocket-Accept: dhJNPP8jjCLMghoc7sYkQ2A94+U=

Closing Behavior

@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: q36bj76bFjJSP4zxVzzdpo9UIjo=

Octets Received by Chop Size

- - + + - +
Chop SizeCountOctets
122
717
111
818
919
1841184
Total5202
Total4202

Octets Transmitted by Chop Size

@@ -288,17 +288,16 @@ Sec-WebSocket-Accept: q36bj76bFjJSP4zxVzzdpo9UIjo=
003 TX OCTETS: 8104f09fbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 845730de0ba7af61b4
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3537333064653062
+
006 RX OCTETS: 8489b4976b792b28d4
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3839623439373662
               🿿
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: 822e9b7f9e2d73
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3265396237663965
+
010 RX OCTETS: 8882ce1d2b42cdf5
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6365316432623432
               0x03e8
-
013 TCP DROPPED BY ME
+
012 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_22_4.json b/autobahn/client/hornbeam_case_6_22_4.json index e185182..44f7f09 100644 --- a/autobahn/client/hornbeam_case_6_22_4.json +++ b/autobahn/client/hornbeam_case_6_22_4.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf09fbfbf", "droppedByMe": true, - "duration": 47, + "duration": 45, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=172&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: T0u8I2M/XiQbIfbkH/1KtQ==\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: q36bj76bFjJSP4zxVzzdpo9UIjo=\r\n\r\n", + "httpRequest": "GET /runCase?case=172&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: MOz2YWxjQyu1mSwo83b1bw==\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: dhJNPP8jjCLMghoc7sYkQ2A94+U=\r\n\r\n", "id": "6.22.4", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 2, - "7": 1, + "1": 1, + "8": 1, "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:18.770Z", + "started": "2023-08-11T05:15:19.524Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "845730de0ba7af61b4" + "8489b4976b792b28d4" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "5730de0b" + "89b4976b" ], [ "TF", @@ -165,15 +165,8 @@ [ "RO", [ - 1, - "88" - ] - ], - [ - "RO", - [ - 7, - "822e9b7f9e2d73" + 8, + "8882ce1d2b42cdf5" ] ], [ @@ -186,7 +179,7 @@ true, 0, true, - "2e9b7f9e" + "ce1d2b42" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_5.html b/autobahn/client/hornbeam_case_6_22_5.html index fcc02d2..5b9541d 100644 --- a/autobahn/client/hornbeam_case_6_22_5.html +++ b/autobahn/client/hornbeam_case_6_22_5.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.5 : Pass - 47 ms @ 2023-08-10T23:02:18.820Z

+

Hornbeam - Case 6.22.5 : Pass - 47 ms @ 2023-08-11T05:15:19.572Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf0afbfbe

Case Expectation

The message is echo'ed back to us.

@@ -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: SYw9b9YYzL7kBLpKajQEqA== +Sec-WebSocket-Key: O0Q8YJKNvIM1xf551AJ95w== 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: chtNrXcCLR5ugz3iagLx4JVrBRE=
+Sec-WebSocket-Accept: bun1NvxnQL74kjY8NerG0N/JaZk=

Closing Behavior

@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: chtNrXcCLR5ugz3iagLx4JVrBRE=

Octets Received by Chop Size

- - + + - +
Chop SizeCountOctets
111
818
122
717
919
1841184
Total4202
Total5202

Octets Transmitted by Chop Size

@@ -288,16 +288,17 @@ Sec-WebSocket-Accept: chtNrXcCLR5ugz3iagLx4JVrBRE=
003 TX OCTETS: 8104f0afbfbe
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 8480dfa5b470701a0a
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3830646661356234
+
006 RX OCTETS: 84d7ee67c52741d87b
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6437656536376335
               𯿾
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: 88827ac8430e7920
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3761633834333065
+
010 RX OCTETS: 88
+
011 RX OCTETS: 8252276e5c51cf
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3532323736653563
               0x03e8
-
012 TCP DROPPED BY ME
+
013 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_22_5.json b/autobahn/client/hornbeam_case_6_22_5.json index 2c08aad..13da28f 100644 --- a/autobahn/client/hornbeam_case_6_22_5.json +++ b/autobahn/client/hornbeam_case_6_22_5.json @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=173&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: SYw9b9YYzL7kBLpKajQEqA==\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: chtNrXcCLR5ugz3iagLx4JVrBRE=\r\n\r\n", + "httpRequest": "GET /runCase?case=173&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: O0Q8YJKNvIM1xf551AJ95w==\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: bun1NvxnQL74kjY8NerG0N/JaZk=\r\n\r\n", "id": "6.22.5", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 1, - "8": 1, + "1": 2, + "7": 1, "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:18.820Z", + "started": "2023-08-11T05:15:19.572Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "8480dfa5b470701a0a" + "84d7ee67c52741d87b" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "80dfa5b4" + "d7ee67c5" ], [ "TF", @@ -165,8 +165,15 @@ [ "RO", [ - 8, - "88827ac8430e7920" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "8252276e5c51cf" ] ], [ @@ -179,7 +186,7 @@ true, 0, true, - "7ac8430e" + "52276e5c" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_6.html b/autobahn/client/hornbeam_case_6_22_6.html index 82ddd6f..e3e7b33 100644 --- a/autobahn/client/hornbeam_case_6_22_6.html +++ b/autobahn/client/hornbeam_case_6_22_6.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.6 : Pass - 49 ms @ 2023-08-10T23:02:18.869Z

+

Hornbeam - Case 6.22.6 : Pass - 47 ms @ 2023-08-11T05:15:19.621Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf0afbfbf

Case Expectation

The message is echo'ed back to us.

@@ -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: pqLfc4cJuxHgCS8giVOA0A== +Sec-WebSocket-Key: CP0dAlpFpIem4HozvG2JOg== 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: Fdcz5nOOhNlZImoAtxlo6zGsaRI=
+Sec-WebSocket-Accept: g6MIzUL31VaFtF2mAs3aG4OSY60=

Closing Behavior

@@ -288,15 +288,15 @@ Sec-WebSocket-Accept: Fdcz5nOOhNlZImoAtxlo6zGsaRI=
003 TX OCTETS: 8104f0afbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 847630620d869fddb2
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3736333036323064
+
006 RX OCTETS: 84f0d0bfee007f0051
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6630643062666565
               𯿿
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: 82ab8726e2a86f
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6162383732366532
+
011 RX OCTETS: 820f9cb6e20c74
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3066396362366532
               0x03e8
013 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_22_6.json b/autobahn/client/hornbeam_case_6_22_6.json index d1e7fbb..d34ba1b 100644 --- a/autobahn/client/hornbeam_case_6_22_6.json +++ b/autobahn/client/hornbeam_case_6_22_6.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf0afbfbf", "droppedByMe": true, - "duration": 49, + "duration": 47, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=174&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: pqLfc4cJuxHgCS8giVOA0A==\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: Fdcz5nOOhNlZImoAtxlo6zGsaRI=\r\n\r\n", + "httpRequest": "GET /runCase?case=174&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: CP0dAlpFpIem4HozvG2JOg==\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: g6MIzUL31VaFtF2mAs3aG4OSY60=\r\n\r\n", "id": "6.22.6", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:18.869Z", + "started": "2023-08-11T05:15:19.621Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "847630620d869fddb2" + "84f0d0bfee007f0051" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "7630620d" + "f0d0bfee" ], [ "TF", @@ -173,7 +173,7 @@ "RO", [ 7, - "82ab8726e2a86f" + "820f9cb6e20c74" ] ], [ @@ -186,7 +186,7 @@ true, 0, true, - "ab8726e2" + "0f9cb6e2" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_7.html b/autobahn/client/hornbeam_case_6_22_7.html index 9f7cd4a..4e331e0 100644 --- a/autobahn/client/hornbeam_case_6_22_7.html +++ b/autobahn/client/hornbeam_case_6_22_7.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.7 : Pass - 46 ms @ 2023-08-10T23:02:18.921Z

+

Hornbeam - Case 6.22.7 : Pass - 47 ms @ 2023-08-11T05:15:19.671Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf0bfbfbe

Case Expectation

The message is echo'ed back to us.

@@ -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: OtQEoOfJnJrOsbyAK/y85g== +Sec-WebSocket-Key: O99RxWJirYxnUDAWbQHFFQ== 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: tyuCp0Cbmt0y2OmQ+bL7X6e/Xg0=
+Sec-WebSocket-Accept: nplcZO+6uB4KHFjorkVsJKnygyA=

Closing Behavior

@@ -288,15 +288,15 @@ Sec-WebSocket-Accept: tyuCp0Cbmt0y2OmQ+bL7X6e/Xg0=
003 TX OCTETS: 8104f0bfbfbe
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 84832e02267391bd98
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3833326530323236
+
006 RX OCTETS: 84aaf3b2685a4c0dd6
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6161663362323638
               ð¿¿¾
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: 82d731f360d4d9
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6437333166333630
+
011 RX OCTETS: 82f78c3f67f464
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6637386333663637
               0x03e8
013 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_22_7.json b/autobahn/client/hornbeam_case_6_22_7.json index 6b91bc2..00df3fa 100644 --- a/autobahn/client/hornbeam_case_6_22_7.json +++ b/autobahn/client/hornbeam_case_6_22_7.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf0bfbfbe", "droppedByMe": true, - "duration": 46, + "duration": 47, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=175&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: OtQEoOfJnJrOsbyAK/y85g==\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: tyuCp0Cbmt0y2OmQ+bL7X6e/Xg0=\r\n\r\n", + "httpRequest": "GET /runCase?case=175&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: O99RxWJirYxnUDAWbQHFFQ==\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: nplcZO+6uB4KHFjorkVsJKnygyA=\r\n\r\n", "id": "6.22.7", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:18.921Z", + "started": "2023-08-11T05:15:19.671Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "84832e02267391bd98" + "84aaf3b2685a4c0dd6" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "832e0226" + "aaf3b268" ], [ "TF", @@ -173,7 +173,7 @@ "RO", [ 7, - "82d731f360d4d9" + "82f78c3f67f464" ] ], [ @@ -186,7 +186,7 @@ true, 0, true, - "d731f360" + "f78c3f67" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_8.html b/autobahn/client/hornbeam_case_6_22_8.html index 5dcfb2e..3f4d805 100644 --- a/autobahn/client/hornbeam_case_6_22_8.html +++ b/autobahn/client/hornbeam_case_6_22_8.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.8 : Pass - 44 ms @ 2023-08-10T23:02:18.969Z

+

Hornbeam - Case 6.22.8 : Pass - 46 ms @ 2023-08-11T05:15:19.720Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf0bfbfbf

Case Expectation

The message is echo'ed back to us.

@@ -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: SQ5NlhzWOUkgfVFKAM7RYQ== +Sec-WebSocket-Key: a7NekxEiXBkw0DZMC9AK0g== 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: PBg1IcH9sU4j7p2FXIynHQo0b40=
+Sec-WebSocket-Accept: 7k+7SEMkM+QHY5Xtz4My+8t+ueA=

Closing Behavior

@@ -288,15 +288,15 @@ Sec-WebSocket-Accept: PBg1IcH9sU4j7p2FXIynHQo0b40=
003 TX OCTETS: 8104f0bfbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 840732e5fdf78d5a42
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3037333265356664
+
006 RX OCTETS: 8447bb7dd7b704c268
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3437626237646437
               ð¿¿¿
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: 82719c6f1e7274
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3731396336663165
+
011 RX OCTETS: 822c5c4f622fb4
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3263356334663632
               0x03e8
013 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_22_8.json b/autobahn/client/hornbeam_case_6_22_8.json index b4847aa..4491598 100644 --- a/autobahn/client/hornbeam_case_6_22_8.json +++ b/autobahn/client/hornbeam_case_6_22_8.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf0bfbfbf", "droppedByMe": true, - "duration": 44, + "duration": 46, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=176&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: SQ5NlhzWOUkgfVFKAM7RYQ==\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: PBg1IcH9sU4j7p2FXIynHQo0b40=\r\n\r\n", + "httpRequest": "GET /runCase?case=176&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: a7NekxEiXBkw0DZMC9AK0g==\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: 7k+7SEMkM+QHY5Xtz4My+8t+ueA=\r\n\r\n", "id": "6.22.8", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:18.969Z", + "started": "2023-08-11T05:15:19.720Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "840732e5fdf78d5a42" + "8447bb7dd7b704c268" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "0732e5fd" + "47bb7dd7" ], [ "TF", @@ -173,7 +173,7 @@ "RO", [ 7, - "82719c6f1e7274" + "822c5c4f622fb4" ] ], [ @@ -186,7 +186,7 @@ true, 0, true, - "719c6f1e" + "2c5c4f62" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_22_9.html b/autobahn/client/hornbeam_case_6_22_9.html index 2e94f3b..3a6b0d2 100644 --- a/autobahn/client/hornbeam_case_6_22_9.html +++ b/autobahn/client/hornbeam_case_6_22_9.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.22.9 : Pass - 47 ms @ 2023-08-10T23:02:19.016Z

+

Hornbeam - Case 6.22.9 : Pass - 44 ms @ 2023-08-11T05:15:19.768Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf18fbfbe

Case Expectation

The message is echo'ed back to us.

@@ -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: thuYnhx1RUp768wfFliUmg== +Sec-WebSocket-Key: 86g2Oshz25LkRmuMO2KsYQ== 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: MPyJjgYT027sMPSh5H+BlHzMeF4=
+Sec-WebSocket-Accept: 47Rze8HqNmR8dF07DeWyI16tO2c=

Closing Behavior

@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: MPyJjgYT027sMPSh5H+BlHzMeF4=

Octets Received by Chop Size

- - + + - +
Chop SizeCountOctets
122
717
111
818
919
1841184
Total5202
Total4202

Octets Transmitted by Chop Size

@@ -288,17 +288,16 @@ Sec-WebSocket-Accept: MPyJjgYT027sMPSh5H+BlHzMeF4=
003 TX OCTETS: 8104f18fbfbe
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 84c470be0635ff01b8
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=6334373062653036
+
006 RX OCTETS: 843c7c8dcccdf33272
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3363376338646363
               ñ¿¾
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: 8270fe525a7316
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3730666535323561
+
010 RX OCTETS: 88826def58a36e07
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3664656635386133
               0x03e8
-
013 TCP DROPPED BY ME
+
012 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_22_9.json b/autobahn/client/hornbeam_case_6_22_9.json index da8a3b6..1a9cea0 100644 --- a/autobahn/client/hornbeam_case_6_22_9.json +++ b/autobahn/client/hornbeam_case_6_22_9.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf18fbfbe", "droppedByMe": true, - "duration": 47, + "duration": 44, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=177&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: thuYnhx1RUp768wfFliUmg==\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: MPyJjgYT027sMPSh5H+BlHzMeF4=\r\n\r\n", + "httpRequest": "GET /runCase?case=177&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 86g2Oshz25LkRmuMO2KsYQ==\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: 47Rze8HqNmR8dF07DeWyI16tO2c=\r\n\r\n", "id": "6.22.9", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 2, - "7": 1, + "1": 1, + "8": 1, "9": 1, "184": 1 }, - "started": "2023-08-10T23:02:19.016Z", + "started": "2023-08-11T05:15:19.768Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "84c470be0635ff01b8" + "843c7c8dcccdf33272" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "c470be06" + "3c7c8dcc" ], [ "TF", @@ -165,15 +165,8 @@ [ "RO", [ - 1, - "88" - ] - ], - [ - "RO", - [ - 7, - "8270fe525a7316" + 8, + "88826def58a36e07" ] ], [ @@ -186,7 +179,7 @@ true, 0, true, - "70fe525a" + "6def58a3" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_23_1.html b/autobahn/client/hornbeam_case_6_23_1.html index 93596fa..83998ad 100644 --- a/autobahn/client/hornbeam_case_6_23_1.html +++ b/autobahn/client/hornbeam_case_6_23_1.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.23.1 : Pass - 44 ms @ 2023-08-10T23:02:20.316Z

+

Hornbeam - Case 6.23.1 : Pass - 59 ms @ 2023-08-11T05:15:21.157Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xefbfb9

Case Expectation

The message is echo'ed back to us.

@@ -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: EhibYxZ0FCShRds8IhJsxw== +Sec-WebSocket-Key: WgWIhxztMtQ1k67BXZGIEQ== 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: +jZ7ZoCj0QVSG5j2j1aYW42lQJU=
+Sec-WebSocket-Accept: pyQ95yEi4+vSxYm4Uh0Hs14pCHU=

Closing Behavior

@@ -287,14 +287,14 @@ Sec-WebSocket-Accept: +jZ7ZoCj0QVSG5j2j1aYW42lQJU=
003 TX OCTETS: 8103efbfb9
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 8384d544846b6afd
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3834643534343834
+
006 RX OCTETS: 83ea8d0c9c0532b5
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=6561386430633963
               
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: 8882228948752161
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3232383934383735
+
010 RX OCTETS: 8882894c3c6f8aa4
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3839346333633666
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_23_1.json b/autobahn/client/hornbeam_case_6_23_1.json index 441330a..6f6a196 100644 --- a/autobahn/client/hornbeam_case_6_23_1.json +++ b/autobahn/client/hornbeam_case_6_23_1.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xefbfb9", "droppedByMe": true, - "duration": 44, + "duration": 59, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=203&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: EhibYxZ0FCShRds8IhJsxw==\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: +jZ7ZoCj0QVSG5j2j1aYW42lQJU=\r\n\r\n", + "httpRequest": "GET /runCase?case=203&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: WgWIhxztMtQ1k67BXZGIEQ==\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: pyQ95yEi4+vSxYm4Uh0Hs14pCHU=\r\n\r\n", "id": "6.23.1", "isServer": true, "localCloseCode": 1000, @@ -55,7 +55,7 @@ "8": 2, "184": 1 }, - "started": "2023-08-10T23:02:20.316Z", + "started": "2023-08-11T05:15:21.157Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -124,7 +124,7 @@ "RO", [ 8, - "8384d544846b6afd" + "83ea8d0c9c0532b5" ] ], [ @@ -137,7 +137,7 @@ true, 0, true, - "84d54484" + "ea8d0c9c" ], [ "TF", @@ -165,7 +165,7 @@ "RO", [ 8, - "8882228948752161" + "8882894c3c6f8aa4" ] ], [ @@ -178,7 +178,7 @@ true, 0, true, - "22894875" + "894c3c6f" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_23_2.html b/autobahn/client/hornbeam_case_6_23_2.html index 7b1b2ab..43ec6d2 100644 --- a/autobahn/client/hornbeam_case_6_23_2.html +++ b/autobahn/client/hornbeam_case_6_23_2.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.23.2 : Pass - 46 ms @ 2023-08-10T23:02:20.362Z

+

Hornbeam - Case 6.23.2 : Pass - 57 ms @ 2023-08-11T05:15:21.218Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xefbfba

Case Expectation

The message is echo'ed back to us.

@@ -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: kMiDYy/csjhIUvp3CpiMtw== +Sec-WebSocket-Key: 5fQ7SoSSID6exSXKecCTNw== 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: +1/TrES0/JgBnxsOAvgWUgU9kZw=
+Sec-WebSocket-Accept: Cy4RZe3h43eqrP36Y63GmKOM9WA=

Closing Behavior

@@ -287,14 +287,14 @@ Sec-WebSocket-Accept: +1/TrES0/JgBnxsOAvgWUgU9kZw=
003 TX OCTETS: 8103efbfba
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 83ec5931ef03e68b
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=6563353933316566
+
006 RX OCTETS: 8327995567c826ef
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3237393935353637
               
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: 888217085df314e0
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3137303835646633
+
010 RX OCTETS: 8882f6566266f5be
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6636353636323636
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_23_2.json b/autobahn/client/hornbeam_case_6_23_2.json index 32a5ad7..74544d9 100644 --- a/autobahn/client/hornbeam_case_6_23_2.json +++ b/autobahn/client/hornbeam_case_6_23_2.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xefbfba", "droppedByMe": true, - "duration": 46, + "duration": 57, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=204&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: kMiDYy/csjhIUvp3CpiMtw==\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: +1/TrES0/JgBnxsOAvgWUgU9kZw=\r\n\r\n", + "httpRequest": "GET /runCase?case=204&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 5fQ7SoSSID6exSXKecCTNw==\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: Cy4RZe3h43eqrP36Y63GmKOM9WA=\r\n\r\n", "id": "6.23.2", "isServer": true, "localCloseCode": 1000, @@ -55,7 +55,7 @@ "8": 2, "184": 1 }, - "started": "2023-08-10T23:02:20.362Z", + "started": "2023-08-11T05:15:21.218Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -124,7 +124,7 @@ "RO", [ 8, - "83ec5931ef03e68b" + "8327995567c826ef" ] ], [ @@ -137,7 +137,7 @@ true, 0, true, - "ec5931ef" + "27995567" ], [ "TF", @@ -165,7 +165,7 @@ "RO", [ 8, - "888217085df314e0" + "8882f6566266f5be" ] ], [ @@ -178,7 +178,7 @@ true, 0, true, - "17085df3" + "f6566266" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_23_3.html b/autobahn/client/hornbeam_case_6_23_3.html index 551a283..0ae5239 100644 --- a/autobahn/client/hornbeam_case_6_23_3.html +++ b/autobahn/client/hornbeam_case_6_23_3.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.23.3 : Pass - 51 ms @ 2023-08-10T23:02:20.411Z

+

Hornbeam - Case 6.23.3 : Pass - 55 ms @ 2023-08-11T05:15:21.278Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xefbfbb

Case Expectation

The message is echo'ed back to us.

@@ -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: eIzemcyEzuOjhvBIvCglug== +Sec-WebSocket-Key: JS20KMvsI/NcG1CUKE3hyw== 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: v1L9ZdHdjUC2KkU8a3jkQ5YVkB4=
+Sec-WebSocket-Accept: w53jvtC5d3kj/8ARj6F6ZeIneaw=

Closing Behavior

@@ -287,14 +287,14 @@ Sec-WebSocket-Accept: v1L9ZdHdjUC2KkU8a3jkQ5YVkB4=
003 TX OCTETS: 8103efbfbb
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 83c02129022f9e92
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=6330323132393032
+
006 RX OCTETS: 83e8d00b52076fb0
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=6538643030623532
               ï¿»
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: 8882b778b335b490
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6237373862333335
+
010 RX OCTETS: 88822b44e3ad28ac
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3262343465336164
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_23_3.json b/autobahn/client/hornbeam_case_6_23_3.json index b33dfe6..69e6b30 100644 --- a/autobahn/client/hornbeam_case_6_23_3.json +++ b/autobahn/client/hornbeam_case_6_23_3.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xefbfbb", "droppedByMe": true, - "duration": 51, + "duration": 55, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=205&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: eIzemcyEzuOjhvBIvCglug==\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: v1L9ZdHdjUC2KkU8a3jkQ5YVkB4=\r\n\r\n", + "httpRequest": "GET /runCase?case=205&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: JS20KMvsI/NcG1CUKE3hyw==\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: w53jvtC5d3kj/8ARj6F6ZeIneaw=\r\n\r\n", "id": "6.23.3", "isServer": true, "localCloseCode": 1000, @@ -55,7 +55,7 @@ "8": 2, "184": 1 }, - "started": "2023-08-10T23:02:20.411Z", + "started": "2023-08-11T05:15:21.278Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -124,7 +124,7 @@ "RO", [ 8, - "83c02129022f9e92" + "83e8d00b52076fb0" ] ], [ @@ -137,7 +137,7 @@ true, 0, true, - "c0212902" + "e8d00b52" ], [ "TF", @@ -165,7 +165,7 @@ "RO", [ 8, - "8882b778b335b490" + "88822b44e3ad28ac" ] ], [ @@ -178,7 +178,7 @@ true, 0, true, - "b778b335" + "2b44e3ad" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_23_4.html b/autobahn/client/hornbeam_case_6_23_4.html index 5250065..a02be11 100644 --- a/autobahn/client/hornbeam_case_6_23_4.html +++ b/autobahn/client/hornbeam_case_6_23_4.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.23.4 : Pass - 50 ms @ 2023-08-10T23:02:20.464Z

+

Hornbeam - Case 6.23.4 : Pass - 56 ms @ 2023-08-11T05:15:21.334Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xefbfbc

Case Expectation

The message is echo'ed back to us.

@@ -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: HSOd0mMm5B5fbugK4BlgKg== +Sec-WebSocket-Key: swGw+7GyOTskCTD4VGldZA== 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: AX+xAKusVxOm3KUgcMhy7T+9as4=
+Sec-WebSocket-Accept: LzE7myMTtIaoFbwspOJ1yzLBnyw=

Closing Behavior

@@ -248,11 +248,10 @@ Sec-WebSocket-Accept: AX+xAKusVxOm3KUgcMhy7T+9as4=

Octets Received by Chop Size

- - - + + - +
Chop SizeCountOctets
122
717
818
111
8216
1841184
Total5201
Total4201

Octets Transmitted by Chop Size

@@ -288,17 +287,16 @@ Sec-WebSocket-Accept: AX+xAKusVxOm3KUgcMhy7T+9as4=
003 TX OCTETS: 8103efbfbc
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 83bfaeb98b501105
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=6266616562393862
+
006 RX OCTETS: 83e54a6eca0af5d2
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=6535346136656361
               
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: 820979c7c20a91
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3039373963376332
+
010 RX OCTETS: 88821a052e2619ed
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3161303532653236
               0x03e8
-
013 TCP DROPPED BY ME
+
012 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_23_4.json b/autobahn/client/hornbeam_case_6_23_4.json index 233434e..00e5d9f 100644 --- a/autobahn/client/hornbeam_case_6_23_4.json +++ b/autobahn/client/hornbeam_case_6_23_4.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xefbfbc", "droppedByMe": true, - "duration": 50, + "duration": 56, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=206&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: HSOd0mMm5B5fbugK4BlgKg==\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: AX+xAKusVxOm3KUgcMhy7T+9as4=\r\n\r\n", + "httpRequest": "GET /runCase?case=206&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: swGw+7GyOTskCTD4VGldZA==\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: LzE7myMTtIaoFbwspOJ1yzLBnyw=\r\n\r\n", "id": "6.23.4", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,11 @@ "8": 1 }, "rxOctetStats": { - "1": 2, - "7": 1, - "8": 1, + "1": 1, + "8": 2, "184": 1 }, - "started": "2023-08-10T23:02:20.464Z", + "started": "2023-08-11T05:15:21.334Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +124,7 @@ "RO", [ 8, - "83bfaeb98b501105" + "83e54a6eca0af5d2" ] ], [ @@ -138,7 +137,7 @@ true, 0, true, - "bfaeb98b" + "e54a6eca" ], [ "TF", @@ -165,15 +164,8 @@ [ "RO", [ - 1, - "88" - ] - ], - [ - "RO", - [ - 7, - "820979c7c20a91" + 8, + "88821a052e2619ed" ] ], [ @@ -186,7 +178,7 @@ true, 0, true, - "0979c7c2" + "1a052e26" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_23_5.html b/autobahn/client/hornbeam_case_6_23_5.html index 63a246a..a856ca1 100644 --- a/autobahn/client/hornbeam_case_6_23_5.html +++ b/autobahn/client/hornbeam_case_6_23_5.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.23.5 : Pass - 47 ms @ 2023-08-10T23:02:20.517Z

+

Hornbeam - Case 6.23.5 : Pass - 52 ms @ 2023-08-11T05:15:21.392Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xefbfbd

Case Expectation

The message is echo'ed back to us.

@@ -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: 288CVVbU0iFD0Yi3qohDhw== +Sec-WebSocket-Key: 1kFu1lxC8cm0RwGVhG7Wvw== 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: 6h0bPCGKOxfHo+AfadbPSqL+fFE=
+Sec-WebSocket-Accept: kYRKvmN0dj5MJga95hiaL61kI1E=

Closing Behavior

@@ -248,10 +248,11 @@ Sec-WebSocket-Accept: 6h0bPCGKOxfHo+AfadbPSqL+fFE=

Octets Received by Chop Size

- - + + + - +
Chop SizeCountOctets
111
8216
122
717
818
1841184
Total4201
Total5201

Octets Transmitted by Chop Size

@@ -287,16 +288,17 @@ Sec-WebSocket-Accept: 6h0bPCGKOxfHo+AfadbPSqL+fFE=
003 TX OCTETS: 8103efbfbd
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 836a479e8c85f823
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3661343739653863
+
006 RX OCTETS: 83f24b189a1df4a5
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=6632346231383961
               �
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: 8882d81b8996dbf3
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6438316238393936
+
010 RX OCTETS: 88
+
011 RX OCTETS: 827882d2657b6a
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3738383264323635
               0x03e8
-
012 TCP DROPPED BY ME
+
013 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_23_5.json b/autobahn/client/hornbeam_case_6_23_5.json index bebc550..acad56e 100644 --- a/autobahn/client/hornbeam_case_6_23_5.json +++ b/autobahn/client/hornbeam_case_6_23_5.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xefbfbd", "droppedByMe": true, - "duration": 47, + "duration": 52, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=207&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 288CVVbU0iFD0Yi3qohDhw==\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: 6h0bPCGKOxfHo+AfadbPSqL+fFE=\r\n\r\n", + "httpRequest": "GET /runCase?case=207&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 1kFu1lxC8cm0RwGVhG7Wvw==\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: kYRKvmN0dj5MJga95hiaL61kI1E=\r\n\r\n", "id": "6.23.5", "isServer": true, "localCloseCode": 1000, @@ -51,11 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 1, - "8": 2, + "1": 2, + "7": 1, + "8": 1, "184": 1 }, - "started": "2023-08-10T23:02:20.517Z", + "started": "2023-08-11T05:15:21.392Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -124,7 +125,7 @@ "RO", [ 8, - "836a479e8c85f823" + "83f24b189a1df4a5" ] ], [ @@ -137,7 +138,7 @@ true, 0, true, - "6a479e8c" + "f24b189a" ], [ "TF", @@ -164,8 +165,15 @@ [ "RO", [ - 8, - "8882d81b8996dbf3" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "827882d2657b6a" ] ], [ @@ -178,7 +186,7 @@ true, 0, true, - "d81b8996" + "7882d265" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_23_6.html b/autobahn/client/hornbeam_case_6_23_6.html index 82564b4..7c197e7 100644 --- a/autobahn/client/hornbeam_case_6_23_6.html +++ b/autobahn/client/hornbeam_case_6_23_6.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.23.6 : Pass - 45 ms @ 2023-08-10T23:02:20.566Z

+

Hornbeam - Case 6.23.6 : Pass - 66 ms @ 2023-08-11T05:15:21.445Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xefbfbe

Case Expectation

The message is echo'ed back to us.

@@ -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: sNfPBQ8NWNDN3+VrqyxaRw== +Sec-WebSocket-Key: T014iUQCtrRW21Sqpa45fw== 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: P4buaFhhqFlQ2BOP46jq7QShWMI=
+Sec-WebSocket-Accept: YvXZEY+C276bGiQTZM43rmye0xE=

Closing Behavior

@@ -248,11 +248,10 @@ Sec-WebSocket-Accept: P4buaFhhqFlQ2BOP46jq7QShWMI=

Octets Received by Chop Size

- - - + + - +
Chop SizeCountOctets
122
717
818
111
8216
1841184
Total5201
Total4201

Octets Transmitted by Chop Size

@@ -288,17 +287,16 @@ Sec-WebSocket-Accept: P4buaFhhqFlQ2BOP46jq7QShWMI=
003 TX OCTETS: 8103efbfbe
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 839171255c7ece9b
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3931373132353563
+
006 RX OCTETS: 838836848667893a
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3838333638343836
               ￾
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: 82e28ad85ae162
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6532386164383561
+
010 RX OCTETS: 88820b3c414708d4
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3062336334313437
               0x03e8
-
013 TCP DROPPED BY ME
+
012 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_23_6.json b/autobahn/client/hornbeam_case_6_23_6.json index 2f95471..819bcee 100644 --- a/autobahn/client/hornbeam_case_6_23_6.json +++ b/autobahn/client/hornbeam_case_6_23_6.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xefbfbe", "droppedByMe": true, - "duration": 45, + "duration": 66, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=208&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: sNfPBQ8NWNDN3+VrqyxaRw==\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: P4buaFhhqFlQ2BOP46jq7QShWMI=\r\n\r\n", + "httpRequest": "GET /runCase?case=208&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: T014iUQCtrRW21Sqpa45fw==\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: YvXZEY+C276bGiQTZM43rmye0xE=\r\n\r\n", "id": "6.23.6", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,11 @@ "8": 1 }, "rxOctetStats": { - "1": 2, - "7": 1, - "8": 1, + "1": 1, + "8": 2, "184": 1 }, - "started": "2023-08-10T23:02:20.566Z", + "started": "2023-08-11T05:15:21.445Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +124,7 @@ "RO", [ 8, - "839171255c7ece9b" + "838836848667893a" ] ], [ @@ -138,7 +137,7 @@ true, 0, true, - "9171255c" + "88368486" ], [ "TF", @@ -165,15 +164,8 @@ [ "RO", [ - 1, - "88" - ] - ], - [ - "RO", - [ - 7, - "82e28ad85ae162" + 8, + "88820b3c414708d4" ] ], [ @@ -186,7 +178,7 @@ true, 0, true, - "e28ad85a" + "0b3c4147" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_23_7.html b/autobahn/client/hornbeam_case_6_23_7.html index cceb541..539d2b6 100644 --- a/autobahn/client/hornbeam_case_6_23_7.html +++ b/autobahn/client/hornbeam_case_6_23_7.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.23.7 : Pass - 46 ms @ 2023-08-10T23:02:20.614Z

+

Hornbeam - Case 6.23.7 : Pass - 68 ms @ 2023-08-11T05:15:21.513Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xefbfbf

Case Expectation

The message is echo'ed back to us.

@@ -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: McjRoBOmmtFiZfcv8nnTlg== +Sec-WebSocket-Key: lKAxJOqayR/Lww1zDuk4lQ== 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: NQ+qqvRs2tAcKQSNQZ5nur7+eVw=
+Sec-WebSocket-Accept: nKk71YL7N5XyVL++XnU5avFpM0U=

Closing Behavior

@@ -287,14 +287,14 @@ Sec-WebSocket-Accept: NQ+qqvRs2tAcKQSNQZ5nur7+eVw=
003 TX OCTETS: 8103efbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 83d308eba03cb754
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=6433303865626130
+
006 RX OCTETS: 8346368229a9893d
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3436333638323239
               ï¿¿
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: 88828165c45d828d
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3831363563343564
+
010 RX OCTETS: 8882685c925e6bb4
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3638356339323565
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_23_7.json b/autobahn/client/hornbeam_case_6_23_7.json index aa14450..53c52f4 100644 --- a/autobahn/client/hornbeam_case_6_23_7.json +++ b/autobahn/client/hornbeam_case_6_23_7.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xefbfbf", "droppedByMe": true, - "duration": 46, + "duration": 68, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=209&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: McjRoBOmmtFiZfcv8nnTlg==\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: NQ+qqvRs2tAcKQSNQZ5nur7+eVw=\r\n\r\n", + "httpRequest": "GET /runCase?case=209&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: lKAxJOqayR/Lww1zDuk4lQ==\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: nKk71YL7N5XyVL++XnU5avFpM0U=\r\n\r\n", "id": "6.23.7", "isServer": true, "localCloseCode": 1000, @@ -55,7 +55,7 @@ "8": 2, "184": 1 }, - "started": "2023-08-10T23:02:20.614Z", + "started": "2023-08-11T05:15:21.513Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -124,7 +124,7 @@ "RO", [ 8, - "83d308eba03cb754" + "8346368229a9893d" ] ], [ @@ -137,7 +137,7 @@ true, 0, true, - "d308eba0" + "46368229" ], [ "TF", @@ -165,7 +165,7 @@ "RO", [ 8, - "88828165c45d828d" + "8882685c925e6bb4" ] ], [ @@ -178,7 +178,7 @@ true, 0, true, - "8165c45d" + "685c925e" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_2_1.html b/autobahn/client/hornbeam_case_6_2_1.html index 1c7cb80..6b13f98 100644 --- a/autobahn/client/hornbeam_case_6_2_1.html +++ b/autobahn/client/hornbeam_case_6_2_1.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.2.1 : Pass - 51 ms @ 2023-08-10T23:01:35.500Z

+

Hornbeam - Case 6.2.1 : Pass - 44 ms @ 2023-08-11T05:15:09.841Z

Case Description

Send a valid UTF-8 text message in one fragment.

MESSAGE:
Hello-µ@ßöäüàá-UTF-8!!
48656c6c6f2dc2b540c39fc3b6c3a4c3bcc3a0c3a12d5554462d382121

Case Expectation

The message is echo'ed back to us.

@@ -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: HCOU9EosSYelXLTMFrEYOQ== +Sec-WebSocket-Key: TICaR6gAJQAt/5//mH0lxw== 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: naK/jtPE8EbYq5sEWjuz3Q8ZkKc=
+Sec-WebSocket-Accept: 8xi32jdnIlno2DzD+XVIM9iJgQg=

Closing Behavior

@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: naK/jtPE8EbYq5sEWjuz3Q8ZkKc=

Octets Received by Chop Size

- - + + - +
Chop SizeCountOctets
122
717
111
818
34134
1831183
Total5226
Total4226

Octets Transmitted by Chop Size

@@ -288,17 +288,16 @@ Sec-WebSocket-Accept: naK/jtPE8EbYq5sEWjuz3Q8ZkKc=
003 TX OCTETS: 811d48656c6c6f2dc2b540c39fc3b6c3a4c3bcc3a0c3a12d5554462d382121
004 CLOSE CONNECTION AFTER 1.000000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 9d9303d978db66b514fc2e1bcdd3c046bb25c07dbb2fc079bb322e8c2cd52ee159b2
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=29, MASKED=True, MASK=3933303364393738
+
006 RX OCTETS: 9dee1e78cca67b14a08133ba79aedde70f58dddc0f52ddd80f4f332d98a83340edcf
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=29, MASKED=True, MASK=6565316537386363
               Hello-µ@ßöäüàá-UTF-8!!
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: 824821b7ac4bc9
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3438323162376163
+
010 RX OCTETS: 888287c9bbee8421
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3837633962626565
               0x03e8
-
013 TCP DROPPED BY ME
+
012 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_2_1.json b/autobahn/client/hornbeam_case_6_2_1.json index e540b1a..c956a2a 100644 --- a/autobahn/client/hornbeam_case_6_2_1.json +++ b/autobahn/client/hornbeam_case_6_2_1.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a valid UTF-8 text message in one fragment.

MESSAGE:
Hello-\u00b5@\u00df\u00f6\u00e4\u00fc\u00e0\u00e1-UTF-8!!
48656c6c6f2dc2b540c39fc3b6c3a4c3bcc3a0c3a12d5554462d382121", "droppedByMe": true, - "duration": 51, + "duration": 44, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=68&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: HCOU9EosSYelXLTMFrEYOQ==\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: naK/jtPE8EbYq5sEWjuz3Q8ZkKc=\r\n\r\n", + "httpRequest": "GET /runCase?case=68&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: TICaR6gAJQAt/5//mH0lxw==\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: 8xi32jdnIlno2DzD+XVIM9iJgQg=\r\n\r\n", "id": "6.2.1", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 2, - "7": 1, + "1": 1, + "8": 1, "34": 1, "183": 1 }, - "started": "2023-08-10T23:01:35.500Z", + "started": "2023-08-11T05:15:09.841Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 34, - "9d9303d978db66b514fc2e1bcdd3c046bb25c07dbb2fc079bb322e8c2cd52ee159b2" + "9dee1e78cca67b14a08133ba79aedde70f58dddc0f52ddd80f4f332d98a83340edcf" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "9303d978" + "ee1e78cc" ], [ "TF", @@ -165,15 +165,8 @@ [ "RO", [ - 1, - "88" - ] - ], - [ - "RO", - [ - 7, - "824821b7ac4bc9" + 8, + "888287c9bbee8421" ] ], [ @@ -186,7 +179,7 @@ true, 0, true, - "4821b7ac" + "87c9bbee" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_2_2.html b/autobahn/client/hornbeam_case_6_2_2.html index 9696f63..db03321 100644 --- a/autobahn/client/hornbeam_case_6_2_2.html +++ b/autobahn/client/hornbeam_case_6_2_2.html @@ -202,46 +202,46 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.2.2 : Fail - 2 ms @ 2023-08-10T23:01:35.552Z

+

Hornbeam - Case 6.2.2 : Pass - 45 ms @ 2023-08-11T05:15:09.888Z

Case Description

Send a valid UTF-8 text message in two fragments, fragmented on UTF-8 code point boundary.

MESSAGE FRAGMENT 1:
Hello-µ@ßöä
48656c6c6f2dc2b540c39fc3b6c3a4

MESSAGE FRAGMENT 2:
üàá-UTF-8!!
c3bcc3a0c3a12d5554462d382121

Case Expectation

The message is echo'ed back to us.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': [('message', u'Hello-\xb5@\xdf\xf6\xe4\xfc\xe0\xe1-UTF-8!!', False)]}

- Observed:
[('message', u'Hello-\xb5@\xdf\xf6\xe4', False)] + Observed:
[('message', u'Hello-\xb5@\xdf\xf6\xe4\xfc\xe0\xe1-UTF-8!!', False)]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=69&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: vWptrDYyb6/xiAkKawa4yw==
+Sec-WebSocket-Key: cIugCar9Z5ZcOgpTbrpmpQ==
 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: ImWH2WJqeALFBckq/d/vR74uMMs=
+Sec-WebSocket-Accept: IaJdcwfbunVScbhAQ0D3gMHkGhc=

Closing Behavior

- + - - - + + + - + - +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

@@ -249,30 +249,34 @@ Sec-WebSocket-Accept: ImWH2WJqeALFBckq/d/vR74uMMs= - + + - +
Chop SizeCountOctets
111
20120
818
34134
1831183
Total3204
Total4226

Octets Transmitted by Chop Size

+ - +
Chop SizeCountOctets
414
16116
17117
2061206
Total3239
Total4243

Frames Received by Opcode

- + +
OpcodeCount
11
Total1
81
Total2

Frames Transmitted by Opcode

- + +
OpcodeCount
01
11
Total2
81
Total3


Wire Log

@@ -289,10 +293,16 @@ Sec-WebSocket-Accept: ImWH2WJqeALFBckq/d/vR74uMMs=
005 TX OCTETS: 800ec3bcc3a0c3a12d5554462d382121
006 CLOSE CONNECTION AFTER 1.000000 sec
007 RX OCTETS: 81
-
008 RX OCTETS: 8f63162f462b73432a0c3bedf323d5b085d5d58b
-
009 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=15, MASKED=True, MASK=3633313632663436
-
               Hello-µ@ßöä
-
010 TCP DROPPED BY PEER
+
008 RX OCTETS: 9d9dceb732d5abdb5ef2e37587dd0d28f12b0d13f1210d17f13ce3e266dbe38f13bc
+
009 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=29, MASKED=True, MASK=3964636562373332
+
               Hello-µ@ßöäüàá-UTF-8!!
+
010 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
011 TX OCTETS: 880203e8
+
012 RX OCTETS: 88820fc94c2f0c21
+
013 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3066633934633266
+
               0x03e8
+
014 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_2_2.json b/autobahn/client/hornbeam_case_6_2_2.json index 99bf013..88e1b08 100644 --- a/autobahn/client/hornbeam_case_6_2_2.json +++ b/autobahn/client/hornbeam_case_6_2_2.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 69, - "closedByMe": false, + "closedByMe": true, "createStats": true, "createWirelog": true, "description": "Send a valid UTF-8 text message in two fragments, fragmented on UTF-8 code point boundary.

MESSAGE FRAGMENT 1:
Hello-\u00b5@\u00df\u00f6\u00e4
48656c6c6f2dc2b540c39fc3b6c3a4

MESSAGE FRAGMENT 2:
\u00fc\u00e0\u00e1-UTF-8!!
c3bcc3a0c3a12d5554462d382121", - "droppedByMe": false, - "duration": 2, + "droppedByMe": true, + "duration": 45, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,47 +27,51 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=69&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: vWptrDYyb6/xiAkKawa4yw==\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: ImWH2WJqeALFBckq/d/vR74uMMs=\r\n\r\n", + "httpRequest": "GET /runCase?case=69&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: cIugCar9Z5ZcOgpTbrpmpQ==\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: IaJdcwfbunVScbhAQ0D3gMHkGhc=\r\n\r\n", "id": "6.2.2", "isServer": true, - "localCloseCode": null, + "localCloseCode": 1000, "localCloseReason": null, "received": [ [ "message", - "Hello-\u00b5@\u00df\u00f6\u00e4", + "Hello-\u00b5@\u00df\u00f6\u00e4\u00fc\u00e0\u00e1-UTF-8!!", false ] ], - "remoteCloseCode": null, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", "rxFrameStats": { - "1": 1 + "1": 1, + "8": 1 }, "rxOctetStats": { "1": 1, - "20": 1, + "8": 1, + "34": 1, "183": 1 }, - "started": "2023-08-10T23:01:35.552Z", + "started": "2023-08-11T05:15:09.888Z", "trafficStats": null, "txFrameStats": { "0": 1, - "1": 1 + "1": 1, + "8": 1 }, "txOctetStats": { + "4": 1, "16": 1, "17": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", + "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -144,21 +148,62 @@ [ "RO", [ - 20, - "8f63162f462b73432a0c3bedf323d5b085d5d58b" + 34, + "9d9dceb732d5abdb5ef2e37587dd0d28f12b0d13f1210d17f13ce3e266dbe38f13bc" ] ], [ "RF", [ - 15, - "Hello-\u00b5@\u00df\u00f6\u00e4" + 29, + "Hello-\u00b5@\u00df\u00f6\u00e4\u00fc\u00e0\u00e1-UTF-8!!" ], 1, true, 0, true, - "63162f46" + "9dceb732" + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "88820fc94c2f0c21" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "0fc94c2f" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_2_3.html b/autobahn/client/hornbeam_case_6_2_3.html index 77ea5af..d2c75b7 100644 --- a/autobahn/client/hornbeam_case_6_2_3.html +++ b/autobahn/client/hornbeam_case_6_2_3.html @@ -202,46 +202,46 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.2.3 : Fail - 4 ms @ 2023-08-10T23:01:35.556Z

+

Hornbeam - Case 6.2.3 : Pass - 47 ms @ 2023-08-11T05:15:09.935Z

Case Description

Send a valid UTF-8 text message in fragments of 1 octet, resulting in frames ending on positions which are not code point ends.

MESSAGE:
Hello-µ@ßöäüàá-UTF-8!!
48656c6c6f2dc2b540c39fc3b6c3a4c3bcc3a0c3a12d5554462d382121

Case Expectation

The message is echo'ed back to us.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': [('message', u'Hello-\xb5@\xdf\xf6\xe4\xfc\xe0\xe1-UTF-8!!', False)]}

- Observed:
[('message', u'H', False)] + Observed:
[('message', u'Hello-\xb5@\xdf\xf6\xe4\xfc\xe0\xe1-UTF-8!!', False)]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=70&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: /4zwvk+n7raLdtBHf2kPWw==
+Sec-WebSocket-Key: g5J4263UXZjzReAjNLzhPg==
 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: MpQT7qwe0KMxf3cw3svPiPADLOI=
+Sec-WebSocket-Accept: A0xXF8QPLYA5jqYcmKazvHVpqLs=

Closing Behavior

- + - - - + + + - + - +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

@@ -249,30 +249,34 @@ Sec-WebSocket-Accept: MpQT7qwe0KMxf3cw3svPiPADLOI= - + + - +
Chop SizeCountOctets
111
616
818
34134
1831183
Total3190
Total4226

Octets Transmitted by Chop Size

+ - +
Chop SizeCountOctets
212
32987
414
2061206
Total31295
Total32299

Frames Received by Opcode

- + +
OpcodeCount
11
Total1
81
Total2

Frames Transmitted by Opcode

- + +
OpcodeCount
029
11
Total30
81
Total31


Wire Log

@@ -372,10 +376,16 @@ Sec-WebSocket-Accept: MpQT7qwe0KMxf3cw3svPiPADLOI=
061 TX OCTETS: 8000
062 CLOSE CONNECTION AFTER 1.000000 sec
063 RX OCTETS: 81
-
064 RX OCTETS: 81fccdb47db4
-
065 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=1, MASKED=True, MASK=6663636462343764
-
               H
-
066 TCP DROPPED BY PEER
+
064 RX OCTETS: 9d37efbf9d7f8ad3f158c27d28772c205e812c1b5e8b2c1f5e96c2eac971c287bc16
+
065 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=29, MASKED=True, MASK=3337656662663964
+
               Hello-µ@ßöäüàá-UTF-8!!
+
066 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
067 TX OCTETS: 880203e8
+
068 RX OCTETS: 888212125bbf11fa
+
069 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3132313235626266
+
               0x03e8
+
070 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_2_3.json b/autobahn/client/hornbeam_case_6_2_3.json index ca324b6..9b84ea7 100644 --- a/autobahn/client/hornbeam_case_6_2_3.json +++ b/autobahn/client/hornbeam_case_6_2_3.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 70, - "closedByMe": false, + "closedByMe": true, "createStats": true, "createWirelog": true, "description": "Send a valid UTF-8 text message in fragments of 1 octet, resulting in frames ending on positions which are not code point ends.

MESSAGE:
Hello-\u00b5@\u00df\u00f6\u00e4\u00fc\u00e0\u00e1-UTF-8!!
48656c6c6f2dc2b540c39fc3b6c3a4c3bcc3a0c3a12d5554462d382121", - "droppedByMe": false, - "duration": 4, + "droppedByMe": true, + "duration": 47, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,47 +27,51 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=70&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: /4zwvk+n7raLdtBHf2kPWw==\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: MpQT7qwe0KMxf3cw3svPiPADLOI=\r\n\r\n", + "httpRequest": "GET /runCase?case=70&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: g5J4263UXZjzReAjNLzhPg==\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: A0xXF8QPLYA5jqYcmKazvHVpqLs=\r\n\r\n", "id": "6.2.3", "isServer": true, - "localCloseCode": null, + "localCloseCode": 1000, "localCloseReason": null, "received": [ [ "message", - "H", + "Hello-\u00b5@\u00df\u00f6\u00e4\u00fc\u00e0\u00e1-UTF-8!!", false ] ], - "remoteCloseCode": null, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", "rxFrameStats": { - "1": 1 + "1": 1, + "8": 1 }, "rxOctetStats": { "1": 1, - "6": 1, + "8": 1, + "34": 1, "183": 1 }, - "started": "2023-08-10T23:01:35.556Z", + "started": "2023-08-11T05:15:09.935Z", "trafficStats": null, "txFrameStats": { "0": 29, - "1": 1 + "1": 1, + "8": 1 }, "txOctetStats": { "2": 1, "3": 29, + "4": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", + "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -760,21 +764,62 @@ [ "RO", [ - 6, - "81fccdb47db4" + 34, + "9d37efbf9d7f8ad3f158c27d28772c205e812c1b5e8b2c1f5e96c2eac971c287bc16" ] ], [ "RF", [ - 1, - "H" + 29, + "Hello-\u00b5@\u00df\u00f6\u00e4\u00fc\u00e0\u00e1-UTF-8!!" ], 1, true, 0, true, - "fccdb47d" + "37efbf9d" + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "888212125bbf11fa" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "12125bbf" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_2_4.html b/autobahn/client/hornbeam_case_6_2_4.html index 3f326b0..cf5ff1f 100644 --- a/autobahn/client/hornbeam_case_6_2_4.html +++ b/autobahn/client/hornbeam_case_6_2_4.html @@ -202,46 +202,46 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.2.4 : Fail - 2 ms @ 2023-08-10T23:01:35.561Z

+

Hornbeam - Case 6.2.4 : Pass - 47 ms @ 2023-08-11T05:15:09.984Z

Case Description

Send a valid UTF-8 text message in fragments of 1 octet, resulting in frames ending on positions which are not code point ends.

MESSAGE:
κόσμε
cebae1bdb9cf83cebcceb5

Case Expectation

The message is echo'ed back to us.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': [('message', u'\u03ba\u1f79\u03c3\u03bc\u03b5', False)]}

- Observed:
[('message', u'\ufffd', False)] + Observed:
[('message', u'\u03ba\u1f79\u03c3\u03bc\u03b5', False)]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=71&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: HfyHvmCY9XLck79Hk+0vEg==
+Sec-WebSocket-Key: e/qad6Nv7A1KjlsTRN+9XA==
 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: 4m8HhyxB7L+N3t8eHsCeYFWnbHI=
+Sec-WebSocket-Accept: 9KvB4XOeknwJ2bg6+HaGWybhuqk=

Closing Behavior

- + - - - + + + - + - +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

@@ -250,29 +250,33 @@ Sec-WebSocket-Accept: 4m8HhyxB7L+N3t8eHsCeYFWnbHI= Chop SizeCountOctets 111 818 + 16116 1831183 - Total3192 + Total4208

Octets Transmitted by Chop Size

+ - +
Chop SizeCountOctets
212
31133
414
2061206
Total13241
Total14245

Frames Received by Opcode

- + +
OpcodeCount
11
Total1
81
Total2

Frames Transmitted by Opcode

- + +
OpcodeCount
011
11
Total12
81
Total13


Wire Log

@@ -318,10 +322,16 @@ Sec-WebSocket-Accept: 4m8HhyxB7L+N3t8eHsCeYFWnbHI=
025 TX OCTETS: 8000
026 CLOSE CONNECTION AFTER 1.000000 sec
027 RX OCTETS: 81
-
028 RX OCTETS: 835b1d9f9fb4a222
-
029 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3562316439663966
-
               �
-
030 TCP DROPPED BY PEER
+
028 RX OCTETS: 8bbeffc45a704525e707304794023171
+
029 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=11, MASKED=True, MASK=6265666663343561
+
               κόσμε
+
030 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
031 TX OCTETS: 880203e8
+
032 RX OCTETS: 88822fdb06b52c33
+
033 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3266646230366235
+
               0x03e8
+
034 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_2_4.json b/autobahn/client/hornbeam_case_6_2_4.json index a41555c..62612bb 100644 --- a/autobahn/client/hornbeam_case_6_2_4.json +++ b/autobahn/client/hornbeam_case_6_2_4.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 71, - "closedByMe": false, + "closedByMe": true, "createStats": true, "createWirelog": true, "description": "Send a valid UTF-8 text message in fragments of 1 octet, resulting in frames ending on positions which are not code point ends.

MESSAGE:
\u03ba\u1f79\u03c3\u03bc\u03b5
cebae1bdb9cf83cebcceb5", - "droppedByMe": false, - "duration": 2, + "droppedByMe": true, + "duration": 47, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,47 +27,51 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=71&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: HfyHvmCY9XLck79Hk+0vEg==\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: 4m8HhyxB7L+N3t8eHsCeYFWnbHI=\r\n\r\n", + "httpRequest": "GET /runCase?case=71&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: e/qad6Nv7A1KjlsTRN+9XA==\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: 9KvB4XOeknwJ2bg6+HaGWybhuqk=\r\n\r\n", "id": "6.2.4", "isServer": true, - "localCloseCode": null, + "localCloseCode": 1000, "localCloseReason": null, "received": [ [ "message", - "\ufffd", + "\u03ba\u1f79\u03c3\u03bc\u03b5", false ] ], - "remoteCloseCode": null, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", "rxFrameStats": { - "1": 1 + "1": 1, + "8": 1 }, "rxOctetStats": { "1": 1, "8": 1, + "16": 1, "183": 1 }, - "started": "2023-08-10T23:01:35.561Z", + "started": "2023-08-11T05:15:09.984Z", "trafficStats": null, "txFrameStats": { "0": 11, - "1": 1 + "1": 1, + "8": 1 }, "txOctetStats": { "2": 1, "3": 11, + "4": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", + "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -364,21 +368,62 @@ [ "RO", [ - 8, - "835b1d9f9fb4a222" + 16, + "8bbeffc45a704525e707304794023171" ] ], [ "RF", [ - 3, - "\ufffd" + 11, + "\u03ba\u1f79\u03c3\u03bc\u03b5" ], 1, true, 0, true, - "5b1d9f9f" + "beffc45a" + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "88822fdb06b52c33" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "2fdb06b5" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_3_1.html b/autobahn/client/hornbeam_case_6_3_1.html index 985b7d0..21f8c14 100644 --- a/autobahn/client/hornbeam_case_6_3_1.html +++ b/autobahn/client/hornbeam_case_6_3_1.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.3.1 : Fail - 1003 ms @ 2023-08-10T23:01:35.565Z

+

Hornbeam - Case 6.3.1 : Pass - 1 ms @ 2023-08-11T05:15:10.033Z

Case Description

Send invalid UTF-8 text message unfragmented.

MESSAGE:
cebae1bdb9cf83cebcceb5eda080656469746564

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\u03ba\u1f79\u03c3\u03bc\u03b5\ufffd\ufffd\ufffdedited', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=72&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: IXVwgs//RbHLp1209ZoNGQ==
+Sec-WebSocket-Key: rQnO4minMLiizOzDlm4ClQ==
 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: lJyM/FFzg7axibnJ1sYrZkCxInU=
+Sec-WebSocket-Accept: A+JGbNT8/EYE3YI9xgytwLM5yX0=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
31131
1831183
Total4223
Total1183

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
14114
22122
2061206
Total3242
Total2228

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: lJyM/FFzg7axibnJ1sYrZkCxInU=
               Îºá½¹ÏƒÎ¼Îµí €edited
003 TX OCTETS: 8114cebae1bdb9cf83cebcceb5eda080656469746564
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 9a188f167fd635f7c2a14095b1a441a390a732f9c0a560a9c27deb7f0b7deb
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=26, MASKED=True, MASK=3138386631363766
-
               κόσμε���edited
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 888225d48a6b263c
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3235643438613662
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_3_1.json b/autobahn/client/hornbeam_case_6_3_1.json index 9d48534..53f6e90 100644 --- a/autobahn/client/hornbeam_case_6_3_1.json +++ b/autobahn/client/hornbeam_case_6_3_1.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 72, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send invalid UTF-8 text message unfragmented.

MESSAGE:
cebae1bdb9cf83cebcceb5eda080656469746564", - "droppedByMe": true, - "duration": 1003, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=72&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: IXVwgs//RbHLp1209ZoNGQ==\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: lJyM/FFzg7axibnJ1sYrZkCxInU=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=72&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: rQnO4minMLiizOzDlm4ClQ==\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: A+JGbNT8/EYE3YI9xgytwLM5yX0=\r\n\r\n", "id": "6.3.1", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\u03ba\u1f79\u03c3\u03bc\u03b5\ufffd\ufffd\ufffdedited", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "31": 1, "183": 1 }, - "started": "2023-08-10T23:01:35.565Z", + "started": "2023-08-11T05:15:10.033Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { - "14": 1, "22": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 1 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 31, - "9a188f167fd635f7c2a14095b1a441a390a732f9c0a560a9c27deb7f0b7deb" - ] - ], - [ - "RF", - [ - 26, - "\u03ba\u1f79\u03c3\u03bc\u03b5\ufffd\ufffd\ufffdedited" - ], - 1, - true, - 0, - true, - "188f167f" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "888225d48a6b263c" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "25d48a6b" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_3_2.html b/autobahn/client/hornbeam_case_6_3_2.html index e495791..1d73843 100644 --- a/autobahn/client/hornbeam_case_6_3_2.html +++ b/autobahn/client/hornbeam_case_6_3_2.html @@ -202,14 +202,14 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.3.2 : Fail - 2 ms @ 2023-08-10T23:01:36.570Z

+

Hornbeam - Case 6.3.2 : Pass - 3 ms @ 2023-08-11T05:15:10.036Z

Case Description

Send invalid UTF-8 text message in fragments of 1 octet, resulting in frames ending on positions which are not code point ends.

MESSAGE:
cebae1bdb9cf83cebcceb5eda080656469746564

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd', False)] + Observed:
[]

Case Closing Behavior

Connection was properly closed (OK)



@@ -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: Llq7sJi9ZGA+7n8gyYWh5A== +Sec-WebSocket-Key: 2PVTuTgpIwPZ/r7kuO5VvQ== 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: 877a7/TgSLfOz2m6GxSJrQSB2ek=
+Sec-WebSocket-Accept: zN0/FNPovyzBeoHcDeYYov7lqdU=

Closing Behavior

@@ -248,10 +248,8 @@ Sec-WebSocket-Accept: 877a7/TgSLfOz2m6GxSJrQSB2ek=

Octets Received by Chop Size

- - - +
Chop SizeCountOctets
111
818
1831183
Total3192
Total1183

Octets Transmitted by Chop Size

@@ -264,8 +262,7 @@ Sec-WebSocket-Accept: 877a7/TgSLfOz2m6GxSJrQSB2ek=

Frames Received by Opcode

- - +
OpcodeCount
11
Total1
Total0

Frames Transmitted by Opcode

@@ -344,11 +341,7 @@ Sec-WebSocket-Accept: 877a7/TgSLfOz2m6GxSJrQSB2ek=
042 TX FRAME : OPCODE=0, FIN=True, RSV=0, PAYLOAD-LEN=0, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
043 TX OCTETS: 8000
044 FAIL CONNECTION AFTER 1.000000 sec
-
045 RX OCTETS: 81
-
046 RX OCTETS: 8368da2d67876590
-
047 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3638646132643637
-
               �
-
048 TCP DROPPED BY PEER
+
045 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_3_2.json b/autobahn/client/hornbeam_case_6_3_2.json index 2b64335..c345d0f 100644 --- a/autobahn/client/hornbeam_case_6_3_2.json +++ b/autobahn/client/hornbeam_case_6_3_2.json @@ -1,6 +1,6 @@ { "agent": "Hornbeam", - "behavior": "FAILED", + "behavior": "OK", "behaviorClose": "OK", "case": 73, "closedByMe": false, @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send invalid UTF-8 text message in fragments of 1 octet, resulting in frames ending on positions which are not code point ends.

MESSAGE:
cebae1bdb9cf83cebcceb5eda080656469746564", "droppedByMe": false, - "duration": 2, + "duration": 3, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -22,34 +22,24 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=73&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Llq7sJi9ZGA+7n8gyYWh5A==\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: 877a7/TgSLfOz2m6GxSJrQSB2ek=\r\n\r\n", + "httpRequest": "GET /runCase?case=73&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 2PVTuTgpIwPZ/r7kuO5VvQ==\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: zN0/FNPovyzBeoHcDeYYov7lqdU=\r\n\r\n", "id": "6.3.2", "isServer": true, "localCloseCode": null, "localCloseReason": null, - "received": [ - [ - "message", - "\ufffd", - false - ] - ], + "received": [], "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", + "result": "Actual events match at least one expected.", "resultClose": "Connection was properly closed", - "rxFrameStats": { - "1": 1 - }, + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, "183": 1 }, - "started": "2023-08-10T23:01:36.570Z", + "started": "2023-08-11T05:15:10.036Z", "trafficStats": null, "txFrameStats": { "0": 20, @@ -546,32 +536,6 @@ [ "KL", 1 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 8, - "8368da2d67876590" - ] - ], - [ - "RF", - [ - 3, - "\ufffd" - ], - 1, - true, - 0, - true, - "68da2d67" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_4_1.html b/autobahn/client/hornbeam_case_6_4_1.html index 1b3930d..c158f47 100644 --- a/autobahn/client/hornbeam_case_6_4_1.html +++ b/autobahn/client/hornbeam_case_6_4_1.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.4.1 : Fail - 1003 ms @ 2023-08-10T23:01:36.575Z

+

Hornbeam - Case 6.4.1 : Non-Strict - 2002 ms @ 2023-08-11T05:15:10.041Z

Case Description

Send invalid UTF-8 text message in 3 fragments (frames). First frame payload is valid, then wait, then 2nd frame which contains the payload making the sequence invalid, then wait, then 3rd frame with rest. Note that PART1 and PART3 are valid UTF-8 in themselves, PART2 is a 0x110000 encoded as in the UTF-8 integer encoding scheme, but the codepoint is invalid (out of range). @@ -214,9 +214,9 @@ PART3 = 656469746564

Case Expectation

The first frame is accepted, we expect to timeout on the first wait. The 2nd frame should be rejected immediately (fail fast on UTF-8). If we timeout, we expect the connection is failed at least then, since the complete message payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': [('timeout', 'A')], 'NON-STRICT': [('timeout', 'A'), ('timeout', 'B')]}

- Observed:
[('message', u'\u03ba\u1f79\u03c3\u03bc\u03b5', False), ('timeout', 'A')] + Observed:
[('timeout', 'A'), ('timeout', 'B')]

Case Closing Behavior

Connection was properly closed (OK)



@@ -225,14 +225,14 @@ PART3 = 656469746564
Host: localhost:9001 Upgrade: websocket Connection: upgrade -Sec-WebSocket-Key: MajVkv1p8Gp0hKnkfCL0iQ== +Sec-WebSocket-Key: M3m2aujq36DpABKZIGn6jg== 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: KAIm1EBGnxXtUX+che2NHrTNBHw=
+Sec-WebSocket-Accept: 2txdyVsWgZBJj7DxdAW9MSdpq28=

Closing Behavior

@@ -255,31 +255,29 @@ Sec-WebSocket-Accept: KAIm1EBGnxXtUX+che2NHrTNBHw=

Octets Received by Chop Size

- - - +
Chop SizeCountOctets
111
16116
1831183
Total3200
Total1183

Octets Transmitted by Chop Size

+ - +
Chop SizeCountOctets
616
818
13113
2061206
Total3225
Total4233

Frames Received by Opcode

- - +
OpcodeCount
11
Total1
Total0

Frames Transmitted by Opcode

- + - +
OpcodeCount
01
02
11
Total2
Total3


Wire Log

@@ -292,16 +290,17 @@ Sec-WebSocket-Accept: KAIm1EBGnxXtUX+che2NHrTNBHw=
               κόσμε
003 TX OCTETS: 010bcebae1bdb9cf83cebcceb5
004 DELAY 1.000000 sec for TAG A
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8bdffd2a241147cb996632a9ea63339f
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=11, MASKED=True, MASK=6466666432613234
-
               κόσμε
-
008 DELAY TIMEOUT on TAG A
-
009 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=4, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
005 DELAY TIMEOUT on TAG A
+
006 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=4, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0xf4908080
-
010 TX OCTETS: 0004f4908080
-
011 DELAY 1.000000 sec for TAG B
-
012 TCP DROPPED BY PEER
+
007 TX OCTETS: 0004f4908080
+
008 DELAY 1.000000 sec for TAG B
+
009 DELAY TIMEOUT on TAG B
+
010 TX FRAME : OPCODE=0, FIN=True, RSV=0, PAYLOAD-LEN=6, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               edited
+
011 TX OCTETS: 8006656469746564
+
012 FAIL CONNECTION AFTER 1.000000 sec
+
013 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_4_1.json b/autobahn/client/hornbeam_case_6_4_1.json index 8f6cbe6..676508c 100644 --- a/autobahn/client/hornbeam_case_6_4_1.json +++ b/autobahn/client/hornbeam_case_6_4_1.json @@ -1,6 +1,6 @@ { "agent": "Hornbeam", - "behavior": "FAILED", + "behavior": "NON-STRICT", "behaviorClose": "OK", "case": 74, "closedByMe": false, @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send invalid UTF-8 text message in 3 fragments (frames).\nFirst frame payload is valid, then wait, then 2nd frame which contains the payload making the sequence invalid, then wait, then 3rd frame with rest.\nNote that PART1 and PART3 are valid UTF-8 in themselves, PART2 is a 0x110000 encoded as in the UTF-8 integer encoding scheme, but the codepoint is invalid (out of range).\n

MESSAGE PARTS:
\nPART1 = cebae1bdb9cf83cebcceb5
\nPART2 = f4908080
\nPART3 = 656469746564
\n", "droppedByMe": false, - "duration": 1003, + "duration": 2002, "expectation": "The first frame is accepted, we expect to timeout on the first wait. The 2nd frame should be rejected immediately (fail fast on UTF-8). If we timeout, we expect the connection is failed at least then, since the complete message payload is not valid UTF-8.", "expected": { "NON-STRICT": [ @@ -37,45 +37,41 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=74&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: MajVkv1p8Gp0hKnkfCL0iQ==\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: KAIm1EBGnxXtUX+che2NHrTNBHw=\r\n\r\n", + "httpRequest": "GET /runCase?case=74&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: M3m2aujq36DpABKZIGn6jg==\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: 2txdyVsWgZBJj7DxdAW9MSdpq28=\r\n\r\n", "id": "6.4.1", "isServer": true, "localCloseCode": null, "localCloseReason": null, "received": [ [ - "message", - "\u03ba\u1f79\u03c3\u03bc\u03b5", - false + "timeout", + "A" ], [ "timeout", - "A" + "B" ] ], "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", + "result": "Actual events match at least one expected.", "resultClose": "Connection was properly closed", - "rxFrameStats": { - "1": 1 - }, + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "16": 1, "183": 1 }, - "started": "2023-08-10T23:01:36.575Z", + "started": "2023-08-11T05:15:10.041Z", "trafficStats": null, "txFrameStats": { - "0": 1, + "0": 2, "1": 1 }, "txOctetStats": { "6": 1, + "8": 1, "13": 1, "206": 1 }, @@ -127,32 +123,6 @@ 1, "A" ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 16, - "8bdffd2a241147cb996632a9ea63339f" - ] - ], - [ - "RF", - [ - 11, - "\u03ba\u1f79\u03c3\u03bc\u03b5" - ], - 1, - true, - 0, - true, - "dffd2a24" - ], [ "CTE", "A" @@ -183,6 +153,36 @@ "CT", 1, "B" + ], + [ + "CTE", + "B" + ], + [ + "TF", + [ + 6, + "edited" + ], + 0, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 8, + "8006656469746564" + ], + false + ], + [ + "KL", + 1 ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_4_2.html b/autobahn/client/hornbeam_case_6_4_2.html index 8b9cf6b..e7289d5 100644 --- a/autobahn/client/hornbeam_case_6_4_2.html +++ b/autobahn/client/hornbeam_case_6_4_2.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.4.2 : Fail - 1003 ms @ 2023-08-10T23:01:37.579Z

+

Hornbeam - Case 6.4.2 : Non-Strict - 2003 ms @ 2023-08-11T05:15:12.045Z

Case Description

Same as Case 6.4.1, but in 2nd frame, we send only up to and including the octet making the complete payload invalid.

MESSAGE PARTS:
PART1 = cebae1bdb9cf83cebcceb5f4
@@ -212,9 +212,9 @@ PART3 = 8080656469746564

Case Expectation

The first frame is accepted, we expect to timeout on the first wait. The 2nd frame should be rejected immediately (fail fast on UTF-8). If we timeout, we expect the connection is failed at least then, since the complete message payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': [('timeout', 'A')], 'NON-STRICT': [('timeout', 'A'), ('timeout', 'B')]}

- Observed:
[('message', u'\u03ba\u1f79\u03c3\u03bc\u03b5\ufffd', False), ('timeout', 'A')] + Observed:
[('timeout', 'A'), ('timeout', 'B')]

Case Closing Behavior

Connection was properly closed (OK)



@@ -223,14 +223,14 @@ PART3 = 8080656469746564
Host: localhost:9001 Upgrade: websocket Connection: upgrade -Sec-WebSocket-Key: VssdCChlf/8cp2vc+3aZBA== +Sec-WebSocket-Key: Kt4rmJHQkOmqN5FbldUwsg== 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: xCatY9Y3Xeo7dgNOAWcNqTkHdlg=
+Sec-WebSocket-Accept: mLW8jFTRrTnfxbTN+1vis9QABz0=

Closing Behavior

@@ -253,31 +253,29 @@ Sec-WebSocket-Accept: xCatY9Y3Xeo7dgNOAWcNqTkHdlg=

Octets Received by Chop Size

- - - +
Chop SizeCountOctets
111
19119
1831183
Total3203
Total1183

Octets Transmitted by Chop Size

+ - +
Chop SizeCountOctets
313
10110
14114
2061206
Total3223
Total4233

Frames Received by Opcode

- - +
OpcodeCount
11
Total1
Total0

Frames Transmitted by Opcode

- + - +
OpcodeCount
01
02
11
Total2
Total3


Wire Log

@@ -290,16 +288,17 @@ Sec-WebSocket-Accept: xCatY9Y3Xeo7dgNOAWcNqTkHdlg=
               0xcebae1bdb9cf83cebcceb5f4
003 TX OCTETS: 010ccebae1bdb9cf83cebcceb5f4
004 DELAY 1.000000 sec for TAG A
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8e3893311bf629d0a6815cb2d5845d84f4872e
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=14, MASKED=True, MASK=3338393333313162
-
               κόσμε�
-
008 DELAY TIMEOUT on TAG A
-
009 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
005 DELAY TIMEOUT on TAG A
+
006 TX FRAME : OPCODE=0, FIN=False, RSV=0, PAYLOAD-LEN=1, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0x90
-
010 TX OCTETS: 000190
-
011 DELAY 1.000000 sec for TAG B
-
012 TCP DROPPED BY PEER
+
007 TX OCTETS: 000190
+
008 DELAY 1.000000 sec for TAG B
+
009 DELAY TIMEOUT on TAG B
+
010 TX FRAME : OPCODE=0, FIN=True, RSV=0, PAYLOAD-LEN=8, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x8080656469746564
+
011 TX OCTETS: 80088080656469746564
+
012 FAIL CONNECTION AFTER 1.000000 sec
+
013 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_4_2.json b/autobahn/client/hornbeam_case_6_4_2.json index 5f0e82c..65e7a67 100644 --- a/autobahn/client/hornbeam_case_6_4_2.json +++ b/autobahn/client/hornbeam_case_6_4_2.json @@ -1,6 +1,6 @@ { "agent": "Hornbeam", - "behavior": "FAILED", + "behavior": "NON-STRICT", "behaviorClose": "OK", "case": 75, "closedByMe": false, @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Same as Case 6.4.1, but in 2nd frame, we send only up to and including the octet making the complete payload invalid.\n

MESSAGE PARTS:
\nPART1 = cebae1bdb9cf83cebcceb5f4
\nPART2 = 90
\nPART3 = 8080656469746564
\n", "droppedByMe": false, - "duration": 1003, + "duration": 2003, "expectation": "The first frame is accepted, we expect to timeout on the first wait. The 2nd frame should be rejected immediately (fail fast on UTF-8). If we timeout, we expect the connection is failed at least then, since the complete message payload is not valid UTF-8.", "expected": { "NON-STRICT": [ @@ -37,45 +37,41 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=75&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: VssdCChlf/8cp2vc+3aZBA==\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: xCatY9Y3Xeo7dgNOAWcNqTkHdlg=\r\n\r\n", + "httpRequest": "GET /runCase?case=75&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Kt4rmJHQkOmqN5FbldUwsg==\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: mLW8jFTRrTnfxbTN+1vis9QABz0=\r\n\r\n", "id": "6.4.2", "isServer": true, "localCloseCode": null, "localCloseReason": null, "received": [ [ - "message", - "\u03ba\u1f79\u03c3\u03bc\u03b5\ufffd", - false + "timeout", + "A" ], [ "timeout", - "A" + "B" ] ], "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", + "result": "Actual events match at least one expected.", "resultClose": "Connection was properly closed", - "rxFrameStats": { - "1": 1 - }, + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "19": 1, "183": 1 }, - "started": "2023-08-10T23:01:37.579Z", + "started": "2023-08-11T05:15:12.045Z", "trafficStats": null, "txFrameStats": { - "0": 1, + "0": 2, "1": 1 }, "txOctetStats": { "3": 1, + "10": 1, "14": 1, "206": 1 }, @@ -127,32 +123,6 @@ 1, "A" ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 19, - "8e3893311bf629d0a6815cb2d5845d84f4872e" - ] - ], - [ - "RF", - [ - 14, - "\u03ba\u1f79\u03c3\u03bc\u03b5\ufffd" - ], - 1, - true, - 0, - true, - "3893311b" - ], [ "CTE", "A" @@ -183,6 +153,36 @@ "CT", 1, "B" + ], + [ + "CTE", + "B" + ], + [ + "TF", + [ + 8, + "0x8080656469746564" + ], + 0, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 10, + "80088080656469746564" + ], + false + ], + [ + "KL", + 1 ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_4_3.html b/autobahn/client/hornbeam_case_6_4_3.html index d4fde2f..149cf8d 100644 --- a/autobahn/client/hornbeam_case_6_4_3.html +++ b/autobahn/client/hornbeam_case_6_4_3.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.4.3 : Fail - 2003 ms @ 2023-08-10T23:01:38.583Z

+

Hornbeam - Case 6.4.3 : Non-Strict - 2003 ms @ 2023-08-11T05:15:14.054Z

Case Description

Same as Case 6.4.1, but we send message not in 3 frames, but in 3 chops of the same message frame.

MESSAGE PARTS:
PART1 = cebae1bdb9cf83cebcceb5
@@ -212,9 +212,9 @@ PART3 = 656469746564

Case Expectation

The first chop is accepted, we expect to timeout on the first wait. The 2nd chop should be rejected immediately (fail fast on UTF-8). If we timeout, we expect the connection is failed at least then, since the complete message payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': [('timeout', 'A')], 'NON-STRICT': [('timeout', 'A'), ('timeout', 'B')]}

- Observed:
[('timeout', 'A'), ('timeout', 'B'), ('message', u'\u03ba\u1f79\u03c3\u03bc\u03b5\ufffd\ufffd\ufffd\ufffdedited', False)] + Observed:
[('timeout', 'A'), ('timeout', 'B')]

Case Closing Behavior

Connection was properly closed (OK)



@@ -223,14 +223,14 @@ PART3 = 656469746564
Host: localhost:9001 Upgrade: websocket Connection: upgrade -Sec-WebSocket-Key: oRI1Euo0b1gSntC0lHv6Iw== +Sec-WebSocket-Key: +iU4rPGz+KULvn0BoACGWQ== 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: kYVJoxl3u6geTu/zJA8GHu7h+rg=
+Sec-WebSocket-Accept: /Vzmo5vDNUfx8kCQCAGAOgYzCWc=

Closing Behavior

@@ -253,10 +253,11 @@ Sec-WebSocket-Accept: kYVJoxl3u6geTu/zJA8GHu7h+rg=

Octets Received by Chop Size

- - - - + + + + +
Chop SizeCountOctets
111
34134
1831183
Total3218
224
40140
51151
88188
Total5183

Octets Transmitted by Chop Size

@@ -271,8 +272,7 @@ Sec-WebSocket-Accept: kYVJoxl3u6geTu/zJA8GHu7h+rg=

Frames Received by Opcode

- - +
OpcodeCount
11
Total1
Total0

Frames Transmitted by Opcode

@@ -285,24 +285,25 @@ Sec-WebSocket-Accept: kYVJoxl3u6geTu/zJA8GHu7h+rg=
000 RX OCTETS: 474554202f72756e436173653f636173653d3736266167656e743d486f726e6265616d20485454502f312e310d0a486f7374
               3a206c6f63616c686f73743a3930 ...
-
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
001 RX OCTETS: 436f6e6e656374696f6e3a20757067726164650d0a5365632d576562536f636b65742d4b65793a20
+
002 RX OCTETS: 2b6955347250477a2b4b554c766e30426f41434757513d3d0d0a5365632d576562536f636b65742d56657273696f6e3a2031
+
               33
+
003 RX OCTETS: 0d0a
+
004 RX OCTETS: 0d0a
+
005 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
               5465737453756974652f302e382e ...
-
002 TX OCTETS: 0115
-
003 TX OCTETS: cebae1bdb9cf83cebcceb5
-
004 DELAY 1.000000 sec for TAG A
-
005 DELAY TIMEOUT on TAG A
-
006 TX OCTETS: f4908080
-
007 DELAY 1.000000 sec for TAG B
-
008 DELAY TIMEOUT on TAG B
-
009 TX OCTETS: 656469746564
-
010 TX FRAME : OPCODE=0, FIN=True, RSV=0, PAYLOAD-LEN=0, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
011 TX OCTETS: 8000
-
012 FAIL CONNECTION AFTER 1.000000 sec
-
013 RX OCTETS: 81
-
014 RX OCTETS: 9d23004ee5edbaaf589acfcd2b9fcefb0a9cbda15a9eeff158ccbff38047693a8047
-
015 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=29, MASKED=True, MASK=3233303034656535
-
               κόσμε����edited
-
016 TCP DROPPED BY PEER
+
006 TX OCTETS: 0115
+
007 TX OCTETS: cebae1bdb9cf83cebcceb5
+
008 DELAY 1.000000 sec for TAG A
+
009 DELAY TIMEOUT on TAG A
+
010 TX OCTETS: f4908080
+
011 DELAY 1.000000 sec for TAG B
+
012 DELAY TIMEOUT on TAG B
+
013 TX OCTETS: 656469746564
+
014 TX FRAME : OPCODE=0, FIN=True, RSV=0, PAYLOAD-LEN=0, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
015 TX OCTETS: 8000
+
016 FAIL CONNECTION AFTER 1.000000 sec
+
017 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_4_3.json b/autobahn/client/hornbeam_case_6_4_3.json index b2938f8..c290d48 100644 --- a/autobahn/client/hornbeam_case_6_4_3.json +++ b/autobahn/client/hornbeam_case_6_4_3.json @@ -1,6 +1,6 @@ { "agent": "Hornbeam", - "behavior": "FAILED", + "behavior": "NON-STRICT", "behaviorClose": "OK", "case": 76, "closedByMe": false, @@ -37,8 +37,8 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=76&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: oRI1Euo0b1gSntC0lHv6Iw==\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: kYVJoxl3u6geTu/zJA8GHu7h+rg=\r\n\r\n", + "httpRequest": "GET /runCase?case=76&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: +iU4rPGz+KULvn0BoACGWQ==\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: /Vzmo5vDNUfx8kCQCAGAOgYzCWc=\r\n\r\n", "id": "6.4.3", "isServer": true, "localCloseCode": null, @@ -51,28 +51,22 @@ [ "timeout", "B" - ], - [ - "message", - "\u03ba\u1f79\u03c3\u03bc\u03b5\ufffd\ufffd\ufffd\ufffdedited", - false ] ], "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", + "result": "Actual events match at least one expected.", "resultClose": "Connection was properly closed", - "rxFrameStats": { - "1": 1 - }, + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "34": 1, - "183": 1 + "2": 2, + "40": 1, + "51": 1, + "88": 1 }, - "started": "2023-08-10T23:01:38.583Z", + "started": "2023-08-11T05:15:14.054Z", "trafficStats": null, "txFrameStats": { "0": 1 @@ -93,10 +87,38 @@ [ "RO", [ - 183, + 88, "474554202f72756e436173653f636173653d3736266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a3930 ..." ] ], + [ + "RO", + [ + 40, + "436f6e6e656374696f6e3a20757067726164650d0a5365632d576562536f636b65742d4b65793a20" + ] + ], + [ + "RO", + [ + 51, + "2b6955347250477a2b4b554c766e30426f41434757513d3d0d0a5365632d576562536f636b65742d56657273696f6e3a203133" + ] + ], + [ + "RO", + [ + 2, + "0d0a" + ] + ], + [ + "RO", + [ + 2, + "0d0a" + ] + ], [ "TO", [ @@ -180,32 +202,6 @@ [ "KL", 1 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 34, - "9d23004ee5edbaaf589acfcd2b9fcefb0a9cbda15a9eeff158ccbff38047693a8047" - ] - ], - [ - "RF", - [ - 29, - "\u03ba\u1f79\u03c3\u03bc\u03b5\ufffd\ufffd\ufffd\ufffdedited" - ], - 1, - true, - 0, - true, - "23004ee5" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_4_4.html b/autobahn/client/hornbeam_case_6_4_4.html index 3ead92b..ee3c070 100644 --- a/autobahn/client/hornbeam_case_6_4_4.html +++ b/autobahn/client/hornbeam_case_6_4_4.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.4.4 : Fail - 2005 ms @ 2023-08-10T23:01:40.589Z

+

Hornbeam - Case 6.4.4 : Non-Strict - 2002 ms @ 2023-08-11T05:15:16.062Z

Case Description

Same as Case 6.4.2, but we send message not in 3 frames, but in 3 chops of the same message frame.

MESSAGE PARTS:
PART1 = cebae1bdb9cf83cebcceb5f4
@@ -212,9 +212,9 @@ PART3 =

Case Expectation

The first chop is accepted, we expect to timeout on the first wait. The 2nd chop should be rejected immediately (fail fast on UTF-8). If we timeout, we expect the connection is failed at least then, since the complete message payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': [('timeout', 'A')], 'NON-STRICT': [('timeout', 'A'), ('timeout', 'B')]}

- Observed:
[('timeout', 'A'), ('timeout', 'B'), ('message', u'\u03ba\u1f79\u03c3\u03bc\u03b5\ufffd\ufffd\ufffd\ufffdedited', False)] + Observed:
[('timeout', 'A'), ('timeout', 'B')]

Case Closing Behavior

Connection was properly closed (OK)



@@ -223,14 +223,14 @@ PART3 =
Host: localhost:9001 Upgrade: websocket Connection: upgrade -Sec-WebSocket-Key: goV7ot0HaD6MWxzIDeVchA== +Sec-WebSocket-Key: KtEbj6FJmI2RcFKLweotEg== 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: MQLd/N4qCpilp4Z+9ebJTzmcDpM=
+Sec-WebSocket-Accept: dx4lmQXHFs+BosMgLea8je6PNCM=

Closing Behavior

@@ -253,10 +253,8 @@ Sec-WebSocket-Accept: MQLd/N4qCpilp4Z+9ebJTzmcDpM=

Octets Received by Chop Size

- - - +
Chop SizeCountOctets
111
34134
1831183
Total3218
Total1183

Octets Transmitted by Chop Size

@@ -271,8 +269,7 @@ Sec-WebSocket-Accept: MQLd/N4qCpilp4Z+9ebJTzmcDpM=

Frames Received by Opcode

- - +
OpcodeCount
11
Total1
Total0

Frames Transmitted by Opcode

@@ -298,11 +295,7 @@ Sec-WebSocket-Accept: MQLd/N4qCpilp4Z+9ebJTzmcDpM=
010 TX FRAME : OPCODE=0, FIN=True, RSV=0, PAYLOAD-LEN=0, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
011 TX OCTETS: 8000
012 FAIL CONNECTION AFTER 1.000000 sec
-
013 RX OCTETS: 81
-
014 RX OCTETS: 9d2d37e03be38d018694f863f591f955d4928a0f8490d85f86c2885d5e495e945e49
-
015 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=29, MASKED=True, MASK=3264333765303362
-
               κόσμε����edited
-
016 TCP DROPPED BY PEER
+
013 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_4_4.json b/autobahn/client/hornbeam_case_6_4_4.json index b6bba07..36da6fb 100644 --- a/autobahn/client/hornbeam_case_6_4_4.json +++ b/autobahn/client/hornbeam_case_6_4_4.json @@ -1,6 +1,6 @@ { "agent": "Hornbeam", - "behavior": "FAILED", + "behavior": "NON-STRICT", "behaviorClose": "OK", "case": 77, "closedByMe": false, @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Same as Case 6.4.2, but we send message not in 3 frames, but in 3 chops of the same message frame.\n

MESSAGE PARTS:
\nPART1 = cebae1bdb9cf83cebcceb5f4
\nPART2 = 90
\nPART3 =
\n", "droppedByMe": false, - "duration": 2005, + "duration": 2002, "expectation": "The first chop is accepted, we expect to timeout on the first wait. The 2nd chop should be rejected immediately (fail fast on UTF-8). If we timeout, we expect the connection is failed at least then, since the complete message payload is not valid UTF-8.", "expected": { "NON-STRICT": [ @@ -37,8 +37,8 @@ "requireClean": false }, "failedByMe": false, - "httpRequest": "GET /runCase?case=77&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: goV7ot0HaD6MWxzIDeVchA==\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: MQLd/N4qCpilp4Z+9ebJTzmcDpM=\r\n\r\n", + "httpRequest": "GET /runCase?case=77&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: KtEbj6FJmI2RcFKLweotEg==\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: dx4lmQXHFs+BosMgLea8je6PNCM=\r\n\r\n", "id": "6.4.4", "isServer": true, "localCloseCode": null, @@ -51,28 +51,19 @@ [ "timeout", "B" - ], - [ - "message", - "\u03ba\u1f79\u03c3\u03bc\u03b5\ufffd\ufffd\ufffd\ufffdedited", - false ] ], "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", + "result": "Actual events match at least one expected.", "resultClose": "Connection was properly closed", - "rxFrameStats": { - "1": 1 - }, + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "34": 1, "183": 1 }, - "started": "2023-08-10T23:01:40.589Z", + "started": "2023-08-11T05:15:16.062Z", "trafficStats": null, "txFrameStats": { "0": 1 @@ -180,32 +171,6 @@ [ "KL", 1 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 34, - "9d2d37e03be38d018694f863f591f955d4928a0f8490d85f86c2885d5e495e945e49" - ] - ], - [ - "RF", - [ - 29, - "\u03ba\u1f79\u03c3\u03bc\u03b5\ufffd\ufffd\ufffd\ufffdedited" - ], - 1, - true, - 0, - true, - "2d37e03b" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_5_1.html b/autobahn/client/hornbeam_case_6_5_1.html index 9aea3c6..7b5e0c1 100644 --- a/autobahn/client/hornbeam_case_6_5_1.html +++ b/autobahn/client/hornbeam_case_6_5_1.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.5.1 : Pass - 48 ms @ 2023-08-10T23:01:42.597Z

+

Hornbeam - Case 6.5.1 : Pass - 50 ms @ 2023-08-11T05:15:18.066Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0x68656c6c6f24776f726c64

Case Expectation

The message is echo'ed back to us.

@@ -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: ip5rhMkR+ThWpnixYW1WZQ== +Sec-WebSocket-Key: PGvpaCy7H2Mn5zUbXQ0aUQ== 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: NQnTRbZVoNapmlZOUAoNcQGPSGI=
+Sec-WebSocket-Accept: FtsA0KFs3jgvDPMh6wqABfBzoaY=

Closing Behavior

@@ -288,14 +288,14 @@ Sec-WebSocket-Accept: NQnTRbZVoNapmlZOUAoNcQGPSGI=
003 TX OCTETS: 810b68656c6c6f24776f726c64
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 8bb15cf5eed9399982de788281c33091
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=11, MASKED=True, MASK=6231356366356565
+
006 RX OCTETS: 8b2cce079344ab6bff43ea70fc5ea263
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=11, MASKED=True, MASK=3263636530373933
               hello$world
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: 88824280f5ec4168
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3432383066356563
+
010 RX OCTETS: 8882cae699e5c90e
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6361653639396535
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_5_1.json b/autobahn/client/hornbeam_case_6_5_1.json index 5e32c0f..4851878 100644 --- a/autobahn/client/hornbeam_case_6_5_1.json +++ b/autobahn/client/hornbeam_case_6_5_1.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0x68656c6c6f24776f726c64", "droppedByMe": true, - "duration": 48, + "duration": 50, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=78&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ip5rhMkR+ThWpnixYW1WZQ==\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: NQnTRbZVoNapmlZOUAoNcQGPSGI=\r\n\r\n", + "httpRequest": "GET /runCase?case=78&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: PGvpaCy7H2Mn5zUbXQ0aUQ==\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: FtsA0KFs3jgvDPMh6wqABfBzoaY=\r\n\r\n", "id": "6.5.1", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "16": 1, "183": 1 }, - "started": "2023-08-10T23:01:42.597Z", + "started": "2023-08-11T05:15:18.066Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 16, - "8bb15cf5eed9399982de788281c33091" + "8b2cce079344ab6bff43ea70fc5ea263" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "b15cf5ee" + "2cce0793" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "88824280f5ec4168" + "8882cae699e5c90e" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "4280f5ec" + "cae699e5" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_5_2.html b/autobahn/client/hornbeam_case_6_5_2.html index cad287b..dedff6b 100644 --- a/autobahn/client/hornbeam_case_6_5_2.html +++ b/autobahn/client/hornbeam_case_6_5_2.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.5.2 : Pass - 47 ms @ 2023-08-10T23:01:42.647Z

+

Hornbeam - Case 6.5.2 : Pass - 46 ms @ 2023-08-11T05:15:18.118Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0x68656c6c6fc2a2776f726c64

Case Expectation

The message is echo'ed back to us.

@@ -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: Y7sUhHkIQ0wteCtKB0iHsQ== +Sec-WebSocket-Key: 9T8cCD1RW1de7ZxKa2lAxA== 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: /dL1lut67G0k3rjkXihBXAPuknw=
+Sec-WebSocket-Accept: 55VJbm5AxnjKxSm9b4xqASAOTcg=

Closing Behavior

@@ -288,14 +288,14 @@ Sec-WebSocket-Accept: /dL1lut67G0k3rjkXihBXAPuknw=
003 TX OCTETS: 810c68656c6c6fc2a2776f726c64
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 8c33a9c2fa5bccae965c6b608d5cdbae9e
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=3333613963326661
+
006 RX OCTETS: 8cfb3d1cf99358709594ffbe8e944f709d
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=6662336431636639
               hello¢world
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: 88829f61209e9c89
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3966363132303965
+
010 RX OCTETS: 88820dae3f090e46
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3064616533663039
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_5_2.json b/autobahn/client/hornbeam_case_6_5_2.json index 5222c9b..40cf632 100644 --- a/autobahn/client/hornbeam_case_6_5_2.json +++ b/autobahn/client/hornbeam_case_6_5_2.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0x68656c6c6fc2a2776f726c64", "droppedByMe": true, - "duration": 47, + "duration": 46, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=79&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Y7sUhHkIQ0wteCtKB0iHsQ==\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: /dL1lut67G0k3rjkXihBXAPuknw=\r\n\r\n", + "httpRequest": "GET /runCase?case=79&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 9T8cCD1RW1de7ZxKa2lAxA==\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: 55VJbm5AxnjKxSm9b4xqASAOTcg=\r\n\r\n", "id": "6.5.2", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "17": 1, "183": 1 }, - "started": "2023-08-10T23:01:42.647Z", + "started": "2023-08-11T05:15:18.118Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 17, - "8c33a9c2fa5bccae965c6b608d5cdbae9e" + "8cfb3d1cf99358709594ffbe8e944f709d" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "33a9c2fa" + "fb3d1cf9" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "88829f61209e9c89" + "88820dae3f090e46" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "9f61209e" + "0dae3f09" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_5_3.html b/autobahn/client/hornbeam_case_6_5_3.html index dc5a2fe..dde29fb 100644 --- a/autobahn/client/hornbeam_case_6_5_3.html +++ b/autobahn/client/hornbeam_case_6_5_3.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.5.3 : Pass - 47 ms @ 2023-08-10T23:01:42.697Z

+

Hornbeam - Case 6.5.3 : Pass - 45 ms @ 2023-08-11T05:15:18.167Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0x68656c6c6fe282ac776f726c64

Case Expectation

The message is echo'ed back to us.

@@ -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: fMP2oyDQVABTwSRLQzWuyw== +Sec-WebSocket-Key: d1sJ9OqbzjbWjVhyBXqUdQ== 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: crVCiLHZGVoRYOncpZeB5mLVHCw=
+Sec-WebSocket-Accept: NkBt6+or4eAad7u/0bHA8v93o+s=

Closing Behavior

@@ -288,14 +288,14 @@ Sec-WebSocket-Accept: crVCiLHZGVoRYOncpZeB5mLVHCw=
003 TX OCTETS: 810d68656c6c6fe282ac776f726c64
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 8d470bcc442f6ea02828e94ee83064be2823
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=3437306263633434
+
006 RX OCTETS: 8d8f8c9574e7e9f918e06e17d8f8e3e718eb
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=13, MASKED=True, MASK=3866386339353734
               hello€world
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: 88828c8faee98f67
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3863386661656539
+
010 RX OCTETS: 88827dbd51997e55
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3764626435313939
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_5_3.json b/autobahn/client/hornbeam_case_6_5_3.json index 1abc753..5931b34 100644 --- a/autobahn/client/hornbeam_case_6_5_3.json +++ b/autobahn/client/hornbeam_case_6_5_3.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0x68656c6c6fe282ac776f726c64", "droppedByMe": true, - "duration": 47, + "duration": 45, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=80&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: fMP2oyDQVABTwSRLQzWuyw==\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: crVCiLHZGVoRYOncpZeB5mLVHCw=\r\n\r\n", + "httpRequest": "GET /runCase?case=80&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: d1sJ9OqbzjbWjVhyBXqUdQ==\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: NkBt6+or4eAad7u/0bHA8v93o+s=\r\n\r\n", "id": "6.5.3", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "18": 1, "183": 1 }, - "started": "2023-08-10T23:01:42.697Z", + "started": "2023-08-11T05:15:18.167Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 18, - "8d470bcc442f6ea02828e94ee83064be2823" + "8d8f8c9574e7e9f918e06e17d8f8e3e718eb" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "470bcc44" + "8f8c9574" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "88828c8faee98f67" + "88827dbd51997e55" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "8c8faee9" + "7dbd5199" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_5_4.html b/autobahn/client/hornbeam_case_6_5_4.html index a01184d..452f1b9 100644 --- a/autobahn/client/hornbeam_case_6_5_4.html +++ b/autobahn/client/hornbeam_case_6_5_4.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.5.4 : Pass - 48 ms @ 2023-08-10T23:01:42.747Z

+

Hornbeam - Case 6.5.4 : Pass - 46 ms @ 2023-08-11T05:15:18.215Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0x68656c6c6ff0a4ada2776f726c64

Case Expectation

The message is echo'ed back to us.

@@ -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: ep/o0uWLYRnOjwf6Ayotqw== +Sec-WebSocket-Key: 5+KF9cQc0ZlIXK4vWDJbBg== 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: oBjXVB3BksmhgMYcLbzYblmGpJU=
+Sec-WebSocket-Accept: P5NJjRUiOKdGgIOeA57lRW9DyHA=

Closing Behavior

@@ -288,14 +288,14 @@ Sec-WebSocket-Accept: oBjXVB3BksmhgMYcLbzYblmGpJU=
003 TX OCTETS: 810e68656c6c6ff0a4ada2776f726c64
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 8e9a449e10f221f27cf5b43abd3833f162f620
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=14, MASKED=True, MASK=3961343439653130
+
006 RX OCTETS: 8eb19d3becd9f85780de6d9f4113ea549eddf9
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=14, MASKED=True, MASK=6231396433626563
               hello𤭢world
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: 88828ec07a368d28
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3865633037613336
+
010 RX OCTETS: 888291c60d08922e
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3931633630643038
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_5_4.json b/autobahn/client/hornbeam_case_6_5_4.json index 93f5bd9..caf6ed8 100644 --- a/autobahn/client/hornbeam_case_6_5_4.json +++ b/autobahn/client/hornbeam_case_6_5_4.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0x68656c6c6ff0a4ada2776f726c64", "droppedByMe": true, - "duration": 48, + "duration": 46, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=81&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ep/o0uWLYRnOjwf6Ayotqw==\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: oBjXVB3BksmhgMYcLbzYblmGpJU=\r\n\r\n", + "httpRequest": "GET /runCase?case=81&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 5+KF9cQc0ZlIXK4vWDJbBg==\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: P5NJjRUiOKdGgIOeA57lRW9DyHA=\r\n\r\n", "id": "6.5.4", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "19": 1, "183": 1 }, - "started": "2023-08-10T23:01:42.747Z", + "started": "2023-08-11T05:15:18.215Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 19, - "8e9a449e10f221f27cf5b43abd3833f162f620" + "8eb19d3becd9f85780de6d9f4113ea549eddf9" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "9a449e10" + "b19d3bec" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "88828ec07a368d28" + "888291c60d08922e" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "8ec07a36" + "91c60d08" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_5_5.html b/autobahn/client/hornbeam_case_6_5_5.html index 5efec5f..fe5259f 100644 --- a/autobahn/client/hornbeam_case_6_5_5.html +++ b/autobahn/client/hornbeam_case_6_5_5.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.5.5 : Pass - 46 ms @ 2023-08-10T23:01:42.798Z

+

Hornbeam - Case 6.5.5 : Pass - 44 ms @ 2023-08-11T05:15:18.264Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xcebae1bdb9cf83cebcceb5

Case Expectation

The message is echo'ed back to us.

@@ -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: hGbGkA9xAR2eyYz0+v3vIQ== +Sec-WebSocket-Key: ABAneS+2UdyqTtU/DueYCA== 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: wvetSSwui2iXmryIqv5/HlFC5UU=
+Sec-WebSocket-Accept: 9T726q2hl+d37fPoRiuOJxINF9E=

Closing Behavior

@@ -288,14 +288,14 @@ Sec-WebSocket-Accept: wvetSSwui2iXmryIqv5/HlFC5UU=
003 TX OCTETS: 810bcebae1bdb9cf83cebcceb5
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 8b90066a455ebc8bf829c9e98b2cc8df
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=11, MASKED=True, MASK=3930303636613435
+
006 RX OCTETS: 8b3fbd46b2f107a70f8672c57c8373f3
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=11, MASKED=True, MASK=3366626434366232
               κόσμε
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: 8882918f7b829267
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3931386637623832
+
010 RX OCTETS: 8882c813384ecbfb
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6338313333383465
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_5_5.json b/autobahn/client/hornbeam_case_6_5_5.json index 0b3dbb5..733f315 100644 --- a/autobahn/client/hornbeam_case_6_5_5.json +++ b/autobahn/client/hornbeam_case_6_5_5.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xcebae1bdb9cf83cebcceb5", "droppedByMe": true, - "duration": 46, + "duration": 44, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=82&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: hGbGkA9xAR2eyYz0+v3vIQ==\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: wvetSSwui2iXmryIqv5/HlFC5UU=\r\n\r\n", + "httpRequest": "GET /runCase?case=82&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ABAneS+2UdyqTtU/DueYCA==\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: 9T726q2hl+d37fPoRiuOJxINF9E=\r\n\r\n", "id": "6.5.5", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "16": 1, "183": 1 }, - "started": "2023-08-10T23:01:42.798Z", + "started": "2023-08-11T05:15:18.264Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 16, - "8b90066a455ebc8bf829c9e98b2cc8df" + "8b3fbd46b2f107a70f8672c57c8373f3" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "90066a45" + "3fbd46b2" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "8882918f7b829267" + "8882c813384ecbfb" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "918f7b82" + "c813384e" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_6_1.html b/autobahn/client/hornbeam_case_6_6_1.html index 20a8f23..6a9ed75 100644 --- a/autobahn/client/hornbeam_case_6_6_1.html +++ b/autobahn/client/hornbeam_case_6_6_1.html @@ -202,78 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.6.1 : Fail - 503 ms @ 2023-08-10T23:01:42.846Z

+

Hornbeam - Case 6.6.1 : Pass - 1 ms @ 2023-08-11T05:15:18.311Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xce

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=83&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: lpgNCzplX2r3sROJWcVphg==
+Sec-WebSocket-Key: Z9ras6dyxNuEGtLK0LVu3A==
 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: to6vzwtCaClQloZFruj49/nTzhY=
+Sec-WebSocket-Accept: jl4bnCX1B5qjw+Q69cVJx+tg1Hg=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - +
Chop SizeCountOctets
111
8216
1831183
Total4200
Total1183

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
313
14114
2061206
Total3223
Total2209

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -286,18 +280,7 @@ Sec-WebSocket-Accept: to6vzwtCaClQloZFruj49/nTzhY=
               0xce
003 TX OCTETS: 8101ce
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 837dc13d89927e80
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3764633133643839
-
               �
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882a7c0ccbca428
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6137633063636263
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_6_1.json b/autobahn/client/hornbeam_case_6_6_1.json index dbd7ffe..eee639c 100644 --- a/autobahn/client/hornbeam_case_6_6_1.json +++ b/autobahn/client/hornbeam_case_6_6_1.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 83, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xce", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,49 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=83&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: lpgNCzplX2r3sROJWcVphg==\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: to6vzwtCaClQloZFruj49/nTzhY=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=83&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Z9ras6dyxNuEGtLK0LVu3A==\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: jl4bnCX1B5qjw+Q69cVJx+tg1Hg=\r\n\r\n", "id": "6.6.1", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 2, "183": 1 }, - "started": "2023-08-10T23:01:42.846Z", + "started": "2023-08-11T05:15:18.311Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "3": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -107,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 8, - "837dc13d89927e80" - ] - ], - [ - "RF", - [ - 3, - "\ufffd" - ], - 1, - true, - 0, - true, - "7dc13d89" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882a7c0ccbca428" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "a7c0ccbc" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_6_10.html b/autobahn/client/hornbeam_case_6_6_10.html index da068ff..ea17138 100644 --- a/autobahn/client/hornbeam_case_6_6_10.html +++ b/autobahn/client/hornbeam_case_6_6_10.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.6.10 : Fail - 503 ms @ 2023-08-10T23:01:45.563Z

+

Hornbeam - Case 6.6.10 : Pass - 2 ms @ 2023-08-11T05:15:18.528Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xcebae1bdb9cf83cebcce

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\u03ba\u1f79\u03c3\u03bc\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=92&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: HhpNCWey0hkZiytubaxPbg==
+Sec-WebSocket-Key: X3YbGWecwM+v3wC5Zv/s0A==
 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: zDvn5o6CyrvOJ7sARkymoRKUIGA=
+Sec-WebSocket-Accept: t8OCnN4SzGK9VTCrfWj8ju/LcpQ=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
17117
1831183
Total4209
Total1183

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
12112
14114
2061206
Total3232
Total2218

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: zDvn5o6CyrvOJ7sARkymoRKUIGA=
               0xcebae1bdb9cf83cebcce
003 TX OCTETS: 810acebae1bdb9cf83cebcce
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8c55e0b0179b5a51aaec2f33d9e90f0faa
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=3535653062303137
-
               κόσμ�
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88821d9a915d1e72
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3164396139313564
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_6_10.json b/autobahn/client/hornbeam_case_6_6_10.json index a649159..3fd4574 100644 --- a/autobahn/client/hornbeam_case_6_6_10.json +++ b/autobahn/client/hornbeam_case_6_6_10.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 92, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xcebae1bdb9cf83cebcce", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 2, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=92&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: HhpNCWey0hkZiytubaxPbg==\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: zDvn5o6CyrvOJ7sARkymoRKUIGA=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=92&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: X3YbGWecwM+v3wC5Zv/s0A==\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: t8OCnN4SzGK9VTCrfWj8ju/LcpQ=\r\n\r\n", "id": "6.6.10", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\u03ba\u1f79\u03c3\u03bc\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "17": 1, "183": 1 }, - "started": "2023-08-10T23:01:45.563Z", + "started": "2023-08-11T05:15:18.528Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "12": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 17, - "8c55e0b0179b5a51aaec2f33d9e90f0faa" - ] - ], - [ - "RF", - [ - 12, - "\u03ba\u1f79\u03c3\u03bc\ufffd" - ], - 1, - true, - 0, - true, - "55e0b017" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88821d9a915d1e72" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "1d9a915d" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_6_11.html b/autobahn/client/hornbeam_case_6_6_11.html index 5f6e9eb..b8cca0f 100644 --- a/autobahn/client/hornbeam_case_6_6_11.html +++ b/autobahn/client/hornbeam_case_6_6_11.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.6.11 : Pass - 46 ms @ 2023-08-10T23:01:46.069Z

+

Hornbeam - Case 6.6.11 : Pass - 50 ms @ 2023-08-11T05:15:18.533Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xcebae1bdb9cf83cebcceb5

Case Expectation

The message is echo'ed back to us.

@@ -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: yp1nlc/995MdwTzaoJp3LA== +Sec-WebSocket-Key: NMj60A1rs6twynCAltJiDA== 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: pLC5Y+VJzE7Bo1v9H5mj4qBESvw=
+Sec-WebSocket-Accept: RebTidfMZD9VlrsEx2xulfFnwWo=

Closing Behavior

@@ -288,14 +288,14 @@ Sec-WebSocket-Accept: pLC5Y+VJzE7Bo1v9H5mj4qBESvw=
003 TX OCTETS: 810bcebae1bdb9cf83cebcceb5
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 8be971ba4a27cb5bf750be398455bf0f
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=11, MASKED=True, MASK=6539373162613461
+
006 RX OCTETS: 8bfe01a1b230bb400f47ce227c42cf14
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=11, MASKED=True, MASK=6665303161316232
               κόσμε
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: 88826bce298b6826
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3662636532393862
+
010 RX OCTETS: 8882374147f134a9
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3337343134376631
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_6_11.json b/autobahn/client/hornbeam_case_6_6_11.json index d312256..27ba985 100644 --- a/autobahn/client/hornbeam_case_6_6_11.json +++ b/autobahn/client/hornbeam_case_6_6_11.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xcebae1bdb9cf83cebcceb5", "droppedByMe": true, - "duration": 46, + "duration": 50, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=93&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: yp1nlc/995MdwTzaoJp3LA==\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: pLC5Y+VJzE7Bo1v9H5mj4qBESvw=\r\n\r\n", + "httpRequest": "GET /runCase?case=93&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: NMj60A1rs6twynCAltJiDA==\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: RebTidfMZD9VlrsEx2xulfFnwWo=\r\n\r\n", "id": "6.6.11", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "16": 1, "183": 1 }, - "started": "2023-08-10T23:01:46.069Z", + "started": "2023-08-11T05:15:18.533Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 16, - "8be971ba4a27cb5bf750be398455bf0f" + "8bfe01a1b230bb400f47ce227c42cf14" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "e971ba4a" + "fe01a1b2" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "88826bce298b6826" + "8882374147f134a9" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "6bce298b" + "374147f1" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_6_2.html b/autobahn/client/hornbeam_case_6_6_2.html index 22d73be..75ffe48 100644 --- a/autobahn/client/hornbeam_case_6_6_2.html +++ b/autobahn/client/hornbeam_case_6_6_2.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.6.2 : Pass - 45 ms @ 2023-08-10T23:01:43.351Z

+

Hornbeam - Case 6.6.2 : Pass - 50 ms @ 2023-08-11T05:15:18.315Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xceba

Case Expectation

The message is echo'ed back to us.

@@ -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: Nt+WaI//3aqfK2BL9RKINA== +Sec-WebSocket-Key: NCZEXOaxqb/WVffS0Zo2gg== 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: XAzhydEOWGoWtSJnBTZvTh0EJTA=
+Sec-WebSocket-Accept: aPYlVNoX71pWHqB3S0noTQ1eAg4=

Closing Behavior

@@ -287,14 +287,14 @@ Sec-WebSocket-Accept: XAzhydEOWGoWtSJnBTZvTh0EJTA=
003 TX OCTETS: 8102ceba
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 82fa969358342c
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6661393639333538
+
006 RX OCTETS: 827edcbcf6b066
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3765646362636636
               κ
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: 88821451672f17b9
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3134353136373266
+
010 RX OCTETS: 8882a1027030a2ea
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6131303237303330
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_6_2.json b/autobahn/client/hornbeam_case_6_6_2.json index 809ccac..e7191c2 100644 --- a/autobahn/client/hornbeam_case_6_6_2.json +++ b/autobahn/client/hornbeam_case_6_6_2.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xceba", "droppedByMe": true, - "duration": 45, + "duration": 50, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=84&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Nt+WaI//3aqfK2BL9RKINA==\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: XAzhydEOWGoWtSJnBTZvTh0EJTA=\r\n\r\n", + "httpRequest": "GET /runCase?case=84&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: NCZEXOaxqb/WVffS0Zo2gg==\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: aPYlVNoX71pWHqB3S0noTQ1eAg4=\r\n\r\n", "id": "6.6.2", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "8": 1, "183": 1 }, - "started": "2023-08-10T23:01:43.351Z", + "started": "2023-08-11T05:15:18.315Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -124,7 +124,7 @@ "RO", [ 7, - "82fa969358342c" + "827edcbcf6b066" ] ], [ @@ -137,7 +137,7 @@ true, 0, true, - "fa969358" + "7edcbcf6" ], [ "TF", @@ -165,7 +165,7 @@ "RO", [ 8, - "88821451672f17b9" + "8882a1027030a2ea" ] ], [ @@ -178,7 +178,7 @@ true, 0, true, - "1451672f" + "a1027030" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_6_3.html b/autobahn/client/hornbeam_case_6_6_3.html index 958b550..c8ae347 100644 --- a/autobahn/client/hornbeam_case_6_6_3.html +++ b/autobahn/client/hornbeam_case_6_6_3.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.6.3 : Fail - 503 ms @ 2023-08-10T23:01:43.398Z

+

Hornbeam - Case 6.6.3 : Pass - 1 ms @ 2023-08-11T05:15:18.367Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xcebae1

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\u03ba\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=85&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: 3YyxzdOeV7G2P02MHsbXrw==
+Sec-WebSocket-Key: nS9pTGibEaiNQWO5JMJQYw==
 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: HCDlK3LQEt6EnFZ8UUQTr6NnTUY=
+Sec-WebSocket-Accept: pkwgGvIr/kZ/pI8swyrifoMyczw=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
10110
1831183
Total4202
Total1183

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
515
14114
2061206
Total3225
Total2211

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: HCDlK3LQEt6EnFZ8UUQTr6NnTUY=
               0xcebae1
003 TX OCTETS: 8103cebae1
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 85401fa81e8ea547a1fd
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=5, MASKED=True, MASK=3430316661383165
-
               κ�
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88822f6bb03c2c83
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3266366262303363
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_6_3.json b/autobahn/client/hornbeam_case_6_6_3.json index 153a4da..4c7f182 100644 --- a/autobahn/client/hornbeam_case_6_6_3.json +++ b/autobahn/client/hornbeam_case_6_6_3.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 85, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xcebae1", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=85&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 3YyxzdOeV7G2P02MHsbXrw==\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: HCDlK3LQEt6EnFZ8UUQTr6NnTUY=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=85&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: nS9pTGibEaiNQWO5JMJQYw==\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: pkwgGvIr/kZ/pI8swyrifoMyczw=\r\n\r\n", "id": "6.6.3", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\u03ba\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "10": 1, "183": 1 }, - "started": "2023-08-10T23:01:43.398Z", + "started": "2023-08-11T05:15:18.367Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "5": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 10, - "85401fa81e8ea547a1fd" - ] - ], - [ - "RF", - [ - 5, - "\u03ba\ufffd" - ], - 1, - true, - 0, - true, - "401fa81e" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88822f6bb03c2c83" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "2f6bb03c" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_6_4.html b/autobahn/client/hornbeam_case_6_6_4.html index 6484b65..291aaf4 100644 --- a/autobahn/client/hornbeam_case_6_6_4.html +++ b/autobahn/client/hornbeam_case_6_6_4.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.6.4 : Fail - 504 ms @ 2023-08-10T23:01:43.905Z

+

Hornbeam - Case 6.6.4 : Pass - 1 ms @ 2023-08-11T05:15:18.371Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xcebae1bd

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\u03ba\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=86&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: L0fyIHYkgqe40m9vijrxPA==
+Sec-WebSocket-Key: hnMoP26lTeoVNHSQQ9CVTQ==
 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: HUCPsw7OZ4Qub0eZK6ur1k4e4HY=
+Sec-WebSocket-Accept: k6z+drOOSORA/OceWakeA/w0uKE=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
10110
1831183
Total4202
Total1183

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
616
14114
2061206
Total3226
Total2212

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: HUCPsw7OZ4Qub0eZK6ur1k4e4HY=
               0xcebae1bd
003 TX OCTETS: 8104cebae1bd
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 85e2a8c4fa2c122b455f
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=5, MASKED=True, MASK=6532613863346661
-
               κ�
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882be2f1462bdc7
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6265326631343632
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_6_4.json b/autobahn/client/hornbeam_case_6_6_4.json index ce57ea9..be7d639 100644 --- a/autobahn/client/hornbeam_case_6_6_4.json +++ b/autobahn/client/hornbeam_case_6_6_4.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 86, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xcebae1bd", - "droppedByMe": true, - "duration": 504, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=86&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: L0fyIHYkgqe40m9vijrxPA==\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: HUCPsw7OZ4Qub0eZK6ur1k4e4HY=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=86&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: hnMoP26lTeoVNHSQQ9CVTQ==\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: k6z+drOOSORA/OceWakeA/w0uKE=\r\n\r\n", "id": "6.6.4", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\u03ba\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "10": 1, "183": 1 }, - "started": "2023-08-10T23:01:43.905Z", + "started": "2023-08-11T05:15:18.371Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "6": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 10, - "85e2a8c4fa2c122b455f" - ] - ], - [ - "RF", - [ - 5, - "\u03ba\ufffd" - ], - 1, - true, - 0, - true, - "e2a8c4fa" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882be2f1462bdc7" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "be2f1462" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_6_5.html b/autobahn/client/hornbeam_case_6_6_5.html index 1bfffbb..2c4d93b 100644 --- a/autobahn/client/hornbeam_case_6_6_5.html +++ b/autobahn/client/hornbeam_case_6_6_5.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.6.5 : Pass - 46 ms @ 2023-08-10T23:01:44.411Z

+

Hornbeam - Case 6.6.5 : Pass - 45 ms @ 2023-08-11T05:15:18.374Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xcebae1bdb9

Case Expectation

The message is echo'ed back to us.

@@ -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: sG0Dxi9SKxEcKXTB7SYK7w== +Sec-WebSocket-Key: BTUnMkH9nwQ8DgjGfYl+VQ== 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: bSFw2sCJwh9/cHXNi2wOSAJwn5w=
+Sec-WebSocket-Accept: tn9xQE2vIuJfeG3NNhcbA+2P598=

Closing Behavior

@@ -288,14 +288,14 @@ Sec-WebSocket-Accept: bSFw2sCJwh9/cHXNi2wOSAJwn5w=
003 TX OCTETS: 8105cebae1bdb9
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 85d7a4241c191ec5a16e
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=5, MASKED=True, MASK=6437613432343163
+
006 RX OCTETS: 85630c404fadb6a1f2da
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=5, MASKED=True, MASK=3633306334303466
               κό
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: 88826a9967846971
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3661393936373834
+
010 RX OCTETS: 8882b2fe5871b116
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6232666535383731
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_6_5.json b/autobahn/client/hornbeam_case_6_6_5.json index 9a7aa04..f46c7a2 100644 --- a/autobahn/client/hornbeam_case_6_6_5.json +++ b/autobahn/client/hornbeam_case_6_6_5.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xcebae1bdb9", "droppedByMe": true, - "duration": 46, + "duration": 45, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=87&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: sG0Dxi9SKxEcKXTB7SYK7w==\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: bSFw2sCJwh9/cHXNi2wOSAJwn5w=\r\n\r\n", + "httpRequest": "GET /runCase?case=87&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: BTUnMkH9nwQ8DgjGfYl+VQ==\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: tn9xQE2vIuJfeG3NNhcbA+2P598=\r\n\r\n", "id": "6.6.5", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "10": 1, "183": 1 }, - "started": "2023-08-10T23:01:44.411Z", + "started": "2023-08-11T05:15:18.374Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 10, - "85d7a4241c191ec5a16e" + "85630c404fadb6a1f2da" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "d7a4241c" + "630c404f" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "88826a9967846971" + "8882b2fe5871b116" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "6a996784" + "b2fe5871" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_6_6.html b/autobahn/client/hornbeam_case_6_6_6.html index f870db6..d494199 100644 --- a/autobahn/client/hornbeam_case_6_6_6.html +++ b/autobahn/client/hornbeam_case_6_6_6.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.6.6 : Fail - 502 ms @ 2023-08-10T23:01:44.461Z

+

Hornbeam - Case 6.6.6 : Pass - 1 ms @ 2023-08-11T05:15:18.420Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xcebae1bdb9cf

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\u03ba\u1f79\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=88&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: DNBrc047BX6Smse4W+Wq9g==
+Sec-WebSocket-Key: hf+6qpAXwZJKBx47g0tMvA==
 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: uGX2JVeXcUBSkUy5yKt2YKEIJXU=
+Sec-WebSocket-Accept: nNvJFAL7vL0IeiB3AfVA+UPeM4E=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
13113
1831183
Total4205
Total1183

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
818
14114
2061206
Total3228
Total2214

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: uGX2JVeXcUBSkUy5yKt2YKEIJXU=
               0xcebae1bdb9cf
003 TX OCTETS: 8106cebae1bdb9cf
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8896578b5e58ed6ae32fb834e3
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=8, MASKED=True, MASK=3936353738623565
-
               κό�
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882c82d0533cbc5
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6338326430353333
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_6_6.json b/autobahn/client/hornbeam_case_6_6_6.json index 34b0cc0..808d1e7 100644 --- a/autobahn/client/hornbeam_case_6_6_6.json +++ b/autobahn/client/hornbeam_case_6_6_6.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 88, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xcebae1bdb9cf", - "droppedByMe": true, - "duration": 502, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=88&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: DNBrc047BX6Smse4W+Wq9g==\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: uGX2JVeXcUBSkUy5yKt2YKEIJXU=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=88&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: hf+6qpAXwZJKBx47g0tMvA==\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: nNvJFAL7vL0IeiB3AfVA+UPeM4E=\r\n\r\n", "id": "6.6.6", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\u03ba\u1f79\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "13": 1, "183": 1 }, - "started": "2023-08-10T23:01:44.461Z", + "started": "2023-08-11T05:15:18.420Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "8": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 13, - "8896578b5e58ed6ae32fb834e3" - ] - ], - [ - "RF", - [ - 8, - "\u03ba\u1f79\ufffd" - ], - 1, - true, - 0, - true, - "96578b5e" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882c82d0533cbc5" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "c82d0533" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_6_7.html b/autobahn/client/hornbeam_case_6_6_7.html index 90c97dd..9343bac 100644 --- a/autobahn/client/hornbeam_case_6_6_7.html +++ b/autobahn/client/hornbeam_case_6_6_7.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.6.7 : Pass - 44 ms @ 2023-08-10T23:01:44.965Z

+

Hornbeam - Case 6.6.7 : Pass - 45 ms @ 2023-08-11T05:15:18.426Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xcebae1bdb9cf83

Case Expectation

The message is echo'ed back to us.

@@ -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: mFhQEV5t5iXxbvzIWCqnuA== +Sec-WebSocket-Key: J2XQ3i52Q7+YtQWxNeMpag== 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: DfpF42ccYIz556mgduq1v7Wfnkg=
+Sec-WebSocket-Accept: uDKbKXlzI1MuhnnE98v+aO8RQ2w=

Closing Behavior

@@ -288,14 +288,14 @@ Sec-WebSocket-Accept: DfpF42ccYIz556mgduq1v7Wfnkg=
003 TX OCTETS: 8107cebae1bdb9cf83
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 878544aca54bfe4d183c8b2f
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=7, MASKED=True, MASK=3835343461636135
+
006 RX OCTETS: 87490c5d9b87b6bc26f0c3de
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=7, MASKED=True, MASK=3439306335643962
               κόσ
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: 888247838adf446b
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3437383338616466
+
010 RX OCTETS: 8882f07ef9a0f396
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6630376566396130
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_6_7.json b/autobahn/client/hornbeam_case_6_6_7.json index a0c5f1f..2ebd761 100644 --- a/autobahn/client/hornbeam_case_6_6_7.json +++ b/autobahn/client/hornbeam_case_6_6_7.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xcebae1bdb9cf83", "droppedByMe": true, - "duration": 44, + "duration": 45, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=89&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: mFhQEV5t5iXxbvzIWCqnuA==\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: DfpF42ccYIz556mgduq1v7Wfnkg=\r\n\r\n", + "httpRequest": "GET /runCase?case=89&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: J2XQ3i52Q7+YtQWxNeMpag==\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: uDKbKXlzI1MuhnnE98v+aO8RQ2w=\r\n\r\n", "id": "6.6.7", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "12": 1, "183": 1 }, - "started": "2023-08-10T23:01:44.965Z", + "started": "2023-08-11T05:15:18.426Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 12, - "878544aca54bfe4d183c8b2f" + "87490c5d9b87b6bc26f0c3de" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "8544aca5" + "490c5d9b" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "888247838adf446b" + "8882f07ef9a0f396" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "47838adf" + "f07ef9a0" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_6_8.html b/autobahn/client/hornbeam_case_6_6_8.html index c02c1db..e87c074 100644 --- a/autobahn/client/hornbeam_case_6_6_8.html +++ b/autobahn/client/hornbeam_case_6_6_8.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.6.8 : Fail - 502 ms @ 2023-08-10T23:01:45.011Z

+

Hornbeam - Case 6.6.8 : Pass - 1 ms @ 2023-08-11T05:15:18.473Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xcebae1bdb9cf83ce

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\u03ba\u1f79\u03c3\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=90&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: hd2MswTIx/hxI9SY0bdN9Q==
+Sec-WebSocket-Key: 3DvoUhUlnQhRJFzNOhN4uw==
 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: YFlhpuu2T0EYePaAsL/8g6J2/qk=
+Sec-WebSocket-Accept: TBvapbr0sUAk382HeruSmkBZ/1k=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
15115
1831183
Total4207
Total1183

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
10110
14114
2061206
Total3230
Total2216

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: YFlhpuu2T0EYePaAsL/8g6J2/qk=
               0xcebae1bdb9cf83ce
003 TX OCTETS: 8108cebae1bdb9cf83ce
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8a69dc9c53a7667deed0131fbcd661
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=10, MASKED=True, MASK=3639646339633533
-
               κόσ�
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 88825306820850ee
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3533303638323038
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_6_8.json b/autobahn/client/hornbeam_case_6_6_8.json index 29fbe07..4673b36 100644 --- a/autobahn/client/hornbeam_case_6_6_8.json +++ b/autobahn/client/hornbeam_case_6_6_8.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 90, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xcebae1bdb9cf83ce", - "droppedByMe": true, - "duration": 502, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=90&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: hd2MswTIx/hxI9SY0bdN9Q==\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: YFlhpuu2T0EYePaAsL/8g6J2/qk=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=90&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 3DvoUhUlnQhRJFzNOhN4uw==\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: TBvapbr0sUAk382HeruSmkBZ/1k=\r\n\r\n", "id": "6.6.8", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\u03ba\u1f79\u03c3\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "15": 1, "183": 1 }, - "started": "2023-08-10T23:01:45.011Z", + "started": "2023-08-11T05:15:18.473Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "10": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 15, - "8a69dc9c53a7667deed0131fbcd661" - ] - ], - [ - "RF", - [ - 10, - "\u03ba\u1f79\u03c3\ufffd" - ], - 1, - true, - 0, - true, - "69dc9c53" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "88825306820850ee" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "53068208" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_6_9.html b/autobahn/client/hornbeam_case_6_6_9.html index 9b40419..c892450 100644 --- a/autobahn/client/hornbeam_case_6_6_9.html +++ b/autobahn/client/hornbeam_case_6_6_9.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.6.9 : Pass - 46 ms @ 2023-08-10T23:01:45.514Z

+

Hornbeam - Case 6.6.9 : Pass - 50 ms @ 2023-08-11T05:15:18.475Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xcebae1bdb9cf83cebc

Case Expectation

The message is echo'ed back to us.

@@ -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: UrCkDp3jJi02erWXgQz6zQ== +Sec-WebSocket-Key: dG5KeBbdpw7EQden9MyT1Q== 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: wwbn8zoE8Avthyv6WrKarBOqKm8=
+Sec-WebSocket-Accept: 4DhVPsa5w6aU0jDa2phZYPesi5I=

Closing Behavior

@@ -288,14 +288,14 @@ Sec-WebSocket-Accept: wwbn8zoE8Avthyv6WrKarBOqKm8=
003 TX OCTETS: 8109cebae1bdb9cf83cebc
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 89d48ea6171a3447aa6d4125d968
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6434386561363137
+
006 RX OCTETS: 89c15c9f8d0fe67e3078931c437d
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=6331356339663864
               κόσμ
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: 8882a340cd59a0a8
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6133343063643539
+
010 RX OCTETS: 8882afeaecf8ac02
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6166656165636638
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_6_9.json b/autobahn/client/hornbeam_case_6_6_9.json index 89c2e34..2c82cd5 100644 --- a/autobahn/client/hornbeam_case_6_6_9.json +++ b/autobahn/client/hornbeam_case_6_6_9.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xcebae1bdb9cf83cebc", "droppedByMe": true, - "duration": 46, + "duration": 50, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=91&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: UrCkDp3jJi02erWXgQz6zQ==\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: wwbn8zoE8Avthyv6WrKarBOqKm8=\r\n\r\n", + "httpRequest": "GET /runCase?case=91&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: dG5KeBbdpw7EQden9MyT1Q==\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: 4DhVPsa5w6aU0jDa2phZYPesi5I=\r\n\r\n", "id": "6.6.9", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "14": 1, "183": 1 }, - "started": "2023-08-10T23:01:45.514Z", + "started": "2023-08-11T05:15:18.475Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 14, - "89d48ea6171a3447aa6d4125d968" + "89c15c9f8d0fe67e3078931c437d" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "d48ea617" + "c15c9f8d" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "8882a340cd59a0a8" + "8882afeaecf8ac02" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "a340cd59" + "afeaecf8" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_7_1.html b/autobahn/client/hornbeam_case_6_7_1.html index bfd04b8..856c528 100644 --- a/autobahn/client/hornbeam_case_6_7_1.html +++ b/autobahn/client/hornbeam_case_6_7_1.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.7.1 : Pass - 47 ms @ 2023-08-10T23:01:46.117Z

+

Hornbeam - Case 6.7.1 : Pass - 49 ms @ 2023-08-11T05:15:18.586Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0x00

Case Expectation

The message is echo'ed back to us.

@@ -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: u7zkqXIqktAgR6BUYjkNRg== +Sec-WebSocket-Key: 91RGpIP/t5FmPi9BkvipwQ== 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: n7ny13dt4F5jnUPEKwvyGKok6FY=
+Sec-WebSocket-Accept: Yq6jfEWvTKk+GVWYAQ+aCjZ9FRA=

Closing Behavior

@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: n7ny13dt4F5jnUPEKwvyGKok6FY=

Octets Received by Chop Size

- + - + - +
Chop SizeCountOctets
122
111
616
717
818
1831183
Total5198
Total4198

Octets Transmitted by Chop Size

@@ -288,17 +288,16 @@ Sec-WebSocket-Accept: n7ny13dt4F5jnUPEKwvyGKok6FY=
003 TX OCTETS: 810100
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 81c17a67bac1
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=1, MASKED=True, MASK=6331376136376261
+
006 RX OCTETS: 8143e6df6543
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=1, MASKED=True, MASK=3433653664663635
               
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: 82e5807167e668
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6535383037313637
+
010 RX OCTETS: 8882da6eb535d986
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6461366562353335
               0x03e8
-
013 TCP DROPPED BY ME
+
012 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_7_1.json b/autobahn/client/hornbeam_case_6_7_1.json index aea92f6..42d7f42 100644 --- a/autobahn/client/hornbeam_case_6_7_1.json +++ b/autobahn/client/hornbeam_case_6_7_1.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0x00", "droppedByMe": true, - "duration": 47, + "duration": 49, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=94&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: u7zkqXIqktAgR6BUYjkNRg==\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: n7ny13dt4F5jnUPEKwvyGKok6FY=\r\n\r\n", + "httpRequest": "GET /runCase?case=94&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 91RGpIP/t5FmPi9BkvipwQ==\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: Yq6jfEWvTKk+GVWYAQ+aCjZ9FRA=\r\n\r\n", "id": "6.7.1", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 2, + "1": 1, "6": 1, - "7": 1, + "8": 1, "183": 1 }, - "started": "2023-08-10T23:01:46.117Z", + "started": "2023-08-11T05:15:18.586Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 6, - "81c17a67bac1" + "8143e6df6543" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "c17a67ba" + "43e6df65" ], [ "TF", @@ -165,15 +165,8 @@ [ "RO", [ - 1, - "88" - ] - ], - [ - "RO", - [ - 7, - "82e5807167e668" + 8, + "8882da6eb535d986" ] ], [ @@ -186,7 +179,7 @@ true, 0, true, - "e5807167" + "da6eb535" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_7_2.html b/autobahn/client/hornbeam_case_6_7_2.html index 87d1795..e5d6689 100644 --- a/autobahn/client/hornbeam_case_6_7_2.html +++ b/autobahn/client/hornbeam_case_6_7_2.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.7.2 : Pass - 46 ms @ 2023-08-10T23:01:46.168Z

+

Hornbeam - Case 6.7.2 : Pass - 44 ms @ 2023-08-11T05:15:18.637Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xc280

Case Expectation

The message is echo'ed back to us.

@@ -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: fUTLIt10sBTWVTyxskCGcA== +Sec-WebSocket-Key: JAH2f2QwAaR4O2sVSRWE1g== 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: YOfPcquzoaGHa8HHAkD3e17jDN8=
+Sec-WebSocket-Accept: nJuZgIxcdLE/hl9WtoxYy0WD02U=

Closing Behavior

@@ -248,10 +248,11 @@ Sec-WebSocket-Accept: YOfPcquzoaGHa8HHAkD3e17jDN8=

Octets Received by Chop Size

- - + + + - +
Chop SizeCountOctets
122
7214
111
717
818
1831183
Total5199
Total4199

Octets Transmitted by Chop Size

@@ -286,17 +287,16 @@ Sec-WebSocket-Accept: YOfPcquzoaGHa8HHAkD3e17jDN8=
003 TX OCTETS: 8102c280
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 821337da14d1b7
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3133333764613134
+
006 RX OCTETS: 823f1ca63dfd9c
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3366316361363364
               €
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: 82e64f5bc2e5a7
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6536346635626332
+
010 RX OCTETS: 8882888399cd8b6b
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3838383339396364
               0x03e8
-
013 TCP DROPPED BY ME
+
012 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_7_2.json b/autobahn/client/hornbeam_case_6_7_2.json index 320b5f6..44782d1 100644 --- a/autobahn/client/hornbeam_case_6_7_2.json +++ b/autobahn/client/hornbeam_case_6_7_2.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xc280", "droppedByMe": true, - "duration": 46, + "duration": 44, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=95&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: fUTLIt10sBTWVTyxskCGcA==\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: YOfPcquzoaGHa8HHAkD3e17jDN8=\r\n\r\n", + "httpRequest": "GET /runCase?case=95&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: JAH2f2QwAaR4O2sVSRWE1g==\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: nJuZgIxcdLE/hl9WtoxYy0WD02U=\r\n\r\n", "id": "6.7.2", "isServer": true, "localCloseCode": 1000, @@ -51,11 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 2, - "7": 2, + "1": 1, + "7": 1, + "8": 1, "183": 1 }, - "started": "2023-08-10T23:01:46.168Z", + "started": "2023-08-11T05:15:18.637Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -123,7 +124,7 @@ "RO", [ 7, - "821337da14d1b7" + "823f1ca63dfd9c" ] ], [ @@ -136,7 +137,7 @@ true, 0, true, - "1337da14" + "3f1ca63d" ], [ "TF", @@ -163,15 +164,8 @@ [ "RO", [ - 1, - "88" - ] - ], - [ - "RO", - [ - 7, - "82e64f5bc2e5a7" + 8, + "8882888399cd8b6b" ] ], [ @@ -184,7 +178,7 @@ true, 0, true, - "e64f5bc2" + "888399cd" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_7_3.html b/autobahn/client/hornbeam_case_6_7_3.html index c720cf0..8549d75 100644 --- a/autobahn/client/hornbeam_case_6_7_3.html +++ b/autobahn/client/hornbeam_case_6_7_3.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.7.3 : Pass - 48 ms @ 2023-08-10T23:01:46.216Z

+

Hornbeam - Case 6.7.3 : Pass - 48 ms @ 2023-08-11T05:15:18.684Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xe0a080

Case Expectation

The message is echo'ed back to us.

@@ -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: i44Bf5zdJ26TV+TvnuDJPA== +Sec-WebSocket-Key: MGYoAapkN3zvtcBuFnY0Yw== 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: nz/uid5zH81AfFmdw5dTvHChp5o=
+Sec-WebSocket-Accept: 7jKPGfB78kr6LqMvs+Mrxg7WsDo=

Closing Behavior

@@ -248,11 +248,10 @@ Sec-WebSocket-Accept: nz/uid5zH81AfFmdw5dTvHChp5o=

Octets Received by Chop Size

- - - + + - +
Chop SizeCountOctets
122
717
818
111
8216
1831183
Total5200
Total4200

Octets Transmitted by Chop Size

@@ -288,17 +287,16 @@ Sec-WebSocket-Accept: nz/uid5zH81AfFmdw5dTvHChp5o=
003 TX OCTETS: 8103e0a080
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 837a59259a9af9a5
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3761353932353961
+
006 RX OCTETS: 837490e55f943065
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3734393065353566
               à €
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: 82c9d8f56fca30
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6339643866353666
+
010 RX OCTETS: 888250808a1e5368
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3530383038613165
               0x03e8
-
013 TCP DROPPED BY ME
+
012 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_7_3.json b/autobahn/client/hornbeam_case_6_7_3.json index 3c12112..c2e3a81 100644 --- a/autobahn/client/hornbeam_case_6_7_3.json +++ b/autobahn/client/hornbeam_case_6_7_3.json @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=96&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: i44Bf5zdJ26TV+TvnuDJPA==\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: nz/uid5zH81AfFmdw5dTvHChp5o=\r\n\r\n", + "httpRequest": "GET /runCase?case=96&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: MGYoAapkN3zvtcBuFnY0Yw==\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: 7jKPGfB78kr6LqMvs+Mrxg7WsDo=\r\n\r\n", "id": "6.7.3", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,11 @@ "8": 1 }, "rxOctetStats": { - "1": 2, - "7": 1, - "8": 1, + "1": 1, + "8": 2, "183": 1 }, - "started": "2023-08-10T23:01:46.216Z", + "started": "2023-08-11T05:15:18.684Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +124,7 @@ "RO", [ 8, - "837a59259a9af9a5" + "837490e55f943065" ] ], [ @@ -138,7 +137,7 @@ true, 0, true, - "7a59259a" + "7490e55f" ], [ "TF", @@ -165,15 +164,8 @@ [ "RO", [ - 1, - "88" - ] - ], - [ - "RO", - [ - 7, - "82c9d8f56fca30" + 8, + "888250808a1e5368" ] ], [ @@ -186,7 +178,7 @@ true, 0, true, - "c9d8f56f" + "50808a1e" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_7_4.html b/autobahn/client/hornbeam_case_6_7_4.html index a8880b6..7e170e3 100644 --- a/autobahn/client/hornbeam_case_6_7_4.html +++ b/autobahn/client/hornbeam_case_6_7_4.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.7.4 : Pass - 45 ms @ 2023-08-10T23:01:46.266Z

+

Hornbeam - Case 6.7.4 : Pass - 45 ms @ 2023-08-11T05:15:18.734Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf0908080

Case Expectation

The message is echo'ed back to us.

@@ -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: 40+hQIUJLoR3xqkR8OvfNQ== +Sec-WebSocket-Key: 0AjSMugFmbMY1Dx9UhTP3g== 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: K3kiABxMcrsBvNm/XuRbrDgw04M=
+Sec-WebSocket-Accept: VbqnLIi4khDNDuOt9sD6IGr4Pvw=

Closing Behavior

@@ -288,14 +288,14 @@ Sec-WebSocket-Accept: K3kiABxMcrsBvNm/XuRbrDgw04M=
003 TX OCTETS: 8104f0908080
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 8400767191f0e6f111
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3030373637313931
+
006 RX OCTETS: 844f9bb860bf0b38e0
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3466396262383630
               ð€€
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: 8882d2038e3fd1eb
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6432303338653366
+
010 RX OCTETS: 8882d92a63bedac2
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6439326136336265
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_7_4.json b/autobahn/client/hornbeam_case_6_7_4.json index 5ef134d..b5524e4 100644 --- a/autobahn/client/hornbeam_case_6_7_4.json +++ b/autobahn/client/hornbeam_case_6_7_4.json @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=97&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 40+hQIUJLoR3xqkR8OvfNQ==\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: K3kiABxMcrsBvNm/XuRbrDgw04M=\r\n\r\n", + "httpRequest": "GET /runCase?case=97&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 0AjSMugFmbMY1Dx9UhTP3g==\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: VbqnLIi4khDNDuOt9sD6IGr4Pvw=\r\n\r\n", "id": "6.7.4", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "9": 1, "183": 1 }, - "started": "2023-08-10T23:01:46.266Z", + "started": "2023-08-11T05:15:18.734Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "8400767191f0e6f111" + "844f9bb860bf0b38e0" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "00767191" + "4f9bb860" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "8882d2038e3fd1eb" + "8882d92a63bedac2" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "d2038e3f" + "d92a63be" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_8_1.html b/autobahn/client/hornbeam_case_6_8_1.html index 479ca4f..4d576fc 100644 --- a/autobahn/client/hornbeam_case_6_8_1.html +++ b/autobahn/client/hornbeam_case_6_8_1.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.8.1 : Fail - 503 ms @ 2023-08-10T23:01:46.313Z

+

Hornbeam - Case 6.8.1 : Pass - 2 ms @ 2023-08-11T05:15:18.781Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf888808080

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=98&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: 3u711SErqMHe8r873IA49A==
+Sec-WebSocket-Key: ib7NyS3zpGXecALUyPp/3g==
 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: L7LtwhsmlBVk8BkJLYyi5ibVIQg=
+Sec-WebSocket-Accept: DiCIBeDuw4m7iqhDEP2WsrABi30=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
20120
1831183
Total4212
Total1183

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
717
14114
2061206
Total3227
Total2213

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: L7LtwhsmlBVk8BkJLYyi5ibVIQg=
               0xf888808080
003 TX OCTETS: 8105f888808080
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 8f831714ce6ca8a9213caafb713ef8ab736ca8a9
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=15, MASKED=True, MASK=3833313731346365
-
               �����
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882ad56e080aebe
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6164353665303830
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_8_1.json b/autobahn/client/hornbeam_case_6_8_1.json index c8304dd..d0b328c 100644 --- a/autobahn/client/hornbeam_case_6_8_1.json +++ b/autobahn/client/hornbeam_case_6_8_1.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 98, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xf888808080", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 2, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=98&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 3u711SErqMHe8r873IA49A==\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: L7LtwhsmlBVk8BkJLYyi5ibVIQg=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=98&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ib7NyS3zpGXecALUyPp/3g==\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: DiCIBeDuw4m7iqhDEP2WsrABi30=\r\n\r\n", "id": "6.8.1", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "20": 1, "183": 1 }, - "started": "2023-08-10T23:01:46.313Z", + "started": "2023-08-11T05:15:18.781Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "7": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 20, - "8f831714ce6ca8a9213caafb713ef8ab736ca8a9" - ] - ], - [ - "RF", - [ - 15, - "\ufffd\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "831714ce" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882ad56e080aebe" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "ad56e080" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_8_2.html b/autobahn/client/hornbeam_case_6_8_2.html index 0767dd3..64a4d0f 100644 --- a/autobahn/client/hornbeam_case_6_8_2.html +++ b/autobahn/client/hornbeam_case_6_8_2.html @@ -202,79 +202,72 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.8.2 : Fail - 503 ms @ 2023-08-10T23:01:46.819Z

+

Hornbeam - Case 6.8.2 : Pass - 1 ms @ 2023-08-11T05:15:18.785Z

Case Description

Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfc8480808080

Case Expectation

The connection is failed immediately, since the payload is not valid UTF-8.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd', False)] + Observed:
[]

-

Case Closing Behavior

The connection was failed by the wrong endpoint (FAILED)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=99&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: B+S+lTEF8xyJ8VmVAbDkdQ==
+Sec-WebSocket-Key: CIsX8aFbYg/asFfsG8jpPQ==
 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: qFbG64pW+hvxnrnqncHu9e0rWoY=
+Sec-WebSocket-Accept: vdBtAp2CY28hjgQ+ruKtesW4dSE=

Closing Behavior

- - - - - + + + + + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
closedByMeFalseTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, 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.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonGoing AwayThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - - - +
Chop SizeCountOctets
111
818
23123
1831183
Total4215
Total1183

Octets Transmitted by Chop Size

- - +
Chop SizeCountOctets
818
14114
2061206
Total3228
Total2214

Frames Received by Opcode

- - - +
OpcodeCount
11
81
Total2
Total0

Frames Transmitted by Opcode

- - +
OpcodeCount
11
81
Total2
Total1


Wire Log

@@ -287,18 +280,7 @@ Sec-WebSocket-Accept: qFbG64pW+hvxnrnqncHu9e0rWoY=
               0xfc8480808080
003 TX OCTETS: 8106fc8480808080
004 FAIL CONNECTION AFTER 0.500000 sec
-
005 RX OCTETS: 81
-
006 RX OCTETS: 92b4e6224c5b599fa30b5bcdf309099df15b599fa30b5b
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=18, MASKED=True, MASK=6234653632323463
-
               ������
-
008 FAILING CONNECTION
-
009 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=12, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
-
               0x03e9476f696e672041776179
-
010 TX OCTETS: 880c03e9476f696e672041776179
-
011 RX OCTETS: 8882087e39540b96
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3038376533393534
-
               0x03e8
-
013 TCP DROPPED BY ME
+
005 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_6_8_2.json b/autobahn/client/hornbeam_case_6_8_2.json index e6dfbf9..e512a44 100644 --- a/autobahn/client/hornbeam_case_6_8_2.json +++ b/autobahn/client/hornbeam_case_6_8_2.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "FAILED", + "behavior": "OK", + "behaviorClose": "OK", "case": 99, - "closedByMe": true, + "closedByMe": false, "createStats": true, "createWirelog": true, "description": "Send a text message with payload which is not valid UTF-8 in one fragment.

Payload: 0xfc8480808080", - "droppedByMe": true, - "duration": 503, + "droppedByMe": false, + "duration": 1, "expectation": "The connection is failed immediately, since the payload is not valid UTF-8.", "expected": { "OK": [] @@ -21,50 +21,36 @@ "closedByWrongEndpointIsFatal": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=99&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: B+S+lTEF8xyJ8VmVAbDkdQ==\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: qFbG64pW+hvxnrnqncHu9e0rWoY=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=99&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: CIsX8aFbYg/asFfsG8jpPQ==\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: vdBtAp2CY28hjgQ+ruKtesW4dSE=\r\n\r\n", "id": "6.8.2", "isServer": true, - "localCloseCode": 1001, - "localCloseReason": "Going Away", - "received": [ - [ - "message", - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd", - false - ] - ], - "remoteCloseCode": 1000, + "localCloseCode": null, + "localCloseReason": null, + "received": [], + "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", - "resultClose": "The connection was failed by the wrong endpoint", - "rxFrameStats": { - "1": 1, - "8": 1 - }, + "result": "Actual events match at least one expected.", + "resultClose": "Connection was properly closed", + "rxFrameStats": {}, "rxOctetStats": { - "1": 1, - "8": 1, - "23": 1, "183": 1 }, - "started": "2023-08-10T23:01:46.819Z", + "started": "2023-08-11T05:15:18.785Z", "trafficStats": null, "txFrameStats": { - "1": 1, - "8": 1 + "1": 1 }, "txOctetStats": { "8": 1, - "14": 1, "206": 1 }, - "wasClean": true, + "wasClean": false, "wasCloseHandshakeTimeout": false, - "wasNotCleanReason": null, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -108,76 +94,6 @@ [ "KL", 0.5 - ], - [ - "RO", - [ - 1, - "81" - ] - ], - [ - "RO", - [ - 23, - "92b4e6224c5b599fa30b5bcdf309099df15b599fa30b5b" - ] - ], - [ - "RF", - [ - 18, - "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd" - ], - 1, - true, - 0, - true, - "b4e6224c" - ], - [ - "KLE" - ], - [ - "TF", - [ - 12, - "0x03e9476f696e672041776179" - ], - 8, - true, - 0, - null, - null, - null, - false - ], - [ - "TO", - [ - 14, - "880c03e9476f696e672041776179" - ], - false - ], - [ - "RO", - [ - 8, - "8882087e39540b96" - ] - ], - [ - "RF", - [ - 2, - "0x03e8" - ], - 8, - true, - 0, - true, - "087e3954" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_9_1.html b/autobahn/client/hornbeam_case_6_9_1.html index 31ce0d4..ae85608 100644 --- a/autobahn/client/hornbeam_case_6_9_1.html +++ b/autobahn/client/hornbeam_case_6_9_1.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.9.1 : Pass - 47 ms @ 2023-08-10T23:01:47.324Z

+

Hornbeam - Case 6.9.1 : Pass - 61 ms @ 2023-08-11T05:15:18.789Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0x7f

Case Expectation

The message is echo'ed back to us.

@@ -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: bivMjZY1VlZbQqjGkSsFZw== +Sec-WebSocket-Key: N9v3lWrZzrpaXL9fQPHzqQ== 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: EszApCN3tZfFG8OdhibmL+DTJFM=
+Sec-WebSocket-Accept: cyjvXTZBrR2W+wXB4bw1m3pQUgE=

Closing Behavior

@@ -248,11 +248,11 @@ Sec-WebSocket-Accept: EszApCN3tZfFG8OdhibmL+DTJFM=

Octets Received by Chop Size

- + - + - +
Chop SizeCountOctets
111
122
616
818
717
1841184
Total4199
Total5199

Octets Transmitted by Chop Size

@@ -288,16 +288,17 @@ Sec-WebSocket-Accept: EszApCN3tZfFG8OdhibmL+DTJFM=
003 TX OCTETS: 81017f
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 81c82f7ce0b7
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=1, MASKED=True, MASK=6338326637636530
+
006 RX OCTETS: 81d79d4083a8
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=1, MASKED=True, MASK=6437396434303833
               
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: 8882840c448587e4
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3834306334343835
+
010 RX OCTETS: 88
+
011 RX OCTETS: 828d8eb9b78e66
+
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3864386562396237
               0x03e8
-
012 TCP DROPPED BY ME
+
013 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_6_9_1.json b/autobahn/client/hornbeam_case_6_9_1.json index 0b447d2..2fcaecc 100644 --- a/autobahn/client/hornbeam_case_6_9_1.json +++ b/autobahn/client/hornbeam_case_6_9_1.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0x7f", "droppedByMe": true, - "duration": 47, + "duration": 61, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=100&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: bivMjZY1VlZbQqjGkSsFZw==\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: EszApCN3tZfFG8OdhibmL+DTJFM=\r\n\r\n", + "httpRequest": "GET /runCase?case=100&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: N9v3lWrZzrpaXL9fQPHzqQ==\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: cyjvXTZBrR2W+wXB4bw1m3pQUgE=\r\n\r\n", "id": "6.9.1", "isServer": true, "localCloseCode": 1000, @@ -51,12 +51,12 @@ "8": 1 }, "rxOctetStats": { - "1": 1, + "1": 2, "6": 1, - "8": 1, + "7": 1, "184": 1 }, - "started": "2023-08-10T23:01:47.324Z", + "started": "2023-08-11T05:15:18.789Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 6, - "81c82f7ce0b7" + "81d79d4083a8" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "c82f7ce0" + "d79d4083" ], [ "TF", @@ -165,8 +165,15 @@ [ "RO", [ - 8, - "8882840c448587e4" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "828d8eb9b78e66" ] ], [ @@ -179,7 +186,7 @@ true, 0, true, - "840c4485" + "8d8eb9b7" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_9_2.html b/autobahn/client/hornbeam_case_6_9_2.html index 247a480..331d1a9 100644 --- a/autobahn/client/hornbeam_case_6_9_2.html +++ b/autobahn/client/hornbeam_case_6_9_2.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.9.2 : Pass - 48 ms @ 2023-08-10T23:01:47.372Z

+

Hornbeam - Case 6.9.2 : Pass - 45 ms @ 2023-08-11T05:15:18.851Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xdfbf

Case Expectation

The message is echo'ed back to us.

@@ -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: Y/yeXXhabYd70x0QfAEm4g== +Sec-WebSocket-Key: hxaFuvacmntFhgMHtMxmNA== 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: EV9KuDSHBLxB3YhS/dwkWfFGiig=
+Sec-WebSocket-Accept: tDgtjLoD+pVj7OfXX/gBFRvrD7U=

Closing Behavior

@@ -287,14 +287,14 @@ Sec-WebSocket-Accept: EV9KuDSHBLxB3YhS/dwkWfFGiig=
003 TX OCTETS: 8102dfbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 820146efd5def9
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3031343665666435
+
006 RX OCTETS: 82c35d7f111ce2
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6333356437663131
               ß¿
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: 88823ce835de3f00
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3363653833356465
+
010 RX OCTETS: 8882610032e462e8
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3631303033326534
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_9_2.json b/autobahn/client/hornbeam_case_6_9_2.json index bc76410..ad3c5ae 100644 --- a/autobahn/client/hornbeam_case_6_9_2.json +++ b/autobahn/client/hornbeam_case_6_9_2.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xdfbf", "droppedByMe": true, - "duration": 48, + "duration": 45, "expectation": "The message is echo'ed back to us.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=101&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Y/yeXXhabYd70x0QfAEm4g==\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: EV9KuDSHBLxB3YhS/dwkWfFGiig=\r\n\r\n", + "httpRequest": "GET /runCase?case=101&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: hxaFuvacmntFhgMHtMxmNA==\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: tDgtjLoD+pVj7OfXX/gBFRvrD7U=\r\n\r\n", "id": "6.9.2", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "8": 1, "184": 1 }, - "started": "2023-08-10T23:01:47.372Z", + "started": "2023-08-11T05:15:18.851Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -124,7 +124,7 @@ "RO", [ 7, - "820146efd5def9" + "82c35d7f111ce2" ] ], [ @@ -137,7 +137,7 @@ true, 0, true, - "0146efd5" + "c35d7f11" ], [ "TF", @@ -165,7 +165,7 @@ "RO", [ 8, - "88823ce835de3f00" + "8882610032e462e8" ] ], [ @@ -178,7 +178,7 @@ true, 0, true, - "3ce835de" + "610032e4" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_9_3.html b/autobahn/client/hornbeam_case_6_9_3.html index a17f1b0..a86181e 100644 --- a/autobahn/client/hornbeam_case_6_9_3.html +++ b/autobahn/client/hornbeam_case_6_9_3.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.9.3 : Pass - 46 ms @ 2023-08-10T23:01:47.424Z

+

Hornbeam - Case 6.9.3 : Pass - 46 ms @ 2023-08-11T05:15:18.898Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xefbfbf

Case Expectation

The message is echo'ed back to us.

@@ -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: IQ2akg7aZW7nIH2I7KLQYA== +Sec-WebSocket-Key: yxO2ilnUbV8YHOgsLavZiw== 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: vGWiCA/eGacIKkc0p2uCd2EJ+to=
+Sec-WebSocket-Accept: Qka3rTd6f/FIYwBgd6AAruSue00=

Closing Behavior

@@ -287,14 +287,14 @@ Sec-WebSocket-Accept: vGWiCA/eGacIKkc0p2uCd2EJ+to=
003 TX OCTETS: 8103efbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 836b5d99f384e226
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3662356439396633
+
006 RX OCTETS: 8356dde014b9625f
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=3, MASKED=True, MASK=3536646465303134
               ï¿¿
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: 88829cdb6f129f33
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3963646236663132
+
010 RX OCTETS: 8882d94b458bdaa3
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6439346234353862
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_9_3.json b/autobahn/client/hornbeam_case_6_9_3.json index 43a3b36..b16ae43 100644 --- a/autobahn/client/hornbeam_case_6_9_3.json +++ b/autobahn/client/hornbeam_case_6_9_3.json @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=102&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: IQ2akg7aZW7nIH2I7KLQYA==\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: vGWiCA/eGacIKkc0p2uCd2EJ+to=\r\n\r\n", + "httpRequest": "GET /runCase?case=102&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: yxO2ilnUbV8YHOgsLavZiw==\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: Qka3rTd6f/FIYwBgd6AAruSue00=\r\n\r\n", "id": "6.9.3", "isServer": true, "localCloseCode": 1000, @@ -55,7 +55,7 @@ "8": 2, "184": 1 }, - "started": "2023-08-10T23:01:47.424Z", + "started": "2023-08-11T05:15:18.898Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -124,7 +124,7 @@ "RO", [ 8, - "836b5d99f384e226" + "8356dde014b9625f" ] ], [ @@ -137,7 +137,7 @@ true, 0, true, - "6b5d99f3" + "56dde014" ], [ "TF", @@ -165,7 +165,7 @@ "RO", [ 8, - "88829cdb6f129f33" + "8882d94b458bdaa3" ] ], [ @@ -178,7 +178,7 @@ true, 0, true, - "9cdb6f12" + "d94b458b" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_6_9_4.html b/autobahn/client/hornbeam_case_6_9_4.html index 62ec59d..aa30e4e 100644 --- a/autobahn/client/hornbeam_case_6_9_4.html +++ b/autobahn/client/hornbeam_case_6_9_4.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 6.9.4 : Pass - 49 ms @ 2023-08-10T23:01:47.473Z

+

Hornbeam - Case 6.9.4 : Pass - 49 ms @ 2023-08-11T05:15:18.946Z

Case Description

Send a text message with payload which is valid UTF-8 in one fragment.

Payload: 0xf48fbfbf

Case Expectation

The message is echo'ed back to us.

@@ -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: nKzT+uuuC09bFiWp+i3WSA== +Sec-WebSocket-Key: nSSvyLrTwDMpMyVf807Mtw== 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: RfNdlKHJgBf4GYpFkUZO2SuDi6U=
+Sec-WebSocket-Accept: jrDw2cSrDsJfgLA6k60NmTMh59Q=

Closing Behavior

@@ -288,14 +288,14 @@ Sec-WebSocket-Accept: RfNdlKHJgBf4GYpFkUZO2SuDi6U=
003 TX OCTETS: 8104f48fbfbf
004 FAIL CONNECTION AFTER 0.500000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 848216b06676990fd9
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3832313662303636
+
006 RX OCTETS: 8463fb52cc9774ed73
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=4, MASKED=True, MASK=3633666235326363
               ô¿¿
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: 88823a2a07a339c2
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3361326130376133
+
010 RX OCTETS: 888249855c5c4a6d
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3439383535633563
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_6_9_4.json b/autobahn/client/hornbeam_case_6_9_4.json index 1f42cce..c99aee6 100644 --- a/autobahn/client/hornbeam_case_6_9_4.json +++ b/autobahn/client/hornbeam_case_6_9_4.json @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=103&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: nKzT+uuuC09bFiWp+i3WSA==\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: RfNdlKHJgBf4GYpFkUZO2SuDi6U=\r\n\r\n", + "httpRequest": "GET /runCase?case=103&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: nSSvyLrTwDMpMyVf807Mtw==\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: jrDw2cSrDsJfgLA6k60NmTMh59Q=\r\n\r\n", "id": "6.9.4", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "9": 1, "184": 1 }, - "started": "2023-08-10T23:01:47.473Z", + "started": "2023-08-11T05:15:18.946Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 9, - "848216b06676990fd9" + "8463fb52cc9774ed73" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "8216b066" + "63fb52cc" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "88823a2a07a339c2" + "888249855c5c4a6d" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "3a2a07a3" + "49855c5c" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_13_1.html b/autobahn/client/hornbeam_case_7_13_1.html index ec26999..8032a06 100644 --- a/autobahn/client/hornbeam_case_7_13_1.html +++ b/autobahn/client/hornbeam_case_7_13_1.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.13.1 : Informational - 1 ms @ 2023-08-10T21:35:52.295Z

+

Hornbeam - Case 7.13.1 : Informational - 1 ms @ 2023-08-11T05:15:21.792Z

Case Description

Send close with close code 5000

Case Expectation

Actual events are undefined by the spec.

@@ -218,30 +218,30 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000; Host: localhost:9001 Upgrade: websocket Connection: upgrade -Sec-WebSocket-Key: R9nyHTvVNLhZXdRL1vNiOg== +Sec-WebSocket-Key: w2QAoZQHgr7usdmGWQs0NQ== 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: jedtXtxVo+tkKLHEPpN3GUHkZI0=
+Sec-WebSocket-Accept: JlE7AbROzMEF/2MxZfhlXQhrTlI=

Closing Behavior

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


Wire Statistics

@@ -284,9 +284,9 @@ Sec-WebSocket-Accept: jedtXtxVo+tkKLHEPpN3GUHkZI0=
003 TX OCTETS: 88021388
004 FAIL CONNECTION AFTER 1.000000 sec
005 RX OCTETS: 88
-
006 RX OCTETS: 824756b19554de
-
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3437353662313935
-
               0x1388
+
006 RX OCTETS: 820072d7c6039a
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3030373264376336
+
               0x03e8
008 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_13_1.json b/autobahn/client/hornbeam_case_7_13_1.json index 75381bf..919008a 100644 --- a/autobahn/client/hornbeam_case_7_13_1.json +++ b/autobahn/client/hornbeam_case_7_13_1.json @@ -22,15 +22,15 @@ "closedByMe": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=245&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: R9nyHTvVNLhZXdRL1vNiOg==\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: jedtXtxVo+tkKLHEPpN3GUHkZI0=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=245&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: w2QAoZQHgr7usdmGWQs0NQ==\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: JlE7AbROzMEF/2MxZfhlXQhrTlI=\r\n\r\n", "id": "7.13.1", "isServer": true, "localCloseCode": 5000, "localCloseReason": null, "received": [], - "remoteCloseCode": 5000, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -44,7 +44,7 @@ "7": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.295Z", + "started": "2023-08-11T05:15:21.792Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -53,7 +53,7 @@ "4": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, @@ -111,20 +111,20 @@ "RO", [ 7, - "824756b19554de" + "820072d7c6039a" ] ], [ "RF", [ 2, - "0x1388" + "0x03e8" ], 8, true, 0, true, - "4756b195" + "0072d7c6" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_13_2.html b/autobahn/client/hornbeam_case_7_13_2.html index e9b4aec..4fac534 100644 --- a/autobahn/client/hornbeam_case_7_13_2.html +++ b/autobahn/client/hornbeam_case_7_13_2.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.13.2 : Informational - 2 ms @ 2023-08-10T21:35:52.304Z

+

Hornbeam - Case 7.13.2 : Informational - 2 ms @ 2023-08-11T05:15:21.795Z

Case Description

Send close with close code 65536

Case Expectation

Actual events are undefined by the spec.

@@ -218,30 +218,30 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000; Host: localhost:9001 Upgrade: websocket Connection: upgrade -Sec-WebSocket-Key: H411aAfy/tO4mIj5oBSfww== +Sec-WebSocket-Key: 2VUSEyfGrCbooxDhGFEysw== 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: 1GHwVYagQQhq27CoNwGjEJgbzEA=
+Sec-WebSocket-Accept: qAyVJnesy2RnOUMaS7YJiyyZX2s=

Closing Behavior

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


Wire Statistics

@@ -282,9 +282,9 @@ Sec-WebSocket-Accept: 1GHwVYagQQhq27CoNwGjEJgbzEA=
               0xffff
003 TX OCTETS: 8802ffff
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 8882dcb8b0c12347
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6463623862306331
-
               0xffff
+
005 RX OCTETS: 88829da6e2b69e4e
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3964613665326236
+
               0x03e8
007 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_13_2.json b/autobahn/client/hornbeam_case_7_13_2.json index f6babdd..29b414f 100644 --- a/autobahn/client/hornbeam_case_7_13_2.json +++ b/autobahn/client/hornbeam_case_7_13_2.json @@ -22,15 +22,15 @@ "closedByMe": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=246&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: H411aAfy/tO4mIj5oBSfww==\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: 1GHwVYagQQhq27CoNwGjEJgbzEA=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=246&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 2VUSEyfGrCbooxDhGFEysw==\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: qAyVJnesy2RnOUMaS7YJiyyZX2s=\r\n\r\n", "id": "7.13.2", "isServer": true, "localCloseCode": 65535, "localCloseReason": null, "received": [], - "remoteCloseCode": 65535, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -43,7 +43,7 @@ "8": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.304Z", + "started": "2023-08-11T05:15:21.795Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -52,7 +52,7 @@ "4": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, @@ -103,20 +103,20 @@ "RO", [ 8, - "8882dcb8b0c12347" + "88829da6e2b69e4e" ] ], [ "RF", [ 2, - "0xffff" + "0x03e8" ], 8, true, 0, true, - "dcb8b0c1" + "9da6e2b6" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_1_1.html b/autobahn/client/hornbeam_case_7_1_1.html index a7e2bc2..11a6f0f 100644 --- a/autobahn/client/hornbeam_case_7_1_1.html +++ b/autobahn/client/hornbeam_case_7_1_1.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.1.1 : Pass - 47 ms @ 2023-08-10T23:02:20.662Z

+

Hornbeam - Case 7.1.1 : Pass - 54 ms @ 2023-08-11T05:15:21.585Z

Case Description

Send a message followed by a close frame

Case Expectation

Echoed message followed by 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: 4pNZpItKndUsF6qi1ok++g== +Sec-WebSocket-Key: DFm2y0xTFS4DJh2JI89eDw== 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: P8rMQMB8reyIkJRrwYOESXB4tlk=
+Sec-WebSocket-Accept: 1fnldk1Rx30LCi5xctyFKpgitBY=

Closing Behavior

@@ -288,14 +288,14 @@ Sec-WebSocket-Accept: P8rMQMB8reyIkJRrwYOESXB4tlk=
003 TX OCTETS: 810c48656c6c6f20576f726c6421
004 FAIL CONNECTION AFTER 1.000000 sec
005 RX OCTETS: 81
-
006 RX OCTETS: 8c8c493767c42c5b0be3696008fe255346
-
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=3863343933373637
+
006 RX OCTETS: 8cf8bdc90cb0d8a560979d9e638ad1ad2d
+
007 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=12, MASKED=True, MASK=6638626463393063
               Hello World!
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: 88825844c3455bac
-
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3538343463333435
+
010 RX OCTETS: 88824712dfb444fa
+
011 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3437313264666234
               0x03e8
012 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_7_1_1.json b/autobahn/client/hornbeam_case_7_1_1.json index f2a73a9..ab9e85e 100644 --- a/autobahn/client/hornbeam_case_7_1_1.json +++ b/autobahn/client/hornbeam_case_7_1_1.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a message followed by a close frame", "droppedByMe": true, - "duration": 47, + "duration": 54, "expectation": "Echoed message followed by clean close with normal code.", "expected": { "OK": [ @@ -27,8 +27,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=210&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 4pNZpItKndUsF6qi1ok++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: P8rMQMB8reyIkJRrwYOESXB4tlk=\r\n\r\n", + "httpRequest": "GET /runCase?case=210&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: DFm2y0xTFS4DJh2JI89eDw==\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: 1fnldk1Rx30LCi5xctyFKpgitBY=\r\n\r\n", "id": "7.1.1", "isServer": true, "localCloseCode": 1000, @@ -56,7 +56,7 @@ "17": 1, "184": 1 }, - "started": "2023-08-10T23:02:20.662Z", + "started": "2023-08-11T05:15:21.585Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 17, - "8c8c493767c42c5b0be3696008fe255346" + "8cf8bdc90cb0d8a560979d9e638ad1ad2d" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "8c493767" + "f8bdc90c" ], [ "TF", @@ -166,7 +166,7 @@ "RO", [ 8, - "88825844c3455bac" + "88824712dfb444fa" ] ], [ @@ -179,7 +179,7 @@ true, 0, true, - "5844c345" + "4712dfb4" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_1_2.html b/autobahn/client/hornbeam_case_7_1_2.html index c28e60b..9b6102e 100644 --- a/autobahn/client/hornbeam_case_7_1_2.html +++ b/autobahn/client/hornbeam_case_7_1_2.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.1.2 : Pass - 2 ms @ 2023-08-10T23:02:20.712Z

+

Hornbeam - Case 7.1.2 : Pass - 1 ms @ 2023-08-11T05:15:21.640Z

Case Description

Send two close frames

Case Expectation

Clean close with normal code. Second close frame ignored.

@@ -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: DwQdnuolnpId4rbeLpEtuQ== +Sec-WebSocket-Key: DnNFzlXqy5ah91xBlQzfrg== 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: PiWSUSztGUdZ2hJSk5o5OLUXFAY=
+Sec-WebSocket-Accept: YRvrdrwh19VwlHpDFOlXUb1R0tw=

Closing Behavior

@@ -285,8 +285,8 @@ Sec-WebSocket-Accept: PiWSUSztGUdZ2hJSk5o5OLUXFAY=
004 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=0, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
005 TX OCTETS: 8800
006 FAIL CONNECTION AFTER 1.000000 sec
-
007 RX OCTETS: 88827df6426c7e1e
-
008 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3764663634323663
+
007 RX OCTETS: 88828c32894c8fda
+
008 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3863333238393463
               0x03e8
009 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_7_1_2.json b/autobahn/client/hornbeam_case_7_1_2.json index 93145cb..f3d41f1 100644 --- a/autobahn/client/hornbeam_case_7_1_2.json +++ b/autobahn/client/hornbeam_case_7_1_2.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send two close frames", "droppedByMe": true, - "duration": 2, + "duration": 1, "expectation": "Clean close with normal code. Second close frame ignored.", "expected": { "OK": [] @@ -21,8 +21,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=211&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: DwQdnuolnpId4rbeLpEtuQ==\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: PiWSUSztGUdZ2hJSk5o5OLUXFAY=\r\n\r\n", + "httpRequest": "GET /runCase?case=211&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: DnNFzlXqy5ah91xBlQzfrg==\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: YRvrdrwh19VwlHpDFOlXUb1R0tw=\r\n\r\n", "id": "7.1.2", "isServer": true, "localCloseCode": 1000, @@ -41,7 +41,7 @@ "8": 1, "184": 1 }, - "started": "2023-08-10T23:02:20.712Z", + "started": "2023-08-11T05:15:21.640Z", "trafficStats": null, "txFrameStats": { "8": 2 @@ -124,7 +124,7 @@ "RO", [ 8, - "88827df6426c7e1e" + "88828c32894c8fda" ] ], [ @@ -137,7 +137,7 @@ true, 0, true, - "7df6426c" + "8c32894c" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_1_3.html b/autobahn/client/hornbeam_case_7_1_3.html index e9ebbc0..7a0c869 100644 --- a/autobahn/client/hornbeam_case_7_1_3.html +++ b/autobahn/client/hornbeam_case_7_1_3.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.1.3 : Pass - 2 ms @ 2023-08-10T23:02:20.717Z

+

Hornbeam - Case 7.1.3 : Pass - 1 ms @ 2023-08-11T05:15:21.642Z

Case Description

Send a ping after close message

Case Expectation

Clean close with normal code, no pong.

@@ -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: taWiHf8562UwSubCE+4F+w== +Sec-WebSocket-Key: T3J7IvGw4b0AYg2micWiWA== 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: IcxOoxV8G2lGVI8apZwxnMJ4NfE=
+Sec-WebSocket-Accept: GnVHXTVuWe2rBa3Hx9DruAp/QDY=

Closing Behavior

@@ -286,8 +286,8 @@ Sec-WebSocket-Accept: IcxOoxV8G2lGVI8apZwxnMJ4NfE=
004 TX FRAME : OPCODE=9, FIN=True, RSV=0, PAYLOAD-LEN=0, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
005 TX OCTETS: 8900
006 FAIL CONNECTION AFTER 1.000000 sec
-
007 RX OCTETS: 88822f01e90f2ce9
-
008 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3266303165393066
+
007 RX OCTETS: 88824fe6a3c64c0e
+
008 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3466653661336336
               0x03e8
009 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_7_1_3.json b/autobahn/client/hornbeam_case_7_1_3.json index 9aab8f5..4fe59f3 100644 --- a/autobahn/client/hornbeam_case_7_1_3.json +++ b/autobahn/client/hornbeam_case_7_1_3.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a ping after close message", "droppedByMe": true, - "duration": 2, + "duration": 1, "expectation": "Clean close with normal code, no pong.", "expected": { "OK": [] @@ -21,8 +21,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=212&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: taWiHf8562UwSubCE+4F+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: IcxOoxV8G2lGVI8apZwxnMJ4NfE=\r\n\r\n", + "httpRequest": "GET /runCase?case=212&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: T3J7IvGw4b0AYg2micWiWA==\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: GnVHXTVuWe2rBa3Hx9DruAp/QDY=\r\n\r\n", "id": "7.1.3", "isServer": true, "localCloseCode": 1000, @@ -41,7 +41,7 @@ "8": 1, "184": 1 }, - "started": "2023-08-10T23:02:20.717Z", + "started": "2023-08-11T05:15:21.642Z", "trafficStats": null, "txFrameStats": { "8": 1, @@ -125,7 +125,7 @@ "RO", [ 8, - "88822f01e90f2ce9" + "88824fe6a3c64c0e" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "2f01e90f" + "4fe6a3c6" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_1_4.html b/autobahn/client/hornbeam_case_7_1_4.html index bb09e09..80d1ca3 100644 --- a/autobahn/client/hornbeam_case_7_1_4.html +++ b/autobahn/client/hornbeam_case_7_1_4.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.1.4 : Pass - 3 ms @ 2023-08-10T23:02:20.722Z

+

Hornbeam - Case 7.1.4 : Pass - 2 ms @ 2023-08-11T05:15:21.645Z

Case Description

Send text message after sending a close frame.

Case Expectation

Clean close with normal code. Text message ignored.

@@ -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: 5yehVuTkNXER0ZvmHVEtBw== +Sec-WebSocket-Key: PBMOcqgLuE9b3SB9sXH+Bw== 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: SyC1KO564VV6BpYGaJ97FngdWvU=
+Sec-WebSocket-Accept: 9eFRTkfNevY2iYu/FomdpWwtNVA=

Closing Behavior

@@ -287,8 +287,8 @@ Sec-WebSocket-Accept: SyC1KO564VV6BpYGaJ97FngdWvU=
               Hello World!
005 TX OCTETS: 810c48656c6c6f20576f726c6421
006 FAIL CONNECTION AFTER 1.000000 sec
-
007 RX OCTETS: 88822c54aced2fbc
-
008 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3263353461636564
+
007 RX OCTETS: 8882d16b00f0d283
+
008 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6431366230306630
               0x03e8
009 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_7_1_4.json b/autobahn/client/hornbeam_case_7_1_4.json index cbdfbef..388b5b2 100644 --- a/autobahn/client/hornbeam_case_7_1_4.json +++ b/autobahn/client/hornbeam_case_7_1_4.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send text message after sending a close frame.", "droppedByMe": true, - "duration": 3, + "duration": 2, "expectation": "Clean close with normal code. Text message ignored.", "expected": { "OK": [] @@ -21,8 +21,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=213&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 5yehVuTkNXER0ZvmHVEtBw==\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: SyC1KO564VV6BpYGaJ97FngdWvU=\r\n\r\n", + "httpRequest": "GET /runCase?case=213&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: PBMOcqgLuE9b3SB9sXH+Bw==\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: 9eFRTkfNevY2iYu/FomdpWwtNVA=\r\n\r\n", "id": "7.1.4", "isServer": true, "localCloseCode": 1000, @@ -41,7 +41,7 @@ "8": 1, "184": 1 }, - "started": "2023-08-10T23:02:20.722Z", + "started": "2023-08-11T05:15:21.645Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -125,7 +125,7 @@ "RO", [ 8, - "88822c54aced2fbc" + "8882d16b00f0d283" ] ], [ @@ -138,7 +138,7 @@ true, 0, true, - "2c54aced" + "d16b00f0" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_1_5.html b/autobahn/client/hornbeam_case_7_1_5.html index 45ed25c..8159baf 100644 --- a/autobahn/client/hornbeam_case_7_1_5.html +++ b/autobahn/client/hornbeam_case_7_1_5.html @@ -202,14 +202,14 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.1.5 : Fail - 5 ms @ 2023-08-10T23:02:20.728Z

+

Hornbeam - Case 7.1.5 : Pass - 1 ms @ 2023-08-11T05:15:21.647Z

Case Description

Send message fragment1 followed by close then fragment

Case Expectation

Clean close with normal code.

- Case Outcome

Actual events differ from any expected.

+ Case Outcome

Actual events match at least one expected.

Expected:
{'OK': []}

- Observed:
[('message', u'fragment1', False)] + Observed:
[]

Case Closing Behavior

Connection was properly closed (OK)



@@ -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: 0sruLUjIxQg4KrHl2qNgkw== +Sec-WebSocket-Key: SuV3GoIO9czELADiJ837zQ== 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: gD0crvzZuIhnbfEGhyUr8phyj2I=
+Sec-WebSocket-Accept: jE+U6oJuJT3zKdp+DT93GXJ9Kmg=

Closing Behavior

@@ -248,10 +248,9 @@ Sec-WebSocket-Accept: gD0crvzZuIhnbfEGhyUr8phyj2I=

Octets Received by Chop Size

- - + - +
Chop SizeCountOctets
111
22122
818
1841184
Total3207
Total2192

Octets Transmitted by Chop Size

@@ -264,9 +263,8 @@ Sec-WebSocket-Accept: gD0crvzZuIhnbfEGhyUr8phyj2I=

Frames Received by Opcode

- - +
OpcodeCount
11
81
Total2
Total1

Frames Transmitted by Opcode

@@ -293,13 +291,10 @@ Sec-WebSocket-Accept: gD0crvzZuIhnbfEGhyUr8phyj2I=
               fragment2
007 TX OCTETS: 8009667261676d656e7432
008 FAIL CONNECTION AFTER 1.000000 sec
-
009 RX OCTETS: 81
-
010 RX OCTETS: 897c0a63581a78023f116f0d2c4d8882f82a74c6fbc2
-
011 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=9, MASKED=True, MASK=3763306136333538
-
               fragment1
-
012 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6638326137346336
+
009 RX OCTETS: 8882d5436bddd6ab
+
010 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6435343336626464
               0x03e8
-
013 TCP DROPPED BY ME
+
011 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_1_5.json b/autobahn/client/hornbeam_case_7_1_5.json index 1388ae8..eddce21 100644 --- a/autobahn/client/hornbeam_case_7_1_5.json +++ b/autobahn/client/hornbeam_case_7_1_5.json @@ -1,6 +1,6 @@ { "agent": "Hornbeam", - "behavior": "FAILED", + "behavior": "OK", "behaviorClose": "OK", "case": 214, "closedByMe": true, @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send message fragment1 followed by close then fragment", "droppedByMe": true, - "duration": 5, + "duration": 1, "expectation": "Clean close with normal code.", "expected": { "OK": [] @@ -21,35 +21,27 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=214&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 0sruLUjIxQg4KrHl2qNgkw==\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: gD0crvzZuIhnbfEGhyUr8phyj2I=\r\n\r\n", + "httpRequest": "GET /runCase?case=214&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: SuV3GoIO9czELADiJ837zQ==\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: jE+U6oJuJT3zKdp+DT93GXJ9Kmg=\r\n\r\n", "id": "7.1.5", "isServer": true, "localCloseCode": 1000, "localCloseReason": null, - "received": [ - [ - "message", - "fragment1", - false - ] - ], + "received": [], "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events differ from any expected.", + "result": "Actual events match at least one expected.", "resultClose": "Connection was properly closed", "rxFrameStats": { - "1": 1, "8": 1 }, "rxOctetStats": { - "1": 1, - "22": 1, + "8": 1, "184": 1 }, - "started": "2023-08-10T23:02:20.728Z", + "started": "2023-08-11T05:15:21.647Z", "trafficStats": null, "txFrameStats": { "0": 1, @@ -155,29 +147,10 @@ [ "RO", [ - 1, - "81" + 8, + "8882d5436bddd6ab" ] ], - [ - "RO", - [ - 22, - "897c0a63581a78023f116f0d2c4d8882f82a74c6fbc2" - ] - ], - [ - "RF", - [ - 9, - "fragment1" - ], - 1, - true, - 0, - true, - "7c0a6358" - ], [ "RF", [ @@ -188,7 +161,7 @@ true, 0, true, - "f82a74c6" + "d5436bdd" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_1_6.html b/autobahn/client/hornbeam_case_7_1_6.html index 23854b7..b930227 100644 --- a/autobahn/client/hornbeam_case_7_1_6.html +++ b/autobahn/client/hornbeam_case_7_1_6.html @@ -202,14 +202,14 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.1.6 : Informational - 1061 ms @ 2023-08-10T23:02:20.736Z

+

Hornbeam - Case 7.1.6 : Informational - 9 ms @ 2023-08-11T05:15:21.650Z

Case Description

Send 256K message followed by close then a ping

Case Expectation

Case outcome depends on implementation defined close behavior. Message and close frame are sent back to back. If the close frame is processed before the text message write is complete (as can happen in asynchronous processing models) the close frame is processed first and the text message may not be received or may only be partially recieved.

- Case Outcome

Close was processed before text message could be returned.

+ Case Outcome

Actual events differ from any expected.

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

- Observed:
[] + Observed:
[('message', u'BAsd7&jh23BAsd7&jh23BAsd7&jh23BAsd7&jh23BAsd7&jh23BAsd7&jh23BAsd ...', False)]

Case Closing Behavior

The spec requires the connection to be failed cleanly here (INFORMATIONAL)



@@ -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: v5iTUvV+3mtsdO9HIGJjJA== +Sec-WebSocket-Key: 4Tw5H2HrI7DyJ5Fh1GTEeA== 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: tIN3FFYjfL67CIYgvx0mC/xv6ns=
+Sec-WebSocket-Accept: mHCHkrzxiP8njiPHN4Zs0vpqxtY=

Closing Behavior

@@ -233,12 +233,12 @@ Sec-WebSocket-Accept: tIN3FFYjfL67CIYgvx0mC/xv6ns= - + - + - + @@ -248,9 +248,13 @@ Sec-WebSocket-Accept: tIN3FFYjfL67CIYgvx0mC/xv6ns=

Octets Received by Chop Size

isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
droppedByMeFalseTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer did not respond (in time) in closing handshakeWhen wasClean == False, the reason what happened.
wasNotCleanReasonpeer dropped the TCP connection without previous WebSocket closing handshakeWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutTrueWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
- + - + + + + +
Chop SizeCountOctets
10110
111
1841184
Total2194
13032113032
24093124093
28424128424
655363196608
Total8262342

Octets Transmitted by Chop Size

@@ -265,7 +269,8 @@ Sec-WebSocket-Accept: tIN3FFYjfL67CIYgvx0mC/xv6ns=

Frames Received by Opcode

- + +
OpcodeCount
Total0
11
Total1

Frames Transmitted by Opcode

@@ -295,8 +300,22 @@ Sec-WebSocket-Accept: tIN3FFYjfL67CIYgvx0mC/xv6ns=
008 TX FRAME : OPCODE=9, FIN=True, RSV=0, PAYLOAD-LEN=0, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
009 TX OCTETS: 8900
010 FAIL CONNECTION AFTER 1.000000 sec
-
011 RX OCTETS: 81ff0000000000040000
-
012 TCP DROPPED BY ME
+
011 RX OCTETS: 81
+
012 RX OCTETS: ff0000000000040000e7187a36a5590952d03e105ed52b3877947c4d108d704805a5590952d03e105ed52b3877947c4d108d
+
               704805a5590952d03e105ed52b38 ...
+
013 RX OCTETS: 05a5590952d03e105ed52b3877947c4d108d704805a5590952d03e105ed52b3877947c4d108d704805a5590952d03e105ed5
+
               2b3877947c4d108d704805a55909 ...
+
014 RX OCTETS: 52d03e105ed52b3877947c4d108d704805a5590952d03e105ed52b3877947c4d108d704805a5590952d03e105ed52b387794
+
               7c4d108d704805a5590952d03e10 ...
+
015 RX OCTETS: 05a5590952d03e105ed52b3877947c4d108d704805a5590952d03e105ed52b3877947c4d108d704805a5590952d03e105ed5
+
               2b3877947c4d108d704805a55909 ...
+
016 RX OCTETS: 108d704805a5590952d03e105ed52b3877947c4d108d704805a5590952d03e105ed52b3877947c4d108d704805a5590952d0
+
               3e105ed52b3877947c4d108d7048 ...
+
017 RX OCTETS: 77947c4d108d704805a5590952d03e105ed52b3877947c4d108d704805a5590952d03e105ed52b3877947c4d108d704805a5
+
               590952d03e105ed52b3877947c4d ...
+
018 RX FRAME : OPCODE=1, FIN=True, RSV=0, PAYLOAD-LEN=262144, MASKED=True, MASK=6537313837613336
+
               BAsd7&jh23BAsd7&jh23BAsd7&jh23BAsd7&jh23BAsd7&jh23BAsd7&jh23BAsd ...
+
019 TCP DROPPED BY PEER


diff --git a/autobahn/client/hornbeam_case_7_1_6.json b/autobahn/client/hornbeam_case_7_1_6.json index f1000d1..2e0fd9d 100644 --- a/autobahn/client/hornbeam_case_7_1_6.json +++ b/autobahn/client/hornbeam_case_7_1_6.json @@ -7,8 +7,8 @@ "createStats": true, "createWirelog": true, "description": "Send 256K message followed by close then a ping", - "droppedByMe": true, - "duration": 1061, + "droppedByMe": false, + "duration": 9, "expectation": "Case outcome depends on implementation defined close behavior. Message and close frame are sent back to back. If the close frame is processed before the text message write is complete (as can happen in asynchronous processing models) the close frame is processed first and the text message may not be received or may only be partially recieved.", "expected": { "NON-STRICT": [], @@ -28,25 +28,37 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=215&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: v5iTUvV+3mtsdO9HIGJjJA==\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: tIN3FFYjfL67CIYgvx0mC/xv6ns=\r\n\r\n", + "httpRequest": "GET /runCase?case=215&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 4Tw5H2HrI7DyJ5Fh1GTEeA==\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: mHCHkrzxiP8njiPHN4Zs0vpqxtY=\r\n\r\n", "id": "7.1.6", "isServer": true, "localCloseCode": 1000, "localCloseReason": null, - "received": [], + "received": [ + [ + "message", + "BAsd7&jh23BAsd7&jh23BAsd7&jh23BAsd7&jh23BAsd7&jh23BAsd7&jh23BAsd ...", + false + ] + ], "remoteCloseCode": null, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Close was processed before text message could be returned.", + "result": "Actual events differ from any expected.", "resultClose": "The spec requires the connection to be failed cleanly here", - "rxFrameStats": {}, - "rxOctetStats": { - "10": 1, - "184": 1 + "rxFrameStats": { + "1": 1 }, - "started": "2023-08-10T23:02:20.736Z", + "rxOctetStats": { + "1": 1, + "184": 1, + "13032": 1, + "24093": 1, + "28424": 1, + "65536": 3 + }, + "started": "2023-08-11T05:15:21.650Z", "trafficStats": null, "txFrameStats": { "1": 2, @@ -61,8 +73,8 @@ "262154": 1 }, "wasClean": false, - "wasCloseHandshakeTimeout": true, - "wasNotCleanReason": "peer did not respond (in time) in closing handshake", + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": "peer dropped the TCP connection without previous WebSocket closing handshake", "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -176,9 +188,63 @@ [ "RO", [ - 10, - "81ff0000000000040000" + 1, + "81" ] + ], + [ + "RO", + [ + 13032, + "ff0000000000040000e7187a36a5590952d03e105ed52b3877947c4d108d704805a5590952d03e105ed52b3877947c4d108d704805a5590952d03e105ed52b38 ..." + ] + ], + [ + "RO", + [ + 28424, + "05a5590952d03e105ed52b3877947c4d108d704805a5590952d03e105ed52b3877947c4d108d704805a5590952d03e105ed52b3877947c4d108d704805a55909 ..." + ] + ], + [ + "RO", + [ + 65536, + "52d03e105ed52b3877947c4d108d704805a5590952d03e105ed52b3877947c4d108d704805a5590952d03e105ed52b3877947c4d108d704805a5590952d03e10 ..." + ] + ], + [ + "RO", + [ + 65536, + "05a5590952d03e105ed52b3877947c4d108d704805a5590952d03e105ed52b3877947c4d108d704805a5590952d03e105ed52b3877947c4d108d704805a55909 ..." + ] + ], + [ + "RO", + [ + 65536, + "108d704805a5590952d03e105ed52b3877947c4d108d704805a5590952d03e105ed52b3877947c4d108d704805a5590952d03e105ed52b3877947c4d108d7048 ..." + ] + ], + [ + "RO", + [ + 24093, + "77947c4d108d704805a5590952d03e105ed52b3877947c4d108d704805a5590952d03e105ed52b3877947c4d108d704805a5590952d03e105ed52b3877947c4d ..." + ] + ], + [ + "RF", + [ + 262144, + "BAsd7&jh23BAsd7&jh23BAsd7&jh23BAsd7&jh23BAsd7&jh23BAsd7&jh23BAsd ..." + ], + 1, + true, + 0, + true, + "e7187a36" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_3_1.html b/autobahn/client/hornbeam_case_7_3_1.html index fd35a9a..a59e0bd 100644 --- a/autobahn/client/hornbeam_case_7_3_1.html +++ b/autobahn/client/hornbeam_case_7_3_1.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.3.1 : Pass - 3 ms @ 2023-08-10T21:35:52.200Z

+

Hornbeam - Case 7.3.1 : Pass - 5 ms @ 2023-08-11T05:15:21.655Z

Case Description

Send a close frame with payload length 0 (no close code, no close reason)

Case Expectation

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: 3miD7zULPjjxqY/glhW1rg== +Sec-WebSocket-Key: 0CkSPBLZlasTJ4zfP6he+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: P1udRXe8JbhoiO2zgOoslD0vNlk=
+Sec-WebSocket-Accept: gScrtzgckhlnqT1ljORvMQ4FsGI=

Closing Behavior

@@ -241,16 +241,16 @@ Sec-WebSocket-Accept: P1udRXe8JbhoiO2zgOoslD0vNlk= - +
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCodeNoneThe close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- + - +
Chop SizeCountOctets
616
818
1841184
Total2190
Total2192

Octets Transmitted by Chop Size

@@ -281,8 +281,9 @@ Sec-WebSocket-Accept: P1udRXe8JbhoiO2zgOoslD0vNlk=
002 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=0, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
003 TX OCTETS: 8800
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 8880e934f721
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=0, MASKED=True, MASK=6539333466373231
+
005 RX OCTETS: 8882fd0775a0feef
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6664303737356130
+
               0x03e8
007 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_3_1.json b/autobahn/client/hornbeam_case_7_3_1.json index 80d35ea..047c41f 100644 --- a/autobahn/client/hornbeam_case_7_3_1.json +++ b/autobahn/client/hornbeam_case_7_3_1.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a close frame with payload length 0 (no close code, no close reason)", "droppedByMe": true, - "duration": 3, + "duration": 5, "expectation": "Clean close with normal code.", "expected": { "OK": [] @@ -21,14 +21,14 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=216&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 3miD7zULPjjxqY/glhW1rg==\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: P1udRXe8JbhoiO2zgOoslD0vNlk=\r\n\r\n", + "httpRequest": "GET /runCase?case=216&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 0CkSPBLZlasTJ4zfP6he+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: gScrtzgckhlnqT1ljORvMQ4FsGI=\r\n\r\n", "id": "7.3.1", "isServer": true, "localCloseCode": null, "localCloseReason": null, "received": [], - "remoteCloseCode": null, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -38,10 +38,10 @@ "8": 1 }, "rxOctetStats": { - "6": 1, + "8": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.200Z", + "started": "2023-08-11T05:15:21.655Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -100,21 +100,21 @@ [ "RO", [ - 6, - "8880e934f721" + 8, + "8882fd0775a0feef" ] ], [ "RF", [ - 0, - "" + 2, + "0x03e8" ], 8, true, 0, true, - "e934f721" + "fd0775a0" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_3_2.html b/autobahn/client/hornbeam_case_7_3_2.html index d7e75b7..154ec7f 100644 --- a/autobahn/client/hornbeam_case_7_3_2.html +++ b/autobahn/client/hornbeam_case_7_3_2.html @@ -202,55 +202,55 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.3.2 : Pass - 1 ms @ 2023-08-10T21:35:52.203Z

+

Hornbeam - Case 7.3.2 : Fail - 1 ms @ 2023-08-11T05:15:21.661Z

Case Description

Send a close frame with payload length 1

Case Expectation

Clean close with protocol error or drop TCP.

- Case Outcome

Actual events match at least one expected.

+ Case Outcome

The close code should have been 1002 or empty

Expected:
{'OK': []}

Observed:
[]

-

Case Closing Behavior

Connection was properly closed (OK)

+

Case Closing Behavior

The close code should have been 1002 or empty (WRONG CODE)



Opening Handshake

GET /runCase?case=217&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: btp/CdoVhHf6Zw1KW73P2w==
+Sec-WebSocket-Key: KVAjVHvGA+3oGJ/pRiCGTQ==
 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: PDbf28JuU/G8NHocbQsFYm7Anhw=
+Sec-WebSocket-Accept: kFzphcoOvuLUNtmSe8eHG/fHGKI=

Closing Behavior

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


Wire Statistics

Octets Received by Chop Size

- + - +
Chop SizeCountOctets
717
818
1841184
Total2191
Total2192

Octets Transmitted by Chop Size

@@ -262,7 +262,8 @@ Sec-WebSocket-Accept: PDbf28JuU/G8NHocbQsFYm7Anhw=

Frames Received by Opcode

- + +
OpcodeCount
Total0
81
Total1

Frames Transmitted by Opcode

@@ -281,8 +282,10 @@ Sec-WebSocket-Accept: PDbf28JuU/G8NHocbQsFYm7Anhw=
               a
003 TX OCTETS: 880161
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 88816c73320e0d
-
006 TCP DROPPED BY ME
+
005 RX OCTETS: 88822ec7c0882d2f
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3265633763303838
+
               0x03e8
+
007 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_3_2.json b/autobahn/client/hornbeam_case_7_3_2.json index aaa2335..481e8eb 100644 --- a/autobahn/client/hornbeam_case_7_3_2.json +++ b/autobahn/client/hornbeam_case_7_3_2.json @@ -1,7 +1,7 @@ { "agent": "Hornbeam", - "behavior": "OK", - "behaviorClose": "OK", + "behavior": "FAILED", + "behaviorClose": "WRONG CODE", "case": 217, "closedByMe": true, "createStats": true, @@ -20,26 +20,28 @@ "closedByMe": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=217&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: btp/CdoVhHf6Zw1KW73P2w==\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: PDbf28JuU/G8NHocbQsFYm7Anhw=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=217&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: KVAjVHvGA+3oGJ/pRiCGTQ==\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: kFzphcoOvuLUNtmSe8eHG/fHGKI=\r\n\r\n", "id": "7.3.2", "isServer": true, "localCloseCode": null, "localCloseReason": "a", "received": [], - "remoteCloseCode": null, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, - "result": "Actual events match at least one expected.", - "resultClose": "Connection was properly closed", - "rxFrameStats": {}, + "result": "The close code should have been 1002 or empty", + "resultClose": "The close code should have been 1002 or empty", + "rxFrameStats": { + "8": 1 + }, "rxOctetStats": { - "7": 1, + "8": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.203Z", + "started": "2023-08-11T05:15:21.661Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -48,7 +50,7 @@ "3": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, @@ -98,9 +100,21 @@ [ "RO", [ - 7, - "88816c73320e0d" + 8, + "88822ec7c0882d2f" ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "2ec7c088" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_3_3.html b/autobahn/client/hornbeam_case_7_3_3.html index b7a2304..d114c05 100644 --- a/autobahn/client/hornbeam_case_7_3_3.html +++ b/autobahn/client/hornbeam_case_7_3_3.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.3.3 : Pass - 2 ms @ 2023-08-10T21:35:52.206Z

+

Hornbeam - Case 7.3.3 : Pass - 1 ms @ 2023-08-11T05:15:21.663Z

Case Description

Send a close frame with payload length 2 (regular close with a code)

Case Expectation

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: ti4PiJL/W6DJ74BwjOJgNw== +Sec-WebSocket-Key: YcJVHCt9NTIZJbRamnH2Ng== 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: 0KmEL9zF45O5e01RWDADOt1iOsw=
+Sec-WebSocket-Accept: FJbluSXMXG6kh9Gk8Rtl9y7IROI=

Closing Behavior

@@ -282,8 +282,8 @@ Sec-WebSocket-Accept: 0KmEL9zF45O5e01RWDADOt1iOsw=
               0x03e8
003 TX OCTETS: 880203e8
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 8882001373e003fb
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3030313337336530
+
005 RX OCTETS: 88823f85a8253c6d
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3366383561383235
               0x03e8
007 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_7_3_3.json b/autobahn/client/hornbeam_case_7_3_3.json index 21c4a01..c3de06b 100644 --- a/autobahn/client/hornbeam_case_7_3_3.json +++ b/autobahn/client/hornbeam_case_7_3_3.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send a close frame with payload length 2 (regular close with a code)", "droppedByMe": true, - "duration": 2, + "duration": 1, "expectation": "Clean close with normal code.", "expected": { "OK": [] @@ -21,8 +21,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=218&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ti4PiJL/W6DJ74BwjOJgNw==\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: 0KmEL9zF45O5e01RWDADOt1iOsw=\r\n\r\n", + "httpRequest": "GET /runCase?case=218&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: YcJVHCt9NTIZJbRamnH2Ng==\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: FJbluSXMXG6kh9Gk8Rtl9y7IROI=\r\n\r\n", "id": "7.3.3", "isServer": true, "localCloseCode": 1000, @@ -41,7 +41,7 @@ "8": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.206Z", + "started": "2023-08-11T05:15:21.663Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -101,7 +101,7 @@ "RO", [ 8, - "8882001373e003fb" + "88823f85a8253c6d" ] ], [ @@ -114,7 +114,7 @@ true, 0, true, - "001373e0" + "3f85a825" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_3_4.html b/autobahn/client/hornbeam_case_7_3_4.html index f5f926b..5b18915 100644 --- a/autobahn/client/hornbeam_case_7_3_4.html +++ b/autobahn/client/hornbeam_case_7_3_4.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.3.4 : Pass - 1 ms @ 2023-08-10T21:35:52.209Z

+

Hornbeam - Case 7.3.4 : Pass - 1 ms @ 2023-08-11T05:15:21.666Z

Case Description

Send a close frame with close code and close reason

Case Expectation

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: DC2o+wxWBtCerfgA+6v7kw== +Sec-WebSocket-Key: KrAsf/uxyOfUTDnJ4i0PsQ== 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: tr3B+Nco7NpjbaaTbYfNhv3GldE=
+Sec-WebSocket-Accept: yahIqLeP0MnSI2J6c1NDu+jt/XM=

Closing Behavior

@@ -242,15 +242,15 @@ Sec-WebSocket-Accept: tr3B+Nco7NpjbaaTbYfNhv3GldE= - +
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonHello World!The close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonHello World!The close reason the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- + - +
Chop SizeCountOctets
20120
818
1841184
Total2204
Total2192

Octets Transmitted by Chop Size

@@ -282,9 +282,9 @@ Sec-WebSocket-Accept: tr3B+Nco7NpjbaaTbYfNhv3GldE=
               0x03e848656c6c6f20576f726c6421
003 TX OCTETS: 880e03e848656c6c6f20576f726c6421
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 888e7a4dd0c779a598a21621bfe72d22a2ab1e6c
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=14, MASKED=True, MASK=3761346464306337
-
               0x03e848656c6c6f20576f726c6421
+
005 RX OCTETS: 8882b2af9568b147
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6232616639353638
+
               0x03e8
007 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_3_4.json b/autobahn/client/hornbeam_case_7_3_4.json index dd88d40..fa2ca57 100644 --- a/autobahn/client/hornbeam_case_7_3_4.json +++ b/autobahn/client/hornbeam_case_7_3_4.json @@ -21,15 +21,15 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=219&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: DC2o+wxWBtCerfgA+6v7kw==\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: tr3B+Nco7NpjbaaTbYfNhv3GldE=\r\n\r\n", + "httpRequest": "GET /runCase?case=219&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: KrAsf/uxyOfUTDnJ4i0PsQ==\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: yahIqLeP0MnSI2J6c1NDu+jt/XM=\r\n\r\n", "id": "7.3.4", "isServer": true, "localCloseCode": 1000, "localCloseReason": "Hello World!", "received": [], "remoteCloseCode": 1000, - "remoteCloseReason": "Hello World!", + "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, "result": "Actual events match at least one expected.", @@ -38,10 +38,10 @@ "8": 1 }, "rxOctetStats": { - "20": 1, + "8": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.209Z", + "started": "2023-08-11T05:15:21.666Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -100,21 +100,21 @@ [ "RO", [ - 20, - "888e7a4dd0c779a598a21621bfe72d22a2ab1e6c" + 8, + "8882b2af9568b147" ] ], [ "RF", [ - 14, - "0x03e848656c6c6f20576f726c6421" + 2, + "0x03e8" ], 8, true, 0, true, - "7a4dd0c7" + "b2af9568" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_3_5.html b/autobahn/client/hornbeam_case_7_3_5.html index 782d636..a60f541 100644 --- a/autobahn/client/hornbeam_case_7_3_5.html +++ b/autobahn/client/hornbeam_case_7_3_5.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.3.5 : Pass - 1 ms @ 2023-08-10T21:35:52.211Z

+

Hornbeam - Case 7.3.5 : Pass - 1 ms @ 2023-08-11T05:15:21.668Z

Case Description

Send a close frame with close code and close reason of maximum length (123)

Case Expectation

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: vv8Oh30iIf2S9buQlmZt3A== +Sec-WebSocket-Key: RfV3YzZ2qIua9b5G/GEflw== 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: 1qtBnYyOtGCzVL8MFRorsJSu5pI=
+Sec-WebSocket-Accept: RtBOsckI72td9OsepW2zVgb49/c=

Closing Behavior

@@ -242,15 +242,15 @@ Sec-WebSocket-Accept: 1qtBnYyOtGCzVL8MFRorsJSu5pI= - +
localCloseCode1000The close code I sent in close frame (if any).
localCloseReason***************************************************************************************************************************The close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReason***************************************************************************************************************************The close reason the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- + - +
Chop SizeCountOctets
1311131
818
1841184
Total2315
Total2192

Octets Transmitted by Chop Size

@@ -284,11 +284,9 @@ Sec-WebSocket-Accept: 1qtBnYyOtGCzVL8MFRorsJSu5pI=
003 TX OCTETS: 887d03e82a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
               2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 88fdff5779ccfcbf53e6d57d53e6d57d53e6d57d53e6d57d53e6d57d53e6d57d53e6d57d53e6d57d53e6d57d53e6d57d53e6
-
               d57d53e6d57d53e6d57d53e6d57d ...
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=125, MASKED=True, MASK=6666353737396363
-
               0x03e82a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
-
               2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
+
005 RX OCTETS: 88823211813d31f9
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3332313138313364
+
               0x03e8
007 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_3_5.json b/autobahn/client/hornbeam_case_7_3_5.json index b77ad24..595f070 100644 --- a/autobahn/client/hornbeam_case_7_3_5.json +++ b/autobahn/client/hornbeam_case_7_3_5.json @@ -21,15 +21,15 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=220&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: vv8Oh30iIf2S9buQlmZt3A==\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: 1qtBnYyOtGCzVL8MFRorsJSu5pI=\r\n\r\n", + "httpRequest": "GET /runCase?case=220&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: RfV3YzZ2qIua9b5G/GEflw==\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: RtBOsckI72td9OsepW2zVgb49/c=\r\n\r\n", "id": "7.3.5", "isServer": true, "localCloseCode": 1000, "localCloseReason": "***************************************************************************************************************************", "received": [], "remoteCloseCode": 1000, - "remoteCloseReason": "***************************************************************************************************************************", + "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, "result": "Actual events match at least one expected.", @@ -38,10 +38,10 @@ "8": 1 }, "rxOctetStats": { - "131": 1, + "8": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.211Z", + "started": "2023-08-11T05:15:21.668Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -100,21 +100,21 @@ [ "RO", [ - 131, - "88fdff5779ccfcbf53e6d57d53e6d57d53e6d57d53e6d57d53e6d57d53e6d57d53e6d57d53e6d57d53e6d57d53e6d57d53e6d57d53e6d57d53e6d57d53e6d57d ..." + 8, + "88823211813d31f9" ] ], [ "RF", [ - 125, - "0x03e82a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a ..." + 2, + "0x03e8" ], 8, true, 0, true, - "ff5779cc" + "3211813d" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_3_6.html b/autobahn/client/hornbeam_case_7_3_6.html index 501eb1a..4206d28 100644 --- a/autobahn/client/hornbeam_case_7_3_6.html +++ b/autobahn/client/hornbeam_case_7_3_6.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.3.6 : Pass - 1 ms @ 2023-08-10T21:35:52.214Z

+

Hornbeam - Case 7.3.6 : Pass - 1 ms @ 2023-08-11T05:15:21.671Z

Case Description

Send a close frame with close code and close reason which is too long (124) - total frame payload 126 octets

Case Expectation

Clean close with protocol error code or dropped TCP connection.

@@ -218,39 +218,39 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000; Host: localhost:9001 Upgrade: websocket Connection: upgrade -Sec-WebSocket-Key: sp4/07NunVN0rqKxM0uhKg== +Sec-WebSocket-Key: VWSIfUJuKz21diNzhn8Otg== 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: IaWoogLZUr71L960NIXDzq72dGQ=
+Sec-WebSocket-Accept: Dz9S+PVqbdeHQnb/HpsQdTk/8NA=

Closing Behavior

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


Wire Statistics

Octets Received by Chop Size

- + - +
Chop SizeCountOctets
1341134
22122
1841184
Total2318
Total2206

Octets Transmitted by Chop Size

@@ -262,7 +262,8 @@ Sec-WebSocket-Accept: IaWoogLZUr71L960NIXDzq72dGQ=

Frames Received by Opcode

- + +
OpcodeCount
Total0
81
Total1

Frames Transmitted by Opcode

@@ -283,9 +284,10 @@ Sec-WebSocket-Accept: IaWoogLZUr71L960NIXDzq72dGQ=
003 TX OCTETS: 887e007e03e82a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a
               2a2a2a2a2a2a2a2a2a2a2a2a2a2a ...
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 88fe007e7c5d83117fb5a93b5677a93b5677a93b5677a93b5677a93b5677a93b5677a93b5677a93b5677a93b5677a93b5677
-
               a93b5677a93b5677a93b5677a93b ...
-
006 TCP DROPPED BY ME
+
005 RX OCTETS: 8890c667cf86c58d9ff4a913a0e5a90befc3b415a0f4
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=16, MASKED=True, MASK=6336363763663836
+
               0x03ea50726f746f636f6c204572726f72
+
007 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_3_6.json b/autobahn/client/hornbeam_case_7_3_6.json index 24d795a..c4ff1d9 100644 --- a/autobahn/client/hornbeam_case_7_3_6.json +++ b/autobahn/client/hornbeam_case_7_3_6.json @@ -20,26 +20,28 @@ "closedByMe": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=221&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: sp4/07NunVN0rqKxM0uhKg==\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: IaWoogLZUr71L960NIXDzq72dGQ=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=221&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: VWSIfUJuKz21diNzhn8Otg==\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: Dz9S+PVqbdeHQnb/HpsQdTk/8NA=\r\n\r\n", "id": "7.3.6", "isServer": true, "localCloseCode": 1000, "localCloseReason": "****************************************************************************************************************************", "received": [], - "remoteCloseCode": null, - "remoteCloseReason": null, + "remoteCloseCode": 1002, + "remoteCloseReason": "Protocol Error", "reportCompressionRatio": false, "reportTime": false, "result": "Actual events match at least one expected.", "resultClose": "Connection was properly closed", - "rxFrameStats": {}, + "rxFrameStats": { + "8": 1 + }, "rxOctetStats": { - "134": 1, + "22": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.214Z", + "started": "2023-08-11T05:15:21.671Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -48,7 +50,7 @@ "130": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, @@ -98,9 +100,21 @@ [ "RO", [ - 134, - "88fe007e7c5d83117fb5a93b5677a93b5677a93b5677a93b5677a93b5677a93b5677a93b5677a93b5677a93b5677a93b5677a93b5677a93b5677a93b5677a93b ..." + 22, + "8890c667cf86c58d9ff4a913a0e5a90befc3b415a0f4" ] + ], + [ + "RF", + [ + 16, + "0x03ea50726f746f636f6c204572726f72" + ], + 8, + true, + 0, + true, + "c667cf86" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_5_1.html b/autobahn/client/hornbeam_case_7_5_1.html index 815501d..5a14595 100644 --- a/autobahn/client/hornbeam_case_7_5_1.html +++ b/autobahn/client/hornbeam_case_7_5_1.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.5.1 : Fail - 1 ms @ 2023-08-10T21:35:52.216Z

+

Hornbeam - Case 7.5.1 : Fail - 1 ms @ 2023-08-11T05:15:21.673Z

Case Description

Send a close frame with invalid UTF8 payload

Case Expectation

Clean close with protocol error or invalid utf8 code or dropped TCP.

@@ -218,23 +218,23 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000; Host: localhost:9001 Upgrade: websocket Connection: upgrade -Sec-WebSocket-Key: IlD9cxc4Ul3jSiv+TNBiLw== +Sec-WebSocket-Key: YPhTZXosoYvsPjL5tD3n+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: 8tNGwdql1kPvC6eWez/QDASvdgQ=
+Sec-WebSocket-Accept: OE/p8hHxTDvERTcMjqOPT3/DUko=

Closing Behavior

- + - + @@ -242,15 +242,15 @@ Sec-WebSocket-Accept: 8tNGwdql1kPvC6eWez/QDASvdgQ= - +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
failedByMeFalseTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasoncebae1bdb9cf83cebcceb5eda080656469746564The close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonÎºá½¹ÏƒÎ¼Îµí €editedThe close reason the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- + - +
Chop SizeCountOctets
28128
818
1841184
Total2212
Total2192

Octets Transmitted by Chop Size

@@ -282,9 +282,9 @@ Sec-WebSocket-Accept: 8tNGwdql1kPvC6eWez/QDASvdgQ=
               0x03e8cebae1bdb9cf83cebcceb5eda080656469746564
003 TX OCTETS: 881603e8cebae1bdb9cf83cebcceb5eda080656469746564
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 8896d59211cdd67adf77342fa802565cad03607fb14db0f678b9b0f6
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=22, MASKED=True, MASK=6435393231316364
-
               0x03e8cebae1bdb9cf83cebcceb5eda080656469746564
+
005 RX OCTETS: 8882d4c2760bd72a
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6434633237363062
+
               0x03e8
007 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_5_1.json b/autobahn/client/hornbeam_case_7_5_1.json index e4aab42..b3f8403 100644 --- a/autobahn/client/hornbeam_case_7_5_1.json +++ b/autobahn/client/hornbeam_case_7_5_1.json @@ -21,16 +21,16 @@ "closedByMe": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=222&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: IlD9cxc4Ul3jSiv+TNBiLw==\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: 8tNGwdql1kPvC6eWez/QDASvdgQ=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=222&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: YPhTZXosoYvsPjL5tD3n+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: OE/p8hHxTDvERTcMjqOPT3/DUko=\r\n\r\n", "id": "7.5.1", "isServer": true, "localCloseCode": 1000, "localCloseReason": "cebae1bdb9cf83cebcceb5eda080656469746564", "received": [], "remoteCloseCode": 1000, - "remoteCloseReason": "\u03ba\u1f79\u03c3\u03bc\u03b5\ud800edited", + "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, "result": "The close code should have been 1002,1007 or empty", @@ -39,10 +39,10 @@ "8": 1 }, "rxOctetStats": { - "28": 1, + "8": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.216Z", + "started": "2023-08-11T05:15:21.673Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -51,7 +51,7 @@ "24": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, @@ -101,21 +101,21 @@ [ "RO", [ - 28, - "8896d59211cdd67adf77342fa802565cad03607fb14db0f678b9b0f6" + 8, + "8882d4c2760bd72a" ] ], [ "RF", [ - 22, - "0x03e8cebae1bdb9cf83cebcceb5eda080656469746564" + 2, + "0x03e8" ], 8, true, 0, true, - "d59211cd" + "d4c2760b" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_7_1.html b/autobahn/client/hornbeam_case_7_7_1.html index 45fa30a..e2c82c5 100644 --- a/autobahn/client/hornbeam_case_7_7_1.html +++ b/autobahn/client/hornbeam_case_7_7_1.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.7.1 : Pass - 1 ms @ 2023-08-10T21:35:52.219Z

+

Hornbeam - Case 7.7.1 : Pass - 1 ms @ 2023-08-11T05:15:21.675Z

Case Description

Send close with valid close code 1000

Case Expectation

Clean close with normal or echoed 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: pN6TZlVB8urlmkOTDDpkqg== +Sec-WebSocket-Key: RGATQw7XexoDmjdaXm5stQ== 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: 2YE69rWLbtJm79FxS+KogM+uwpg=
+Sec-WebSocket-Accept: krcWBNIQ/RS+2vZ8nI0FU4WpoaQ=

Closing Behavior

@@ -282,8 +282,8 @@ Sec-WebSocket-Accept: 2YE69rWLbtJm79FxS+KogM+uwpg=
               0x03e8
003 TX OCTETS: 880203e8
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 88825f7504415c9d
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3566373530343431
+
005 RX OCTETS: 888292e21901910a
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3932653231393031
               0x03e8
007 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_7_7_1.json b/autobahn/client/hornbeam_case_7_7_1.json index 5adb285..7ff524d 100644 --- a/autobahn/client/hornbeam_case_7_7_1.json +++ b/autobahn/client/hornbeam_case_7_7_1.json @@ -22,8 +22,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=223&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: pN6TZlVB8urlmkOTDDpkqg==\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: 2YE69rWLbtJm79FxS+KogM+uwpg=\r\n\r\n", + "httpRequest": "GET /runCase?case=223&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: RGATQw7XexoDmjdaXm5stQ==\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: krcWBNIQ/RS+2vZ8nI0FU4WpoaQ=\r\n\r\n", "id": "7.7.1", "isServer": true, "localCloseCode": 1000, @@ -42,7 +42,7 @@ "8": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.219Z", + "started": "2023-08-11T05:15:21.675Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -102,7 +102,7 @@ "RO", [ 8, - "88825f7504415c9d" + "888292e21901910a" ] ], [ @@ -115,7 +115,7 @@ true, 0, true, - "5f750441" + "92e21901" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_7_10.html b/autobahn/client/hornbeam_case_7_7_10.html index 1ff2985..aa70caa 100644 --- a/autobahn/client/hornbeam_case_7_7_10.html +++ b/autobahn/client/hornbeam_case_7_7_10.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.7.10 : Pass - 1 ms @ 2023-08-10T21:35:52.251Z

+

Hornbeam - Case 7.7.10 : Pass - 4 ms @ 2023-08-11T05:15:21.733Z

Case Description

Send close with valid close code 3000

Case Expectation

Clean close with normal or echoed 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: vU56We8MQhtjg8SoWXddJw== +Sec-WebSocket-Key: xFblC0OqeginuMB6GXJHyg== 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: iYWTmTimPWXkfMesnDlFdbDLGwM=
+Sec-WebSocket-Accept: pVZ1W+QwJBOMcZRT/Z1jj6bgcSM=

Closing Behavior

@@ -241,7 +241,7 @@ Sec-WebSocket-Accept: iYWTmTimPWXkfMesnDlFdbDLGwM= - +
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode3000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode3000The close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

@@ -282,9 +282,9 @@ Sec-WebSocket-Accept: iYWTmTimPWXkfMesnDlFdbDLGwM=
               0x0bb8
003 TX OCTETS: 88020bb8
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 8882930c9d3e98b4
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3933306339643365
-
               0x0bb8
+
005 RX OCTETS: 8882b19900d2b271
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6231393930306432
+
               0x03e8
007 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_7_10.json b/autobahn/client/hornbeam_case_7_7_10.json index 2735e5b..dddc437 100644 --- a/autobahn/client/hornbeam_case_7_7_10.json +++ b/autobahn/client/hornbeam_case_7_7_10.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send close with valid close code 3000", "droppedByMe": true, - "duration": 1, + "duration": 4, "expectation": "Clean close with normal or echoed code", "expected": { "OK": [] @@ -22,14 +22,14 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=232&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: vU56We8MQhtjg8SoWXddJw==\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: iYWTmTimPWXkfMesnDlFdbDLGwM=\r\n\r\n", + "httpRequest": "GET /runCase?case=232&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: xFblC0OqeginuMB6GXJHyg==\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: pVZ1W+QwJBOMcZRT/Z1jj6bgcSM=\r\n\r\n", "id": "7.7.10", "isServer": true, "localCloseCode": 3000, "localCloseReason": null, "received": [], - "remoteCloseCode": 3000, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -42,7 +42,7 @@ "8": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.251Z", + "started": "2023-08-11T05:15:21.733Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -102,20 +102,20 @@ "RO", [ 8, - "8882930c9d3e98b4" + "8882b19900d2b271" ] ], [ "RF", [ 2, - "0x0bb8" + "0x03e8" ], 8, true, 0, true, - "930c9d3e" + "b19900d2" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_7_11.html b/autobahn/client/hornbeam_case_7_7_11.html index a9fadfe..c19d47c 100644 --- a/autobahn/client/hornbeam_case_7_7_11.html +++ b/autobahn/client/hornbeam_case_7_7_11.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.7.11 : Pass - 1 ms @ 2023-08-10T21:35:52.256Z

+

Hornbeam - Case 7.7.11 : Pass - 4 ms @ 2023-08-11T05:15:21.741Z

Case Description

Send close with valid close code 3999

Case Expectation

Clean close with normal or echoed 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: Ollg39ZbYtuTf+4YQ8ORVg== +Sec-WebSocket-Key: TqyYkuFFbR2lKGhx8AiX8Q== 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: cVefj02DxSJI9ZGplceQFtOH1KA=
+Sec-WebSocket-Accept: MiAMWwkE2GJ9uDnFbeS/KnXEq/0=

Closing Behavior

@@ -241,17 +241,16 @@ Sec-WebSocket-Accept: cVefj02DxSJI9ZGplceQFtOH1KA= - +
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode3999The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode3999The close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - + - +
Chop SizeCountOctets
111
717
818
1841184
Total3192
Total2192

Octets Transmitted by Chop Size

@@ -283,11 +282,10 @@ Sec-WebSocket-Accept: cVefj02DxSJI9ZGplceQFtOH1KA=
               0x0f9f
003 TX OCTETS: 88020f9f
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 88
-
006 RX OCTETS: 82be22d365b1bd
-
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6265323264333635
-
               0x0f9f
-
008 TCP DROPPED BY ME
+
005 RX OCTETS: 88823572ed48369a
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3335373265643438
+
               0x03e8
+
007 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_7_11.json b/autobahn/client/hornbeam_case_7_7_11.json index 71c7322..070f34b 100644 --- a/autobahn/client/hornbeam_case_7_7_11.json +++ b/autobahn/client/hornbeam_case_7_7_11.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send close with valid close code 3999", "droppedByMe": true, - "duration": 1, + "duration": 4, "expectation": "Clean close with normal or echoed code", "expected": { "OK": [] @@ -22,14 +22,14 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=233&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Ollg39ZbYtuTf+4YQ8ORVg==\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: cVefj02DxSJI9ZGplceQFtOH1KA=\r\n\r\n", + "httpRequest": "GET /runCase?case=233&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: TqyYkuFFbR2lKGhx8AiX8Q==\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: MiAMWwkE2GJ9uDnFbeS/KnXEq/0=\r\n\r\n", "id": "7.7.11", "isServer": true, "localCloseCode": 3999, "localCloseReason": null, "received": [], - "remoteCloseCode": 3999, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -39,11 +39,10 @@ "8": 1 }, "rxOctetStats": { - "1": 1, - "7": 1, + "8": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.256Z", + "started": "2023-08-11T05:15:21.741Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -102,28 +101,21 @@ [ "RO", [ - 1, - "88" - ] - ], - [ - "RO", - [ - 7, - "82be22d365b1bd" + 8, + "88823572ed48369a" ] ], [ "RF", [ 2, - "0x0f9f" + "0x03e8" ], 8, true, 0, true, - "be22d365" + "3572ed48" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_7_12.html b/autobahn/client/hornbeam_case_7_7_12.html index 2117d57..456d582 100644 --- a/autobahn/client/hornbeam_case_7_7_12.html +++ b/autobahn/client/hornbeam_case_7_7_12.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.7.12 : Pass - 1 ms @ 2023-08-10T21:35:52.259Z

+

Hornbeam - Case 7.7.12 : Pass - 4 ms @ 2023-08-11T05:15:21.749Z

Case Description

Send close with valid close code 4000

Case Expectation

Clean close with normal or echoed 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: P4S3Ar2V0sWtbOp+7W39gg== +Sec-WebSocket-Key: bvwxQBhc95l4qF8iRJk3xQ== 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: bqm08j+iCCkdT+IN7riozvI1SVw=
+Sec-WebSocket-Accept: ULeCiSHbRJvlWnuih47QVFPhXqQ=

Closing Behavior

@@ -241,16 +241,17 @@ Sec-WebSocket-Accept: bqm08j+iCCkdT+IN7riozvI1SVw= - +
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode4000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode4000The close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- + + - +
Chop SizeCountOctets
818
111
717
1841184
Total2192
Total3192

Octets Transmitted by Chop Size

@@ -282,10 +283,11 @@ Sec-WebSocket-Accept: bqm08j+iCCkdT+IN7riozvI1SVw=
               0x0fa0
003 TX OCTETS: 88020fa0
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 8882a53c25d8aa9c
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6135336332356438
-
               0x0fa0
-
007 TCP DROPPED BY ME
+
005 RX OCTETS: 88
+
006 RX OCTETS: 828b06030988ee
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3862303630333039
+
               0x03e8
+
008 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_7_12.json b/autobahn/client/hornbeam_case_7_7_12.json index 1f521fd..e4703ce 100644 --- a/autobahn/client/hornbeam_case_7_7_12.json +++ b/autobahn/client/hornbeam_case_7_7_12.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send close with valid close code 4000", "droppedByMe": true, - "duration": 1, + "duration": 4, "expectation": "Clean close with normal or echoed code", "expected": { "OK": [] @@ -22,14 +22,14 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=234&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: P4S3Ar2V0sWtbOp+7W39gg==\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: bqm08j+iCCkdT+IN7riozvI1SVw=\r\n\r\n", + "httpRequest": "GET /runCase?case=234&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: bvwxQBhc95l4qF8iRJk3xQ==\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: ULeCiSHbRJvlWnuih47QVFPhXqQ=\r\n\r\n", "id": "7.7.12", "isServer": true, "localCloseCode": 4000, "localCloseReason": null, "received": [], - "remoteCloseCode": 4000, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -39,10 +39,11 @@ "8": 1 }, "rxOctetStats": { - "8": 1, + "1": 1, + "7": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.259Z", + "started": "2023-08-11T05:15:21.749Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -101,21 +102,28 @@ [ "RO", [ - 8, - "8882a53c25d8aa9c" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "828b06030988ee" ] ], [ "RF", [ 2, - "0x0fa0" + "0x03e8" ], 8, true, 0, true, - "a53c25d8" + "8b060309" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_7_13.html b/autobahn/client/hornbeam_case_7_7_13.html index 35e9153..416f2eb 100644 --- a/autobahn/client/hornbeam_case_7_7_13.html +++ b/autobahn/client/hornbeam_case_7_7_13.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.7.13 : Pass - 2 ms @ 2023-08-10T21:35:52.261Z

+

Hornbeam - Case 7.7.13 : Pass - 4 ms @ 2023-08-11T05:15:21.757Z

Case Description

Send close with valid close code 4999

Case Expectation

Clean close with normal or echoed 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: r0445SaztG/rl1MJPB+BQQ== +Sec-WebSocket-Key: /xk4NzFnvAinJ1mhJes8sg== 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: LXP1oqjRqwwKG/yze7kF1k3MaMs=
+Sec-WebSocket-Accept: ZrOGTtGvqC2pCN4C1seGvr+KRV8=

Closing Behavior

@@ -241,16 +241,17 @@ Sec-WebSocket-Accept: LXP1oqjRqwwKG/yze7kF1k3MaMs= - +
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode4999The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode4999The close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- + + - +
Chop SizeCountOctets
818
111
717
1841184
Total2192
Total3192

Octets Transmitted by Chop Size

@@ -282,10 +283,11 @@ Sec-WebSocket-Accept: LXP1oqjRqwwKG/yze7kF1k3MaMs=
               0x1387
003 TX OCTETS: 88021387
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 8882138eaa9d0009
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3133386561613964
-
               0x1387
-
007 TCP DROPPED BY ME
+
005 RX OCTETS: 88
+
006 RX OCTETS: 8247ef28774407
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3437656632383737
+
               0x03e8
+
008 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_7_13.json b/autobahn/client/hornbeam_case_7_7_13.json index eacb38f..6f0ac7e 100644 --- a/autobahn/client/hornbeam_case_7_7_13.json +++ b/autobahn/client/hornbeam_case_7_7_13.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send close with valid close code 4999", "droppedByMe": true, - "duration": 2, + "duration": 4, "expectation": "Clean close with normal or echoed code", "expected": { "OK": [] @@ -22,14 +22,14 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=235&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: r0445SaztG/rl1MJPB+BQQ==\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: LXP1oqjRqwwKG/yze7kF1k3MaMs=\r\n\r\n", + "httpRequest": "GET /runCase?case=235&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: /xk4NzFnvAinJ1mhJes8sg==\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: ZrOGTtGvqC2pCN4C1seGvr+KRV8=\r\n\r\n", "id": "7.7.13", "isServer": true, "localCloseCode": 4999, "localCloseReason": null, "received": [], - "remoteCloseCode": 4999, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -39,10 +39,11 @@ "8": 1 }, "rxOctetStats": { - "8": 1, + "1": 1, + "7": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.261Z", + "started": "2023-08-11T05:15:21.757Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -101,21 +102,28 @@ [ "RO", [ - 8, - "8882138eaa9d0009" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "8247ef28774407" ] ], [ "RF", [ 2, - "0x1387" + "0x03e8" ], 8, true, 0, true, - "138eaa9d" + "47ef2877" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_7_2.html b/autobahn/client/hornbeam_case_7_7_2.html index 5866cc1..1b26429 100644 --- a/autobahn/client/hornbeam_case_7_7_2.html +++ b/autobahn/client/hornbeam_case_7_7_2.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.7.2 : Pass - 2 ms @ 2023-08-10T21:35:52.225Z

+

Hornbeam - Case 7.7.2 : Pass - 1 ms @ 2023-08-11T05:15:21.677Z

Case Description

Send close with valid close code 1001

Case Expectation

Clean close with normal or echoed 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: ptIlNVgdzdOh85h2ZiKwdQ== +Sec-WebSocket-Key: Sp1MWSn1CjSKbQLKp/HCUQ== 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: GPkq2d/hw2C8P8aI1M1CsXGX8Ac=
+Sec-WebSocket-Accept: kDkjmTkfuDh4DTjhp4JV99tJQ2g=

Closing Behavior

@@ -241,16 +241,17 @@ Sec-WebSocket-Accept: GPkq2d/hw2C8P8aI1M1CsXGX8Ac= - +
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1001The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode1001The close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- + + - +
Chop SizeCountOctets
818
111
717
1841184
Total2192
Total3192

Octets Transmitted by Chop Size

@@ -282,10 +283,11 @@ Sec-WebSocket-Accept: GPkq2d/hw2C8P8aI1M1CsXGX8Ac=
               0x03e9
003 TX OCTETS: 880203e9
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 888201066a6e02ef
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3031303636613665
-
               0x03e9
-
007 TCP DROPPED BY ME
+
005 RX OCTETS: 88
+
006 RX OCTETS: 82a732d3d4a4da
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6137333264336434
+
               0x03e8
+
008 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_7_2.json b/autobahn/client/hornbeam_case_7_7_2.json index b138bc5..7e7718a 100644 --- a/autobahn/client/hornbeam_case_7_7_2.json +++ b/autobahn/client/hornbeam_case_7_7_2.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send close with valid close code 1001", "droppedByMe": true, - "duration": 2, + "duration": 1, "expectation": "Clean close with normal or echoed code", "expected": { "OK": [] @@ -22,14 +22,14 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=224&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ptIlNVgdzdOh85h2ZiKwdQ==\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: GPkq2d/hw2C8P8aI1M1CsXGX8Ac=\r\n\r\n", + "httpRequest": "GET /runCase?case=224&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Sp1MWSn1CjSKbQLKp/HCUQ==\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: kDkjmTkfuDh4DTjhp4JV99tJQ2g=\r\n\r\n", "id": "7.7.2", "isServer": true, "localCloseCode": 1001, "localCloseReason": null, "received": [], - "remoteCloseCode": 1001, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -39,10 +39,11 @@ "8": 1 }, "rxOctetStats": { - "8": 1, + "1": 1, + "7": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.225Z", + "started": "2023-08-11T05:15:21.677Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -101,21 +102,28 @@ [ "RO", [ - 8, - "888201066a6e02ef" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "82a732d3d4a4da" ] ], [ "RF", [ 2, - "0x03e9" + "0x03e8" ], 8, true, 0, true, - "01066a6e" + "a732d3d4" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_7_3.html b/autobahn/client/hornbeam_case_7_7_3.html index 12502ca..a8bef4a 100644 --- a/autobahn/client/hornbeam_case_7_7_3.html +++ b/autobahn/client/hornbeam_case_7_7_3.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.7.3 : Pass - 1 ms @ 2023-08-10T21:35:52.228Z

+

Hornbeam - Case 7.7.3 : Pass - 7 ms @ 2023-08-11T05:15:21.681Z

Case Description

Send close with valid close code 1002

Case Expectation

Clean close with normal or echoed 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: tQgmUlUsYQi2A4TzMTUrzQ== +Sec-WebSocket-Key: ODY+ybmkxK700zW6ACJVIw== 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: L4XbaBr82wbPvJ2JdmSamszou18=
+Sec-WebSocket-Accept: 83Qu/wQqzMoHwdxNNqTGv3GQdUc=

Closing Behavior

@@ -241,7 +241,7 @@ Sec-WebSocket-Accept: L4XbaBr82wbPvJ2JdmSamszou18= - +
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1002The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode1002The close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

@@ -282,9 +282,9 @@ Sec-WebSocket-Accept: L4XbaBr82wbPvJ2JdmSamszou18=
               0x03ea
003 TX OCTETS: 880203ea
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 888277182bd874f2
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3737313832626438
-
               0x03ea
+
005 RX OCTETS: 8882ff11cae1fcf9
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6666313163616531
+
               0x03e8
007 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_7_3.json b/autobahn/client/hornbeam_case_7_7_3.json index 5eb5b5f..810d815 100644 --- a/autobahn/client/hornbeam_case_7_7_3.json +++ b/autobahn/client/hornbeam_case_7_7_3.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send close with valid close code 1002", "droppedByMe": true, - "duration": 1, + "duration": 7, "expectation": "Clean close with normal or echoed code", "expected": { "OK": [] @@ -22,14 +22,14 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=225&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: tQgmUlUsYQi2A4TzMTUrzQ==\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: L4XbaBr82wbPvJ2JdmSamszou18=\r\n\r\n", + "httpRequest": "GET /runCase?case=225&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ODY+ybmkxK700zW6ACJVIw==\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: 83Qu/wQqzMoHwdxNNqTGv3GQdUc=\r\n\r\n", "id": "7.7.3", "isServer": true, "localCloseCode": 1002, "localCloseReason": null, "received": [], - "remoteCloseCode": 1002, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -42,7 +42,7 @@ "8": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.228Z", + "started": "2023-08-11T05:15:21.681Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -102,20 +102,20 @@ "RO", [ 8, - "888277182bd874f2" + "8882ff11cae1fcf9" ] ], [ "RF", [ 2, - "0x03ea" + "0x03e8" ], 8, true, 0, true, - "77182bd8" + "ff11cae1" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_7_4.html b/autobahn/client/hornbeam_case_7_7_4.html index d23ab76..7e9feb6 100644 --- a/autobahn/client/hornbeam_case_7_7_4.html +++ b/autobahn/client/hornbeam_case_7_7_4.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.7.4 : Pass - 4 ms @ 2023-08-10T21:35:52.231Z

+

Hornbeam - Case 7.7.4 : Pass - 3 ms @ 2023-08-11T05:15:21.690Z

Case Description

Send close with valid close code 1003

Case Expectation

Clean close with normal or echoed 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: 5Kaiiwy7HxVAPmneHdTHZw== +Sec-WebSocket-Key: UXY7pNq9eRKE5g9a+dRbgA== 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: Z2iF2bSfqxdlPNlOEBeW3a2+B9k=
+Sec-WebSocket-Accept: wbXaalnoAlObVDbWneRFdxj9ogo=

Closing Behavior

@@ -241,7 +241,7 @@ Sec-WebSocket-Accept: Z2iF2bSfqxdlPNlOEBeW3a2+B9k= - +
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1003The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode1003The close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

@@ -282,9 +282,9 @@ Sec-WebSocket-Accept: Z2iF2bSfqxdlPNlOEBeW3a2+B9k=
               0x03eb
003 TX OCTETS: 880203eb
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 8882b79e84e8b475
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6237396538346538
-
               0x03eb
+
005 RX OCTETS: 88820e59df120db1
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3065353964663132
+
               0x03e8
007 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_7_4.json b/autobahn/client/hornbeam_case_7_7_4.json index d547b75..1eed8b4 100644 --- a/autobahn/client/hornbeam_case_7_7_4.json +++ b/autobahn/client/hornbeam_case_7_7_4.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send close with valid close code 1003", "droppedByMe": true, - "duration": 4, + "duration": 3, "expectation": "Clean close with normal or echoed code", "expected": { "OK": [] @@ -22,14 +22,14 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=226&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 5Kaiiwy7HxVAPmneHdTHZw==\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: Z2iF2bSfqxdlPNlOEBeW3a2+B9k=\r\n\r\n", + "httpRequest": "GET /runCase?case=226&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: UXY7pNq9eRKE5g9a+dRbgA==\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: wbXaalnoAlObVDbWneRFdxj9ogo=\r\n\r\n", "id": "7.7.4", "isServer": true, "localCloseCode": 1003, "localCloseReason": null, "received": [], - "remoteCloseCode": 1003, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -42,7 +42,7 @@ "8": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.231Z", + "started": "2023-08-11T05:15:21.690Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -102,20 +102,20 @@ "RO", [ 8, - "8882b79e84e8b475" + "88820e59df120db1" ] ], [ "RF", [ 2, - "0x03eb" + "0x03e8" ], 8, true, 0, true, - "b79e84e8" + "0e59df12" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_7_5.html b/autobahn/client/hornbeam_case_7_7_5.html index 6eb12db..8f39818 100644 --- a/autobahn/client/hornbeam_case_7_7_5.html +++ b/autobahn/client/hornbeam_case_7_7_5.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.7.5 : Pass - 2 ms @ 2023-08-10T21:35:52.236Z

+

Hornbeam - Case 7.7.5 : Pass - 3 ms @ 2023-08-11T05:15:21.696Z

Case Description

Send close with valid close code 1007

Case Expectation

Clean close with normal or echoed 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: 9uJIu3zcHAVsvQoU8fZr0Q== +Sec-WebSocket-Key: N9ctneZEjSi0jkvQb9rSEw== 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: CQDfEfaaEifXlzvH91FPVixSWCQ=
+Sec-WebSocket-Accept: KpaaMJm/3/rLPt0An+Lhxy+G+3M=

Closing Behavior

@@ -241,16 +241,17 @@ Sec-WebSocket-Accept: CQDfEfaaEifXlzvH91FPVixSWCQ= - +
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1007The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode1007The close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- + + - +
Chop SizeCountOctets
818
111
717
1841184
Total2192
Total3192

Octets Transmitted by Chop Size

@@ -282,10 +283,11 @@ Sec-WebSocket-Accept: CQDfEfaaEifXlzvH91FPVixSWCQ=
               0x03ef
003 TX OCTETS: 880203ef
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 888297bbf5f59454
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3937626266356635
-
               0x03ef
-
007 TCP DROPPED BY ME
+
005 RX OCTETS: 88
+
006 RX OCTETS: 821065eb87138d
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3130363565623837
+
               0x03e8
+
008 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_7_5.json b/autobahn/client/hornbeam_case_7_7_5.json index bf8e972..156a316 100644 --- a/autobahn/client/hornbeam_case_7_7_5.json +++ b/autobahn/client/hornbeam_case_7_7_5.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send close with valid close code 1007", "droppedByMe": true, - "duration": 2, + "duration": 3, "expectation": "Clean close with normal or echoed code", "expected": { "OK": [] @@ -22,14 +22,14 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=227&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 9uJIu3zcHAVsvQoU8fZr0Q==\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: CQDfEfaaEifXlzvH91FPVixSWCQ=\r\n\r\n", + "httpRequest": "GET /runCase?case=227&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: N9ctneZEjSi0jkvQb9rSEw==\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: KpaaMJm/3/rLPt0An+Lhxy+G+3M=\r\n\r\n", "id": "7.7.5", "isServer": true, "localCloseCode": 1007, "localCloseReason": null, "received": [], - "remoteCloseCode": 1007, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -39,10 +39,11 @@ "8": 1 }, "rxOctetStats": { - "8": 1, + "1": 1, + "7": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.236Z", + "started": "2023-08-11T05:15:21.696Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -101,21 +102,28 @@ [ "RO", [ - 8, - "888297bbf5f59454" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "821065eb87138d" ] ], [ "RF", [ 2, - "0x03ef" + "0x03e8" ], 8, true, 0, true, - "97bbf5f5" + "1065eb87" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_7_6.html b/autobahn/client/hornbeam_case_7_7_6.html index 0be1a51..66d00e3 100644 --- a/autobahn/client/hornbeam_case_7_7_6.html +++ b/autobahn/client/hornbeam_case_7_7_6.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.7.6 : Pass - 1 ms @ 2023-08-10T21:35:52.239Z

+

Hornbeam - Case 7.7.6 : Pass - 4 ms @ 2023-08-11T05:15:21.702Z

Case Description

Send close with valid close code 1008

Case Expectation

Clean close with normal or echoed 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: Vk0tec6f0MkAiCuB9yHInQ== +Sec-WebSocket-Key: WGywDbuCVzbbnYqFFavXHA== 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: 2x3TYihx9zSc14KN9m69PApyQUY=
+Sec-WebSocket-Accept: NjiH8CA+/VBQwFpg6+feXLcxAmc=

Closing Behavior

@@ -241,17 +241,16 @@ Sec-WebSocket-Accept: 2x3TYihx9zSc14KN9m69PApyQUY= - +
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1008The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode1008The close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- - + - +
Chop SizeCountOctets
111
717
818
1841184
Total3192
Total2192

Octets Transmitted by Chop Size

@@ -283,11 +282,10 @@ Sec-WebSocket-Accept: 2x3TYihx9zSc14KN9m69PApyQUY=
               0x03f0
003 TX OCTETS: 880203f0
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 88
-
006 RX OCTETS: 82b49d3d1eb76d
-
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6234396433643165
-
               0x03f0
-
008 TCP DROPPED BY ME
+
005 RX OCTETS: 88826316d95860fe
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3633313664393538
+
               0x03e8
+
007 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_7_6.json b/autobahn/client/hornbeam_case_7_7_6.json index ef17ef5..6c41211 100644 --- a/autobahn/client/hornbeam_case_7_7_6.json +++ b/autobahn/client/hornbeam_case_7_7_6.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send close with valid close code 1008", "droppedByMe": true, - "duration": 1, + "duration": 4, "expectation": "Clean close with normal or echoed code", "expected": { "OK": [] @@ -22,14 +22,14 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=228&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Vk0tec6f0MkAiCuB9yHInQ==\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: 2x3TYihx9zSc14KN9m69PApyQUY=\r\n\r\n", + "httpRequest": "GET /runCase?case=228&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: WGywDbuCVzbbnYqFFavXHA==\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: NjiH8CA+/VBQwFpg6+feXLcxAmc=\r\n\r\n", "id": "7.7.6", "isServer": true, "localCloseCode": 1008, "localCloseReason": null, "received": [], - "remoteCloseCode": 1008, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -39,11 +39,10 @@ "8": 1 }, "rxOctetStats": { - "1": 1, - "7": 1, + "8": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.239Z", + "started": "2023-08-11T05:15:21.702Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -102,28 +101,21 @@ [ "RO", [ - 1, - "88" - ] - ], - [ - "RO", - [ - 7, - "82b49d3d1eb76d" + 8, + "88826316d95860fe" ] ], [ "RF", [ 2, - "0x03f0" + "0x03e8" ], 8, true, 0, true, - "b49d3d1e" + "6316d958" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_7_7.html b/autobahn/client/hornbeam_case_7_7_7.html index 3b6af26..dd42e84 100644 --- a/autobahn/client/hornbeam_case_7_7_7.html +++ b/autobahn/client/hornbeam_case_7_7_7.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.7.7 : Pass - 1 ms @ 2023-08-10T21:35:52.242Z

+

Hornbeam - Case 7.7.7 : Pass - 8 ms @ 2023-08-11T05:15:21.710Z

Case Description

Send close with valid close code 1009

Case Expectation

Clean close with normal or echoed 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: afcE4+qLhaRTYJ8nVXDojw== +Sec-WebSocket-Key: wuLZHR5ypss5wKqIJ7/Xew== 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: MvVidRqZiyDHvWmuapmAQqDgD8Y=
+Sec-WebSocket-Accept: j7+h80WmR5I5om6O1XAoq7gg7qM=

Closing Behavior

@@ -241,7 +241,7 @@ Sec-WebSocket-Accept: MvVidRqZiyDHvWmuapmAQqDgD8Y= - +
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1009The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode1009The close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

@@ -282,9 +282,9 @@ Sec-WebSocket-Accept: MvVidRqZiyDHvWmuapmAQqDgD8Y=
               0x03f1
003 TX OCTETS: 880203f1
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 888225b6e8c92647
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3235623665386339
-
               0x03f1
+
005 RX OCTETS: 88826ddd4ef36e35
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3664646434656633
+
               0x03e8
007 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_7_7.json b/autobahn/client/hornbeam_case_7_7_7.json index 78dd335..62c6d53 100644 --- a/autobahn/client/hornbeam_case_7_7_7.json +++ b/autobahn/client/hornbeam_case_7_7_7.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send close with valid close code 1009", "droppedByMe": true, - "duration": 1, + "duration": 8, "expectation": "Clean close with normal or echoed code", "expected": { "OK": [] @@ -22,14 +22,14 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=229&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: afcE4+qLhaRTYJ8nVXDojw==\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: MvVidRqZiyDHvWmuapmAQqDgD8Y=\r\n\r\n", + "httpRequest": "GET /runCase?case=229&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: wuLZHR5ypss5wKqIJ7/Xew==\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: j7+h80WmR5I5om6O1XAoq7gg7qM=\r\n\r\n", "id": "7.7.7", "isServer": true, "localCloseCode": 1009, "localCloseReason": null, "received": [], - "remoteCloseCode": 1009, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -42,7 +42,7 @@ "8": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.242Z", + "started": "2023-08-11T05:15:21.710Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -102,20 +102,20 @@ "RO", [ 8, - "888225b6e8c92647" + "88826ddd4ef36e35" ] ], [ "RF", [ 2, - "0x03f1" + "0x03e8" ], 8, true, 0, true, - "25b6e8c9" + "6ddd4ef3" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_7_8.html b/autobahn/client/hornbeam_case_7_7_8.html index 50f22c1..a0abdc8 100644 --- a/autobahn/client/hornbeam_case_7_7_8.html +++ b/autobahn/client/hornbeam_case_7_7_8.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.7.8 : Pass - 3 ms @ 2023-08-10T21:35:52.245Z

+

Hornbeam - Case 7.7.8 : Pass - 3 ms @ 2023-08-11T05:15:21.720Z

Case Description

Send close with valid close code 1010

Case Expectation

Clean close with normal or echoed 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: rFsW1qzI+m/XGH5Xj80Oww== +Sec-WebSocket-Key: lXWcEE5oTfrTy6usVSZoSA== 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: 3LgMx+xgMmzfcqlC8oUqxDhCpVc=
+Sec-WebSocket-Accept: bFR1zdPW98zbFSLU5n8cVnvCs9Q=

Closing Behavior

@@ -241,16 +241,17 @@ Sec-WebSocket-Accept: 3LgMx+xgMmzfcqlC8oUqxDhCpVc= - +
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1010The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode1010The close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- + + - +
Chop SizeCountOctets
818
111
717
1841184
Total2192
Total3192

Octets Transmitted by Chop Size

@@ -282,10 +283,11 @@ Sec-WebSocket-Accept: 3LgMx+xgMmzfcqlC8oUqxDhCpVc=
               0x03f2
003 TX OCTETS: 880203f2
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 8882afaddd91ac5f
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6166616464643931
-
               0x03f2
-
007 TCP DROPPED BY ME
+
005 RX OCTETS: 88
+
006 RX OCTETS: 82e4d77f90e73f
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6534643737663930
+
               0x03e8
+
008 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_7_8.json b/autobahn/client/hornbeam_case_7_7_8.json index 7dabb8c..2ea2584 100644 --- a/autobahn/client/hornbeam_case_7_7_8.json +++ b/autobahn/client/hornbeam_case_7_7_8.json @@ -22,14 +22,14 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=230&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: rFsW1qzI+m/XGH5Xj80Oww==\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: 3LgMx+xgMmzfcqlC8oUqxDhCpVc=\r\n\r\n", + "httpRequest": "GET /runCase?case=230&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: lXWcEE5oTfrTy6usVSZoSA==\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: bFR1zdPW98zbFSLU5n8cVnvCs9Q=\r\n\r\n", "id": "7.7.8", "isServer": true, "localCloseCode": 1010, "localCloseReason": null, "received": [], - "remoteCloseCode": 1010, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -39,10 +39,11 @@ "8": 1 }, "rxOctetStats": { - "8": 1, + "1": 1, + "7": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.245Z", + "started": "2023-08-11T05:15:21.720Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -101,21 +102,28 @@ [ "RO", [ - 8, - "8882afaddd91ac5f" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "82e4d77f90e73f" ] ], [ "RF", [ 2, - "0x03f2" + "0x03e8" ], 8, true, 0, true, - "afaddd91" + "e4d77f90" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_7_9.html b/autobahn/client/hornbeam_case_7_7_9.html index fce71b3..9c61ca5 100644 --- a/autobahn/client/hornbeam_case_7_7_9.html +++ b/autobahn/client/hornbeam_case_7_7_9.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.7.9 : Pass - 1 ms @ 2023-08-10T21:35:52.249Z

+

Hornbeam - Case 7.7.9 : Pass - 3 ms @ 2023-08-11T05:15:21.726Z

Case Description

Send close with valid close code 1011

Case Expectation

Clean close with normal or echoed 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: gq+x4nK95w4sSxdlfYyHJQ== +Sec-WebSocket-Key: agfTXsTkM9NTh6edfYKGMw== 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: 0Oa51dwBoGimjfroOp1fd8vismQ=
+Sec-WebSocket-Accept: Qhk3QBQPonCklT+mX9EyAnBrilY=

Closing Behavior

@@ -241,7 +241,7 @@ Sec-WebSocket-Accept: 0Oa51dwBoGimjfroOp1fd8vismQ= - +
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1011The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode1011The close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

@@ -282,9 +282,9 @@ Sec-WebSocket-Accept: 0Oa51dwBoGimjfroOp1fd8vismQ=
               0x03f3
003 TX OCTETS: 880203f3
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 8882468ffe43457c
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3436386666653433
-
               0x03f3
+
005 RX OCTETS: 888287844483846c
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3837383434343833
+
               0x03e8
007 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_7_9.json b/autobahn/client/hornbeam_case_7_7_9.json index 6a6ef36..49c1c8d 100644 --- a/autobahn/client/hornbeam_case_7_7_9.json +++ b/autobahn/client/hornbeam_case_7_7_9.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send close with valid close code 1011", "droppedByMe": true, - "duration": 1, + "duration": 3, "expectation": "Clean close with normal or echoed code", "expected": { "OK": [] @@ -22,14 +22,14 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=231&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: gq+x4nK95w4sSxdlfYyHJQ==\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: 0Oa51dwBoGimjfroOp1fd8vismQ=\r\n\r\n", + "httpRequest": "GET /runCase?case=231&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: agfTXsTkM9NTh6edfYKGMw==\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: Qhk3QBQPonCklT+mX9EyAnBrilY=\r\n\r\n", "id": "7.7.9", "isServer": true, "localCloseCode": 1011, "localCloseReason": null, "received": [], - "remoteCloseCode": 1011, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -42,7 +42,7 @@ "8": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.249Z", + "started": "2023-08-11T05:15:21.726Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -102,20 +102,20 @@ "RO", [ 8, - "8882468ffe43457c" + "888287844483846c" ] ], [ "RF", [ 2, - "0x03f3" + "0x03e8" ], 8, true, 0, true, - "468ffe43" + "87844483" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_9_1.html b/autobahn/client/hornbeam_case_7_9_1.html index 3d9c8bf..d555ca1 100644 --- a/autobahn/client/hornbeam_case_7_9_1.html +++ b/autobahn/client/hornbeam_case_7_9_1.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.9.1 : Fail - 1 ms @ 2023-08-10T21:35:52.264Z

+

Hornbeam - Case 7.9.1 : Fail - 1 ms @ 2023-08-11T05:15:21.765Z

Case Description

Send close with invalid close code 0

Case Expectation

Clean close with protocol error code or drop TCP

@@ -218,39 +218,40 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000; Host: localhost:9001 Upgrade: websocket Connection: upgrade -Sec-WebSocket-Key: +D2oX+2yqNXrvi/M3Leoxw== +Sec-WebSocket-Key: Yu1N7tsFGhF34R1REQxkHQ== 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: R1Hz7EewaAMviurhyrdcrcuN4NE=
+Sec-WebSocket-Accept: AZ1tUSPLRGWcaeMpGnjdF9nMTms=

Closing Behavior

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


Wire Statistics

Octets Received by Chop Size

- + + - +
Chop SizeCountOctets
818
111
717
1841184
Total2192
Total3192

Octets Transmitted by Chop Size

@@ -282,10 +283,11 @@ Sec-WebSocket-Accept: R1Hz7EewaAMviurhyrdcrcuN4NE=
               
003 TX OCTETS: 88020000
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 88821a12502f1a12
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3161313235303266
-
               
-
007 TCP DROPPED BY ME
+
005 RX OCTETS: 88
+
006 RX OCTETS: 82501e499053f6
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3530316534393930
+
               0x03e8
+
008 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_9_1.json b/autobahn/client/hornbeam_case_7_9_1.json index f214f38..966b0d0 100644 --- a/autobahn/client/hornbeam_case_7_9_1.json +++ b/autobahn/client/hornbeam_case_7_9_1.json @@ -20,15 +20,15 @@ "closedByMe": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=236&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: +D2oX+2yqNXrvi/M3Leoxw==\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: R1Hz7EewaAMviurhyrdcrcuN4NE=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=236&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Yu1N7tsFGhF34R1REQxkHQ==\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: AZ1tUSPLRGWcaeMpGnjdF9nMTms=\r\n\r\n", "id": "7.9.1", "isServer": true, "localCloseCode": 0, "localCloseReason": null, "received": [], - "remoteCloseCode": 0, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -38,10 +38,11 @@ "8": 1 }, "rxOctetStats": { - "8": 1, + "1": 1, + "7": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.264Z", + "started": "2023-08-11T05:15:21.765Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -50,7 +51,7 @@ "4": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, @@ -100,21 +101,28 @@ [ "RO", [ - 8, - "88821a12502f1a12" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "82501e499053f6" ] ], [ "RF", [ 2, - "\u0000\u0000" + "0x03e8" ], 8, true, 0, true, - "1a12502f" + "501e4990" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_9_2.html b/autobahn/client/hornbeam_case_7_9_2.html index e5da9b3..919f2c8 100644 --- a/autobahn/client/hornbeam_case_7_9_2.html +++ b/autobahn/client/hornbeam_case_7_9_2.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.9.2 : Fail - 2 ms @ 2023-08-10T21:35:52.268Z

+

Hornbeam - Case 7.9.2 : Fail - 1 ms @ 2023-08-11T05:15:21.768Z

Case Description

Send close with invalid close code 999

Case Expectation

Clean close with protocol error code or drop TCP

@@ -218,39 +218,40 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000; Host: localhost:9001 Upgrade: websocket Connection: upgrade -Sec-WebSocket-Key: hVhHFwcPiT0/MbjMQPEX0A== +Sec-WebSocket-Key: H20eHOkvjJAeTuCIysA3oA== 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: EoX8Bf2d9xpHX74cig26Gu67FNk=
+Sec-WebSocket-Accept: xnxkQW2+6VMRE8s2dqYYpV0SVkE=

Closing Behavior

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


Wire Statistics

Octets Received by Chop Size

- + + - +
Chop SizeCountOctets
818
111
717
1841184
Total2192
Total3192

Octets Transmitted by Chop Size

@@ -282,10 +283,11 @@ Sec-WebSocket-Accept: EoX8Bf2d9xpHX74cig26Gu67FNk=
               0x03e7
003 TX OCTETS: 880203e7
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 8882deced62ddd29
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6465636564363264
-
               0x03e7
-
007 TCP DROPPED BY ME
+
005 RX OCTETS: 88
+
006 RX OCTETS: 82ed72d231ee9a
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6564373264323331
+
               0x03e8
+
008 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_9_2.json b/autobahn/client/hornbeam_case_7_9_2.json index 6ed2fa8..1229ec2 100644 --- a/autobahn/client/hornbeam_case_7_9_2.json +++ b/autobahn/client/hornbeam_case_7_9_2.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send close with invalid close code 999", "droppedByMe": true, - "duration": 2, + "duration": 1, "expectation": "Clean close with protocol error code or drop TCP", "expected": { "OK": [] @@ -20,15 +20,15 @@ "closedByMe": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=237&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: hVhHFwcPiT0/MbjMQPEX0A==\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: EoX8Bf2d9xpHX74cig26Gu67FNk=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=237&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: H20eHOkvjJAeTuCIysA3oA==\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: xnxkQW2+6VMRE8s2dqYYpV0SVkE=\r\n\r\n", "id": "7.9.2", "isServer": true, "localCloseCode": 999, "localCloseReason": null, "received": [], - "remoteCloseCode": 999, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -38,10 +38,11 @@ "8": 1 }, "rxOctetStats": { - "8": 1, + "1": 1, + "7": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.268Z", + "started": "2023-08-11T05:15:21.768Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -50,7 +51,7 @@ "4": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, @@ -100,21 +101,28 @@ [ "RO", [ - 8, - "8882deced62ddd29" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "82ed72d231ee9a" ] ], [ "RF", [ 2, - "0x03e7" + "0x03e8" ], 8, true, 0, true, - "deced62d" + "ed72d231" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_9_3.html b/autobahn/client/hornbeam_case_7_9_3.html index 88f84cd..0ab8104 100644 --- a/autobahn/client/hornbeam_case_7_9_3.html +++ b/autobahn/client/hornbeam_case_7_9_3.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.9.3 : Fail - 2 ms @ 2023-08-10T21:35:52.270Z

+

Hornbeam - Case 7.9.3 : Fail - 1 ms @ 2023-08-11T05:15:21.771Z

Case Description

Send close with invalid close code 1004

Case Expectation

Clean close with protocol error code or drop TCP

@@ -218,30 +218,30 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000; Host: localhost:9001 Upgrade: websocket Connection: upgrade -Sec-WebSocket-Key: FGh6nZ7tOdna0+k4ogGL0Q== +Sec-WebSocket-Key: LSSu1sZqo8d204mE8mEAZQ== 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: VKLedpOrEJcz33brT4+C1FssjIg=
+Sec-WebSocket-Accept: RqIn40CmdMWey7PlLgGRGW/Vd7Q=

Closing Behavior

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


Wire Statistics

@@ -282,9 +282,9 @@ Sec-WebSocket-Accept: VKLedpOrEJcz33brT4+C1FssjIg=
               0x03ec
003 TX OCTETS: 880203ec
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 88823183cf0c326f
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3331383363663063
-
               0x03ec
+
005 RX OCTETS: 888218495bc41ba1
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3138343935626334
+
               0x03e8
007 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_9_3.json b/autobahn/client/hornbeam_case_7_9_3.json index c2940c4..ba5e971 100644 --- a/autobahn/client/hornbeam_case_7_9_3.json +++ b/autobahn/client/hornbeam_case_7_9_3.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send close with invalid close code 1004", "droppedByMe": true, - "duration": 2, + "duration": 1, "expectation": "Clean close with protocol error code or drop TCP", "expected": { "OK": [] @@ -20,15 +20,15 @@ "closedByMe": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=238&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: FGh6nZ7tOdna0+k4ogGL0Q==\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: VKLedpOrEJcz33brT4+C1FssjIg=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=238&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: LSSu1sZqo8d204mE8mEAZQ==\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: RqIn40CmdMWey7PlLgGRGW/Vd7Q=\r\n\r\n", "id": "7.9.3", "isServer": true, "localCloseCode": 1004, "localCloseReason": null, "received": [], - "remoteCloseCode": 1004, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -41,7 +41,7 @@ "8": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.270Z", + "started": "2023-08-11T05:15:21.771Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -50,7 +50,7 @@ "4": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, @@ -101,20 +101,20 @@ "RO", [ 8, - "88823183cf0c326f" + "888218495bc41ba1" ] ], [ "RF", [ 2, - "0x03ec" + "0x03e8" ], 8, true, 0, true, - "3183cf0c" + "18495bc4" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_9_4.html b/autobahn/client/hornbeam_case_7_9_4.html index 17efe9d..9e5a265 100644 --- a/autobahn/client/hornbeam_case_7_9_4.html +++ b/autobahn/client/hornbeam_case_7_9_4.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.9.4 : Fail - 2 ms @ 2023-08-10T21:35:52.273Z

+

Hornbeam - Case 7.9.4 : Fail - 1 ms @ 2023-08-11T05:15:21.773Z

Case Description

Send close with invalid close code 1005

Case Expectation

Clean close with protocol error code or drop TCP

@@ -218,30 +218,30 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000; Host: localhost:9001 Upgrade: websocket Connection: upgrade -Sec-WebSocket-Key: c+453PA81+vU+cY3UXUSvw== +Sec-WebSocket-Key: 5MavWyU0peuGSwNhgwgYOA== 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: a0Swc/bpNvIgkjDCMm6zjbGOCss=
+Sec-WebSocket-Accept: yjyV6zyHDTa8uGIWt2+rmmMH+tk=

Closing Behavior

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


Wire Statistics

@@ -282,9 +282,9 @@ Sec-WebSocket-Accept: a0Swc/bpNvIgkjDCMm6zjbGOCss=
               0x03ed
003 TX OCTETS: 880203ed
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 8882edf7cbb9ee1a
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6564663763626239
-
               0x03ed
+
005 RX OCTETS: 88825497f212577f
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3534393766323132
+
               0x03e8
007 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_9_4.json b/autobahn/client/hornbeam_case_7_9_4.json index 6ac348c..270b18c 100644 --- a/autobahn/client/hornbeam_case_7_9_4.json +++ b/autobahn/client/hornbeam_case_7_9_4.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send close with invalid close code 1005", "droppedByMe": true, - "duration": 2, + "duration": 1, "expectation": "Clean close with protocol error code or drop TCP", "expected": { "OK": [] @@ -20,15 +20,15 @@ "closedByMe": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=239&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: c+453PA81+vU+cY3UXUSvw==\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: a0Swc/bpNvIgkjDCMm6zjbGOCss=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=239&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 5MavWyU0peuGSwNhgwgYOA==\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: yjyV6zyHDTa8uGIWt2+rmmMH+tk=\r\n\r\n", "id": "7.9.4", "isServer": true, "localCloseCode": 1005, "localCloseReason": null, "received": [], - "remoteCloseCode": 1005, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -41,7 +41,7 @@ "8": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.273Z", + "started": "2023-08-11T05:15:21.773Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -50,7 +50,7 @@ "4": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, @@ -101,20 +101,20 @@ "RO", [ 8, - "8882edf7cbb9ee1a" + "88825497f212577f" ] ], [ "RF", [ 2, - "0x03ed" + "0x03e8" ], 8, true, 0, true, - "edf7cbb9" + "5497f212" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_9_5.html b/autobahn/client/hornbeam_case_7_9_5.html index 9a1be44..ff2ea79 100644 --- a/autobahn/client/hornbeam_case_7_9_5.html +++ b/autobahn/client/hornbeam_case_7_9_5.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.9.5 : Fail - 6 ms @ 2023-08-10T21:35:52.276Z

+

Hornbeam - Case 7.9.5 : Fail - 2 ms @ 2023-08-11T05:15:21.776Z

Case Description

Send close with invalid close code 1006

Case Expectation

Clean close with protocol error code or drop TCP

@@ -218,30 +218,30 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000; Host: localhost:9001 Upgrade: websocket Connection: upgrade -Sec-WebSocket-Key: utRVauK3BrKpmmvMvjmr6g== +Sec-WebSocket-Key: z6sg+4dFHHFBnDjPCGZlVA== 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: vH7Gj2lj04JSmv1lUeyNDdxSR2M=
+Sec-WebSocket-Accept: 2EDwtmJFbeo+P9cPrTgokcLFsCc=

Closing Behavior

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


Wire Statistics

@@ -282,9 +282,9 @@ Sec-WebSocket-Accept: vH7Gj2lj04JSmv1lUeyNDdxSR2M=
               0x03ee
003 TX OCTETS: 880203ee
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 8882bbfc15f8b812
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6262666331356638
-
               0x03ee
+
005 RX OCTETS: 8882276c30502484
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3237366333303530
+
               0x03e8
007 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_9_5.json b/autobahn/client/hornbeam_case_7_9_5.json index 0ff7a31..4568fe7 100644 --- a/autobahn/client/hornbeam_case_7_9_5.json +++ b/autobahn/client/hornbeam_case_7_9_5.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send close with invalid close code 1006", "droppedByMe": true, - "duration": 6, + "duration": 2, "expectation": "Clean close with protocol error code or drop TCP", "expected": { "OK": [] @@ -20,15 +20,15 @@ "closedByMe": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=240&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: utRVauK3BrKpmmvMvjmr6g==\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: vH7Gj2lj04JSmv1lUeyNDdxSR2M=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=240&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: z6sg+4dFHHFBnDjPCGZlVA==\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: 2EDwtmJFbeo+P9cPrTgokcLFsCc=\r\n\r\n", "id": "7.9.5", "isServer": true, "localCloseCode": 1006, "localCloseReason": null, "received": [], - "remoteCloseCode": 1006, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -41,7 +41,7 @@ "8": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.276Z", + "started": "2023-08-11T05:15:21.776Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -50,7 +50,7 @@ "4": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, @@ -101,20 +101,20 @@ "RO", [ 8, - "8882bbfc15f8b812" + "8882276c30502484" ] ], [ "RF", [ 2, - "0x03ee" + "0x03e8" ], 8, true, 0, true, - "bbfc15f8" + "276c3050" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_9_6.html b/autobahn/client/hornbeam_case_7_9_6.html index 4c9724d..b110628 100644 --- a/autobahn/client/hornbeam_case_7_9_6.html +++ b/autobahn/client/hornbeam_case_7_9_6.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.9.6 : Fail - 3 ms @ 2023-08-10T21:35:52.283Z

+

Hornbeam - Case 7.9.6 : Fail - 2 ms @ 2023-08-11T05:15:21.780Z

Case Description

Send close with invalid close code 1016

Case Expectation

Clean close with protocol error code or drop TCP

@@ -218,39 +218,40 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000; Host: localhost:9001 Upgrade: websocket Connection: upgrade -Sec-WebSocket-Key: ytBC/QxiJiGXuoqms42NDA== +Sec-WebSocket-Key: kB2PAR7hBywe3bXmvcjUbw== 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: w7uC5zwyDoDuOnpZ7otZkBp9FMk=
+Sec-WebSocket-Accept: 4L8uP0FDImXXkHu2pSYb1Zsxz3U=

Closing Behavior

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


Wire Statistics

Octets Received by Chop Size

- + + - +
Chop SizeCountOctets
818
111
717
1841184
Total2192
Total3192

Octets Transmitted by Chop Size

@@ -282,10 +283,11 @@ Sec-WebSocket-Accept: w7uC5zwyDoDuOnpZ7otZkBp9FMk=
               0x03f8
003 TX OCTETS: 880203f8
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 88824b096f0d48f1
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3462303936663064
-
               0x03f8
-
007 TCP DROPPED BY ME
+
005 RX OCTETS: 88
+
006 RX OCTETS: 82f5539546f6bb
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6635353339353436
+
               0x03e8
+
008 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_9_6.json b/autobahn/client/hornbeam_case_7_9_6.json index 0c6a707..ce82bb9 100644 --- a/autobahn/client/hornbeam_case_7_9_6.json +++ b/autobahn/client/hornbeam_case_7_9_6.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send close with invalid close code 1016", "droppedByMe": true, - "duration": 3, + "duration": 2, "expectation": "Clean close with protocol error code or drop TCP", "expected": { "OK": [] @@ -20,15 +20,15 @@ "closedByMe": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=241&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ytBC/QxiJiGXuoqms42NDA==\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: w7uC5zwyDoDuOnpZ7otZkBp9FMk=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=241&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: kB2PAR7hBywe3bXmvcjUbw==\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: 4L8uP0FDImXXkHu2pSYb1Zsxz3U=\r\n\r\n", "id": "7.9.6", "isServer": true, "localCloseCode": 1016, "localCloseReason": null, "received": [], - "remoteCloseCode": 1016, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -38,10 +38,11 @@ "8": 1 }, "rxOctetStats": { - "8": 1, + "1": 1, + "7": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.283Z", + "started": "2023-08-11T05:15:21.780Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -50,7 +51,7 @@ "4": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, @@ -100,21 +101,28 @@ [ "RO", [ - 8, - "88824b096f0d48f1" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "82f5539546f6bb" ] ], [ "RF", [ 2, - "0x03f8" + "0x03e8" ], 8, true, 0, true, - "4b096f0d" + "f5539546" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_9_7.html b/autobahn/client/hornbeam_case_7_9_7.html index dcbb933..d653f6e 100644 --- a/autobahn/client/hornbeam_case_7_9_7.html +++ b/autobahn/client/hornbeam_case_7_9_7.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.9.7 : Fail - 1 ms @ 2023-08-10T21:35:52.287Z

+

Hornbeam - Case 7.9.7 : Fail - 1 ms @ 2023-08-11T05:15:21.784Z

Case Description

Send close with invalid close code 1100

Case Expectation

Clean close with protocol error code or drop TCP

@@ -218,30 +218,30 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000; Host: localhost:9001 Upgrade: websocket Connection: upgrade -Sec-WebSocket-Key: jWdySa6MXmjnguqRDjjf8Q== +Sec-WebSocket-Key: Bi7K6dP0nNV4uLu8++fLZg== 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: TfsRQWfZ7dL0FJ1elQ36dIPGy1s=
+Sec-WebSocket-Accept: obj+OZj8q8XkfH+MXjZGfaW8Nrk=

Closing Behavior

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


Wire Statistics

@@ -282,9 +282,9 @@ Sec-WebSocket-Accept: TfsRQWfZ7dL0FJ1elQ36dIPGy1s=
               L
003 TX OCTETS: 8802044c
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 88829be139c89fad
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3962653133396338
-
               L
+
005 RX OCTETS: 8882b6f017f8b518
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6236663031376638
+
               0x03e8
007 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_9_7.json b/autobahn/client/hornbeam_case_7_9_7.json index 13b4b84..3fa7e98 100644 --- a/autobahn/client/hornbeam_case_7_9_7.json +++ b/autobahn/client/hornbeam_case_7_9_7.json @@ -20,15 +20,15 @@ "closedByMe": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=242&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: jWdySa6MXmjnguqRDjjf8Q==\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: TfsRQWfZ7dL0FJ1elQ36dIPGy1s=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=242&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Bi7K6dP0nNV4uLu8++fLZg==\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: obj+OZj8q8XkfH+MXjZGfaW8Nrk=\r\n\r\n", "id": "7.9.7", "isServer": true, "localCloseCode": 1100, "localCloseReason": null, "received": [], - "remoteCloseCode": 1100, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -41,7 +41,7 @@ "8": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.287Z", + "started": "2023-08-11T05:15:21.784Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -50,7 +50,7 @@ "4": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, @@ -101,20 +101,20 @@ "RO", [ 8, - "88829be139c89fad" + "8882b6f017f8b518" ] ], [ "RF", [ 2, - "\u0004L" + "0x03e8" ], 8, true, 0, true, - "9be139c8" + "b6f017f8" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_9_8.html b/autobahn/client/hornbeam_case_7_9_8.html index a17a6d3..a2c6755 100644 --- a/autobahn/client/hornbeam_case_7_9_8.html +++ b/autobahn/client/hornbeam_case_7_9_8.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.9.8 : Fail - 1 ms @ 2023-08-10T21:35:52.289Z

+

Hornbeam - Case 7.9.8 : Fail - 1 ms @ 2023-08-11T05:15:21.787Z

Case Description

Send close with invalid close code 2000

Case Expectation

Clean close with protocol error code or drop TCP

@@ -218,39 +218,40 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000; Host: localhost:9001 Upgrade: websocket Connection: upgrade -Sec-WebSocket-Key: B4+zYKGzFw7VfNm9fGeA9A== +Sec-WebSocket-Key: 1gv+I+Q6pB5Gxol8MjWkAQ== 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: PbZYJLCUgpPWQzQDv1wx8ot8sP4=
+Sec-WebSocket-Accept: EElT376qP9NtBFVjJw0FIgp9LAg=

Closing Behavior

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


Wire Statistics

Octets Received by Chop Size

- + + - +
Chop SizeCountOctets
818
111
717
1841184
Total2192
Total3192

Octets Transmitted by Chop Size

@@ -282,10 +283,11 @@ Sec-WebSocket-Accept: PbZYJLCUgpPWQzQDv1wx8ot8sP4=
               0x07d0
003 TX OCTETS: 880207d0
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 8882a4b17c3fa361
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6134623137633366
-
               0x07d0
-
007 TCP DROPPED BY ME
+
005 RX OCTETS: 88
+
006 RX OCTETS: 82bd50b94dbeb8
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6264353062393464
+
               0x03e8
+
008 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_9_8.json b/autobahn/client/hornbeam_case_7_9_8.json index 91f8b66..fdfd74b 100644 --- a/autobahn/client/hornbeam_case_7_9_8.json +++ b/autobahn/client/hornbeam_case_7_9_8.json @@ -20,15 +20,15 @@ "closedByMe": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=243&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: B4+zYKGzFw7VfNm9fGeA9A==\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: PbZYJLCUgpPWQzQDv1wx8ot8sP4=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=243&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 1gv+I+Q6pB5Gxol8MjWkAQ==\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: EElT376qP9NtBFVjJw0FIgp9LAg=\r\n\r\n", "id": "7.9.8", "isServer": true, "localCloseCode": 2000, "localCloseReason": null, "received": [], - "remoteCloseCode": 2000, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -38,10 +38,11 @@ "8": 1 }, "rxOctetStats": { - "8": 1, + "1": 1, + "7": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.289Z", + "started": "2023-08-11T05:15:21.787Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -50,7 +51,7 @@ "4": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, @@ -100,21 +101,28 @@ [ "RO", [ - 8, - "8882a4b17c3fa361" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "82bd50b94dbeb8" ] ], [ "RF", [ 2, - "0x07d0" + "0x03e8" ], 8, true, 0, true, - "a4b17c3f" + "bd50b94d" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_7_9_9.html b/autobahn/client/hornbeam_case_7_9_9.html index 0b5d2e8..dff9e8d 100644 --- a/autobahn/client/hornbeam_case_7_9_9.html +++ b/autobahn/client/hornbeam_case_7_9_9.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 7.9.9 : Fail - 2 ms @ 2023-08-10T21:35:52.292Z

+

Hornbeam - Case 7.9.9 : Fail - 1 ms @ 2023-08-11T05:15:21.789Z

Case Description

Send close with invalid close code 2999

Case Expectation

Clean close with protocol error code or drop TCP

@@ -218,40 +218,39 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000; Host: localhost:9001 Upgrade: websocket Connection: upgrade -Sec-WebSocket-Key: Eun5uLfZenf74rP3ziRCXQ== +Sec-WebSocket-Key: EMkcyOh2mikTdEZbbKiRMA== 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: HFyrQ32G5yAoSaoOeluKY37RPxY=
+Sec-WebSocket-Accept: FAF0sEhSPUDJqdIE5P/vbJ/efKM=

Closing Behavior

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


Wire Statistics

Octets Received by Chop Size

- - + - +
Chop SizeCountOctets
111
717
818
1841184
Total3192
Total2192

Octets Transmitted by Chop Size

@@ -283,11 +282,10 @@ Sec-WebSocket-Accept: HFyrQ32G5yAoSaoOeluKY37RPxY=
               0x0bb7
003 TX OCTETS: 88020bb7
004 FAIL CONNECTION AFTER 1.000000 sec
-
005 RX OCTETS: 88
-
006 RX OCTETS: 8238b747a43300
-
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3338623734376134
-
               0x0bb7
-
008 TCP DROPPED BY ME
+
005 RX OCTETS: 8882d608b063d5e0
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6436303862303633
+
               0x03e8
+
007 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_7_9_9.json b/autobahn/client/hornbeam_case_7_9_9.json index 8c6fb90..646e129 100644 --- a/autobahn/client/hornbeam_case_7_9_9.json +++ b/autobahn/client/hornbeam_case_7_9_9.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send close with invalid close code 2999", "droppedByMe": true, - "duration": 2, + "duration": 1, "expectation": "Clean close with protocol error code or drop TCP", "expected": { "OK": [] @@ -20,15 +20,15 @@ "closedByMe": true, "requireClean": false }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=244&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Eun5uLfZenf74rP3ziRCXQ==\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: HFyrQ32G5yAoSaoOeluKY37RPxY=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=244&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: EMkcyOh2mikTdEZbbKiRMA==\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: FAF0sEhSPUDJqdIE5P/vbJ/efKM=\r\n\r\n", "id": "7.9.9", "isServer": true, "localCloseCode": 2999, "localCloseReason": null, "received": [], - "remoteCloseCode": 2999, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": false, @@ -38,11 +38,10 @@ "8": 1 }, "rxOctetStats": { - "1": 1, - "7": 1, + "8": 1, "184": 1 }, - "started": "2023-08-10T21:35:52.292Z", + "started": "2023-08-11T05:15:21.789Z", "trafficStats": null, "txFrameStats": { "8": 1 @@ -51,7 +50,7 @@ "4": 1, "206": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, @@ -101,28 +100,21 @@ [ "RO", [ - 1, - "88" - ] - ], - [ - "RO", - [ - 7, - "8238b747a43300" + 8, + "8882d608b063d5e0" ] ], [ "RF", [ 2, - "0x0bb7" + "0x03e8" ], 8, true, 0, true, - "38b747a4" + "d608b063" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_1_1.html b/autobahn/client/hornbeam_case_9_1_1.html index aa46066..fc07f69 100644 --- a/autobahn/client/hornbeam_case_9_1_1.html +++ b/autobahn/client/hornbeam_case_9_1_1.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 9.1.1 : Pass - 176 ms @ 2023-08-10T21:35:52.307Z

+

Hornbeam - Case 9.1.1 : Pass - 3 ms @ 2023-08-11T05:15:21.799Z

Case Description

Send text message message with payload of length 64 * 2**10 (64k).

Case Expectation

Receive echo'ed text message (with payload as sent).

@@ -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: tRmSYBLFipYzQ9+cxt0rWQ== +Sec-WebSocket-Key: 8D+C3nLJgBzoVWbiU9Qe3g== 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: dB+NPL+f77D+Wso75mow89zAFKE=
+Sec-WebSocket-Accept: c5ZGO+E2vz/Hs7GZ1CI+huLQaZI=

Closing Behavior

@@ -248,13 +248,13 @@ Sec-WebSocket-Accept: dB+NPL+f77D+Wso75mow89zAFKE=

Octets Received by Chop Size

- - + + - +
Chop SizeCountOctets
111
818
122
717
1841184
13032113032
23557123557
28960128960
Total665742
Total765742

Octets Transmitted by Chop Size

@@ -289,10 +289,11 @@ Sec-WebSocket-Accept: dB+NPL+f77D+Wso75mow89zAFKE=
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0x03e8
004 TX OCTETS: 880203e8
-
005 RX OCTETS: 8882c6c3e198c52b
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6336633365313938
+
005 RX OCTETS: 88
+
006 RX OCTETS: 823f2b1d853cc3
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3366326231643835
               0x03e8
-
007 TCP DROPPED BY ME
+
008 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_9_1_1.json b/autobahn/client/hornbeam_case_9_1_1.json index f27fd22..9247d9e 100644 --- a/autobahn/client/hornbeam_case_9_1_1.json +++ b/autobahn/client/hornbeam_case_9_1_1.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send text message message with payload of length 64 * 2**10 (64k).", "droppedByMe": true, - "duration": 176, + "duration": 3, "expectation": "Receive echo'ed text message (with payload as sent).", "expected": {}, "expectedClose": { @@ -19,8 +19,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=247&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: tRmSYBLFipYzQ9+cxt0rWQ==\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: dB+NPL+f77D+Wso75mow89zAFKE=\r\n\r\n", + "httpRequest": "GET /runCase?case=247&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 8D+C3nLJgBzoVWbiU9Qe3g==\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: c5ZGO+E2vz/Hs7GZ1CI+huLQaZI=\r\n\r\n", "id": "9.1.1", "isServer": true, "localCloseCode": 1000, @@ -37,14 +37,14 @@ "8": 1 }, "rxOctetStats": { - "1": 1, - "8": 1, + "1": 2, + "7": 1, "184": 1, "13032": 1, "23557": 1, "28960": 1 }, - "started": "2023-08-10T21:35:52.307Z", + "started": "2023-08-11T05:15:21.799Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -105,8 +105,15 @@ [ "RO", [ - 8, - "8882c6c3e198c52b" + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "823f2b1d853cc3" ] ], [ @@ -119,7 +126,7 @@ true, 0, true, - "c6c3e198" + "3f2b1d85" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_1_2.html b/autobahn/client/hornbeam_case_9_1_2.html index a87c264..badeac7 100644 --- a/autobahn/client/hornbeam_case_9_1_2.html +++ b/autobahn/client/hornbeam_case_9_1_2.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 9.1.2 : Pass - 707 ms @ 2023-08-10T21:35:52.484Z

+

Hornbeam - Case 9.1.2 : Pass - 5 ms @ 2023-08-11T05:15:21.803Z

Case Description

Send text message message with payload of length 256 * 2**10 (256k).

Case Expectation

Receive echo'ed text message (with payload as sent).

@@ -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: WFB1izKDbk/8lZzMt2JAVQ== +Sec-WebSocket-Key: +K1bSQW0EH+KVBbbaIT0Aw== 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: dooj1nql//Gcv81581tTuuoy8OY=
+Sec-WebSocket-Accept: sYAAx9EvRfErUR4xu3701KQaXOw=

Closing Behavior

@@ -248,13 +248,15 @@ Sec-WebSocket-Accept: dooj1nql//Gcv81581tTuuoy8OY=

Octets Received by Chop Size

- - + + + - - - + + + +
Chop SizeCountOctets
122
717
111
818
1841184
627216272
13032113032
23557123557
28960128960
655363196608
25437125437
28424128424
57920157920
655362131072
Total10262350

Octets Transmitted by Chop Size

@@ -290,11 +292,10 @@ Sec-WebSocket-Accept: dooj1nql//Gcv81581tTuuoy8OY=
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0x03e8
004 TX OCTETS: 880203e8
-
005 RX OCTETS: 88
-
006 RX OCTETS: 82e8200da1ebc8
-
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6538323030646131
+
005 RX OCTETS: 88825c7b7eb45f93
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3563376237656234
               0x03e8
-
008 TCP DROPPED BY ME
+
007 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_9_1_2.json b/autobahn/client/hornbeam_case_9_1_2.json index 4ff8618..2a8bc29 100644 --- a/autobahn/client/hornbeam_case_9_1_2.json +++ b/autobahn/client/hornbeam_case_9_1_2.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send text message message with payload of length 256 * 2**10 (256k).", "droppedByMe": true, - "duration": 707, + "duration": 5, "expectation": "Receive echo'ed text message (with payload as sent).", "expected": {}, "expectedClose": { @@ -19,8 +19,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=248&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: WFB1izKDbk/8lZzMt2JAVQ==\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: dooj1nql//Gcv81581tTuuoy8OY=\r\n\r\n", + "httpRequest": "GET /runCase?case=248&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: +K1bSQW0EH+KVBbbaIT0Aw==\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: sYAAx9EvRfErUR4xu3701KQaXOw=\r\n\r\n", "id": "9.1.2", "isServer": true, "localCloseCode": 1000, @@ -37,15 +37,17 @@ "8": 1 }, "rxOctetStats": { - "1": 2, - "7": 1, + "1": 1, + "8": 1, "184": 1, + "6272": 1, "13032": 1, - "23557": 1, - "28960": 1, - "65536": 3 + "25437": 1, + "28424": 1, + "57920": 1, + "65536": 2 }, - "started": "2023-08-10T21:35:52.484Z", + "started": "2023-08-11T05:15:21.803Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -106,15 +108,8 @@ [ "RO", [ - 1, - "88" - ] - ], - [ - "RO", - [ - 7, - "82e8200da1ebc8" + 8, + "88825c7b7eb45f93" ] ], [ @@ -127,7 +122,7 @@ true, 0, true, - "e8200da1" + "5c7b7eb4" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_1_3.html b/autobahn/client/hornbeam_case_9_1_3.html index 5e39fc3..26e0bfc 100644 --- a/autobahn/client/hornbeam_case_9_1_3.html +++ b/autobahn/client/hornbeam_case_9_1_3.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 9.1.3 : Pass - 3047 ms @ 2023-08-10T21:35:53.204Z

+

Hornbeam - Case 9.1.3 : Pass - 17 ms @ 2023-08-11T05:15:21.810Z

Case Description

Send text message message with payload of length 1 * 2**20 (1M).

Case Expectation

Receive echo'ed text message (with payload as sent).

@@ -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: KVUdPVQ5t/Sh5egU5rCZuQ== +Sec-WebSocket-Key: 4/Uqqg3XwWuH/s/a6wlTxw== 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: NddYheD33bO/lticyPU4DP7Mo8A=
+Sec-WebSocket-Accept: r/NIQDfPW3+tmjkR4Fd/R8W5mbk=

Closing Behavior

@@ -250,12 +250,13 @@ Sec-WebSocket-Accept: NddYheD33bO/lticyPU4DP7Mo8A= - + - - - + + + +
Chop SizeCountOctets
111
818
13113
1841184
627216272
13032113032
24080124080
28424128424
6553615983040
24901124901
28960128960
57920157920
6553614917504
Total221048782

Octets Transmitted by Chop Size

@@ -291,8 +292,8 @@ Sec-WebSocket-Accept: NddYheD33bO/lticyPU4DP7Mo8A=
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0x03e8
004 TX OCTETS: 880203e8
-
005 RX OCTETS: 8882215844db22b0
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3231353834346462
+
005 RX OCTETS: 888212502f0411b8
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3132353032663034
               0x03e8
007 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_9_1_3.json b/autobahn/client/hornbeam_case_9_1_3.json index fc1cd11..17b0072 100644 --- a/autobahn/client/hornbeam_case_9_1_3.json +++ b/autobahn/client/hornbeam_case_9_1_3.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send text message message with payload of length 1 * 2**20 (1M).", "droppedByMe": true, - "duration": 3047, + "duration": 17, "expectation": "Receive echo'ed text message (with payload as sent).", "expected": {}, "expectedClose": { @@ -19,8 +19,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=249&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: KVUdPVQ5t/Sh5egU5rCZuQ==\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: NddYheD33bO/lticyPU4DP7Mo8A=\r\n\r\n", + "httpRequest": "GET /runCase?case=249&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 4/Uqqg3XwWuH/s/a6wlTxw==\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: r/NIQDfPW3+tmjkR4Fd/R8W5mbk=\r\n\r\n", "id": "9.1.3", "isServer": true, "localCloseCode": 1000, @@ -39,14 +39,15 @@ "rxOctetStats": { "1": 1, "8": 1, - "13": 1, "184": 1, + "6272": 1, "13032": 1, - "24080": 1, - "28424": 1, - "65536": 15 + "24901": 1, + "28960": 1, + "57920": 1, + "65536": 14 }, - "started": "2023-08-10T21:35:53.204Z", + "started": "2023-08-11T05:15:21.810Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -108,7 +109,7 @@ "RO", [ 8, - "8882215844db22b0" + "888212502f0411b8" ] ], [ @@ -121,7 +122,7 @@ true, 0, true, - "215844db" + "12502f04" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_1_4.html b/autobahn/client/hornbeam_case_9_1_4.html index a79caa4..dd96682 100644 --- a/autobahn/client/hornbeam_case_9_1_4.html +++ b/autobahn/client/hornbeam_case_9_1_4.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 9.1.4 : Pass - 11433 ms @ 2023-08-10T21:35:56.257Z

+

Hornbeam - Case 9.1.4 : Pass - 54 ms @ 2023-08-11T05:15:21.828Z

Case Description

Send text message message with payload of length 4 * 2**20 (4M).

Case Expectation

Receive echo'ed text message (with payload as sent).

@@ -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: DNpwCTqqmppIAYnV5Cz5RA== +Sec-WebSocket-Key: cC1AVcnbHCUmTENpvyXjAg== 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: pELuIG9xmbGIytpBIFzsuhPhxxs=
+Sec-WebSocket-Accept: OzJioTm4x56MhOx6XwqBOH2DJJA=

Closing Behavior

@@ -251,11 +251,13 @@ Sec-WebSocket-Accept: pELuIG9xmbGIytpBIFzsuhPhxxs= + - + - - + + +
111
818
1841184
627216272
13032113032
24093124093
25437125437
28424128424
65536634128768
Total694194510
57920157920
65536624063232
Total704194510

Octets Transmitted by Chop Size

@@ -290,8 +292,8 @@ Sec-WebSocket-Accept: pELuIG9xmbGIytpBIFzsuhPhxxs=
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0x03e8
004 TX OCTETS: 880203e8
-
005 RX OCTETS: 888294bdea6d9755
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3934626465613664
+
005 RX OCTETS: 8882eff65172ec1e
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6566663635313732
               0x03e8
007 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_9_1_4.json b/autobahn/client/hornbeam_case_9_1_4.json index 94c4470..aa09a82 100644 --- a/autobahn/client/hornbeam_case_9_1_4.json +++ b/autobahn/client/hornbeam_case_9_1_4.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send text message message with payload of length 4 * 2**20 (4M).", "droppedByMe": true, - "duration": 11433, + "duration": 54, "expectation": "Receive echo'ed text message (with payload as sent).", "expected": {}, "expectedClose": { @@ -19,8 +19,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=250&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: DNpwCTqqmppIAYnV5Cz5RA==\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: pELuIG9xmbGIytpBIFzsuhPhxxs=\r\n\r\n", + "httpRequest": "GET /runCase?case=250&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: cC1AVcnbHCUmTENpvyXjAg==\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: OzJioTm4x56MhOx6XwqBOH2DJJA=\r\n\r\n", "id": "9.1.4", "isServer": true, "localCloseCode": 1000, @@ -40,12 +40,14 @@ "1": 1, "8": 1, "184": 1, + "6272": 1, "13032": 1, - "24093": 1, + "25437": 1, "28424": 1, - "65536": 63 + "57920": 1, + "65536": 62 }, - "started": "2023-08-10T21:35:56.257Z", + "started": "2023-08-11T05:15:21.828Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -107,7 +109,7 @@ "RO", [ 8, - "888294bdea6d9755" + "8882eff65172ec1e" ] ], [ @@ -120,7 +122,7 @@ true, 0, true, - "94bdea6d" + "eff65172" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_1_5.html b/autobahn/client/hornbeam_case_9_1_5.html index 084f058..037ef8b 100644 --- a/autobahn/client/hornbeam_case_9_1_5.html +++ b/autobahn/client/hornbeam_case_9_1_5.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 9.1.5 : Pass - 23670 ms @ 2023-08-10T21:36:07.706Z

+

Hornbeam - Case 9.1.5 : Pass - 167 ms @ 2023-08-11T05:15:21.884Z

Case Description

Send text message message with payload of length 8 * 2**20 (8M).

Case Expectation

Receive echo'ed text message (with payload as sent).

@@ -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: aLEM7b4edfVEo9XgzI3cmg== +Sec-WebSocket-Key: RMu44Jk9Sjrz5/+bqFxeRA== 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: +iq5dJrzZM+AvFLTPYThL0IjdIo=
+Sec-WebSocket-Accept: Se3Z1ByuTjE3CZ7YeD58JXexTvA=

Closing Behavior

@@ -248,14 +248,18 @@ Sec-WebSocket-Accept: +iq5dJrzZM+AvFLTPYThL0IjdIo=

Octets Received by Chop Size

- + + - - + + - - + + + + +
Chop SizeCountOctets
111
414
818
10110
1841184
13032113032
23557123557
627216272
14480114480
28960128960
655361278323072
Total1338388814
33952133952
55024155024
57920157920
655361258192000
Total1358388814

Octets Transmitted by Chop Size

@@ -290,8 +294,8 @@ Sec-WebSocket-Accept: +iq5dJrzZM+AvFLTPYThL0IjdIo=
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0x03e8
004 TX OCTETS: 880203e8
-
005 RX OCTETS: 888230ad0e953345
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3330616430653935
+
005 RX OCTETS: 88822ad2bad5293a
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3261643262616435
               0x03e8
007 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_9_1_5.json b/autobahn/client/hornbeam_case_9_1_5.json index 5be6cdd..c5e7ef8 100644 --- a/autobahn/client/hornbeam_case_9_1_5.json +++ b/autobahn/client/hornbeam_case_9_1_5.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send text message message with payload of length 8 * 2**20 (8M).", "droppedByMe": true, - "duration": 23670, + "duration": 167, "expectation": "Receive echo'ed text message (with payload as sent).", "expected": {}, "expectedClose": { @@ -19,8 +19,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=251&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: aLEM7b4edfVEo9XgzI3cmg==\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: +iq5dJrzZM+AvFLTPYThL0IjdIo=\r\n\r\n", + "httpRequest": "GET /runCase?case=251&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: RMu44Jk9Sjrz5/+bqFxeRA==\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: Se3Z1ByuTjE3CZ7YeD58JXexTvA=\r\n\r\n", "id": "9.1.5", "isServer": true, "localCloseCode": 1000, @@ -37,15 +37,19 @@ "8": 1 }, "rxOctetStats": { - "1": 1, + "4": 1, "8": 1, + "10": 1, "184": 1, - "13032": 1, - "23557": 1, + "6272": 1, + "14480": 1, "28960": 1, - "65536": 127 + "33952": 1, + "55024": 1, + "57920": 1, + "65536": 125 }, - "started": "2023-08-10T21:36:07.706Z", + "started": "2023-08-11T05:15:21.884Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -107,7 +111,7 @@ "RO", [ 8, - "888230ad0e953345" + "88822ad2bad5293a" ] ], [ @@ -120,7 +124,7 @@ true, 0, true, - "30ad0e95" + "2ad2bad5" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_1_6.html b/autobahn/client/hornbeam_case_9_1_6.html index ad9226b..89f1e06 100644 --- a/autobahn/client/hornbeam_case_9_1_6.html +++ b/autobahn/client/hornbeam_case_9_1_6.html @@ -202,7 +202,7 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 9.1.6 : Pass - 49073 ms @ 2023-08-10T21:36:31.378Z

+

Hornbeam - Case 9.1.6 : Pass - 634 ms @ 2023-08-11T05:15:22.053Z

Case Description

Send text message message with payload of length 16 * 2**20 (16M).

Case Expectation

Receive echo'ed text message (with payload as sent).

@@ -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: f4Hl3EC4A2Fs5EozEcoP2w== +Sec-WebSocket-Key: 7qc+4Skuvzf0fHld+Beu4A== 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: LDjSlPLK6eUAhlXTzS4zLSJKHiw=
+Sec-WebSocket-Accept: 5KKofVQvDmOk5fwrfBvq9HsRCTo=

Closing Behavior

@@ -252,8 +252,11 @@ Sec-WebSocket-Accept: LDjSlPLK6eUAhlXTzS4zLSJKHiw= - - + + + + +
818
10110
1841184
6553625616777216
Total26016777422
32768398304
44530144530
53774153774
6553625316580608
Total26216777422

Octets Transmitted by Chop Size

@@ -288,8 +291,8 @@ Sec-WebSocket-Accept: LDjSlPLK6eUAhlXTzS4zLSJKHiw=
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
               0x03e8
004 TX OCTETS: 880203e8
-
005 RX OCTETS: 88821129848212c1
-
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3131323938343832
+
005 RX OCTETS: 88820f87b66c0c6f
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3066383762363663
               0x03e8
007 TCP DROPPED BY ME
diff --git a/autobahn/client/hornbeam_case_9_1_6.json b/autobahn/client/hornbeam_case_9_1_6.json index 6b37f56..bb91fca 100644 --- a/autobahn/client/hornbeam_case_9_1_6.json +++ b/autobahn/client/hornbeam_case_9_1_6.json @@ -8,7 +8,7 @@ "createWirelog": true, "description": "Send text message message with payload of length 16 * 2**20 (16M).", "droppedByMe": true, - "duration": 49073, + "duration": 634, "expectation": "Receive echo'ed text message (with payload as sent).", "expected": {}, "expectedClose": { @@ -19,8 +19,8 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=252&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: f4Hl3EC4A2Fs5EozEcoP2w==\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: LDjSlPLK6eUAhlXTzS4zLSJKHiw=\r\n\r\n", + "httpRequest": "GET /runCase?case=252&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 7qc+4Skuvzf0fHld+Beu4A==\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: 5KKofVQvDmOk5fwrfBvq9HsRCTo=\r\n\r\n", "id": "9.1.6", "isServer": true, "localCloseCode": 1000, @@ -41,9 +41,12 @@ "8": 1, "10": 1, "184": 1, - "65536": 256 + "32768": 3, + "44530": 1, + "53774": 1, + "65536": 253 }, - "started": "2023-08-10T21:36:31.378Z", + "started": "2023-08-11T05:15:22.053Z", "trafficStats": null, "txFrameStats": { "1": 1, @@ -105,7 +108,7 @@ "RO", [ 8, - "88821129848212c1" + "88820f87b66c0c6f" ] ], [ @@ -118,7 +121,7 @@ true, 0, true, - "11298482" + "0f87b66c" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_2_1.html b/autobahn/client/hornbeam_case_9_2_1.html index 68439e6..7377d39 100644 --- a/autobahn/client/hornbeam_case_9_2_1.html +++ b/autobahn/client/hornbeam_case_9_2_1.html @@ -202,69 +202,74 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 9.2.1 : Fail - 227 ms @ 2023-08-10T21:37:20.451Z

+

Hornbeam - Case 9.2.1 : Pass - 5 ms @ 2023-08-11T05:15:22.690Z

Case Description

Send binary message message with payload of length 64 * 2**10 (64k).

Case Expectation

Receive echo'ed binary message (with payload as sent).

- Case Outcome

Did not receive message within 10 seconds.

+ Case Outcome

Received binary message of length 65536.

Expected:
{}

Observed:
[]

-

Case Closing Behavior

The spec requires the connection to be failed cleanly here (UNCLEAN)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=253&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: ByRhvprmhCytfp81XT7JyA==
+Sec-WebSocket-Key: a0mk2gxte7vo80c+Of4NUQ==
 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: DcTbL+yYSzIVVW3SuP3gQTpQQt0=
+Sec-WebSocket-Accept: LxUUj7a7MfCjxVbWUs4b/Bh2YwQ=

Closing Behavior

- + - + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
failedByMeFalseTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1007The close code I sent in close frame (if any).
localCloseReasonencountered invalid UTF-8 while processing text message at payload octet index 1The close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

+ + - - - + + + +
Chop SizeCountOctets
122
717
1841184
724117241
17376117376
Total324801
13032113032
24093124093
28424128424
Total765742

Octets Transmitted by Chop Size

- + - +
Chop SizeCountOctets
84184
414
2061206
65546165546
Total365836
Total365756

Frames Received by Opcode

- + + +
OpcodeCount
Total0
21
81
Total2

Frames Transmitted by Opcode

@@ -275,14 +280,20 @@ Sec-WebSocket-Accept: DcTbL+yYSzIVVW3SuP3gQTpQQt0=


Wire Log

-

Wire log after handshake disabled!

000 RX OCTETS: 474554202f72756e436173653f636173653d323533266167656e743d486f726e6265616d20485454502f312e310d0a486f73
               743a206c6f63616c686f73743a39 ...
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
               5465737453756974652f302e382e ...
002 CLOSE CONNECTION AFTER 10.000000 sec
-
003 TCP DROPPED BY ME
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 88
+
006 RX OCTETS: 8299d1237c9a39
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3939643132333763
+
               0x03e8
+
008 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_9_2_1.json b/autobahn/client/hornbeam_case_9_2_1.json index 9611b60..c9e65b9 100644 --- a/autobahn/client/hornbeam_case_9_2_1.json +++ b/autobahn/client/hornbeam_case_9_2_1.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "UNCLEAN", + "behavior": "OK", + "behaviorClose": "OK", "case": 253, "closedByMe": true, "createStats": true, - "createWirelog": false, + "createWirelog": true, "description": "Send binary message message with payload of length 64 * 2**10 (64k).", "droppedByMe": true, - "duration": 227, + "duration": 5, "expectation": "Receive echo'ed binary message (with payload as sent).", "expected": {}, "expectedClose": { @@ -18,38 +18,44 @@ "closedByMe": true, "requireClean": true }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=253&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: ByRhvprmhCytfp81XT7JyA==\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: DcTbL+yYSzIVVW3SuP3gQTpQQt0=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=253&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: a0mk2gxte7vo80c+Of4NUQ==\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: LxUUj7a7MfCjxVbWUs4b/Bh2YwQ=\r\n\r\n", "id": "9.2.1", "isServer": true, - "localCloseCode": 1007, - "localCloseReason": "encountered invalid UTF-8 while processing text message at payload octet index 1", + "localCloseCode": 1000, + "localCloseReason": null, "received": [], - "remoteCloseCode": null, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": true, - "result": "Did not receive message within 10 seconds.", - "resultClose": "The spec requires the connection to be failed cleanly here", - "rxFrameStats": {}, - "rxOctetStats": { - "184": 1, - "7241": 1, - "17376": 1 + "result": "Received binary message of length 65536.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "2": 1, + "8": 1 }, - "started": "2023-08-10T21:37:20.451Z", + "rxOctetStats": { + "1": 2, + "7": 1, + "184": 1, + "13032": 1, + "24093": 1, + "28424": 1 + }, + "started": "2023-08-11T05:15:22.690Z", "trafficStats": null, "txFrameStats": { "2": 1, "8": 1 }, "txOctetStats": { - "84": 1, + "4": 1, "206": 1, "65546": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, @@ -73,6 +79,54 @@ [ "TI", 10 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "8299d1237c9a39" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "99d1237c" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_2_2.html b/autobahn/client/hornbeam_case_9_2_2.html index e2d386c..8f1e046 100644 --- a/autobahn/client/hornbeam_case_9_2_2.html +++ b/autobahn/client/hornbeam_case_9_2_2.html @@ -202,46 +202,46 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 9.2.2 : Fail - 775 ms @ 2023-08-10T21:37:20.688Z

+

Hornbeam - Case 9.2.2 : Pass - 8 ms @ 2023-08-11T05:15:22.698Z

Case Description

Send binary message message with payload of length 256 * 2**10 (256k).

Case Expectation

Receive echo'ed binary message (with payload as sent).

- Case Outcome

Did not receive message within 10 seconds.

+ Case Outcome

Received binary message of length 262144.

Expected:
{}

Observed:
[]

-

Case Closing Behavior

The spec requires the connection to be failed cleanly here (UNCLEAN)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=254&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: QbCcIyrW/fw9HXHTwNDyiw==
+Sec-WebSocket-Key: 3B010tzPjjCtVLgONMrf8g==
 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: iMN7Elfp8E3xL23Ve9UK5cM9ThM=
+Sec-WebSocket-Accept: GxJysmn88BTOFUsqnZZmUFmOUsI=

Closing Behavior

- + - + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
failedByMeFalseTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1007The close code I sent in close frame (if any).
localCloseReasonencountered invalid UTF-8 while processing text message at payload octet index 1The close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

@@ -249,23 +249,29 @@ Sec-WebSocket-Accept: iMN7Elfp8E3xL23Ve9UK5cM9ThM= + - - + + + + +
Chop SizeCountOctets
111
818
1841184
13032113032
28960128960
Total442177
28424128424
31709131709
57920157920
655362131072
Total9262350

Octets Transmitted by Chop Size

- + - +
Chop SizeCountOctets
84184
414
2061206
2621541262154
Total3262444
Total3262364

Frames Received by Opcode

- + + +
OpcodeCount
Total0
21
81
Total2

Frames Transmitted by Opcode

@@ -276,14 +282,19 @@ Sec-WebSocket-Accept: iMN7Elfp8E3xL23Ve9UK5cM9ThM=


Wire Log

-

Wire log after handshake disabled!

000 RX OCTETS: 474554202f72756e436173653f636173653d323534266167656e743d486f726e6265616d20485454502f312e310d0a486f73
               743a206c6f63616c686f73743a39 ...
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
               5465737453756974652f302e382e ...
002 CLOSE CONNECTION AFTER 10.000000 sec
-
003 TCP DROPPED BY ME
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 88827b585c3b78b0
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3762353835633362
+
               0x03e8
+
007 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_9_2_2.json b/autobahn/client/hornbeam_case_9_2_2.json index 331c9a6..4f3fbb8 100644 --- a/autobahn/client/hornbeam_case_9_2_2.json +++ b/autobahn/client/hornbeam_case_9_2_2.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "UNCLEAN", + "behavior": "OK", + "behaviorClose": "OK", "case": 254, "closedByMe": true, "createStats": true, - "createWirelog": false, + "createWirelog": true, "description": "Send binary message message with payload of length 256 * 2**10 (256k).", "droppedByMe": true, - "duration": 775, + "duration": 8, "expectation": "Receive echo'ed binary message (with payload as sent).", "expected": {}, "expectedClose": { @@ -18,39 +18,46 @@ "closedByMe": true, "requireClean": true }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=254&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: QbCcIyrW/fw9HXHTwNDyiw==\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: iMN7Elfp8E3xL23Ve9UK5cM9ThM=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=254&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 3B010tzPjjCtVLgONMrf8g==\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: GxJysmn88BTOFUsqnZZmUFmOUsI=\r\n\r\n", "id": "9.2.2", "isServer": true, - "localCloseCode": 1007, - "localCloseReason": "encountered invalid UTF-8 while processing text message at payload octet index 1", + "localCloseCode": 1000, + "localCloseReason": null, "received": [], - "remoteCloseCode": null, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": true, - "result": "Did not receive message within 10 seconds.", - "resultClose": "The spec requires the connection to be failed cleanly here", - "rxFrameStats": {}, + "result": "Received binary message of length 262144.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "2": 1, + "8": 1 + }, "rxOctetStats": { "1": 1, + "8": 1, "184": 1, "13032": 1, - "28960": 1 + "28424": 1, + "31709": 1, + "57920": 1, + "65536": 2 }, - "started": "2023-08-10T21:37:20.688Z", + "started": "2023-08-11T05:15:22.698Z", "trafficStats": null, "txFrameStats": { "2": 1, "8": 1 }, "txOctetStats": { - "84": 1, + "4": 1, "206": 1, "262154": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, @@ -74,6 +81,47 @@ [ "TI", 10 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "88827b585c3b78b0" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "7b585c3b" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_2_3.html b/autobahn/client/hornbeam_case_9_2_3.html index 82819c0..e6c4fdd 100644 --- a/autobahn/client/hornbeam_case_9_2_3.html +++ b/autobahn/client/hornbeam_case_9_2_3.html @@ -202,70 +202,76 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 9.2.3 : Fail - 2790 ms @ 2023-08-10T21:37:21.465Z

+

Hornbeam - Case 9.2.3 : Pass - 26 ms @ 2023-08-11T05:15:22.709Z

Case Description

Send binary message message with payload of length 1 * 2**20 (1M).

Case Expectation

Receive echo'ed binary message (with payload as sent).

- Case Outcome

Did not receive message within 10 seconds.

+ Case Outcome

Received binary message of length 1048576.

Expected:
{}

Observed:
[]

-

Case Closing Behavior

The spec requires the connection to be failed cleanly here (UNCLEAN)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=255&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: duDHcBrN7+VXiLgAkDBfrg==
+Sec-WebSocket-Key: 5I7f1eq6CeNJ33eGKnG7DQ==
 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: 28njz+3cKL+/2YqCYZ8FIeMVU+w=
+Sec-WebSocket-Accept: c7y033dOXyK5tX6bcRdAYBq2q60=

Closing Behavior

- + - + - - - + + +
KeyValueDescription
isServerTrueTrue, iff I (the fuzzer) am a server, and the peer is a client.
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeTrueTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
failedByMeFalseTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1007The close code I sent in close frame (if any).
localCloseReasonencountered invalid UTF-8 while processing text message at payload octet index 1The close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

- + + + - - + + + +
Chop SizeCountOctets
111
122
717
13113
1841184
13032113032
28424128424
Total441641
19736119736
32768132768
6553615983040
Total231048782

Octets Transmitted by Chop Size

- + - +
Chop SizeCountOctets
84184
414
2061206
104858611048586
Total31048876
Total31048796

Frames Received by Opcode

- + + +
OpcodeCount
Total0
21
81
Total2

Frames Transmitted by Opcode

@@ -276,14 +282,20 @@ Sec-WebSocket-Accept: 28njz+3cKL+/2YqCYZ8FIeMVU+w=


Wire Log

-

Wire log after handshake disabled!

000 RX OCTETS: 474554202f72756e436173653f636173653d323535266167656e743d486f726e6265616d20485454502f312e310d0a486f73
               743a206c6f63616c686f73743a39 ...
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
               5465737453756974652f302e382e ...
002 CLOSE CONNECTION AFTER 10.000000 sec
-
003 TCP DROPPED BY ME
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 88
+
006 RX OCTETS: 8293fde88f9015
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3933666465383866
+
               0x03e8
+
008 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_9_2_3.json b/autobahn/client/hornbeam_case_9_2_3.json index 6fcc370..36b546a 100644 --- a/autobahn/client/hornbeam_case_9_2_3.json +++ b/autobahn/client/hornbeam_case_9_2_3.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "UNCLEAN", + "behavior": "OK", + "behaviorClose": "OK", "case": 255, "closedByMe": true, "createStats": true, - "createWirelog": false, + "createWirelog": true, "description": "Send binary message message with payload of length 1 * 2**20 (1M).", "droppedByMe": true, - "duration": 2790, + "duration": 26, "expectation": "Receive echo'ed binary message (with payload as sent).", "expected": {}, "expectedClose": { @@ -18,39 +18,46 @@ "closedByMe": true, "requireClean": true }, - "failedByMe": true, - "httpRequest": "GET /runCase?case=255&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: duDHcBrN7+VXiLgAkDBfrg==\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: 28njz+3cKL+/2YqCYZ8FIeMVU+w=\r\n\r\n", + "failedByMe": false, + "httpRequest": "GET /runCase?case=255&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 5I7f1eq6CeNJ33eGKnG7DQ==\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: c7y033dOXyK5tX6bcRdAYBq2q60=\r\n\r\n", "id": "9.2.3", "isServer": true, - "localCloseCode": 1007, - "localCloseReason": "encountered invalid UTF-8 while processing text message at payload octet index 1", + "localCloseCode": 1000, + "localCloseReason": null, "received": [], - "remoteCloseCode": null, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": true, - "result": "Did not receive message within 10 seconds.", - "resultClose": "The spec requires the connection to be failed cleanly here", - "rxFrameStats": {}, + "result": "Received binary message of length 1048576.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "2": 1, + "8": 1 + }, "rxOctetStats": { - "1": 1, + "1": 2, + "7": 1, + "13": 1, "184": 1, "13032": 1, - "28424": 1 + "19736": 1, + "32768": 1, + "65536": 15 }, - "started": "2023-08-10T21:37:21.465Z", + "started": "2023-08-11T05:15:22.709Z", "trafficStats": null, "txFrameStats": { "2": 1, "8": 1 }, "txOctetStats": { - "84": 1, + "4": 1, "206": 1, "1048586": 1 }, - "wasClean": false, + "wasClean": true, "wasCloseHandshakeTimeout": false, "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, @@ -74,6 +81,54 @@ [ "TI", 10 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "8293fde88f9015" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "93fde88f" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_2_4.html b/autobahn/client/hornbeam_case_9_2_4.html index 97afc42..9597c2c 100644 --- a/autobahn/client/hornbeam_case_9_2_4.html +++ b/autobahn/client/hornbeam_case_9_2_4.html @@ -202,30 +202,30 @@ pre.wirelog_tcp_closed_by_peer {color: #fff; margin: 0; background-color: #000;
Autobahn WebSocket Testsuite Report
Autobahn WebSocket

-

Hornbeam - Case 9.2.4 : Fail - 11015 ms @ 2023-08-10T21:37:24.257Z

+

Hornbeam - Case 9.2.4 : Pass - 158 ms @ 2023-08-11T05:15:22.738Z

Case Description

Send binary message message with payload of length 4 * 2**20 (4M).

Case Expectation

Receive echo'ed binary message (with payload as sent).

- Case Outcome

Did not receive message within 10 seconds.

+ Case Outcome

Received binary message of length 4194304.

Expected:
{}

Observed:
[]

-

Case Closing Behavior

The spec requires the connection to be failed cleanly here (UNCLEAN)

+

Case Closing Behavior

Connection was properly closed (OK)



Opening Handshake

GET /runCase?case=256&agent=Hornbeam HTTP/1.1
 Host: localhost:9001
 Upgrade: websocket
 Connection: upgrade
-Sec-WebSocket-Key: mgmDAXtexxxQhm06nRw+Qg==
+Sec-WebSocket-Key: gyia1bHdzma0rIaQJsJE7w==
 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: rhRvUENkdgVbkr1FHIo7vS++87k=
+Sec-WebSocket-Accept: yx9Xd9gHRH9rnvbTcIUWzyS5c/A=

Closing Behavior

@@ -234,35 +234,45 @@ Sec-WebSocket-Accept: rhRvUENkdgVbkr1FHIo7vS++87k= - - + + - - + + - +
closedByMeTrueTrue, iff I have initiated closing handshake (that is, did send close first).
failedByMeFalseTrue, iff I have failed the WS connection (i.e. due to protocol error). Failing can be either by initiating closing handshake or brutal drop TCP.
droppedByMeTrueTrue, iff I dropped the TCP connection.
wasCleanFalseTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonpeer did not respond (in time) in closing handshakeWhen wasClean == False, the reason what happened.
wasCleanTrueTrue, iff full WebSocket closing handshake was performed (close frame sent and received) _and_ the server dropped the TCP (which is its responsibility).
wasNotCleanReasonNoneWhen wasClean == False, the reason what happened.
wasServerConnectionDropTimeoutFalseWhen we are a client, and we expected the server to drop the TCP, but that didn't happen in time, this gets True.
wasOpenHandshakeTimeoutFalseWhen performing the opening handshake, but the peer did not finish in time, this gets True.
wasCloseHandshakeTimeoutTrueWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCodeNoneThe close code I sent in close frame (if any).
wasCloseHandshakeTimeoutFalseWhen we initiated a closing handshake, but the peer did not respond in time, this gets True.
localCloseCode1000The close code I sent in close frame (if any).
localCloseReasonNoneThe close reason I sent in close frame (if any).
remoteCloseCodeNoneThe close code the peer sent me in close frame (if any).
remoteCloseCode1000The close code the peer sent me in close frame (if any).
remoteCloseReasonNoneThe close reason the peer sent me in close frame (if any).


Wire Statistics

Octets Received by Chop Size

+ + - + + + + + + +
Chop SizeCountOctets
111
818
1841184
Total1184
7331733
13032113032
23432123432
28424128424
65464165464
65536624063232
Total704194510

Octets Transmitted by Chop Size

- + - +
Chop SizeCountOctets
212
414
2061206
419431414194314
Total34194522
Total34194524

Frames Received by Opcode

- + + +
OpcodeCount
Total0
21
81
Total2

Frames Transmitted by Opcode

@@ -273,15 +283,19 @@ Sec-WebSocket-Accept: rhRvUENkdgVbkr1FHIo7vS++87k=


Wire Log

-

Wire log after handshake disabled!

000 RX OCTETS: 474554202f72756e436173653f636173653d323536266167656e743d486f726e6265616d20485454502f312e310d0a486f73
               743a206c6f63616c686f73743a39 ...
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
               5465737453756974652f302e382e ...
002 CLOSE CONNECTION AFTER 10.000000 sec
-
003 CLOSING CONNECTION
-
004 TCP DROPPED BY ME
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 8882270a245624e2
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3237306132343536
+
               0x03e8
+
007 TCP DROPPED BY ME


diff --git a/autobahn/client/hornbeam_case_9_2_4.json b/autobahn/client/hornbeam_case_9_2_4.json index 6606811..db29e85 100644 --- a/autobahn/client/hornbeam_case_9_2_4.json +++ b/autobahn/client/hornbeam_case_9_2_4.json @@ -1,14 +1,14 @@ { "agent": "Hornbeam", - "behavior": "FAILED", - "behaviorClose": "UNCLEAN", + "behavior": "OK", + "behaviorClose": "OK", "case": 256, "closedByMe": true, "createStats": true, - "createWirelog": false, + "createWirelog": true, "description": "Send binary message message with payload of length 4 * 2**20 (4M).", "droppedByMe": true, - "duration": 11015, + "duration": 158, "expectation": "Receive echo'ed binary message (with payload as sent).", "expected": {}, "expectedClose": { @@ -19,37 +19,48 @@ "requireClean": true }, "failedByMe": false, - "httpRequest": "GET /runCase?case=256&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: mgmDAXtexxxQhm06nRw+Qg==\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: rhRvUENkdgVbkr1FHIo7vS++87k=\r\n\r\n", + "httpRequest": "GET /runCase?case=256&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: gyia1bHdzma0rIaQJsJE7w==\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: yx9Xd9gHRH9rnvbTcIUWzyS5c/A=\r\n\r\n", "id": "9.2.4", "isServer": true, - "localCloseCode": null, + "localCloseCode": 1000, "localCloseReason": null, "received": [], - "remoteCloseCode": null, + "remoteCloseCode": 1000, "remoteCloseReason": null, "reportCompressionRatio": false, "reportTime": true, - "result": "Did not receive message within 10 seconds.", - "resultClose": "The spec requires the connection to be failed cleanly here", - "rxFrameStats": {}, - "rxOctetStats": { - "184": 1 + "result": "Received binary message of length 4194304.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "2": 1, + "8": 1 }, - "started": "2023-08-10T21:37:24.257Z", + "rxOctetStats": { + "1": 1, + "8": 1, + "184": 1, + "733": 1, + "13032": 1, + "23432": 1, + "28424": 1, + "65464": 1, + "65536": 62 + }, + "started": "2023-08-11T05:15:22.738Z", "trafficStats": null, "txFrameStats": { "2": 1, "8": 1 }, "txOctetStats": { - "2": 1, + "4": 1, "206": 1, "4194314": 1 }, - "wasClean": false, - "wasCloseHandshakeTimeout": true, - "wasNotCleanReason": "peer did not respond (in time) in closing handshake", + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, "wasOpenHandshakeTimeout": false, "wasServerConnectionDropTimeout": false, "wirelog": [ @@ -73,7 +84,45 @@ 10 ], [ - "TIE" + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "8882270a245624e2" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "270a2456" ] ] } \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_2_5.html b/autobahn/client/hornbeam_case_9_2_5.html new file mode 100644 index 0000000..ec4ced0 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_2_5.html @@ -0,0 +1,303 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.2.5 : Pass - 200 ms @ 2023-08-11T05:15:22.900Z

+

Case Description

Send binary message message with payload of length 8 * 2**20 (16M).

+

Case Expectation

Receive echo'ed binary message (with payload as sent).

+ +

+ Case Outcome

Received binary message of length 8388608.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=257&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: l9kR0ptK+9wdT2apG4I5iw==
+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: 4Ls34JM9pruHBuQmmAnt2YdG9vw=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + + + + +
Chop SizeCountOctets
414
818
10110
1841184
14480114480
28960128960
33680133680
57920157920
61568161568
655361258192000
Total1348388814
+

Octets Transmitted by Chop Size

+ + + + + + +
Chop SizeCountOctets
414
2061206
838861818388618
Total38388828
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

Frames Transmitted by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323537266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 100.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 8882ca5a8013c9b2
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6361356138303133
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_2_5.json b/autobahn/client/hornbeam_case_9_2_5.json new file mode 100644 index 0000000..400199e --- /dev/null +++ b/autobahn/client/hornbeam_case_9_2_5.json @@ -0,0 +1,129 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 257, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send binary message message with payload of length 8 * 2**20 (16M).", + "droppedByMe": true, + "duration": 200, + "expectation": "Receive echo'ed binary message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=257&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: l9kR0ptK+9wdT2apG4I5iw==\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: 4Ls34JM9pruHBuQmmAnt2YdG9vw=\r\n\r\n", + "id": "9.2.5", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received binary message of length 8388608.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "2": 1, + "8": 1 + }, + "rxOctetStats": { + "4": 1, + "8": 1, + "10": 1, + "184": 1, + "14480": 1, + "28960": 1, + "33680": 1, + "57920": 1, + "61568": 1, + "65536": 125 + }, + "started": "2023-08-11T05:15:22.900Z", + "trafficStats": null, + "txFrameStats": { + "2": 1, + "8": 1 + }, + "txOctetStats": { + "4": 1, + "206": 1, + "8388618": 1 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323537266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 100 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "8882ca5a8013c9b2" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "ca5a8013" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_2_6.html b/autobahn/client/hornbeam_case_9_2_6.html new file mode 100644 index 0000000..8f62d23 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_2_6.html @@ -0,0 +1,303 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.2.6 : Pass - 320 ms @ 2023-08-11T05:15:23.103Z

+

Case Description

Send binary message message with payload of length 16 * 2**20 (16M).

+

Case Expectation

Receive echo'ed binary message (with payload as sent).

+ +

+ Case Outcome

Received binary message of length 16777216.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=258&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: JMIQoVIr+XiXoGAiLPouow==
+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: dmS9VljzYj3Cl2oAljS+utBL8W4=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + + + + +
Chop SizeCountOctets
414
818
10110
1841184
14480114480
28960128960
31120131120
57920157920
64128164128
6553625316580608
Total26216777422
+

Octets Transmitted by Chop Size

+ + + + + + +
Chop SizeCountOctets
414
2061206
16777226116777226
Total316777436
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

Frames Transmitted by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323538266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 100.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 88823c3c7deb3fd4
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3363336337646562
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_2_6.json b/autobahn/client/hornbeam_case_9_2_6.json new file mode 100644 index 0000000..5eee27e --- /dev/null +++ b/autobahn/client/hornbeam_case_9_2_6.json @@ -0,0 +1,129 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 258, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send binary message message with payload of length 16 * 2**20 (16M).", + "droppedByMe": true, + "duration": 320, + "expectation": "Receive echo'ed binary message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=258&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: JMIQoVIr+XiXoGAiLPouow==\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: dmS9VljzYj3Cl2oAljS+utBL8W4=\r\n\r\n", + "id": "9.2.6", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received binary message of length 16777216.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "2": 1, + "8": 1 + }, + "rxOctetStats": { + "4": 1, + "8": 1, + "10": 1, + "184": 1, + "14480": 1, + "28960": 1, + "31120": 1, + "57920": 1, + "64128": 1, + "65536": 253 + }, + "started": "2023-08-11T05:15:23.103Z", + "trafficStats": null, + "txFrameStats": { + "2": 1, + "8": 1 + }, + "txOctetStats": { + "4": 1, + "206": 1, + "16777226": 1 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323538266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 100 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "88823c3c7deb3fd4" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "3c3c7deb" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_3_1.html b/autobahn/client/hornbeam_case_9_3_1.html new file mode 100644 index 0000000..d06fd8d --- /dev/null +++ b/autobahn/client/hornbeam_case_9_3_1.html @@ -0,0 +1,304 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.3.1 : Pass - 242 ms @ 2023-08-11T05:15:23.425Z

+

Case Description

Send fragmented text message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 64.

+

Case Expectation

Receive echo'ed text message (with payload as sent).

+ +

+ Case Outcome

Received text message of length 4194304.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=259&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: V/aZBbFVD6tNy5fnz4J1lg==
+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: ROFXNWc0tJUfL172MMYoqRUTp10=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + + + +
Chop SizeCountOctets
414
818
10110
1841184
267112671
30944130944
32768132768
64689164689
65536624063232
Total704194510
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
212
414
66655364325376
2061206
Total655394325588
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

Frames Transmitted by Opcode

+ + + + + + +
OpcodeCount
065536
11
81
Total65538
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323539266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 100.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 8882219fda7e2277
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3231396664613765
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_3_1.json b/autobahn/client/hornbeam_case_9_3_1.json new file mode 100644 index 0000000..899f029 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_3_1.json @@ -0,0 +1,130 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 259, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send fragmented text message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 64.", + "droppedByMe": true, + "duration": 242, + "expectation": "Receive echo'ed text message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=259&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: V/aZBbFVD6tNy5fnz4J1lg==\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: ROFXNWc0tJUfL172MMYoqRUTp10=\r\n\r\n", + "id": "9.3.1", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received text message of length 4194304.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "1": 1, + "8": 1 + }, + "rxOctetStats": { + "4": 1, + "8": 1, + "10": 1, + "184": 1, + "2671": 1, + "30944": 1, + "32768": 1, + "64689": 1, + "65536": 62 + }, + "started": "2023-08-11T05:15:23.425Z", + "trafficStats": null, + "txFrameStats": { + "0": 65536, + "1": 1, + "8": 1 + }, + "txOctetStats": { + "2": 1, + "4": 1, + "66": 65536, + "206": 1 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323539266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 100 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "8882219fda7e2277" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "219fda7e" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_3_2.html b/autobahn/client/hornbeam_case_9_3_2.html new file mode 100644 index 0000000..896cf7d --- /dev/null +++ b/autobahn/client/hornbeam_case_9_3_2.html @@ -0,0 +1,303 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.3.2 : Pass - 135 ms @ 2023-08-11T05:15:23.669Z

+

Case Description

Send fragmented text message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 256.

+

Case Expectation

Receive echo'ed text message (with payload as sent).

+ +

+ Case Outcome

Received text message of length 4194304.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=260&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: AScRItGzG0iiNY4mVLfa1g==
+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: jS8HDQ3wgDFcbbuU59Y6PpbqVa8=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + +
Chop SizeCountOctets
122
717
1841184
13032113032
24093124093
28424128424
65536634128768
Total704194510
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
212
414
2061206
260163844259840
Total163874260052
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

Frames Transmitted by Opcode

+ + + + + + +
OpcodeCount
016384
11
81
Total16386
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323630266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 100.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 88
+
006 RX OCTETS: 8268239a066bcb
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3638323339613036
+
               0x03e8
+
008 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_3_2.json b/autobahn/client/hornbeam_case_9_3_2.json new file mode 100644 index 0000000..c755a86 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_3_2.json @@ -0,0 +1,135 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 260, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send fragmented text message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 256.", + "droppedByMe": true, + "duration": 135, + "expectation": "Receive echo'ed text message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=260&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: AScRItGzG0iiNY4mVLfa1g==\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: jS8HDQ3wgDFcbbuU59Y6PpbqVa8=\r\n\r\n", + "id": "9.3.2", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received text message of length 4194304.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "1": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 2, + "7": 1, + "184": 1, + "13032": 1, + "24093": 1, + "28424": 1, + "65536": 63 + }, + "started": "2023-08-11T05:15:23.669Z", + "trafficStats": null, + "txFrameStats": { + "0": 16384, + "1": 1, + "8": 1 + }, + "txOctetStats": { + "2": 1, + "4": 1, + "206": 1, + "260": 16384 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323630266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 100 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "8268239a066bcb" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "68239a06" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_3_3.html b/autobahn/client/hornbeam_case_9_3_3.html new file mode 100644 index 0000000..0f71c3f --- /dev/null +++ b/autobahn/client/hornbeam_case_9_3_3.html @@ -0,0 +1,302 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.3.3 : Pass - 61 ms @ 2023-08-11T05:15:23.822Z

+

Case Description

Send fragmented text message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 1k.

+

Case Expectation

Receive echo'ed text message (with payload as sent).

+ +

+ Case Outcome

Received text message of length 4194304.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=261&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: H5MEDIRDuySrtBxmnzuo0w==
+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: ZcKx9bn2qxhzkEQER5kRDISyciM=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + +
Chop SizeCountOctets
111
818
1841184
13032113032
23557123557
28960128960
65536634128768
Total694194510
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
212
414
2061206
102840964210688
Total40994210900
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

Frames Transmitted by Opcode

+ + + + + + +
OpcodeCount
04096
11
81
Total4098
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323631266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 100.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 88828a45eb5f89ad
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3861343565623566
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_3_3.json b/autobahn/client/hornbeam_case_9_3_3.json new file mode 100644 index 0000000..27c9455 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_3_3.json @@ -0,0 +1,128 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 261, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send fragmented text message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 1k.", + "droppedByMe": true, + "duration": 61, + "expectation": "Receive echo'ed text message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=261&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: H5MEDIRDuySrtBxmnzuo0w==\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: ZcKx9bn2qxhzkEQER5kRDISyciM=\r\n\r\n", + "id": "9.3.3", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received text message of length 4194304.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "1": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 1, + "8": 1, + "184": 1, + "13032": 1, + "23557": 1, + "28960": 1, + "65536": 63 + }, + "started": "2023-08-11T05:15:23.822Z", + "trafficStats": null, + "txFrameStats": { + "0": 4096, + "1": 1, + "8": 1 + }, + "txOctetStats": { + "2": 1, + "4": 1, + "206": 1, + "1028": 4096 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323631266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 100 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "88828a45eb5f89ad" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "8a45eb5f" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_3_4.html b/autobahn/client/hornbeam_case_9_3_4.html new file mode 100644 index 0000000..321b1de --- /dev/null +++ b/autobahn/client/hornbeam_case_9_3_4.html @@ -0,0 +1,302 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.3.4 : Pass - 46 ms @ 2023-08-11T05:15:23.885Z

+

Case Description

Send fragmented text message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 4k.

+

Case Expectation

Receive echo'ed text message (with payload as sent).

+ +

+ Case Outcome

Received text message of length 4194304.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=262&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: LwrH/P6iNsow3ZsWJtmvqw==
+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: 5nIFSNrl5l0+SLEEeSVP+4En0To=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + +
Chop SizeCountOctets
111
818
1841184
13032113032
24093124093
28424128424
65536634128768
Total694194510
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
212
414
2061206
410010244198400
Total10274198612
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

Frames Transmitted by Opcode

+ + + + + + +
OpcodeCount
01024
11
81
Total1026
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323632266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 100.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 88828dcc2c708e24
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3864636332633730
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_3_4.json b/autobahn/client/hornbeam_case_9_3_4.json new file mode 100644 index 0000000..1ed5eb8 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_3_4.json @@ -0,0 +1,128 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 262, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send fragmented text message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 4k.", + "droppedByMe": true, + "duration": 46, + "expectation": "Receive echo'ed text message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=262&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: LwrH/P6iNsow3ZsWJtmvqw==\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: 5nIFSNrl5l0+SLEEeSVP+4En0To=\r\n\r\n", + "id": "9.3.4", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received text message of length 4194304.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "1": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 1, + "8": 1, + "184": 1, + "13032": 1, + "24093": 1, + "28424": 1, + "65536": 63 + }, + "started": "2023-08-11T05:15:23.885Z", + "trafficStats": null, + "txFrameStats": { + "0": 1024, + "1": 1, + "8": 1 + }, + "txOctetStats": { + "2": 1, + "4": 1, + "206": 1, + "4100": 1024 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323632266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 100 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "88828dcc2c708e24" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "8dcc2c70" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_3_5.html b/autobahn/client/hornbeam_case_9_3_5.html new file mode 100644 index 0000000..a7973a2 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_3_5.html @@ -0,0 +1,302 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.3.5 : Pass - 54 ms @ 2023-08-11T05:15:23.933Z

+

Case Description

Send fragmented text message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 16k.

+

Case Expectation

Receive echo'ed text message (with payload as sent).

+ +

+ Case Outcome

Received text message of length 4194304.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=263&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 070kbR8eGCLuJ5/9ofcnFA==
+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: jXOJ5DHBEZbgDLhHDcEETJwKyAU=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + +
Chop SizeCountOctets
111
818
1841184
13032113032
23557123557
28960128960
65536634128768
Total694194510
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
212
414
2061206
163882564195328
Total2594195540
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

Frames Transmitted by Opcode

+ + + + + + +
OpcodeCount
0256
11
81
Total258
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323633266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 100.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 8882c330f79bc0d8
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6333333066373962
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_3_5.json b/autobahn/client/hornbeam_case_9_3_5.json new file mode 100644 index 0000000..7d8a98a --- /dev/null +++ b/autobahn/client/hornbeam_case_9_3_5.json @@ -0,0 +1,128 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 263, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send fragmented text message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 16k.", + "droppedByMe": true, + "duration": 54, + "expectation": "Receive echo'ed text message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=263&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 070kbR8eGCLuJ5/9ofcnFA==\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: jXOJ5DHBEZbgDLhHDcEETJwKyAU=\r\n\r\n", + "id": "9.3.5", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received text message of length 4194304.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "1": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 1, + "8": 1, + "184": 1, + "13032": 1, + "23557": 1, + "28960": 1, + "65536": 63 + }, + "started": "2023-08-11T05:15:23.933Z", + "trafficStats": null, + "txFrameStats": { + "0": 256, + "1": 1, + "8": 1 + }, + "txOctetStats": { + "2": 1, + "4": 1, + "206": 1, + "16388": 256 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323633266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 100 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "8882c330f79bc0d8" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "c330f79b" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_3_6.html b/autobahn/client/hornbeam_case_9_3_6.html new file mode 100644 index 0000000..c885f5f --- /dev/null +++ b/autobahn/client/hornbeam_case_9_3_6.html @@ -0,0 +1,302 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.3.6 : Pass - 51 ms @ 2023-08-11T05:15:24.007Z

+

Case Description

Send fragmented text message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 64k.

+

Case Expectation

Receive echo'ed text message (with payload as sent).

+ +

+ Case Outcome

Received text message of length 4194304.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=264&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: s9yk4HJ4Euu53dm7iW/FfQ==
+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: T8y9eL+HKfHXpHebbqMOgG8vPeY=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + +
Chop SizeCountOctets
111
818
1841184
13032113032
24093124093
28424128424
65536634128768
Total694194510
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
212
414
2061206
65546644194944
Total674195156
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

Frames Transmitted by Opcode

+ + + + + + +
OpcodeCount
064
11
81
Total66
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323634266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 100.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 8882c66a60e3c582
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6336366136306533
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_3_6.json b/autobahn/client/hornbeam_case_9_3_6.json new file mode 100644 index 0000000..8261b76 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_3_6.json @@ -0,0 +1,128 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 264, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send fragmented text message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 64k.", + "droppedByMe": true, + "duration": 51, + "expectation": "Receive echo'ed text message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=264&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: s9yk4HJ4Euu53dm7iW/FfQ==\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: T8y9eL+HKfHXpHebbqMOgG8vPeY=\r\n\r\n", + "id": "9.3.6", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received text message of length 4194304.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "1": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 1, + "8": 1, + "184": 1, + "13032": 1, + "24093": 1, + "28424": 1, + "65536": 63 + }, + "started": "2023-08-11T05:15:24.007Z", + "trafficStats": null, + "txFrameStats": { + "0": 64, + "1": 1, + "8": 1 + }, + "txOctetStats": { + "2": 1, + "4": 1, + "206": 1, + "65546": 64 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323634266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 100 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "8882c66a60e3c582" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "c66a60e3" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_3_7.html b/autobahn/client/hornbeam_case_9_3_7.html new file mode 100644 index 0000000..0ae8c7e --- /dev/null +++ b/autobahn/client/hornbeam_case_9_3_7.html @@ -0,0 +1,302 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.3.7 : Pass - 45 ms @ 2023-08-11T05:15:24.061Z

+

Case Description

Send fragmented text message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 256k.

+

Case Expectation

Receive echo'ed text message (with payload as sent).

+ +

+ Case Outcome

Received text message of length 4194304.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=265&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: vXJKj/kohEiZ8cLwWWaVaA==
+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: ORLMG0KJTLstWjIF5P/Zx4GNAQU=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + +
Chop SizeCountOctets
111
818
1841184
13032113032
23557123557
28960128960
65536634128768
Total694194510
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
212
414
2061206
262154164194464
Total194194676
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

Frames Transmitted by Opcode

+ + + + + + +
OpcodeCount
016
11
81
Total18
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323635266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 100.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 88829d4b50759ea3
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3964346235303735
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_3_7.json b/autobahn/client/hornbeam_case_9_3_7.json new file mode 100644 index 0000000..d02b4c3 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_3_7.json @@ -0,0 +1,128 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 265, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send fragmented text message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 256k.", + "droppedByMe": true, + "duration": 45, + "expectation": "Receive echo'ed text message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=265&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: vXJKj/kohEiZ8cLwWWaVaA==\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: ORLMG0KJTLstWjIF5P/Zx4GNAQU=\r\n\r\n", + "id": "9.3.7", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received text message of length 4194304.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "1": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 1, + "8": 1, + "184": 1, + "13032": 1, + "23557": 1, + "28960": 1, + "65536": 63 + }, + "started": "2023-08-11T05:15:24.061Z", + "trafficStats": null, + "txFrameStats": { + "0": 16, + "1": 1, + "8": 1 + }, + "txOctetStats": { + "2": 1, + "4": 1, + "206": 1, + "262154": 16 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323635266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 100 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "88829d4b50759ea3" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "9d4b5075" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_3_8.html b/autobahn/client/hornbeam_case_9_3_8.html new file mode 100644 index 0000000..356ccb4 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_3_8.html @@ -0,0 +1,303 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.3.8 : Pass - 42 ms @ 2023-08-11T05:15:24.108Z

+

Case Description

Send fragmented text message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 1M.

+

Case Expectation

Receive echo'ed text message (with payload as sent).

+ +

+ Case Outcome

Received text message of length 4194304.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=266&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: iAbRl1/jaXFoPuFNlWnccg==
+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: oAWJW+tyW+YQsMEqaZaIu5ZwNb4=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + +
Chop SizeCountOctets
122
717
1841184
13032113032
23557123557
28960128960
65536634128768
Total704194510
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
212
414
2061206
104858644194344
Total74194556
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

Frames Transmitted by Opcode

+ + + + + + +
OpcodeCount
04
11
81
Total6
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323636266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 100.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 88
+
006 RX OCTETS: 82955bb92196b3
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3935356262393231
+
               0x03e8
+
008 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_3_8.json b/autobahn/client/hornbeam_case_9_3_8.json new file mode 100644 index 0000000..60dc065 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_3_8.json @@ -0,0 +1,135 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 266, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send fragmented text message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 1M.", + "droppedByMe": true, + "duration": 42, + "expectation": "Receive echo'ed text message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=266&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: iAbRl1/jaXFoPuFNlWnccg==\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: oAWJW+tyW+YQsMEqaZaIu5ZwNb4=\r\n\r\n", + "id": "9.3.8", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received text message of length 4194304.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "1": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 2, + "7": 1, + "184": 1, + "13032": 1, + "23557": 1, + "28960": 1, + "65536": 63 + }, + "started": "2023-08-11T05:15:24.108Z", + "trafficStats": null, + "txFrameStats": { + "0": 4, + "1": 1, + "8": 1 + }, + "txOctetStats": { + "2": 1, + "4": 1, + "206": 1, + "1048586": 4 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323636266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 100 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "82955bb92196b3" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "955bb921" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_3_9.html b/autobahn/client/hornbeam_case_9_3_9.html new file mode 100644 index 0000000..2df911f --- /dev/null +++ b/autobahn/client/hornbeam_case_9_3_9.html @@ -0,0 +1,301 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.3.9 : Pass - 52 ms @ 2023-08-11T05:15:24.152Z

+

Case Description

Send fragmented text message message with message payload of length 4 * 2**20 (8M). Sent out in fragments of 4M.

+

Case Expectation

Receive echo'ed text message (with payload as sent).

+ +

+ Case Outcome

Received text message of length 4194304.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=267&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: hQpy/JMsspRBYwpfp9q2zQ==
+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: LUC+VNQ6IZRdQ507PGY6X5ooOCo=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + +
Chop SizeCountOctets
122
717
1841184
13032113032
23557123557
28960128960
65536634128768
Total704194510
+

Octets Transmitted by Chop Size

+ + + + + + +
Chop SizeCountOctets
414
2061206
419431414194314
Total34194524
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

Frames Transmitted by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323637266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 100.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 88
+
006 RX OCTETS: 82b2927581b17a
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6232393237353831
+
               0x03e8
+
008 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_3_9.json b/autobahn/client/hornbeam_case_9_3_9.json new file mode 100644 index 0000000..284ca69 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_3_9.json @@ -0,0 +1,133 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 267, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send fragmented text message message with message payload of length 4 * 2**20 (8M). Sent out in fragments of 4M.", + "droppedByMe": true, + "duration": 52, + "expectation": "Receive echo'ed text message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=267&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: hQpy/JMsspRBYwpfp9q2zQ==\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: LUC+VNQ6IZRdQ507PGY6X5ooOCo=\r\n\r\n", + "id": "9.3.9", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received text message of length 4194304.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "1": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 2, + "7": 1, + "184": 1, + "13032": 1, + "23557": 1, + "28960": 1, + "65536": 63 + }, + "started": "2023-08-11T05:15:24.152Z", + "trafficStats": null, + "txFrameStats": { + "1": 1, + "8": 1 + }, + "txOctetStats": { + "4": 1, + "206": 1, + "4194314": 1 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323637266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 100 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "82b2927581b17a" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "b2927581" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_4_1.html b/autobahn/client/hornbeam_case_9_4_1.html new file mode 100644 index 0000000..54c978a --- /dev/null +++ b/autobahn/client/hornbeam_case_9_4_1.html @@ -0,0 +1,300 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.4.1 : Pass - 229 ms @ 2023-08-11T05:15:24.228Z

+

Case Description

Send fragmented binary message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 64.

+

Case Expectation

Receive echo'ed binary message (with payload as sent).

+ +

+ Case Outcome

Received binary message of length 4194304.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=268&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: IeNby2MCTCR0V8/adoMiVA==
+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: wqL59bWo/PoSuZlWVLi+rEVVls4=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + +
Chop SizeCountOctets
818
14228
1841184
65522165522
65536634128768
Total684194510
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
212
414
66655364325376
2061206
Total655394325588
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

Frames Transmitted by Opcode

+ + + + + + +
OpcodeCount
065536
21
81
Total65538
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323638266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 100.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 8882f284226bf16c
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6632383432323662
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_4_1.json b/autobahn/client/hornbeam_case_9_4_1.json new file mode 100644 index 0000000..e6fe584 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_4_1.json @@ -0,0 +1,126 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 268, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send fragmented binary message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 64.", + "droppedByMe": true, + "duration": 229, + "expectation": "Receive echo'ed binary message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=268&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: IeNby2MCTCR0V8/adoMiVA==\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: wqL59bWo/PoSuZlWVLi+rEVVls4=\r\n\r\n", + "id": "9.4.1", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received binary message of length 4194304.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "2": 1, + "8": 1 + }, + "rxOctetStats": { + "8": 1, + "14": 2, + "184": 1, + "65522": 1, + "65536": 63 + }, + "started": "2023-08-11T05:15:24.228Z", + "trafficStats": null, + "txFrameStats": { + "0": 65536, + "2": 1, + "8": 1 + }, + "txOctetStats": { + "2": 1, + "4": 1, + "66": 65536, + "206": 1 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323638266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 100 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "8882f284226bf16c" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "f284226b" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_4_2.html b/autobahn/client/hornbeam_case_9_4_2.html new file mode 100644 index 0000000..f083c49 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_4_2.html @@ -0,0 +1,302 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.4.2 : Pass - 98 ms @ 2023-08-11T05:15:24.459Z

+

Case Description

Send fragmented binary message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 256.

+

Case Expectation

Receive echo'ed binary message (with payload as sent).

+ +

+ Case Outcome

Received binary message of length 4194304.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=269&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: X7kuR6UoqqHjPjBsW3sHXA==
+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: pc0bEhVG1pRI+d2JhcNOnOwFaFY=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + +
Chop SizeCountOctets
111
818
1841184
13032113032
24093124093
28424128424
65536634128768
Total694194510
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
212
414
2061206
260163844259840
Total163874260052
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

Frames Transmitted by Opcode

+ + + + + + +
OpcodeCount
016384
21
81
Total16386
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323639266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 100.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 888256c979f05521
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3536633937396630
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_4_2.json b/autobahn/client/hornbeam_case_9_4_2.json new file mode 100644 index 0000000..d28dd8b --- /dev/null +++ b/autobahn/client/hornbeam_case_9_4_2.json @@ -0,0 +1,128 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 269, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send fragmented binary message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 256.", + "droppedByMe": true, + "duration": 98, + "expectation": "Receive echo'ed binary message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=269&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: X7kuR6UoqqHjPjBsW3sHXA==\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: pc0bEhVG1pRI+d2JhcNOnOwFaFY=\r\n\r\n", + "id": "9.4.2", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received binary message of length 4194304.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "2": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 1, + "8": 1, + "184": 1, + "13032": 1, + "24093": 1, + "28424": 1, + "65536": 63 + }, + "started": "2023-08-11T05:15:24.459Z", + "trafficStats": null, + "txFrameStats": { + "0": 16384, + "2": 1, + "8": 1 + }, + "txOctetStats": { + "2": 1, + "4": 1, + "206": 1, + "260": 16384 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323639266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 100 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "888256c979f05521" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "56c979f0" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_4_3.html b/autobahn/client/hornbeam_case_9_4_3.html new file mode 100644 index 0000000..f09e8cf --- /dev/null +++ b/autobahn/client/hornbeam_case_9_4_3.html @@ -0,0 +1,302 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.4.3 : Pass - 45 ms @ 2023-08-11T05:15:24.559Z

+

Case Description

Send fragmented binary message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 1k.

+

Case Expectation

Receive echo'ed binary message (with payload as sent).

+ +

+ Case Outcome

Received binary message of length 4194304.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=270&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: b3iYOmmoDrHqCbqUDbglrQ==
+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: YwmELupVu7lqdoYhnM6kX/KInDc=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + +
Chop SizeCountOctets
111
818
1841184
13032113032
23557123557
28960128960
65536634128768
Total694194510
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
212
414
2061206
102840964210688
Total40994210900
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

Frames Transmitted by Opcode

+ + + + + + +
OpcodeCount
04096
21
81
Total4098
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323730266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 100.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 8882d58718e6d66f
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6435383731386536
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_4_3.json b/autobahn/client/hornbeam_case_9_4_3.json new file mode 100644 index 0000000..d2b4e12 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_4_3.json @@ -0,0 +1,128 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 270, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send fragmented binary message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 1k.", + "droppedByMe": true, + "duration": 45, + "expectation": "Receive echo'ed binary message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=270&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: b3iYOmmoDrHqCbqUDbglrQ==\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: YwmELupVu7lqdoYhnM6kX/KInDc=\r\n\r\n", + "id": "9.4.3", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received binary message of length 4194304.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "2": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 1, + "8": 1, + "184": 1, + "13032": 1, + "23557": 1, + "28960": 1, + "65536": 63 + }, + "started": "2023-08-11T05:15:24.559Z", + "trafficStats": null, + "txFrameStats": { + "0": 4096, + "2": 1, + "8": 1 + }, + "txOctetStats": { + "2": 1, + "4": 1, + "206": 1, + "1028": 4096 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323730266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 100 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "8882d58718e6d66f" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "d58718e6" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_4_4.html b/autobahn/client/hornbeam_case_9_4_4.html new file mode 100644 index 0000000..7d583b6 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_4_4.html @@ -0,0 +1,302 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.4.4 : Pass - 50 ms @ 2023-08-11T05:15:24.606Z

+

Case Description

Send fragmented binary message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 4k.

+

Case Expectation

Receive echo'ed binary message (with payload as sent).

+ +

+ Case Outcome

Received binary message of length 4194304.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=271&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: oXppVS6ZJQ3eLc9ISu8fnA==
+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: BTkYJCkInASWsfqYgI6CkLjX/1A=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + +
Chop SizeCountOctets
111
818
1841184
13032113032
23557123557
28960128960
65536634128768
Total694194510
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
212
414
2061206
410010244198400
Total10274198612
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

Frames Transmitted by Opcode

+ + + + + + +
OpcodeCount
01024
21
81
Total1026
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323731266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 100.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 88828273464e819b
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3832373334363465
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_4_4.json b/autobahn/client/hornbeam_case_9_4_4.json new file mode 100644 index 0000000..78fcba1 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_4_4.json @@ -0,0 +1,128 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 271, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send fragmented binary message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 4k.", + "droppedByMe": true, + "duration": 50, + "expectation": "Receive echo'ed binary message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=271&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: oXppVS6ZJQ3eLc9ISu8fnA==\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: BTkYJCkInASWsfqYgI6CkLjX/1A=\r\n\r\n", + "id": "9.4.4", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received binary message of length 4194304.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "2": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 1, + "8": 1, + "184": 1, + "13032": 1, + "23557": 1, + "28960": 1, + "65536": 63 + }, + "started": "2023-08-11T05:15:24.606Z", + "trafficStats": null, + "txFrameStats": { + "0": 1024, + "2": 1, + "8": 1 + }, + "txOctetStats": { + "2": 1, + "4": 1, + "206": 1, + "4100": 1024 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323731266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 100 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "88828273464e819b" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "8273464e" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_4_5.html b/autobahn/client/hornbeam_case_9_4_5.html new file mode 100644 index 0000000..d4cb902 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_4_5.html @@ -0,0 +1,302 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.4.5 : Pass - 37 ms @ 2023-08-11T05:15:24.672Z

+

Case Description

Send fragmented binary message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 16k.

+

Case Expectation

Receive echo'ed binary message (with payload as sent).

+ +

+ Case Outcome

Received binary message of length 4194304.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=272&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: +T3dzoD7Ev1I8O1l/An6Rw==
+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: ib5rIJ6q88VZeOdOOvIzpyTQjxM=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + +
Chop SizeCountOctets
111
818
1841184
13032113032
23557123557
28960128960
65536634128768
Total694194510
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
212
414
2061206
163882564195328
Total2594195540
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

Frames Transmitted by Opcode

+ + + + + + +
OpcodeCount
0256
21
81
Total258
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323732266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 100.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 8882044e7e5807a6
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3034346537653538
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_4_5.json b/autobahn/client/hornbeam_case_9_4_5.json new file mode 100644 index 0000000..3b1f468 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_4_5.json @@ -0,0 +1,128 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 272, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send fragmented binary message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 16k.", + "droppedByMe": true, + "duration": 37, + "expectation": "Receive echo'ed binary message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=272&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: +T3dzoD7Ev1I8O1l/An6Rw==\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: ib5rIJ6q88VZeOdOOvIzpyTQjxM=\r\n\r\n", + "id": "9.4.5", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received binary message of length 4194304.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "2": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 1, + "8": 1, + "184": 1, + "13032": 1, + "23557": 1, + "28960": 1, + "65536": 63 + }, + "started": "2023-08-11T05:15:24.672Z", + "trafficStats": null, + "txFrameStats": { + "0": 256, + "2": 1, + "8": 1 + }, + "txOctetStats": { + "2": 1, + "4": 1, + "206": 1, + "16388": 256 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323732266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 100 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "8882044e7e5807a6" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "044e7e58" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_4_6.html b/autobahn/client/hornbeam_case_9_4_6.html new file mode 100644 index 0000000..33c8175 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_4_6.html @@ -0,0 +1,302 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.4.6 : Pass - 27 ms @ 2023-08-11T05:15:24.711Z

+

Case Description

Send fragmented binary message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 64k.

+

Case Expectation

Receive echo'ed binary message (with payload as sent).

+ +

+ Case Outcome

Received binary message of length 4194304.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=273&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: om3C6b4R8qzHhIS6tAC4vA==
+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: qrzjco9fhvGDfnWo7eBhMoBc5+E=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + +
Chop SizeCountOctets
111
818
1841184
13032113032
24093124093
28424128424
65536634128768
Total694194510
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
212
414
2061206
65546644194944
Total674195156
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

Frames Transmitted by Opcode

+ + + + + + +
OpcodeCount
064
21
81
Total66
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323733266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 100.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 888270ae14e47346
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3730616531346534
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_4_6.json b/autobahn/client/hornbeam_case_9_4_6.json new file mode 100644 index 0000000..975f246 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_4_6.json @@ -0,0 +1,128 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 273, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send fragmented binary message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 64k.", + "droppedByMe": true, + "duration": 27, + "expectation": "Receive echo'ed binary message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=273&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: om3C6b4R8qzHhIS6tAC4vA==\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: qrzjco9fhvGDfnWo7eBhMoBc5+E=\r\n\r\n", + "id": "9.4.6", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received binary message of length 4194304.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "2": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 1, + "8": 1, + "184": 1, + "13032": 1, + "24093": 1, + "28424": 1, + "65536": 63 + }, + "started": "2023-08-11T05:15:24.711Z", + "trafficStats": null, + "txFrameStats": { + "0": 64, + "2": 1, + "8": 1 + }, + "txOctetStats": { + "2": 1, + "4": 1, + "206": 1, + "65546": 64 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323733266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 100 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "888270ae14e47346" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "70ae14e4" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_4_7.html b/autobahn/client/hornbeam_case_9_4_7.html new file mode 100644 index 0000000..d1b94b0 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_4_7.html @@ -0,0 +1,302 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.4.7 : Pass - 34 ms @ 2023-08-11T05:15:24.741Z

+

Case Description

Send fragmented binary message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 256k.

+

Case Expectation

Receive echo'ed binary message (with payload as sent).

+ +

+ Case Outcome

Received binary message of length 4194304.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=274&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: T7B2u+Uwtw4iVF0wR68ixQ==
+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: cn6sRK2yuasfw3+ylDFGQQ/qBb8=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + +
Chop SizeCountOctets
111
818
1841184
13032113032
24093124093
28424128424
65536634128768
Total694194510
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
212
414
2061206
262154164194464
Total194194676
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

Frames Transmitted by Opcode

+ + + + + + +
OpcodeCount
016
21
81
Total18
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323734266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 100.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 88829d7d28b09e95
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3964376432386230
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_4_7.json b/autobahn/client/hornbeam_case_9_4_7.json new file mode 100644 index 0000000..34e4bda --- /dev/null +++ b/autobahn/client/hornbeam_case_9_4_7.json @@ -0,0 +1,128 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 274, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send fragmented binary message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 256k.", + "droppedByMe": true, + "duration": 34, + "expectation": "Receive echo'ed binary message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=274&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: T7B2u+Uwtw4iVF0wR68ixQ==\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: cn6sRK2yuasfw3+ylDFGQQ/qBb8=\r\n\r\n", + "id": "9.4.7", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received binary message of length 4194304.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "2": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 1, + "8": 1, + "184": 1, + "13032": 1, + "24093": 1, + "28424": 1, + "65536": 63 + }, + "started": "2023-08-11T05:15:24.741Z", + "trafficStats": null, + "txFrameStats": { + "0": 16, + "2": 1, + "8": 1 + }, + "txOctetStats": { + "2": 1, + "4": 1, + "206": 1, + "262154": 16 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323734266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 100 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "88829d7d28b09e95" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "9d7d28b0" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_4_8.html b/autobahn/client/hornbeam_case_9_4_8.html new file mode 100644 index 0000000..b0c57ff --- /dev/null +++ b/autobahn/client/hornbeam_case_9_4_8.html @@ -0,0 +1,302 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.4.8 : Pass - 31 ms @ 2023-08-11T05:15:24.777Z

+

Case Description

Send fragmented binary message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 1M.

+

Case Expectation

Receive echo'ed binary message (with payload as sent).

+ +

+ Case Outcome

Received binary message of length 4194304.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=275&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: Hc0rU6uRcv9tyXoGuvIAyA==
+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: 1nAfl7hsT81nctXZp2suExm8uDc=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + +
Chop SizeCountOctets
111
818
1841184
13032113032
23557123557
28960128960
65536634128768
Total694194510
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
212
414
2061206
104858644194344
Total74194556
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

Frames Transmitted by Opcode

+ + + + + + +
OpcodeCount
04
21
81
Total6
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323735266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 100.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 8882d56878bfd680
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6435363837386266
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_4_8.json b/autobahn/client/hornbeam_case_9_4_8.json new file mode 100644 index 0000000..2e5b267 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_4_8.json @@ -0,0 +1,128 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 275, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send fragmented binary message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 1M.", + "droppedByMe": true, + "duration": 31, + "expectation": "Receive echo'ed binary message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=275&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Hc0rU6uRcv9tyXoGuvIAyA==\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: 1nAfl7hsT81nctXZp2suExm8uDc=\r\n\r\n", + "id": "9.4.8", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received binary message of length 4194304.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "2": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 1, + "8": 1, + "184": 1, + "13032": 1, + "23557": 1, + "28960": 1, + "65536": 63 + }, + "started": "2023-08-11T05:15:24.777Z", + "trafficStats": null, + "txFrameStats": { + "0": 4, + "2": 1, + "8": 1 + }, + "txOctetStats": { + "2": 1, + "4": 1, + "206": 1, + "1048586": 4 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323735266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 100 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "8882d56878bfd680" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "d56878bf" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_4_9.html b/autobahn/client/hornbeam_case_9_4_9.html new file mode 100644 index 0000000..84296ab --- /dev/null +++ b/autobahn/client/hornbeam_case_9_4_9.html @@ -0,0 +1,301 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.4.9 : Pass - 54 ms @ 2023-08-11T05:15:24.813Z

+

Case Description

Send fragmented binary message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 4M.

+

Case Expectation

Receive echo'ed binary message (with payload as sent).

+ +

+ Case Outcome

Received binary message of length 4194304.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=276&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 5jiThMlb80W3V+gT6xlkRw==
+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: EqlyYASelFqqx/V9E+UdJoQDw+8=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + +
Chop SizeCountOctets
122
717
1841184
13032113032
23557123557
28960128960
65536634128768
Total704194510
+

Octets Transmitted by Chop Size

+ + + + + + +
Chop SizeCountOctets
414
2061206
419431414194314
Total34194524
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

Frames Transmitted by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323736266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 100.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 88
+
006 RX OCTETS: 82e8630cb3eb8b
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6538363330636233
+
               0x03e8
+
008 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_4_9.json b/autobahn/client/hornbeam_case_9_4_9.json new file mode 100644 index 0000000..0917241 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_4_9.json @@ -0,0 +1,133 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 276, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send fragmented binary message message with message payload of length 4 * 2**20 (4M). Sent out in fragments of 4M.", + "droppedByMe": true, + "duration": 54, + "expectation": "Receive echo'ed binary message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=276&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 5jiThMlb80W3V+gT6xlkRw==\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: EqlyYASelFqqx/V9E+UdJoQDw+8=\r\n\r\n", + "id": "9.4.9", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received binary message of length 4194304.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "2": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 2, + "7": 1, + "184": 1, + "13032": 1, + "23557": 1, + "28960": 1, + "65536": 63 + }, + "started": "2023-08-11T05:15:24.813Z", + "trafficStats": null, + "txFrameStats": { + "2": 1, + "8": 1 + }, + "txOctetStats": { + "4": 1, + "206": 1, + "4194314": 1 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323736266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 100 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "82e8630cb3eb8b" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "e8630cb3" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_5_1.html b/autobahn/client/hornbeam_case_9_5_1.html new file mode 100644 index 0000000..9900427 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_5_1.html @@ -0,0 +1,301 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.5.1 : Pass - 261 ms @ 2023-08-11T05:15:24.869Z

+

Case Description

Send text message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 64 octets.

+

Case Expectation

Receive echo'ed text message (with payload as sent).

+ +

+ Case Outcome

Received text message of length 1048576.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=277&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: 8G3lu9CeckMFbSaLffjkOQ==
+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: RfSok6W8M5a48gKUWnZaUtQKSaU=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + +
Chop SizeCountOctets
111
818
1841184
13032113032
23557123557
28960128960
6553615983040
Total211048782
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
414
10110
64163841048576
2061206
Total163871048796
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

Frames Transmitted by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323737266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 1000.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 8882bf70793ebc98
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6266373037393365
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_5_1.json b/autobahn/client/hornbeam_case_9_5_1.json new file mode 100644 index 0000000..776f29f --- /dev/null +++ b/autobahn/client/hornbeam_case_9_5_1.json @@ -0,0 +1,127 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 277, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send text message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 64 octets.", + "droppedByMe": true, + "duration": 261, + "expectation": "Receive echo'ed text message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=277&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: 8G3lu9CeckMFbSaLffjkOQ==\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: RfSok6W8M5a48gKUWnZaUtQKSaU=\r\n\r\n", + "id": "9.5.1", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received text message of length 1048576.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "1": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 1, + "8": 1, + "184": 1, + "13032": 1, + "23557": 1, + "28960": 1, + "65536": 15 + }, + "started": "2023-08-11T05:15:24.869Z", + "trafficStats": null, + "txFrameStats": { + "1": 1, + "8": 1 + }, + "txOctetStats": { + "4": 1, + "10": 1, + "64": 16384, + "206": 1 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323737266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 1000 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "8882bf70793ebc98" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "bf70793e" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_5_2.html b/autobahn/client/hornbeam_case_9_5_2.html new file mode 100644 index 0000000..3db7e38 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_5_2.html @@ -0,0 +1,302 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.5.2 : Pass - 165 ms @ 2023-08-11T05:15:25.130Z

+

Case Description

Send text message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 128 octets.

+

Case Expectation

Receive echo'ed text message (with payload as sent).

+ +

+ Case Outcome

Received text message of length 1048576.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=278&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: Gxvj7Sr8Mi8ZeEOXphmqzA==
+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: 2Gn+7H6x4Dz7iuNj7h9ETCPyJbE=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + + +
Chop SizeCountOctets
111
818
13113
1841184
13032113032
24080124080
28424128424
6553615983040
Total221048782
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
414
10110
12881921048576
2061206
Total81951048796
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

Frames Transmitted by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323738266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 1000.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 88828ba7e788884f
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3862613765373838
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_5_2.json b/autobahn/client/hornbeam_case_9_5_2.json new file mode 100644 index 0000000..3cc5d11 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_5_2.json @@ -0,0 +1,128 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 278, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send text message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 128 octets.", + "droppedByMe": true, + "duration": 165, + "expectation": "Receive echo'ed text message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=278&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: Gxvj7Sr8Mi8ZeEOXphmqzA==\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: 2Gn+7H6x4Dz7iuNj7h9ETCPyJbE=\r\n\r\n", + "id": "9.5.2", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received text message of length 1048576.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "1": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 1, + "8": 1, + "13": 1, + "184": 1, + "13032": 1, + "24080": 1, + "28424": 1, + "65536": 15 + }, + "started": "2023-08-11T05:15:25.130Z", + "trafficStats": null, + "txFrameStats": { + "1": 1, + "8": 1 + }, + "txOctetStats": { + "4": 1, + "10": 1, + "128": 8192, + "206": 1 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323738266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 1000 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "88828ba7e788884f" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "8ba7e788" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_5_3.html b/autobahn/client/hornbeam_case_9_5_3.html new file mode 100644 index 0000000..7e1d1ac --- /dev/null +++ b/autobahn/client/hornbeam_case_9_5_3.html @@ -0,0 +1,302 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.5.3 : Pass - 66 ms @ 2023-08-11T05:15:25.296Z

+

Case Description

Send text message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 256 octets.

+

Case Expectation

Receive echo'ed text message (with payload as sent).

+ +

+ Case Outcome

Received text message of length 1048576.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=279&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: nJ16jU9w7/PuRJEvgy7gmA==
+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: NLG3Lc4h0ZIZk1qZHBqAfjrP4eA=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + + +
Chop SizeCountOctets
111
818
1841184
13032113032
28424128424
32781132781
56848156848
6553614917504
Total211048782
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
414
10110
2061206
25640961048576
Total40991048796
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

Frames Transmitted by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323739266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 1000.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 88826bb43fc0685c
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3662623433666330
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_5_3.json b/autobahn/client/hornbeam_case_9_5_3.json new file mode 100644 index 0000000..5d4230f --- /dev/null +++ b/autobahn/client/hornbeam_case_9_5_3.json @@ -0,0 +1,128 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 279, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send text message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 256 octets.", + "droppedByMe": true, + "duration": 66, + "expectation": "Receive echo'ed text message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=279&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: nJ16jU9w7/PuRJEvgy7gmA==\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: NLG3Lc4h0ZIZk1qZHBqAfjrP4eA=\r\n\r\n", + "id": "9.5.3", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received text message of length 1048576.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "1": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 1, + "8": 1, + "184": 1, + "13032": 1, + "28424": 1, + "32781": 1, + "56848": 1, + "65536": 14 + }, + "started": "2023-08-11T05:15:25.296Z", + "trafficStats": null, + "txFrameStats": { + "1": 1, + "8": 1 + }, + "txOctetStats": { + "4": 1, + "10": 1, + "206": 1, + "256": 4096 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323739266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 1000 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "88826bb43fc0685c" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "6bb43fc0" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_5_4.html b/autobahn/client/hornbeam_case_9_5_4.html new file mode 100644 index 0000000..0147dec --- /dev/null +++ b/autobahn/client/hornbeam_case_9_5_4.html @@ -0,0 +1,301 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.5.4 : Pass - 41 ms @ 2023-08-11T05:15:25.363Z

+

Case Description

Send text message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 512 octets.

+

Case Expectation

Receive echo'ed text message (with payload as sent).

+ +

+ Case Outcome

Received text message of length 1048576.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=280&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: N/G7/1ehPzNMwwF8/xlAWw==
+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: rlq8nOU4bqaYw/dGJaxIbCRS3us=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + +
Chop SizeCountOctets
111
818
1841184
13032113032
23557123557
28960128960
6553615983040
Total211048782
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
414
10110
2061206
51220481048576
Total20511048796
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

Frames Transmitted by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323830266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 1000.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 8882b9e55df2ba0d
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6239653535646632
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_5_4.json b/autobahn/client/hornbeam_case_9_5_4.json new file mode 100644 index 0000000..a2ec1f1 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_5_4.json @@ -0,0 +1,127 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 280, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send text message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 512 octets.", + "droppedByMe": true, + "duration": 41, + "expectation": "Receive echo'ed text message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=280&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: N/G7/1ehPzNMwwF8/xlAWw==\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: rlq8nOU4bqaYw/dGJaxIbCRS3us=\r\n\r\n", + "id": "9.5.4", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received text message of length 1048576.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "1": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 1, + "8": 1, + "184": 1, + "13032": 1, + "23557": 1, + "28960": 1, + "65536": 15 + }, + "started": "2023-08-11T05:15:25.363Z", + "trafficStats": null, + "txFrameStats": { + "1": 1, + "8": 1 + }, + "txOctetStats": { + "4": 1, + "10": 1, + "206": 1, + "512": 2048 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323830266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 1000 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "8882b9e55df2ba0d" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "b9e55df2" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_5_5.html b/autobahn/client/hornbeam_case_9_5_5.html new file mode 100644 index 0000000..2b33f5c --- /dev/null +++ b/autobahn/client/hornbeam_case_9_5_5.html @@ -0,0 +1,301 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.5.5 : Pass - 28 ms @ 2023-08-11T05:15:25.405Z

+

Case Description

Send text message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 1024 octets.

+

Case Expectation

Receive echo'ed text message (with payload as sent).

+ +

+ Case Outcome

Received text message of length 1048576.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=281&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: YqB3GlpWo5/8AaTbk4caCQ==
+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: Cqi3JprttFYBq/rVURtmG/PiI50=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + +
Chop SizeCountOctets
111
818
1841184
13032113032
24093124093
28424128424
6553615983040
Total211048782
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
414
10110
2061206
102410241048576
Total10271048796
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

Frames Transmitted by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323831266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 1000.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 8882709a72837372
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3730396137323833
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_5_5.json b/autobahn/client/hornbeam_case_9_5_5.json new file mode 100644 index 0000000..03c046f --- /dev/null +++ b/autobahn/client/hornbeam_case_9_5_5.json @@ -0,0 +1,127 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 281, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send text message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 1024 octets.", + "droppedByMe": true, + "duration": 28, + "expectation": "Receive echo'ed text message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=281&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: YqB3GlpWo5/8AaTbk4caCQ==\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: Cqi3JprttFYBq/rVURtmG/PiI50=\r\n\r\n", + "id": "9.5.5", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received text message of length 1048576.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "1": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 1, + "8": 1, + "184": 1, + "13032": 1, + "24093": 1, + "28424": 1, + "65536": 15 + }, + "started": "2023-08-11T05:15:25.405Z", + "trafficStats": null, + "txFrameStats": { + "1": 1, + "8": 1 + }, + "txOctetStats": { + "4": 1, + "10": 1, + "206": 1, + "1024": 1024 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323831266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 1000 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "8882709a72837372" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "709a7283" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_5_6.html b/autobahn/client/hornbeam_case_9_5_6.html new file mode 100644 index 0000000..9172866 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_5_6.html @@ -0,0 +1,302 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.5.6 : Pass - 56 ms @ 2023-08-11T05:15:25.435Z

+

Case Description

Send text message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 2048 octets.

+

Case Expectation

Receive echo'ed text message (with payload as sent).

+ +

+ Case Outcome

Received text message of length 1048576.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=282&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: +i3Q5OFqrBN2wX25gjLq8A==
+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: ctAw/PVZkF0bPV2cBk2Ocx+r5Hg=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + + +
Chop SizeCountOctets
111
818
13113
1841184
13032113032
24080124080
28424128424
6553615983040
Total221048782
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
414
10110
2061206
20485121048576
Total5151048796
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

Frames Transmitted by Opcode

+ + + + + +
OpcodeCount
11
81
Total2
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323832266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 1000.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 8882bfec6adebc04
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6266656336616465
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_5_6.json b/autobahn/client/hornbeam_case_9_5_6.json new file mode 100644 index 0000000..c4cbbfd --- /dev/null +++ b/autobahn/client/hornbeam_case_9_5_6.json @@ -0,0 +1,128 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 282, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send text message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 2048 octets.", + "droppedByMe": true, + "duration": 56, + "expectation": "Receive echo'ed text message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=282&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: +i3Q5OFqrBN2wX25gjLq8A==\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: ctAw/PVZkF0bPV2cBk2Ocx+r5Hg=\r\n\r\n", + "id": "9.5.6", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received text message of length 1048576.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "1": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 1, + "8": 1, + "13": 1, + "184": 1, + "13032": 1, + "24080": 1, + "28424": 1, + "65536": 15 + }, + "started": "2023-08-11T05:15:25.435Z", + "trafficStats": null, + "txFrameStats": { + "1": 1, + "8": 1 + }, + "txOctetStats": { + "4": 1, + "10": 1, + "206": 1, + "2048": 512 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323832266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 1000 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "8882bfec6adebc04" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "bfec6ade" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_6_1.html b/autobahn/client/hornbeam_case_9_6_1.html new file mode 100644 index 0000000..8c2e5dc --- /dev/null +++ b/autobahn/client/hornbeam_case_9_6_1.html @@ -0,0 +1,304 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.6.1 : Pass - 239 ms @ 2023-08-11T05:15:25.493Z

+

Case Description

Send binary message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 64 octets.

+

Case Expectation

Receive echo'ed binary message (with payload as sent).

+ +

+ Case Outcome

Received binary message of length 1048576.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=283&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: AJ5vobcOK7rg4fE6J+7J4w==
+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: gdREfp0ZC0gkV+qxdRasBw/WjTU=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + + + +
Chop SizeCountOctets
122
717
1841184
627216272
13032113032
25437125437
28424128424
57920157920
6553614917504
Total231048782
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
414
10110
64163841048576
2061206
Total163871048796
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

Frames Transmitted by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323833266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 1000.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 88
+
006 RX OCTETS: 82b80bfe94bbe3
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6238306266653934
+
               0x03e8
+
008 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_6_1.json b/autobahn/client/hornbeam_case_9_6_1.json new file mode 100644 index 0000000..8dcfbad --- /dev/null +++ b/autobahn/client/hornbeam_case_9_6_1.json @@ -0,0 +1,136 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 283, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send binary message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 64 octets.", + "droppedByMe": true, + "duration": 239, + "expectation": "Receive echo'ed binary message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=283&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: AJ5vobcOK7rg4fE6J+7J4w==\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: gdREfp0ZC0gkV+qxdRasBw/WjTU=\r\n\r\n", + "id": "9.6.1", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received binary message of length 1048576.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "2": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 2, + "7": 1, + "184": 1, + "6272": 1, + "13032": 1, + "25437": 1, + "28424": 1, + "57920": 1, + "65536": 14 + }, + "started": "2023-08-11T05:15:25.493Z", + "trafficStats": null, + "txFrameStats": { + "2": 1, + "8": 1 + }, + "txOctetStats": { + "4": 1, + "10": 1, + "64": 16384, + "206": 1 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323833266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 1000 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "82b80bfe94bbe3" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "b80bfe94" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_6_2.html b/autobahn/client/hornbeam_case_9_6_2.html new file mode 100644 index 0000000..f1ea04c --- /dev/null +++ b/autobahn/client/hornbeam_case_9_6_2.html @@ -0,0 +1,303 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.6.2 : Pass - 136 ms @ 2023-08-11T05:15:25.733Z

+

Case Description

Send binary message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 128 octets.

+

Case Expectation

Receive echo'ed text message (with payload as sent).

+ +

+ Case Outcome

Received binary message of length 1048576.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=284&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: I7XqJIzsByQG2uGJ8cqF8g==
+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: Fu+2jhJ72sPsW0mEepoxfb8SMYo=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + + + +
Chop SizeCountOctets
111
818
1841184
627216272
13032113032
25437125437
28424128424
57920157920
6553614917504
Total221048782
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
414
10110
12881921048576
2061206
Total81951048796
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

Frames Transmitted by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323834266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 1000.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 88828500ce4886e8
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3835303063653438
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_6_2.json b/autobahn/client/hornbeam_case_9_6_2.json new file mode 100644 index 0000000..231c570 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_6_2.json @@ -0,0 +1,129 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 284, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send binary message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 128 octets.", + "droppedByMe": true, + "duration": 136, + "expectation": "Receive echo'ed text message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=284&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: I7XqJIzsByQG2uGJ8cqF8g==\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: Fu+2jhJ72sPsW0mEepoxfb8SMYo=\r\n\r\n", + "id": "9.6.2", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received binary message of length 1048576.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "2": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 1, + "8": 1, + "184": 1, + "6272": 1, + "13032": 1, + "25437": 1, + "28424": 1, + "57920": 1, + "65536": 14 + }, + "started": "2023-08-11T05:15:25.733Z", + "trafficStats": null, + "txFrameStats": { + "2": 1, + "8": 1 + }, + "txOctetStats": { + "4": 1, + "10": 1, + "128": 8192, + "206": 1 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323834266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 1000 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "88828500ce4886e8" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "8500ce48" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_6_3.html b/autobahn/client/hornbeam_case_9_6_3.html new file mode 100644 index 0000000..c2268f4 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_6_3.html @@ -0,0 +1,304 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.6.3 : Pass - 78 ms @ 2023-08-11T05:15:25.871Z

+

Case Description

Send binary message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 256 octets.

+

Case Expectation

Receive echo'ed text message (with payload as sent).

+ +

+ Case Outcome

Received binary message of length 1048576.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=285&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: oGOTyy+ee9VAiOseGA8AHg==
+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: oosiwxzZHeIxNM5cnUR8zVyrWA4=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + + + +
Chop SizeCountOctets
122
717
1841184
627216272
13032113032
25437125437
28424128424
57920157920
6553614917504
Total231048782
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
414
10110
2061206
25640961048576
Total40991048796
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

Frames Transmitted by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323835266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 1000.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 88
+
006 RX OCTETS: 82c9430d0ccaab
+
007 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6339343330643063
+
               0x03e8
+
008 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_6_3.json b/autobahn/client/hornbeam_case_9_6_3.json new file mode 100644 index 0000000..3fc9c3e --- /dev/null +++ b/autobahn/client/hornbeam_case_9_6_3.json @@ -0,0 +1,136 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 285, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send binary message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 256 octets.", + "droppedByMe": true, + "duration": 78, + "expectation": "Receive echo'ed text message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=285&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: oGOTyy+ee9VAiOseGA8AHg==\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: oosiwxzZHeIxNM5cnUR8zVyrWA4=\r\n\r\n", + "id": "9.6.3", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received binary message of length 1048576.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "2": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 2, + "7": 1, + "184": 1, + "6272": 1, + "13032": 1, + "25437": 1, + "28424": 1, + "57920": 1, + "65536": 14 + }, + "started": "2023-08-11T05:15:25.871Z", + "trafficStats": null, + "txFrameStats": { + "2": 1, + "8": 1 + }, + "txOctetStats": { + "4": 1, + "10": 1, + "206": 1, + "256": 4096 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323835266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 1000 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 1, + "88" + ] + ], + [ + "RO", + [ + 7, + "82c9430d0ccaab" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "c9430d0c" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_6_4.html b/autobahn/client/hornbeam_case_9_6_4.html new file mode 100644 index 0000000..3a7bb20 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_6_4.html @@ -0,0 +1,303 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.6.4 : Pass - 44 ms @ 2023-08-11T05:15:25.951Z

+

Case Description

Send binary message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 512 octets.

+

Case Expectation

Receive echo'ed text message (with payload as sent).

+ +

+ Case Outcome

Received binary message of length 1048576.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=286&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: pSlslbyeB6rniXKrO2vBPA==
+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: ew99XBv9EpbqOCN2lLKLetQdyUM=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + + + +
Chop SizeCountOctets
111
818
1841184
627216272
13032113032
25437125437
28424128424
57920157920
6553614917504
Total221048782
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
414
10110
2061206
51220481048576
Total20511048796
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

Frames Transmitted by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323836266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 1000.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 888225c5882a262d
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3235633538383261
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_6_4.json b/autobahn/client/hornbeam_case_9_6_4.json new file mode 100644 index 0000000..053480a --- /dev/null +++ b/autobahn/client/hornbeam_case_9_6_4.json @@ -0,0 +1,129 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 286, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send binary message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 512 octets.", + "droppedByMe": true, + "duration": 44, + "expectation": "Receive echo'ed text message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=286&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: pSlslbyeB6rniXKrO2vBPA==\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: ew99XBv9EpbqOCN2lLKLetQdyUM=\r\n\r\n", + "id": "9.6.4", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received binary message of length 1048576.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "2": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 1, + "8": 1, + "184": 1, + "6272": 1, + "13032": 1, + "25437": 1, + "28424": 1, + "57920": 1, + "65536": 14 + }, + "started": "2023-08-11T05:15:25.951Z", + "trafficStats": null, + "txFrameStats": { + "2": 1, + "8": 1 + }, + "txOctetStats": { + "4": 1, + "10": 1, + "206": 1, + "512": 2048 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323836266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 1000 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "888225c5882a262d" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "25c5882a" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_6_5.html b/autobahn/client/hornbeam_case_9_6_5.html new file mode 100644 index 0000000..9c4f917 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_6_5.html @@ -0,0 +1,303 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.6.5 : Pass - 29 ms @ 2023-08-11T05:15:25.996Z

+

Case Description

Send binary message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 1024 octets.

+

Case Expectation

Receive echo'ed text message (with payload as sent).

+ +

+ Case Outcome

Received binary message of length 1048576.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=287&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: rxiW/Z1kn4rKRNKC42qRbg==
+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: YtK63b5CWNBYAUTr7hri58MtR+g=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + + + +
Chop SizeCountOctets
111
818
1841184
627216272
13032113032
25437125437
28424128424
57920157920
6553614917504
Total221048782
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
414
10110
2061206
102410241048576
Total10271048796
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

Frames Transmitted by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323837266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 1000.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 8882a66082e4a588
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=6136363038326534
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_6_5.json b/autobahn/client/hornbeam_case_9_6_5.json new file mode 100644 index 0000000..9d959c8 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_6_5.json @@ -0,0 +1,129 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 287, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send binary message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 1024 octets.", + "droppedByMe": true, + "duration": 29, + "expectation": "Receive echo'ed text message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=287&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: rxiW/Z1kn4rKRNKC42qRbg==\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: YtK63b5CWNBYAUTr7hri58MtR+g=\r\n\r\n", + "id": "9.6.5", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received binary message of length 1048576.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "2": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 1, + "8": 1, + "184": 1, + "6272": 1, + "13032": 1, + "25437": 1, + "28424": 1, + "57920": 1, + "65536": 14 + }, + "started": "2023-08-11T05:15:25.996Z", + "trafficStats": null, + "txFrameStats": { + "2": 1, + "8": 1 + }, + "txOctetStats": { + "4": 1, + "10": 1, + "206": 1, + "1024": 1024 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323837266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 1000 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "8882a66082e4a588" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "a66082e4" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/hornbeam_case_9_6_6.html b/autobahn/client/hornbeam_case_9_6_6.html new file mode 100644 index 0000000..de7f961 --- /dev/null +++ b/autobahn/client/hornbeam_case_9_6_6.html @@ -0,0 +1,303 @@ + + + + + + + + + +
+
Autobahn WebSocket Testsuite Report
+
Autobahn WebSocket
+
+

Hornbeam - Case 9.6.6 : Pass - 24 ms @ 2023-08-11T05:15:26.026Z

+

Case Description

Send binary message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 2048 octets.

+

Case Expectation

Receive echo'ed text message (with payload as sent).

+ +

+ Case Outcome

Received binary message of length 1048576.

+ Expected:
{}

+ Observed:
[] +

+

Case Closing Behavior

Connection was properly closed (OK)

+

+

Opening Handshake

+
GET /runCase?case=288&agent=Hornbeam HTTP/1.1
+Host: localhost:9001
+Upgrade: websocket
+Connection: upgrade
+Sec-WebSocket-Key: zJ1FlV6E7ZUyIjOW0u2eLw==
+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: hqnTk+n/vtlQTza1RUC/XZ6xRoc=
+

+

Closing Behavior

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


+

Wire Statistics

+

Octets Received by Chop Size

+ + + + + + + + + + + + +
Chop SizeCountOctets
111
818
1841184
627216272
13032113032
25437125437
28424128424
57920157920
6553614917504
Total221048782
+

Octets Transmitted by Chop Size

+ + + + + + + +
Chop SizeCountOctets
414
10110
2061206
20485121048576
Total5151048796
+

Frames Received by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

Frames Transmitted by Opcode

+ + + + + +
OpcodeCount
21
81
Total2
+

+

Wire Log

+
+
000 RX OCTETS: 474554202f72756e436173653f636173653d323838266167656e743d486f726e6265616d20485454502f312e310d0a486f73
+
               743a206c6f63616c686f73743a39 ...
+
001 TX OCTETS: 485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e
+
               5465737453756974652f302e382e ...
+
002 CLOSE CONNECTION AFTER 1000.000000 sec
+
003 TX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASK=None, PAYLOAD-REPEAT-LEN=None, CHOPSIZE=None, SYNC=False
+
               0x03e8
+
004 TX OCTETS: 880203e8
+
005 RX OCTETS: 8882376f9b383487
+
006 RX FRAME : OPCODE=8, FIN=True, RSV=0, PAYLOAD-LEN=2, MASKED=True, MASK=3337366639623338
+
               0x03e8
+
007 TCP DROPPED BY ME
+
+

+ + diff --git a/autobahn/client/hornbeam_case_9_6_6.json b/autobahn/client/hornbeam_case_9_6_6.json new file mode 100644 index 0000000..4885afe --- /dev/null +++ b/autobahn/client/hornbeam_case_9_6_6.json @@ -0,0 +1,129 @@ +{ + "agent": "Hornbeam", + "behavior": "OK", + "behaviorClose": "OK", + "case": 288, + "closedByMe": true, + "createStats": true, + "createWirelog": true, + "description": "Send binary message message with payload of length 1 * 2**20 (1M). Sent out data in chops of 2048 octets.", + "droppedByMe": true, + "duration": 24, + "expectation": "Receive echo'ed text message (with payload as sent).", + "expected": {}, + "expectedClose": { + "closeCode": [ + 1000 + ], + "closedByMe": true, + "requireClean": true + }, + "failedByMe": false, + "httpRequest": "GET /runCase?case=288&agent=Hornbeam HTTP/1.1\r\nHost: localhost:9001\r\nUpgrade: websocket\r\nConnection: upgrade\r\nSec-WebSocket-Key: zJ1FlV6E7ZUyIjOW0u2eLw==\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: hqnTk+n/vtlQTza1RUC/XZ6xRoc=\r\n\r\n", + "id": "9.6.6", + "isServer": true, + "localCloseCode": 1000, + "localCloseReason": null, + "received": [], + "remoteCloseCode": 1000, + "remoteCloseReason": null, + "reportCompressionRatio": false, + "reportTime": true, + "result": "Received binary message of length 1048576.", + "resultClose": "Connection was properly closed", + "rxFrameStats": { + "2": 1, + "8": 1 + }, + "rxOctetStats": { + "1": 1, + "8": 1, + "184": 1, + "6272": 1, + "13032": 1, + "25437": 1, + "28424": 1, + "57920": 1, + "65536": 14 + }, + "started": "2023-08-11T05:15:26.026Z", + "trafficStats": null, + "txFrameStats": { + "2": 1, + "8": 1 + }, + "txOctetStats": { + "4": 1, + "10": 1, + "206": 1, + "2048": 512 + }, + "wasClean": true, + "wasCloseHandshakeTimeout": false, + "wasNotCleanReason": null, + "wasOpenHandshakeTimeout": false, + "wasServerConnectionDropTimeout": false, + "wirelog": [ + [ + "RO", + [ + 184, + "474554202f72756e436173653f636173653d323838266167656e743d486f726e6265616d20485454502f312e310d0a486f73743a206c6f63616c686f73743a39 ..." + ] + ], + [ + "TO", + [ + 206, + "485454502f312e312031303120537769746368696e672050726f746f636f6c730d0a5365727665723a204175746f6261686e5465737453756974652f302e382e ..." + ], + false + ], + [ + "TI", + 1000 + ], + [ + "TF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + null, + null, + null, + false + ], + [ + "TO", + [ + 4, + "880203e8" + ], + false + ], + [ + "RO", + [ + 8, + "8882376f9b383487" + ] + ], + [ + "RF", + [ + 2, + "0x03e8" + ], + 8, + true, + 0, + true, + "376f9b38" + ] + ] +} \ No newline at end of file diff --git a/autobahn/client/index.html b/autobahn/client/index.html index 441be9c..06b1dcf 100644 --- a/autobahn/client/index.html +++ b/autobahn/client/index.html @@ -291,7 +291,7 @@ function toggleClose() {
Autobahn WebSocket Testsuite Report
Autobahn WebSocket
-

Summary report generated on 2023-08-10T23:11:13.908Z (UTC) by Autobahn WebSocket Testsuite v0.8.2/v0.10.9.

+

Summary report generated on 2023-08-11T05:15:26.952Z (UTC) by Autobahn WebSocket Testsuite v0.8.2/v0.10.9.

@@ -456,31 +456,31 @@ function toggleClose() { - + - + - + - + - + - + - + @@ -542,35 +542,35 @@ function toggleClose() { - + - + - + - + - + - + - + - + @@ -598,7 +598,7 @@ function toggleClose() { - + @@ -610,15 +610,15 @@ function toggleClose() { - + - + - + @@ -633,11 +633,11 @@ function toggleClose() { - + - + @@ -652,15 +652,15 @@ function toggleClose() { - + - + - + @@ -671,11 +671,11 @@ function toggleClose() { - + - + @@ -686,19 +686,19 @@ function toggleClose() { - + - + - + - + @@ -736,7 +736,7 @@ function toggleClose() { - + @@ -744,11 +744,11 @@ function toggleClose() { - + - + @@ -756,7 +756,7 @@ function toggleClose() { - + @@ -764,7 +764,7 @@ function toggleClose() { - + @@ -772,7 +772,7 @@ function toggleClose() { - + @@ -810,11 +810,11 @@ function toggleClose() { - + - + @@ -848,15 +848,15 @@ function toggleClose() { - + - + - + @@ -883,7 +883,7 @@ function toggleClose() { - + @@ -894,35 +894,35 @@ function toggleClose() { - + - + - + - + - + - + - + - + @@ -933,23 +933,23 @@ function toggleClose() { - + - + - + - + - + @@ -960,43 +960,43 @@ function toggleClose() { - + - + - + - + - + - + - + - + - + - + @@ -1007,7 +1007,7 @@ function toggleClose() { - + @@ -1018,15 +1018,15 @@ function toggleClose() { - + - + - + @@ -1037,23 +1037,23 @@ function toggleClose() { - + - + - + - + - + @@ -1064,23 +1064,23 @@ function toggleClose() { - + - + - + - + - + @@ -1091,23 +1091,23 @@ function toggleClose() { - + - + - + - + - + @@ -1118,31 +1118,31 @@ function toggleClose() { - + - + - + - + - + - + - + @@ -1153,35 +1153,35 @@ function toggleClose() { - + - + - + - + - + - + - + - + @@ -1386,7 +1386,7 @@ function toggleClose() { - + @@ -1401,11 +1401,11 @@ function toggleClose() { - + - + @@ -1421,7 +1421,7 @@ function toggleClose() { - + @@ -1447,51 +1447,51 @@ function toggleClose() { - + - + - + - + - + - + - + - + - + - + - + - + @@ -1502,39 +1502,39 @@ function toggleClose() { - + - + - + - + - + - + - + - + - + @@ -1545,11 +1545,11 @@ function toggleClose() { - + - + @@ -1560,27 +1560,27 @@ function toggleClose() { - + - + - + - + - + - + @@ -1591,27 +1591,27 @@ function toggleClose() { - + - + - + - + - + - + @@ -1622,39 +1622,39 @@ function toggleClose() { - + - + - + - + - + - + - + - + - + @@ -1665,39 +1665,39 @@ function toggleClose() { - + - + - + - + - + - + - + - + - + @@ -1708,27 +1708,27 @@ function toggleClose() { - + - + - + - + - + - + @@ -1739,27 +1739,27 @@ function toggleClose() { - + - + - + - + - + - + @@ -1832,7 +1832,7 @@ function toggleClose() { - + @@ -1843,75 +1843,75 @@ function toggleClose() { - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1922,75 +1922,75 @@ function toggleClose() { - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2001,75 +2001,75 @@ function toggleClose() { - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2080,75 +2080,75 @@ function toggleClose() { - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2159,75 +2159,75 @@ function toggleClose() { - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2238,75 +2238,75 @@ function toggleClose() { - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2317,75 +2317,75 @@ function toggleClose() { - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2396,75 +2396,75 @@ function toggleClose() { - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2475,75 +2475,75 @@ function toggleClose() { - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2554,75 +2554,75 @@ function toggleClose() { - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2633,75 +2633,75 @@ function toggleClose() { - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2712,75 +2712,75 @@ function toggleClose() { - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
Case 3.1FailFailPass1002
Case 3.2FailFailPass1002
Case 3.3FailFailPass1002
Case 3.4FailFailPass1002
Case 3.5FailFailPass1002
Case 3.6FailFailPass1002
Case 3.7Pass1000Pass1002
4 Opcodes
Case 5.1FailNonePass1002
Case 5.2PassNonePass1002
Case 5.3FailFailPass1000
Case 5.4FailFailPass1000
Case 5.5FailFailPass1000
Case 5.6FailFailPass1000
Case 5.7FailFailPass1000
Case 5.8FailFailPass1000
Case 5.9
Case 5.15FailNonePassNone
Case 5.16
Case 5.18FailFailPass1002
Case 5.19FailFailPass1000
Case 5.20FailFailPass1000
6 UTF-8 Handling
Case 6.1.2PassUncleanPass1000
Case 6.1.3FailFailPass1000
6 UTF-8 Handling
Case 6.2.2FailFailPass1000
Case 6.2.3FailFailPass1000
Case 6.2.4FailFailPass1000
6 UTF-8 Handling
Case 6.3.1FailFailPassNone
Case 6.3.2FailNonePassNone
6 UTF-8 Handling
Case 6.4.1FailNoneNon-StrictNone
Case 6.4.2FailNoneNon-StrictNone
Case 6.4.3FailNoneNon-StrictNone
Case 6.4.4FailNoneNon-StrictNone
6 UTF-8 Handling
Case 6.6.1FailFailPassNone
Case 6.6.2
Case 6.6.3FailFailPassNone
Case 6.6.4FailFailPassNone
Case 6.6.5
Case 6.6.6FailFailPassNone
Case 6.6.7
Case 6.6.8FailFailPassNone
Case 6.6.9
Case 6.6.10FailFailPassNone
Case 6.6.11
Case 6.8.1FailFailPassNone
Case 6.8.2FailFailPassNone
6 UTF-8 Handling
Case 6.10.1FailFailPassNone
Case 6.10.2FailFailPassNone
Case 6.10.3FailFailPassNone
6 UTF-8 Handling
Case 6.11.5FailFailPassNone
6 UTF-8 Handling
Case 6.12.1FailFailPassNone
Case 6.12.2FailFailPassNone
Case 6.12.3FailFailPassNone
Case 6.12.4FailFailPassNone
Case 6.12.5FailFailPassNone
Case 6.12.6FailFailPassNone
Case 6.12.7FailFailPassNone
Case 6.12.8FailFailPassNone
6 UTF-8 Handling
Case 6.13.1FailFailPassNone
Case 6.13.2FailFailPassNone
Case 6.13.3FailFailPassNone
Case 6.13.4FailFailPassNone
Case 6.13.5FailFailPassNone
6 UTF-8 Handling
Case 6.14.1FailFailPassNone
Case 6.14.2FailFailPassNone
Case 6.14.3FailFailPassNone
Case 6.14.4FailFailPassNone
Case 6.14.5FailFailPassNone
Case 6.14.6FailFailPassNone
Case 6.14.7FailFailPassNone
Case 6.14.8FailFailPassNone
Case 6.14.9FailFailPassNone
Case 6.14.10FailFailPassNone
6 UTF-8 Handling
Case 6.15.1FailFailPassNone
6 UTF-8 Handling
Case 6.16.1FailFailPassNone
Case 6.16.2FailFailPassNone
Case 6.16.3FailFailPassNone
6 UTF-8 Handling
Case 6.17.1FailFailPassNone
Case 6.17.2FailFailPassNone
Case 6.17.3FailFailPassNone
Case 6.17.4FailFailPassNone
Case 6.17.5FailFailPassNone
6 UTF-8 Handling
Case 6.18.1FailFailPassNone
Case 6.18.2FailFailPassNone
Case 6.18.3FailFailPassNone
Case 6.18.4FailFailPassNone
Case 6.18.5FailFailPassNone
6 UTF-8 Handling
Case 6.19.1FailFailPassNone
Case 6.19.2FailFailPassNone
Case 6.19.3FailFailPassNone
Case 6.19.4FailFailPassNone
Case 6.19.5FailFailPassNone
6 UTF-8 Handling
Case 6.20.1FailFailPassNone
Case 6.20.2FailFailPassNone
Case 6.20.3FailFailPassNone
Case 6.20.4FailFailPassNone
Case 6.20.5FailFailPassNone
Case 6.20.6FailFailPassNone
Case 6.20.7FailFailPassNone
6 UTF-8 Handling
Case 6.21.1FailFailPassNone
Case 6.21.2FailFailPassNone
Case 6.21.3FailFailPassNone
Case 6.21.4FailFailPassNone
Case 6.21.5FailFailPassNone
Case 6.21.6FailFailPassNone
Case 6.21.7FailFailPassNone
Case 6.21.8FailFailPassNone
6 UTF-8 Handling
Case 7.1.5Fail1000Pass1000
Case 7.1.6
Case 7.3.1PassNonePass1000
Case 7.3.2PassNoneFail1000
Case 7.3.3
Case 7.3.6PassNonePass1002
7 Close Handling
Case 7.7.2Pass1001Pass1000
Case 7.7.3Pass1002Pass1000
Case 7.7.4Pass1003Pass1000
Case 7.7.5Pass1007Pass1000
Case 7.7.6Pass1008Pass1000
Case 7.7.7Pass1009Pass1000
Case 7.7.8Pass1010Pass1000
Case 7.7.9Pass1011Pass1000
Case 7.7.10Pass3000Pass1000
Case 7.7.11Pass3999Pass1000
Case 7.7.12Pass4000Pass1000
Case 7.7.13Pass4999Pass1000
7 Close Handling
Case 7.9.1Fail0Fail1000
Case 7.9.2Fail999Fail1000
Case 7.9.3Fail1004Fail1000
Case 7.9.4Fail1005Fail1000
Case 7.9.5Fail1006Fail1000
Case 7.9.6Fail1016Fail1000
Case 7.9.7Fail1100Fail1000
Case 7.9.8Fail2000Fail1000
Case 7.9.9Fail2999Fail1000
7 Close Handling
Case 7.13.1Info5000Info1000
Case 7.13.2Info65535Info1000
9 Limits/Performance
Case 9.1.1Pass
176 ms
1000Pass
3 ms
1000
Case 9.1.2Pass
707 ms
1000Pass
5 ms
1000
Case 9.1.3Pass
3047 ms
1000Pass
17 ms
1000
Case 9.1.4Pass
11433 ms
1000Pass
54 ms
1000
Case 9.1.5Pass
23670 ms
1000Pass
167 ms
1000
Case 9.1.6Pass
49073 ms
1000Pass
634 ms
1000
9 Limits/Performance
Case 9.2.1Fail
227 ms
UncleanPass
5 ms
1000
Case 9.2.2Fail
775 ms
UncleanPass
8 ms
1000
Case 9.2.3Fail
2790 ms
UncleanPass
26 ms
1000
Case 9.2.4Fail
11015 ms
UncleanPass
158 ms
1000
Case 9.2.5MissingPass
200 ms
1000
Case 9.2.6MissingPass
320 ms
1000
9 Limits/Performance
Case 9.3.1MissingPass
242 ms
1000
Case 9.3.2MissingPass
135 ms
1000
Case 9.3.3MissingPass
61 ms
1000
Case 9.3.4MissingPass
46 ms
1000
Case 9.3.5MissingPass
54 ms
1000
Case 9.3.6MissingPass
51 ms
1000
Case 9.3.7MissingPass
45 ms
1000
Case 9.3.8MissingPass
42 ms
1000
Case 9.3.9MissingPass
52 ms
1000
9 Limits/Performance
Case 9.4.1MissingPass
229 ms
1000
Case 9.4.2MissingPass
98 ms
1000
Case 9.4.3MissingPass
45 ms
1000
Case 9.4.4MissingPass
50 ms
1000
Case 9.4.5MissingPass
37 ms
1000
Case 9.4.6MissingPass
27 ms
1000
Case 9.4.7MissingPass
34 ms
1000
Case 9.4.8MissingPass
31 ms
1000
Case 9.4.9MissingPass
54 ms
1000
9 Limits/Performance
Case 9.5.1MissingPass
261 ms
1000
Case 9.5.2MissingPass
165 ms
1000
Case 9.5.3MissingPass
66 ms
1000
Case 9.5.4MissingPass
41 ms
1000
Case 9.5.5MissingPass
28 ms
1000
Case 9.5.6MissingPass
56 ms
1000
9 Limits/Performance
Case 9.6.1MissingPass
239 ms
1000
Case 9.6.2MissingPass
136 ms
1000
Case 9.6.3MissingPass
78 ms
1000
Case 9.6.4MissingPass
44 ms
1000
Case 9.6.5MissingPass
29 ms
1000
Case 9.6.6MissingPass
24 ms
1000
9 Limits/Performance
Case 10.1.1MissingPass1000
12 WebSocket Compression (different payloads)
Case 12.1.1MissingUnimplemented
Case 12.1.2MissingUnimplemented
Case 12.1.3MissingUnimplemented
Case 12.1.4MissingUnimplemented
Case 12.1.5MissingUnimplemented
Case 12.1.6MissingUnimplemented
Case 12.1.7MissingUnimplemented
Case 12.1.8MissingUnimplemented
Case 12.1.9MissingUnimplemented
Case 12.1.10MissingUnimplemented
Case 12.1.11MissingUnimplemented
Case 12.1.12MissingUnimplemented
Case 12.1.13MissingUnimplemented
Case 12.1.14MissingUnimplemented
Case 12.1.15MissingUnimplemented
Case 12.1.16MissingUnimplemented
Case 12.1.17MissingUnimplemented
Case 12.1.18MissingUnimplemented
12 WebSocket Compression (different payloads)
Case 12.2.1MissingUnimplemented
Case 12.2.2MissingUnimplemented
Case 12.2.3MissingUnimplemented
Case 12.2.4MissingUnimplemented
Case 12.2.5MissingUnimplemented
Case 12.2.6MissingUnimplemented
Case 12.2.7MissingUnimplemented
Case 12.2.8MissingUnimplemented
Case 12.2.9MissingUnimplemented
Case 12.2.10MissingUnimplemented
Case 12.2.11MissingUnimplemented
Case 12.2.12MissingUnimplemented
Case 12.2.13MissingUnimplemented
Case 12.2.14MissingUnimplemented
Case 12.2.15MissingUnimplemented
Case 12.2.16MissingUnimplemented
Case 12.2.17MissingUnimplemented
Case 12.2.18MissingUnimplemented
12 WebSocket Compression (different payloads)
Case 12.3.1MissingUnimplemented
Case 12.3.2MissingUnimplemented
Case 12.3.3MissingUnimplemented
Case 12.3.4MissingUnimplemented
Case 12.3.5MissingUnimplemented
Case 12.3.6MissingUnimplemented
Case 12.3.7MissingUnimplemented
Case 12.3.8MissingUnimplemented
Case 12.3.9MissingUnimplemented
Case 12.3.10MissingUnimplemented
Case 12.3.11MissingUnimplemented
Case 12.3.12MissingUnimplemented
Case 12.3.13MissingUnimplemented
Case 12.3.14MissingUnimplemented
Case 12.3.15MissingUnimplemented
Case 12.3.16MissingUnimplemented
Case 12.3.17MissingUnimplemented
Case 12.3.18MissingUnimplemented
12 WebSocket Compression (different payloads)
Case 12.4.1MissingUnimplemented
Case 12.4.2MissingUnimplemented
Case 12.4.3MissingUnimplemented
Case 12.4.4MissingUnimplemented
Case 12.4.5MissingUnimplemented
Case 12.4.6MissingUnimplemented
Case 12.4.7MissingUnimplemented
Case 12.4.8MissingUnimplemented
Case 12.4.9MissingUnimplemented
Case 12.4.10MissingUnimplemented
Case 12.4.11MissingUnimplemented
Case 12.4.12MissingUnimplemented
Case 12.4.13MissingUnimplemented
Case 12.4.14MissingUnimplemented
Case 12.4.15MissingUnimplemented
Case 12.4.16MissingUnimplemented
Case 12.4.17MissingUnimplemented
Case 12.4.18MissingUnimplemented
12 WebSocket Compression (different payloads)
Case 12.5.1MissingUnimplemented
Case 12.5.2MissingUnimplemented
Case 12.5.3MissingUnimplemented
Case 12.5.4MissingUnimplemented
Case 12.5.5MissingUnimplemented
Case 12.5.6MissingUnimplemented
Case 12.5.7MissingUnimplemented
Case 12.5.8MissingUnimplemented
Case 12.5.9MissingUnimplemented
Case 12.5.10MissingUnimplemented
Case 12.5.11MissingUnimplemented
Case 12.5.12MissingUnimplemented
Case 12.5.13MissingUnimplemented
Case 12.5.14MissingUnimplemented
Case 12.5.15MissingUnimplemented
Case 12.5.16MissingUnimplemented
Case 12.5.17MissingUnimplemented
Case 12.5.18MissingUnimplemented
13 WebSocket Compression (different parameters)
Case 13.1.1MissingUnimplemented
Case 13.1.2MissingUnimplemented
Case 13.1.3MissingUnimplemented
Case 13.1.4MissingUnimplemented
Case 13.1.5MissingUnimplemented
Case 13.1.6MissingUnimplemented
Case 13.1.7MissingUnimplemented
Case 13.1.8MissingUnimplemented
Case 13.1.9MissingUnimplemented
Case 13.1.10MissingUnimplemented
Case 13.1.11MissingUnimplemented
Case 13.1.12MissingUnimplemented
Case 13.1.13MissingUnimplemented
Case 13.1.14MissingUnimplemented
Case 13.1.15MissingUnimplemented
Case 13.1.16MissingUnimplemented
Case 13.1.17MissingUnimplemented
Case 13.1.18MissingUnimplemented
13 WebSocket Compression (different parameters)
Case 13.2.1MissingUnimplemented
Case 13.2.2MissingUnimplemented
Case 13.2.3MissingUnimplemented
Case 13.2.4MissingUnimplemented
Case 13.2.5MissingUnimplemented
Case 13.2.6MissingUnimplemented
Case 13.2.7MissingUnimplemented
Case 13.2.8MissingUnimplemented
Case 13.2.9MissingUnimplemented
Case 13.2.10MissingUnimplemented
Case 13.2.11MissingUnimplemented
Case 13.2.12MissingUnimplemented
Case 13.2.13MissingUnimplemented
Case 13.2.14MissingUnimplemented
Case 13.2.15MissingUnimplemented
Case 13.2.16MissingUnimplemented
Case 13.2.17MissingUnimplemented
Case 13.2.18MissingUnimplemented
13 WebSocket Compression (different parameters)
Case 13.3.1MissingUnimplemented
Case 13.3.2MissingUnimplemented
Case 13.3.3MissingUnimplemented
Case 13.3.4MissingUnimplemented
Case 13.3.5MissingUnimplemented
Case 13.3.6MissingUnimplemented
Case 13.3.7MissingUnimplemented
Case 13.3.8MissingUnimplemented
Case 13.3.9MissingUnimplemented
Case 13.3.10MissingUnimplemented
Case 13.3.11MissingUnimplemented
Case 13.3.12MissingUnimplemented
Case 13.3.13MissingUnimplemented
Case 13.3.14MissingUnimplemented
Case 13.3.15MissingUnimplemented
Case 13.3.16MissingUnimplemented
Case 13.3.17MissingUnimplemented
Case 13.3.18MissingUnimplemented
13 WebSocket Compression (different parameters)
Case 13.4.1MissingUnimplemented
Case 13.4.2MissingUnimplemented
Case 13.4.3MissingUnimplemented
Case 13.4.4MissingUnimplemented
Case 13.4.5MissingUnimplemented
Case 13.4.6MissingUnimplemented
Case 13.4.7MissingUnimplemented
Case 13.4.8MissingUnimplemented
Case 13.4.9MissingUnimplemented
Case 13.4.10MissingUnimplemented
Case 13.4.11MissingUnimplemented
Case 13.4.12MissingUnimplemented
Case 13.4.13MissingUnimplemented
Case 13.4.14MissingUnimplemented
Case 13.4.15MissingUnimplemented
Case 13.4.16MissingUnimplemented
Case 13.4.17MissingUnimplemented
Case 13.4.18MissingUnimplemented
13 WebSocket Compression (different parameters)
Case 13.5.1MissingUnimplemented
Case 13.5.2MissingUnimplemented
Case 13.5.3MissingUnimplemented
Case 13.5.4MissingUnimplemented
Case 13.5.5MissingUnimplemented
Case 13.5.6MissingUnimplemented
Case 13.5.7MissingUnimplemented
Case 13.5.8MissingUnimplemented
Case 13.5.9MissingUnimplemented
Case 13.5.10MissingUnimplemented
Case 13.5.11MissingUnimplemented
Case 13.5.12MissingUnimplemented
Case 13.5.13MissingUnimplemented
Case 13.5.14MissingUnimplemented
Case 13.5.15MissingUnimplemented
Case 13.5.16MissingUnimplemented
Case 13.5.17MissingUnimplemented
Case 13.5.18MissingUnimplemented
13 WebSocket Compression (different parameters)
Case 13.6.1MissingUnimplemented
Case 13.6.2MissingUnimplemented
Case 13.6.3MissingUnimplemented
Case 13.6.4MissingUnimplemented
Case 13.6.5MissingUnimplemented
Case 13.6.6MissingUnimplemented
Case 13.6.7MissingUnimplemented
Case 13.6.8MissingUnimplemented
Case 13.6.9MissingUnimplemented
Case 13.6.10MissingUnimplemented
Case 13.6.11MissingUnimplemented
Case 13.6.12MissingUnimplemented
Case 13.6.13MissingUnimplemented
Case 13.6.14MissingUnimplemented
Case 13.6.15MissingUnimplemented
Case 13.6.16MissingUnimplemented
Case 13.6.17MissingUnimplemented
Case 13.6.18MissingUnimplemented
13 WebSocket Compression (different parameters)
Case 13.7.1MissingUnimplemented
Case 13.7.2MissingUnimplemented
Case 13.7.3MissingUnimplemented
Case 13.7.4MissingUnimplemented
Case 13.7.5MissingUnimplemented
Case 13.7.6MissingUnimplemented
Case 13.7.7MissingUnimplemented
Case 13.7.8MissingUnimplemented
Case 13.7.9MissingUnimplemented
Case 13.7.10MissingUnimplemented
Case 13.7.11MissingUnimplemented
Case 13.7.12MissingUnimplemented
Case 13.7.13MissingUnimplemented
Case 13.7.14MissingUnimplemented
Case 13.7.15MissingUnimplemented
Case 13.7.16MissingUnimplemented
Case 13.7.17MissingUnimplemented
Case 13.7.18MissingUnimplemented


diff --git a/autobahn/client/index.json b/autobahn/client/index.json index 87c204a..f73cc4a 100644 --- a/autobahn/client/index.json +++ b/autobahn/client/index.json @@ -10,161 +10,1680 @@ "1.1.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 47, + "duration": 45, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_1_1_2.json" }, "1.1.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 48, + "duration": 45, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_1_1_3.json" }, "1.1.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 46, + "duration": 49, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_1_1_4.json" }, "1.1.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 56, + "duration": 45, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_1_1_5.json" }, "1.1.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 466, + "duration": 6, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_1_1_6.json" }, "1.1.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 455, + "duration": 5, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_1_1_7.json" }, "1.1.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 551, + "duration": 10, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_1_1_8.json" }, "1.2.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 50, + "duration": 51, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_1_2_1.json" }, "1.2.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 48, + "duration": 45, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_1_2_2.json" }, "1.2.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 50, + "duration": 45, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_1_2_3.json" }, "1.2.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 44, + "duration": 45, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_1_2_4.json" }, "1.2.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 46, + "duration": 45, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_1_2_5.json" }, "1.2.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 636, + "duration": 7, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_1_2_6.json" }, "1.2.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 538, + "duration": 8, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_1_2_7.json" }, "1.2.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 443, + "duration": 28, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_1_2_8.json" }, + "10.1.1": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 7, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_10_1_1.json" + }, + "12.1.1": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_1_1.json" + }, + "12.1.10": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_1_10.json" + }, + "12.1.11": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_1_11.json" + }, + "12.1.12": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_1_12.json" + }, + "12.1.13": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_1_13.json" + }, + "12.1.14": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_1_14.json" + }, + "12.1.15": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_1_15.json" + }, + "12.1.16": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_1_16.json" + }, + "12.1.17": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_1_17.json" + }, + "12.1.18": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_1_18.json" + }, + "12.1.2": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_1_2.json" + }, + "12.1.3": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_1_3.json" + }, + "12.1.4": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_1_4.json" + }, + "12.1.5": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_1_5.json" + }, + "12.1.6": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_1_6.json" + }, + "12.1.7": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_1_7.json" + }, + "12.1.8": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_1_8.json" + }, + "12.1.9": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_1_9.json" + }, + "12.2.1": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_2_1.json" + }, + "12.2.10": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_2_10.json" + }, + "12.2.11": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_2_11.json" + }, + "12.2.12": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_2_12.json" + }, + "12.2.13": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_2_13.json" + }, + "12.2.14": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_2_14.json" + }, + "12.2.15": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_2_15.json" + }, + "12.2.16": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_2_16.json" + }, + "12.2.17": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_2_17.json" + }, + "12.2.18": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_2_18.json" + }, + "12.2.2": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_2_2.json" + }, + "12.2.3": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_2_3.json" + }, + "12.2.4": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_2_4.json" + }, + "12.2.5": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_2_5.json" + }, + "12.2.6": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_2_6.json" + }, + "12.2.7": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_2_7.json" + }, + "12.2.8": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_2_8.json" + }, + "12.2.9": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_2_9.json" + }, + "12.3.1": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_3_1.json" + }, + "12.3.10": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_3_10.json" + }, + "12.3.11": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_3_11.json" + }, + "12.3.12": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_3_12.json" + }, + "12.3.13": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_3_13.json" + }, + "12.3.14": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_3_14.json" + }, + "12.3.15": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_3_15.json" + }, + "12.3.16": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_3_16.json" + }, + "12.3.17": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_3_17.json" + }, + "12.3.18": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_3_18.json" + }, + "12.3.2": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_3_2.json" + }, + "12.3.3": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_3_3.json" + }, + "12.3.4": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_3_4.json" + }, + "12.3.5": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_3_5.json" + }, + "12.3.6": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_3_6.json" + }, + "12.3.7": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_3_7.json" + }, + "12.3.8": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_3_8.json" + }, + "12.3.9": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_3_9.json" + }, + "12.4.1": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_4_1.json" + }, + "12.4.10": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_4_10.json" + }, + "12.4.11": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_4_11.json" + }, + "12.4.12": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_4_12.json" + }, + "12.4.13": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_4_13.json" + }, + "12.4.14": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_4_14.json" + }, + "12.4.15": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_4_15.json" + }, + "12.4.16": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 3, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_4_16.json" + }, + "12.4.17": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_4_17.json" + }, + "12.4.18": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_4_18.json" + }, + "12.4.2": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_4_2.json" + }, + "12.4.3": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_4_3.json" + }, + "12.4.4": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_4_4.json" + }, + "12.4.5": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_4_5.json" + }, + "12.4.6": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_4_6.json" + }, + "12.4.7": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_4_7.json" + }, + "12.4.8": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_4_8.json" + }, + "12.4.9": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_4_9.json" + }, + "12.5.1": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_5_1.json" + }, + "12.5.10": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_5_10.json" + }, + "12.5.11": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_5_11.json" + }, + "12.5.12": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_5_12.json" + }, + "12.5.13": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_5_13.json" + }, + "12.5.14": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_5_14.json" + }, + "12.5.15": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_5_15.json" + }, + "12.5.16": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_5_16.json" + }, + "12.5.17": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_5_17.json" + }, + "12.5.18": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_5_18.json" + }, + "12.5.2": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_5_2.json" + }, + "12.5.3": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_5_3.json" + }, + "12.5.4": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_5_4.json" + }, + "12.5.5": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_5_5.json" + }, + "12.5.6": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_5_6.json" + }, + "12.5.7": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_5_7.json" + }, + "12.5.8": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_5_8.json" + }, + "12.5.9": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 3, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_12_5_9.json" + }, + "13.1.1": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_1_1.json" + }, + "13.1.10": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_1_10.json" + }, + "13.1.11": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_1_11.json" + }, + "13.1.12": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_1_12.json" + }, + "13.1.13": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_1_13.json" + }, + "13.1.14": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 3, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_1_14.json" + }, + "13.1.15": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_1_15.json" + }, + "13.1.16": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_1_16.json" + }, + "13.1.17": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 3, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_1_17.json" + }, + "13.1.18": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_1_18.json" + }, + "13.1.2": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_1_2.json" + }, + "13.1.3": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_1_3.json" + }, + "13.1.4": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 3, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_1_4.json" + }, + "13.1.5": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_1_5.json" + }, + "13.1.6": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_1_6.json" + }, + "13.1.7": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 3, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_1_7.json" + }, + "13.1.8": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_1_8.json" + }, + "13.1.9": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_1_9.json" + }, + "13.2.1": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_2_1.json" + }, + "13.2.10": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_2_10.json" + }, + "13.2.11": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_2_11.json" + }, + "13.2.12": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 3, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_2_12.json" + }, + "13.2.13": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_2_13.json" + }, + "13.2.14": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_2_14.json" + }, + "13.2.15": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_2_15.json" + }, + "13.2.16": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_2_16.json" + }, + "13.2.17": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_2_17.json" + }, + "13.2.18": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_2_18.json" + }, + "13.2.2": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 3, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_2_2.json" + }, + "13.2.3": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_2_3.json" + }, + "13.2.4": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_2_4.json" + }, + "13.2.5": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_2_5.json" + }, + "13.2.6": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 3, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_2_6.json" + }, + "13.2.7": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_2_7.json" + }, + "13.2.8": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_2_8.json" + }, + "13.2.9": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 3, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_2_9.json" + }, + "13.3.1": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_3_1.json" + }, + "13.3.10": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_3_10.json" + }, + "13.3.11": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_3_11.json" + }, + "13.3.12": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_3_12.json" + }, + "13.3.13": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_3_13.json" + }, + "13.3.14": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 4, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_3_14.json" + }, + "13.3.15": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_3_15.json" + }, + "13.3.16": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_3_16.json" + }, + "13.3.17": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_3_17.json" + }, + "13.3.18": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_3_18.json" + }, + "13.3.2": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_3_2.json" + }, + "13.3.3": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_3_3.json" + }, + "13.3.4": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_3_4.json" + }, + "13.3.5": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_3_5.json" + }, + "13.3.6": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_3_6.json" + }, + "13.3.7": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_3_7.json" + }, + "13.3.8": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_3_8.json" + }, + "13.3.9": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_3_9.json" + }, + "13.4.1": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_4_1.json" + }, + "13.4.10": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_4_10.json" + }, + "13.4.11": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_4_11.json" + }, + "13.4.12": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_4_12.json" + }, + "13.4.13": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_4_13.json" + }, + "13.4.14": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_4_14.json" + }, + "13.4.15": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_4_15.json" + }, + "13.4.16": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_4_16.json" + }, + "13.4.17": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_4_17.json" + }, + "13.4.18": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_4_18.json" + }, + "13.4.2": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_4_2.json" + }, + "13.4.3": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_4_3.json" + }, + "13.4.4": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_4_4.json" + }, + "13.4.5": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_4_5.json" + }, + "13.4.6": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_4_6.json" + }, + "13.4.7": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_4_7.json" + }, + "13.4.8": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_4_8.json" + }, + "13.4.9": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_4_9.json" + }, + "13.5.1": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_5_1.json" + }, + "13.5.10": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_5_10.json" + }, + "13.5.11": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_5_11.json" + }, + "13.5.12": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_5_12.json" + }, + "13.5.13": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_5_13.json" + }, + "13.5.14": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 10, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_5_14.json" + }, + "13.5.15": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_5_15.json" + }, + "13.5.16": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_5_16.json" + }, + "13.5.17": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_5_17.json" + }, + "13.5.18": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_5_18.json" + }, + "13.5.2": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_5_2.json" + }, + "13.5.3": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_5_3.json" + }, + "13.5.4": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_5_4.json" + }, + "13.5.5": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_5_5.json" + }, + "13.5.6": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_5_6.json" + }, + "13.5.7": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_5_7.json" + }, + "13.5.8": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_5_8.json" + }, + "13.5.9": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_5_9.json" + }, + "13.6.1": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_6_1.json" + }, + "13.6.10": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_6_10.json" + }, + "13.6.11": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_6_11.json" + }, + "13.6.12": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_6_12.json" + }, + "13.6.13": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_6_13.json" + }, + "13.6.14": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_6_14.json" + }, + "13.6.15": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_6_15.json" + }, + "13.6.16": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_6_16.json" + }, + "13.6.17": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_6_17.json" + }, + "13.6.18": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_6_18.json" + }, + "13.6.2": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_6_2.json" + }, + "13.6.3": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_6_3.json" + }, + "13.6.4": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_6_4.json" + }, + "13.6.5": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_6_5.json" + }, + "13.6.6": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 6, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_6_6.json" + }, + "13.6.7": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_6_7.json" + }, + "13.6.8": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_6_8.json" + }, + "13.6.9": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_6_9.json" + }, + "13.7.1": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_7_1.json" + }, + "13.7.10": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_7_10.json" + }, + "13.7.11": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_7_11.json" + }, + "13.7.12": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_7_12.json" + }, + "13.7.13": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_7_13.json" + }, + "13.7.14": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_7_14.json" + }, + "13.7.15": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_7_15.json" + }, + "13.7.16": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_7_16.json" + }, + "13.7.17": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_7_17.json" + }, + "13.7.18": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_7_18.json" + }, + "13.7.2": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_7_2.json" + }, + "13.7.3": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_7_3.json" + }, + "13.7.4": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_7_4.json" + }, + "13.7.5": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_7_5.json" + }, + "13.7.6": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_7_6.json" + }, + "13.7.7": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_7_7.json" + }, + "13.7.8": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_7_8.json" + }, + "13.7.9": { + "behavior": "UNIMPLEMENTED", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_13_7_9.json" + }, "2.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 50, + "duration": 45, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_2_1.json" }, "2.10": { "behavior": "OK", "behaviorClose": "OK", - "duration": 50, + "duration": 66, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_2_10.json" }, "2.11": { "behavior": "OK", "behaviorClose": "OK", - "duration": 61, + "duration": 60, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_2_11.json" }, "2.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 45, + "duration": 46, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_2_2.json" }, "2.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 44, + "duration": 45, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_2_3.json" }, "2.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 46, + "duration": 45, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_2_4.json" }, "2.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 43, + "duration": 44, "remoteCloseCode": 1002, "reportfile": "hornbeam_case_2_5.json" }, "2.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 51, + "duration": 60, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_2_6.json" }, @@ -178,98 +1697,98 @@ "2.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 28, + "duration": 2, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_2_8.json" }, "2.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 47, + "duration": 45, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_2_9.json" }, "3.1": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 1005, - "remoteCloseCode": null, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 43, + "remoteCloseCode": 1002, "reportfile": "hornbeam_case_3_1.json" }, "3.2": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 1003, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 44, + "remoteCloseCode": 1002, "reportfile": "hornbeam_case_3_2.json" }, "3.3": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 1003, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 44, + "remoteCloseCode": 1002, "reportfile": "hornbeam_case_3_3.json" }, "3.4": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 1004, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": 1002, "reportfile": "hornbeam_case_3_4.json" }, "3.5": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 1003, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 43, + "remoteCloseCode": 1002, "reportfile": "hornbeam_case_3_5.json" }, "3.6": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 1003, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 44, + "remoteCloseCode": 1002, "reportfile": "hornbeam_case_3_6.json" }, "3.7": { "behavior": "OK", - "behaviorClose": "WRONG CODE", - "duration": 3, - "remoteCloseCode": 1000, + "behaviorClose": "OK", + "duration": 44, + "remoteCloseCode": 1002, "reportfile": "hornbeam_case_3_7.json" }, "4.1.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": null, "reportfile": "hornbeam_case_4_1_1.json" }, "4.1.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": null, "reportfile": "hornbeam_case_4_1_2.json" }, "4.1.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 3, + "duration": 2, "remoteCloseCode": null, "reportfile": "hornbeam_case_4_1_3.json" }, "4.1.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 3, + "duration": 2, "remoteCloseCode": null, "reportfile": "hornbeam_case_4_1_4.json" }, "4.1.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 5, + "duration": 2, "remoteCloseCode": null, "reportfile": "hornbeam_case_4_1_5.json" }, @@ -283,7 +1802,7 @@ "4.2.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": null, "reportfile": "hornbeam_case_4_2_2.json" }, @@ -309,10 +1828,10 @@ "reportfile": "hornbeam_case_4_2_5.json" }, "5.1": { - "behavior": "FAILED", + "behavior": "OK", "behaviorClose": "OK", - "duration": 3, - "remoteCloseCode": null, + "duration": 43, + "remoteCloseCode": 1002, "reportfile": "hornbeam_case_5_1.json" }, "5.10": { @@ -325,7 +1844,7 @@ "5.11": { "behavior": "OK", "behaviorClose": "OK", - "duration": 3, + "duration": 2, "remoteCloseCode": null, "reportfile": "hornbeam_case_5_11.json" }, @@ -351,16 +1870,16 @@ "reportfile": "hornbeam_case_5_14.json" }, "5.15": { - "behavior": "FAILED", + "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": null, "reportfile": "hornbeam_case_5_15.json" }, "5.16": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": null, "reportfile": "hornbeam_case_5_16.json" }, @@ -372,786 +1891,786 @@ "reportfile": "hornbeam_case_5_17.json" }, "5.18": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 1003, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 41, + "remoteCloseCode": 1002, "reportfile": "hornbeam_case_5_18.json" }, "5.19": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 3, - "remoteCloseCode": null, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1004, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_5_19.json" }, "5.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, - "remoteCloseCode": null, + "duration": 44, + "remoteCloseCode": 1002, "reportfile": "hornbeam_case_5_2.json" }, "5.20": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 2, - "remoteCloseCode": null, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1005, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_5_20.json" }, "5.3": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 2, - "remoteCloseCode": null, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 46, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_5_3.json" }, "5.4": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 25, - "remoteCloseCode": null, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 45, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_5_4.json" }, "5.5": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 27, - "remoteCloseCode": null, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 45, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_5_5.json" }, "5.6": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 3, - "remoteCloseCode": null, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 45, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_5_6.json" }, "5.7": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 2, - "remoteCloseCode": null, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 45, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_5_7.json" }, "5.8": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 8, - "remoteCloseCode": null, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 62, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_5_8.json" }, "5.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, + "duration": 2, "remoteCloseCode": null, "reportfile": "hornbeam_case_5_9.json" }, "6.1.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 54, + "duration": 47, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_1_1.json" }, "6.1.2": { "behavior": "OK", - "behaviorClose": "UNCLEAN", - "duration": 3, - "remoteCloseCode": null, + "behaviorClose": "OK", + "duration": 47, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_1_2.json" }, "6.1.3": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 2, - "remoteCloseCode": null, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 44, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_1_3.json" }, "6.10.1": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_10_1.json" }, "6.10.2": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 504, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_10_2.json" }, "6.10.3": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_10_3.json" }, "6.11.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 44, + "duration": 43, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_11_1.json" }, "6.11.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 46, + "duration": 47, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_11_2.json" }, "6.11.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 46, + "duration": 45, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_11_3.json" }, "6.11.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 48, + "duration": 45, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_11_4.json" }, "6.11.5": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_11_5.json" }, "6.12.1": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 504, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_12_1.json" }, "6.12.2": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_12_2.json" }, "6.12.3": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_12_3.json" }, "6.12.4": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 504, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_12_4.json" }, "6.12.5": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 504, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_12_5.json" }, "6.12.6": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 505, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_12_6.json" }, "6.12.7": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_12_7.json" }, "6.12.8": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_12_8.json" }, "6.13.1": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 502, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_13_1.json" }, "6.13.2": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_13_2.json" }, "6.13.3": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_13_3.json" }, "6.13.4": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_13_4.json" }, "6.13.5": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_13_5.json" }, "6.14.1": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_14_1.json" }, "6.14.10": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_14_10.json" }, "6.14.2": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_14_2.json" }, "6.14.3": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_14_3.json" }, "6.14.4": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_14_4.json" }, "6.14.5": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_14_5.json" }, "6.14.6": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_14_6.json" }, "6.14.7": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 531, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_14_7.json" }, "6.14.8": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_14_8.json" }, "6.14.9": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_14_9.json" }, "6.15.1": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_15_1.json" }, "6.16.1": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 502, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_16_1.json" }, "6.16.2": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 504, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_16_2.json" }, "6.16.3": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_16_3.json" }, "6.17.1": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_17_1.json" }, "6.17.2": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_17_2.json" }, "6.17.3": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_17_3.json" }, "6.17.4": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_17_4.json" }, "6.17.5": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_17_5.json" }, "6.18.1": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 504, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_18_1.json" }, "6.18.2": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_18_2.json" }, "6.18.3": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_18_3.json" }, "6.18.4": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_18_4.json" }, "6.18.5": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_18_5.json" }, "6.19.1": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_19_1.json" }, "6.19.2": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_19_2.json" }, "6.19.3": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 502, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_19_3.json" }, "6.19.4": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 502, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_19_4.json" }, "6.19.5": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 504, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_19_5.json" }, "6.2.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 51, + "duration": 44, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_2_1.json" }, "6.2.2": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 2, - "remoteCloseCode": null, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 45, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_2_2.json" }, "6.2.3": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 4, - "remoteCloseCode": null, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 47, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_2_3.json" }, "6.2.4": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 2, - "remoteCloseCode": null, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 47, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_2_4.json" }, "6.20.1": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_20_1.json" }, "6.20.2": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_20_2.json" }, "6.20.3": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_20_3.json" }, "6.20.4": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 504, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_20_4.json" }, "6.20.5": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_20_5.json" }, "6.20.6": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_20_6.json" }, "6.20.7": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_20_7.json" }, "6.21.1": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_21_1.json" }, "6.21.2": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_21_2.json" }, "6.21.3": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_21_3.json" }, "6.21.4": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_21_4.json" }, "6.21.5": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_21_5.json" }, "6.21.6": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_21_6.json" }, "6.21.7": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_21_7.json" }, "6.21.8": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_21_8.json" }, "6.22.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 52, + "duration": 45, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_1.json" }, "6.22.10": { "behavior": "OK", "behaviorClose": "OK", - "duration": 47, + "duration": 44, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_10.json" }, "6.22.11": { "behavior": "OK", "behaviorClose": "OK", - "duration": 45, + "duration": 48, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_11.json" }, "6.22.12": { "behavior": "OK", "behaviorClose": "OK", - "duration": 48, + "duration": 47, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_12.json" }, "6.22.13": { "behavior": "OK", "behaviorClose": "OK", - "duration": 45, + "duration": 48, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_13.json" }, "6.22.14": { "behavior": "OK", "behaviorClose": "OK", - "duration": 48, + "duration": 46, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_14.json" }, "6.22.15": { "behavior": "OK", "behaviorClose": "OK", - "duration": 47, + "duration": 44, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_15.json" }, "6.22.16": { "behavior": "OK", "behaviorClose": "OK", - "duration": 46, + "duration": 44, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_16.json" }, "6.22.17": { "behavior": "OK", "behaviorClose": "OK", - "duration": 48, + "duration": 47, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_17.json" }, "6.22.18": { "behavior": "OK", "behaviorClose": "OK", - "duration": 48, + "duration": 53, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_18.json" }, "6.22.19": { "behavior": "OK", "behaviorClose": "OK", - "duration": 46, + "duration": 48, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_19.json" }, "6.22.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 47, + "duration": 46, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_2.json" }, "6.22.20": { "behavior": "OK", "behaviorClose": "OK", - "duration": 48, + "duration": 47, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_20.json" }, "6.22.21": { "behavior": "OK", "behaviorClose": "OK", - "duration": 45, + "duration": 47, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_21.json" }, "6.22.22": { "behavior": "OK", "behaviorClose": "OK", - "duration": 47, + "duration": 48, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_22.json" }, "6.22.23": { "behavior": "OK", "behaviorClose": "OK", - "duration": 48, + "duration": 45, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_23.json" }, "6.22.24": { "behavior": "OK", "behaviorClose": "OK", - "duration": 49, + "duration": 45, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_24.json" }, "6.22.25": { "behavior": "OK", "behaviorClose": "OK", - "duration": 48, + "duration": 46, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_25.json" }, "6.22.26": { "behavior": "OK", "behaviorClose": "OK", - "duration": 47, + "duration": 46, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_26.json" }, "6.22.27": { "behavior": "OK", "behaviorClose": "OK", - "duration": 49, + "duration": 77, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_27.json" }, "6.22.28": { "behavior": "OK", "behaviorClose": "OK", - "duration": 47, + "duration": 54, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_28.json" }, "6.22.29": { "behavior": "OK", "behaviorClose": "OK", - "duration": 50, + "duration": 52, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_29.json" }, "6.22.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 48, + "duration": 49, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_3.json" }, "6.22.30": { "behavior": "OK", "behaviorClose": "OK", - "duration": 51, + "duration": 56, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_30.json" }, "6.22.31": { "behavior": "OK", "behaviorClose": "OK", - "duration": 45, + "duration": 48, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_31.json" }, "6.22.32": { "behavior": "OK", "behaviorClose": "OK", - "duration": 50, + "duration": 49, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_32.json" }, "6.22.33": { "behavior": "OK", "behaviorClose": "OK", - "duration": 48, + "duration": 47, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_33.json" }, "6.22.34": { "behavior": "OK", "behaviorClose": "OK", - "duration": 50, + "duration": 62, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_34.json" }, "6.22.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 47, + "duration": 45, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_4.json" }, @@ -1165,245 +2684,245 @@ "6.22.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 49, + "duration": 47, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_6.json" }, "6.22.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 46, + "duration": 47, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_7.json" }, "6.22.8": { "behavior": "OK", "behaviorClose": "OK", - "duration": 44, + "duration": 46, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_8.json" }, "6.22.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 47, + "duration": 44, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_22_9.json" }, "6.23.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 44, + "duration": 59, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_23_1.json" }, "6.23.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 46, + "duration": 57, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_23_2.json" }, "6.23.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 51, + "duration": 55, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_23_3.json" }, "6.23.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 50, + "duration": 56, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_23_4.json" }, "6.23.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 47, + "duration": 52, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_23_5.json" }, "6.23.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 45, + "duration": 66, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_23_6.json" }, "6.23.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 46, + "duration": 68, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_23_7.json" }, "6.3.1": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 1003, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_3_1.json" }, "6.3.2": { - "behavior": "FAILED", + "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 3, "remoteCloseCode": null, "reportfile": "hornbeam_case_6_3_2.json" }, "6.4.1": { - "behavior": "FAILED", + "behavior": "NON-STRICT", "behaviorClose": "OK", - "duration": 1003, + "duration": 2002, "remoteCloseCode": null, "reportfile": "hornbeam_case_6_4_1.json" }, "6.4.2": { - "behavior": "FAILED", + "behavior": "NON-STRICT", "behaviorClose": "OK", - "duration": 1003, + "duration": 2003, "remoteCloseCode": null, "reportfile": "hornbeam_case_6_4_2.json" }, "6.4.3": { - "behavior": "FAILED", + "behavior": "NON-STRICT", "behaviorClose": "OK", "duration": 2003, "remoteCloseCode": null, "reportfile": "hornbeam_case_6_4_3.json" }, "6.4.4": { - "behavior": "FAILED", + "behavior": "NON-STRICT", "behaviorClose": "OK", - "duration": 2005, + "duration": 2002, "remoteCloseCode": null, "reportfile": "hornbeam_case_6_4_4.json" }, "6.5.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 48, + "duration": 50, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_5_1.json" }, "6.5.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 47, + "duration": 46, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_5_2.json" }, "6.5.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 47, + "duration": 45, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_5_3.json" }, "6.5.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 48, + "duration": 46, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_5_4.json" }, "6.5.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 46, + "duration": 44, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_5_5.json" }, "6.6.1": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_6_1.json" }, "6.6.10": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_6_10.json" }, "6.6.11": { "behavior": "OK", "behaviorClose": "OK", - "duration": 46, + "duration": 50, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_6_11.json" }, "6.6.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 45, + "duration": 50, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_6_2.json" }, "6.6.3": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_6_3.json" }, "6.6.4": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 504, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_6_4.json" }, "6.6.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 46, + "duration": 45, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_6_5.json" }, "6.6.6": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 502, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_6_6.json" }, "6.6.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 44, + "duration": 45, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_6_7.json" }, "6.6.8": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 502, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_6_8.json" }, "6.6.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 46, + "duration": 50, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_6_9.json" }, "6.7.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 47, + "duration": 49, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_7_1.json" }, "6.7.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 46, + "duration": 44, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_7_2.json" }, @@ -1422,30 +2941,30 @@ "reportfile": "hornbeam_case_6_7_4.json" }, "6.8.1": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 2, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_8_1.json" }, "6.8.2": { - "behavior": "FAILED", - "behaviorClose": "FAILED", - "duration": 503, - "remoteCloseCode": 1000, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 1, + "remoteCloseCode": null, "reportfile": "hornbeam_case_6_8_2.json" }, "6.9.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 47, + "duration": 61, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_9_1.json" }, "6.9.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 48, + "duration": 45, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_6_9_2.json" }, @@ -1466,42 +2985,42 @@ "7.1.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 47, + "duration": 54, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_1_1.json" }, "7.1.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_1_2.json" }, "7.1.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_1_3.json" }, "7.1.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 3, + "duration": 2, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_1_4.json" }, "7.1.5": { - "behavior": "FAILED", + "behavior": "OK", "behaviorClose": "OK", - "duration": 5, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_1_5.json" }, "7.1.6": { "behavior": "INFORMATIONAL", "behaviorClose": "INFORMATIONAL", - "duration": 1061, + "duration": 9, "remoteCloseCode": null, "reportfile": "hornbeam_case_7_1_6.json" }, @@ -1509,34 +3028,34 @@ "behavior": "INFORMATIONAL", "behaviorClose": "INFORMATIONAL", "duration": 1, - "remoteCloseCode": 5000, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_13_1.json" }, "7.13.2": { "behavior": "INFORMATIONAL", "behaviorClose": "INFORMATIONAL", "duration": 2, - "remoteCloseCode": 65535, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_13_2.json" }, "7.3.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 3, - "remoteCloseCode": null, + "duration": 5, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_3_1.json" }, "7.3.2": { - "behavior": "OK", - "behaviorClose": "OK", + "behavior": "FAILED", + "behaviorClose": "WRONG CODE", "duration": 1, - "remoteCloseCode": null, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_3_2.json" }, "7.3.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, + "duration": 1, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_3_3.json" }, @@ -1558,7 +3077,7 @@ "behavior": "OK", "behaviorClose": "OK", "duration": 1, - "remoteCloseCode": null, + "remoteCloseCode": 1002, "reportfile": "hornbeam_case_7_3_6.json" }, "7.5.1": { @@ -1578,219 +3097,443 @@ "7.7.10": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, - "remoteCloseCode": 3000, + "duration": 4, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_7_10.json" }, "7.7.11": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, - "remoteCloseCode": 3999, + "duration": 4, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_7_11.json" }, "7.7.12": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, - "remoteCloseCode": 4000, + "duration": 4, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_7_12.json" }, "7.7.13": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, - "remoteCloseCode": 4999, + "duration": 4, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_7_13.json" }, "7.7.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, - "remoteCloseCode": 1001, + "duration": 1, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_7_2.json" }, "7.7.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, - "remoteCloseCode": 1002, + "duration": 7, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_7_3.json" }, "7.7.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 4, - "remoteCloseCode": 1003, + "duration": 3, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_7_4.json" }, "7.7.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 2, - "remoteCloseCode": 1007, + "duration": 3, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_7_5.json" }, "7.7.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, - "remoteCloseCode": 1008, + "duration": 4, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_7_6.json" }, "7.7.7": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, - "remoteCloseCode": 1009, + "duration": 8, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_7_7.json" }, "7.7.8": { "behavior": "OK", "behaviorClose": "OK", "duration": 3, - "remoteCloseCode": 1010, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_7_8.json" }, "7.7.9": { "behavior": "OK", "behaviorClose": "OK", - "duration": 1, - "remoteCloseCode": 1011, + "duration": 3, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_7_9.json" }, "7.9.1": { "behavior": "FAILED", "behaviorClose": "WRONG CODE", "duration": 1, - "remoteCloseCode": 0, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_9_1.json" }, "7.9.2": { "behavior": "FAILED", "behaviorClose": "WRONG CODE", - "duration": 2, - "remoteCloseCode": 999, + "duration": 1, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_9_2.json" }, "7.9.3": { "behavior": "FAILED", "behaviorClose": "WRONG CODE", - "duration": 2, - "remoteCloseCode": 1004, + "duration": 1, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_9_3.json" }, "7.9.4": { "behavior": "FAILED", "behaviorClose": "WRONG CODE", - "duration": 2, - "remoteCloseCode": 1005, + "duration": 1, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_9_4.json" }, "7.9.5": { "behavior": "FAILED", "behaviorClose": "WRONG CODE", - "duration": 6, - "remoteCloseCode": 1006, + "duration": 2, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_9_5.json" }, "7.9.6": { "behavior": "FAILED", "behaviorClose": "WRONG CODE", - "duration": 3, - "remoteCloseCode": 1016, + "duration": 2, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_9_6.json" }, "7.9.7": { "behavior": "FAILED", "behaviorClose": "WRONG CODE", "duration": 1, - "remoteCloseCode": 1100, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_9_7.json" }, "7.9.8": { "behavior": "FAILED", "behaviorClose": "WRONG CODE", "duration": 1, - "remoteCloseCode": 2000, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_9_8.json" }, "7.9.9": { "behavior": "FAILED", "behaviorClose": "WRONG CODE", - "duration": 2, - "remoteCloseCode": 2999, + "duration": 1, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_7_9_9.json" }, "9.1.1": { "behavior": "OK", "behaviorClose": "OK", - "duration": 176, + "duration": 3, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_9_1_1.json" }, "9.1.2": { "behavior": "OK", "behaviorClose": "OK", - "duration": 707, + "duration": 5, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_9_1_2.json" }, "9.1.3": { "behavior": "OK", "behaviorClose": "OK", - "duration": 3047, + "duration": 17, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_9_1_3.json" }, "9.1.4": { "behavior": "OK", "behaviorClose": "OK", - "duration": 11433, + "duration": 54, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_9_1_4.json" }, "9.1.5": { "behavior": "OK", "behaviorClose": "OK", - "duration": 23670, + "duration": 167, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_9_1_5.json" }, "9.1.6": { "behavior": "OK", "behaviorClose": "OK", - "duration": 49073, + "duration": 634, "remoteCloseCode": 1000, "reportfile": "hornbeam_case_9_1_6.json" }, "9.2.1": { - "behavior": "FAILED", - "behaviorClose": "UNCLEAN", - "duration": 227, - "remoteCloseCode": null, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 5, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_9_2_1.json" }, "9.2.2": { - "behavior": "FAILED", - "behaviorClose": "UNCLEAN", - "duration": 775, - "remoteCloseCode": null, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 8, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_9_2_2.json" }, "9.2.3": { - "behavior": "FAILED", - "behaviorClose": "UNCLEAN", - "duration": 2790, - "remoteCloseCode": null, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 26, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_9_2_3.json" }, "9.2.4": { - "behavior": "FAILED", - "behaviorClose": "UNCLEAN", - "duration": 11015, - "remoteCloseCode": null, + "behavior": "OK", + "behaviorClose": "OK", + "duration": 158, + "remoteCloseCode": 1000, "reportfile": "hornbeam_case_9_2_4.json" + }, + "9.2.5": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 200, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_2_5.json" + }, + "9.2.6": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 320, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_2_6.json" + }, + "9.3.1": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 242, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_3_1.json" + }, + "9.3.2": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 135, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_3_2.json" + }, + "9.3.3": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 61, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_3_3.json" + }, + "9.3.4": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 46, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_3_4.json" + }, + "9.3.5": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 54, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_3_5.json" + }, + "9.3.6": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 51, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_3_6.json" + }, + "9.3.7": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 45, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_3_7.json" + }, + "9.3.8": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 42, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_3_8.json" + }, + "9.3.9": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 52, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_3_9.json" + }, + "9.4.1": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 229, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_4_1.json" + }, + "9.4.2": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 98, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_4_2.json" + }, + "9.4.3": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 45, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_4_3.json" + }, + "9.4.4": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 50, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_4_4.json" + }, + "9.4.5": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 37, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_4_5.json" + }, + "9.4.6": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 27, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_4_6.json" + }, + "9.4.7": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 34, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_4_7.json" + }, + "9.4.8": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 31, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_4_8.json" + }, + "9.4.9": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 54, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_4_9.json" + }, + "9.5.1": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 261, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_5_1.json" + }, + "9.5.2": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 165, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_5_2.json" + }, + "9.5.3": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 66, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_5_3.json" + }, + "9.5.4": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 41, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_5_4.json" + }, + "9.5.5": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 28, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_5_5.json" + }, + "9.5.6": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 56, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_5_6.json" + }, + "9.6.1": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 239, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_6_1.json" + }, + "9.6.2": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 136, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_6_2.json" + }, + "9.6.3": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 78, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_6_3.json" + }, + "9.6.4": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 44, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_6_4.json" + }, + "9.6.5": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 29, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_6_5.json" + }, + "9.6.6": { + "behavior": "OK", + "behaviorClose": "OK", + "duration": 24, + "remoteCloseCode": 1000, + "reportfile": "hornbeam_case_9_6_6.json" } } } \ No newline at end of file diff --git a/autobahn/server.json b/autobahn/server.json index c887c35..6981619 100644 --- a/autobahn/server.json +++ b/autobahn/server.json @@ -2,6 +2,6 @@ "url": "ws://127.0.0.1:9001", "outdir": "./autobahn/client", "cases": ["*"], - "exclude-cases": [], + "exclude-cases": ["9.7.*", "9.8.*"], "exclude-agent-cases": {} } diff --git a/hornbeam/Cargo.toml b/hornbeam/Cargo.toml index 7e02bd5..5a6c1fd 100644 --- a/hornbeam/Cargo.toml +++ b/hornbeam/Cargo.toml @@ -8,6 +8,7 @@ edition = "2021" [dependencies] url = "2.3" sha1 = "0.10" +simdutf8 = "0.1" # Insanely fast UTF-8 validation rand = { version = "0.8", optional = true } # feature: csprng-rand diff --git a/hornbeam/src/frame/frame_ops.rs b/hornbeam/src/frame/frame_ops.rs index a53faee..ed76557 100644 --- a/hornbeam/src/frame/frame_ops.rs +++ b/hornbeam/src/frame/frame_ops.rs @@ -1,3 +1,4 @@ +use std::string::FromUtf8Error; use crate::frame::{Frame, Message, Opcode}; pub trait AsFrame { @@ -6,7 +7,7 @@ pub trait AsFrame { } pub trait FromFrame { /// Converts a Frame received over the network into this type, to be passed to the application - fn from_frame(frame: &Frame) -> Self; + fn from_frame(frame: &Frame) -> Result where Self: Sized; } impl AsFrame for Message { @@ -31,14 +32,14 @@ impl AsFrame for Message { } } impl FromFrame for Message { - fn from_frame(frame: &Frame) -> Self { - match frame.opcode { + fn from_frame(frame: &Frame) -> Result { + Ok(match frame.opcode { Opcode::Continuation => panic!("Message::from_frame called with a continuation frame"), - Opcode::Text => Self::Text(String::from_utf8_lossy(&frame.payload_data).to_string()), + Opcode::Text => Self::Text(String::from_utf8(frame.payload_data.clone())?.to_string()), Opcode::Binary => Self::Binary(frame.payload_data.clone()), Opcode::ConnectionClose => panic!("Message::from_frame called with a close frame"), Opcode::Ping => Self::Ping(frame.payload_data.clone()), Opcode::Pong => Self::Pong(frame.payload_data.clone()) - } + }) } } \ No newline at end of file diff --git a/hornbeam/src/frame/read.rs b/hornbeam/src/frame/read.rs index b3f020b..b7accfc 100644 --- a/hornbeam/src/frame/read.rs +++ b/hornbeam/src/frame/read.rs @@ -13,14 +13,16 @@ use crate::random::masking_key; pub enum FrameReadError { IoError(io::Error), InvalidOpcode, - FrameWriteError(FrameWriteError) + FrameWriteError(FrameWriteError), + ShouldClose } impl Display for FrameReadError { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { match self { Self::IoError(e) => write!(f, "io error: {}", e), Self::InvalidOpcode => write!(f, "invalid opcode"), - Self::FrameWriteError(e) => write!(f, "response writing error: {}", e) + Self::FrameWriteError(e) => write!(f, "response writing error: {}", e), + Self::ShouldClose => write!(f, "should close connection") } } } @@ -46,7 +48,7 @@ impl FrameReadable for R { self.read_exact(&mut first_two)?; - trace!("first two: {:x?}", first_two); + trace!("first two: {:x?}, {:b} {:b}", first_two, first_two[0], first_two[1]); let fin = (first_two[0] & 0b1000_0000) >> 7; let rsv1 = (first_two[0] & 0b0100_0000) >> 6; @@ -60,6 +62,22 @@ impl FrameReadable for R { trace!(" RSV2: {}", rsv2); trace!(" RSV3: {}", rsv3); + if rsv1 == 1 || rsv2 == 1 || rsv3 == 1 { + error!("received frame with reserved bit set"); + response_stream.write_frame(&Frame { + fin: true, + rsv1: false, + rsv2: false, + rsv3: false, + opcode: Opcode::ConnectionClose, + mask: respond_with_masking, + payload_len: 16, + masking_key: if respond_with_masking { Some(masking_key()) } else { None }, + payload_data: b"\x03\xeaProtocol Error".to_vec(), + })?; + return Err(FrameReadError::ShouldClose); + } + let opcode = match opcode_u8 { 0 => Opcode::Continuation, 1 => Opcode::Text, @@ -70,6 +88,22 @@ impl FrameReadable for R { _ => return Err(FrameReadError::InvalidOpcode) }; + if (opcode != Opcode::Text && opcode != Opcode::Binary && opcode != Opcode::Continuation) && fin != 1 { + error!("received fragmented control frame op = {:?}", opcode); + response_stream.write_frame(&Frame { + fin: true, + rsv1: false, + rsv2: false, + rsv3: false, + opcode: Opcode::ConnectionClose, + mask: respond_with_masking, + payload_len: 16, + masking_key: if respond_with_masking { Some(masking_key()) } else { None }, + payload_data: b"\x03\xeaProtocol Error".to_vec(), + })?; + return Err(FrameReadError::ShouldClose); + } + trace!(" OP: {} = {:?}", opcode_u8, opcode); let do_mask = (first_two[1] & 0b1000_0000) >> 7; @@ -93,6 +127,7 @@ impl FrameReadable for R { masking_key: if respond_with_masking { Some(masking_key()) } else { None }, payload_data: b"\x03\xeaProtocol Error".to_vec(), })?; + return Err(FrameReadError::ShouldClose); } trace!(" Parsed length: {}", length); @@ -116,8 +151,6 @@ impl FrameReadable for R { self.read_exact(&mut payload)?; - trace!("payload read {:x?}", payload); - if let Some(key) = mask_key { mask(&mut payload, key); } diff --git a/hornbeam/src/frame/write.rs b/hornbeam/src/frame/write.rs index 8d14d44..096998f 100644 --- a/hornbeam/src/frame/write.rs +++ b/hornbeam/src/frame/write.rs @@ -48,7 +48,6 @@ impl FrameWritable for W { let mut data = frame.payload_data.clone(); trace!("data length: {}", data.len()); - trace!("data: {:x?}", data); if frame.mask { if let Some(key) = frame.masking_key { diff --git a/hornbeam/src/handshake_client.rs b/hornbeam/src/handshake_client.rs index ba26d84..8490639 100644 --- a/hornbeam/src/handshake_client.rs +++ b/hornbeam/src/handshake_client.rs @@ -207,8 +207,6 @@ impl ClientConnectionInfo { return Err(ClientHandshakeRecvError::UnexpectedEOF); } - debug!("{:x?}", &read_buf[0..read-1]); - read_bytes.extend_from_slice(&read_buf[0..read]); if read_bytes.ends_with(&[0x0d, 0x0a, 0x0d]) || read_bytes.ends_with(&[0x0d, 0x0a, 0x0d, 0x0a]) { diff --git a/hornbeam/src/stream.rs b/hornbeam/src/stream.rs index 1c9258f..ac711bd 100644 --- a/hornbeam/src/stream.rs +++ b/hornbeam/src/stream.rs @@ -145,12 +145,43 @@ impl MessageReadable for WebsocketStream { loop { debug!("reading a frame"); // read a frame - let frame = self.read.read_frame(self.enable_masking, &mut self.write)?; + let frame_res = self.read.read_frame(self.enable_masking, &mut self.write); + + let frame = match frame_res { + Ok(frame) => frame, + Err(e) if matches!(e, FrameReadError::ShouldClose) => { + self.closing = true; + continue; + }, + Err(e) => return Err(e.into()) + }; debug!("read frame {} bytes, opcode {:?}", frame.payload_len, frame.opcode); if frame.opcode == Opcode::Continuation && self.is_in_fragment { self.fragment_buf.extend_from_slice(&frame.payload_data); +/* + // if text, revalidate UTF-8 + if self.fragment_opcode == Opcode::Text { + if let Err(e) = simdutf8::compat::from_utf8(&self.fragment_buf) { + error!("failing fast on invalid utf-8 frag packet ({})", e); + self.write_frame(&Frame { + fin: true, + rsv1: false, + rsv2: false, + rsv3: false, + opcode: Opcode::ConnectionClose, + mask: self.enable_masking, + payload_len: 16, + masking_key: if self.enable_masking { Some(masking_key()) } else { None }, + payload_data: b"\x03\xefProtocol Error".to_vec(), + })?; + self.closing = true; + } + } + + */ + if frame.fin { // fragment over let mut frame = frame; @@ -160,15 +191,47 @@ impl MessageReadable for WebsocketStream { self.is_in_fragment = false; self.fragment_buf = vec![]; self.fragment_opcode = Opcode::Continuation; - return Ok(Message::from_frame(&frame)); + return Ok(Message::from_frame(&frame)?); } // fragment not over, keep loopin' continue; } + if (frame.opcode == Opcode::Text || frame.opcode == Opcode::Binary) && self.is_in_fragment { + self.closing = true; + error!("received unfragmented data frame while processing fragment"); + self.write_frame(&Frame { + fin: true, + rsv1: false, + rsv2: false, + rsv3: false, + opcode: Opcode::ConnectionClose, + mask: self.enable_masking, + payload_len: 16, + masking_key: if self.enable_masking { Some(masking_key()) } else { None }, + payload_data: b"\x03\xeaProtocol Error".to_vec(), + })?; + } return match frame.opcode { Opcode::Continuation => Err(MessageReadError::ContinuationOutsideFragment), - Opcode::Text | Opcode::Binary | Opcode::Ping | Opcode::Pong => Ok(Message::from_frame(&frame)), + Opcode::Text | Opcode::Binary => { + if !self.closing || !self.closed { + if !frame.fin { + self.fragment_buf = frame.payload_data; + self.fragment_opcode = frame.opcode; + self.is_in_fragment = true; + continue; + } + return Ok(Message::from_frame(&frame)?); + } + continue; + }, + Opcode::Ping | Opcode::Pong => { + if !self.closing || !self.closed { + return Ok(Message::from_frame(&frame)?); + } + continue; + }, Opcode::ConnectionClose => { if !self.closing { // send a response