Skip to content

Commit aa7c7a4

Browse files
MDA2AVclaude
andcommitted
Consolidate result tables: max 3 per category, remove Baseline
Compliance: 9 tables → 3 (Request Parsing, Body Handling, Methods & Upgrade) Smuggling: 7 tables → 3 (Framing Conflicts, Chunk Encoding, Headers/Trailers/Methods) Malformed Input: 4 tables → 2 (Oversized & Invalid Bytes, Parsing & Edge Cases) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 0a2371d commit aa7c7a4

3 files changed

Lines changed: 17 additions & 42 deletions

File tree

docs/content/compliance/_index.md

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -22,29 +22,18 @@ Each test sends a request that violates a specific **MUST** or **MUST NOT** requ
2222
return;
2323
}
2424
var GROUPS = [
25-
{ key: 'baseline', label: 'Baseline', testIds: [
26-
'COMP-BASELINE'
27-
]},
28-
{ key: 'line-endings', label: 'Line Endings', testIds: [
25+
{ key: 'request-parsing', label: 'Request Parsing', testIds: [
2926
'RFC9112-2.2-BARE-LF-REQUEST-LINE','RFC9112-2.2-BARE-LF-HEADER',
30-
'RFC9112-3-CR-ONLY-LINE-ENDING','COMP-LEADING-CRLF','COMP-WHITESPACE-BEFORE-HEADERS'
31-
]},
32-
{ key: 'request-line', label: 'Request Line', testIds: [
27+
'RFC9112-3-CR-ONLY-LINE-ENDING','COMP-LEADING-CRLF','COMP-WHITESPACE-BEFORE-HEADERS',
3328
'RFC9112-3-MULTI-SP-REQUEST-LINE','RFC9112-3-MISSING-TARGET',
3429
'RFC9112-3.2-FRAGMENT-IN-TARGET','RFC9112-2.3-INVALID-VERSION',
3530
'RFC9112-2.3-HTTP09-REQUEST','COMP-ASTERISK-WITH-GET','COMP-OPTIONS-STAR',
36-
'COMP-CONNECT-EMPTY-PORT','COMP-ABSOLUTE-FORM','COMP-METHOD-CASE'
37-
]},
38-
{ key: 'headers', label: 'Header Syntax', testIds: [
31+
'COMP-CONNECT-EMPTY-PORT','COMP-ABSOLUTE-FORM','COMP-METHOD-CASE',
3932
'RFC9112-5.1-OBS-FOLD','RFC9110-5.6.2-SP-BEFORE-COLON',
4033
'RFC9112-5-EMPTY-HEADER-NAME','RFC9112-5-INVALID-HEADER-NAME',
41-
'RFC9112-5-HEADER-NO-COLON'
42-
]},
43-
{ key: 'host', label: 'Host Header', testIds: [
34+
'RFC9112-5-HEADER-NO-COLON',
4435
'RFC9112-7.1-MISSING-HOST','RFC9110-5.4-DUPLICATE-HOST',
45-
'COMP-DUPLICATE-HOST-SAME','COMP-HOST-WITH-USERINFO','COMP-HOST-WITH-PATH'
46-
]},
47-
{ key: 'content-length', label: 'Content-Length', testIds: [
36+
'COMP-DUPLICATE-HOST-SAME','COMP-HOST-WITH-USERINFO','COMP-HOST-WITH-PATH',
4837
'RFC9112-6.1-CL-NON-NUMERIC','RFC9112-6.1-CL-PLUS-SIGN'
4938
]},
5039
{ key: 'body', label: 'Body Handling', testIds: [
@@ -53,11 +42,9 @@ Each test sends a request that violates a specific **MUST** or **MUST NOT** requ
5342
'COMP-CHUNKED-EMPTY','COMP-CHUNKED-NO-FINAL',
5443
'COMP-GET-WITH-CL-BODY','COMP-CHUNKED-EXTENSION'
5544
]},
56-
{ key: 'methods', label: 'Methods & Routing', testIds: [
45+
{ key: 'methods-upgrade', label: 'Methods & Upgrade', testIds: [
5746
'COMP-METHOD-CONNECT','COMP-METHOD-CONNECT-NO-PORT',
58-
'COMP-UNKNOWN-TE-501','COMP-EXPECT-UNKNOWN','COMP-METHOD-TRACE'
59-
]},
60-
{ key: 'upgrade', label: 'Upgrade / WebSocket', testIds: [
47+
'COMP-UNKNOWN-TE-501','COMP-EXPECT-UNKNOWN','COMP-METHOD-TRACE',
6148
'COMP-UPGRADE-POST','COMP-UPGRADE-MISSING-CONN',
6249
'COMP-UPGRADE-UNKNOWN','COMP-UPGRADE-INVALID-VER'
6350
]}

docs/content/malformed-input/_index.md

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,15 @@ A well-implemented server should respond with `400 Bad Request`, `414 URI Too Lo
2222
return;
2323
}
2424
var GROUPS = [
25-
{ key: 'oversized', label: 'Oversized Fields', testIds: [
25+
{ key: 'oversized', label: 'Oversized & Invalid Bytes', testIds: [
2626
'MAL-LONG-URL','MAL-LONG-HEADER-NAME','MAL-LONG-HEADER-VALUE',
27-
'MAL-LONG-METHOD','MAL-MANY-HEADERS','MAL-CHUNK-EXTENSION-LONG'
28-
]},
29-
{ key: 'invalid-bytes', label: 'Invalid Bytes', testIds: [
27+
'MAL-LONG-METHOD','MAL-MANY-HEADERS','MAL-CHUNK-EXTENSION-LONG',
3028
'MAL-NUL-IN-URL','MAL-NUL-IN-HEADER-VALUE','MAL-CONTROL-CHARS-HEADER',
3129
'MAL-NON-ASCII-HEADER-NAME','MAL-NON-ASCII-URL','MAL-BINARY-GARBAGE'
3230
]},
33-
{ key: 'integer-cl', label: 'Integer & CL Parsing', testIds: [
31+
{ key: 'parsing-edge', label: 'Parsing & Edge Cases', testIds: [
3432
'MAL-CL-OVERFLOW','MAL-CL-EMPTY','MAL-CHUNK-SIZE-OVERFLOW',
35-
'MAL-CL-TAB-BEFORE-VALUE'
36-
]},
37-
{ key: 'edge-cases', label: 'Incomplete & Edge Cases', testIds: [
33+
'MAL-CL-TAB-BEFORE-VALUE',
3834
'MAL-INCOMPLETE-REQUEST','MAL-EMPTY-REQUEST',
3935
'MAL-WHITESPACE-ONLY-LINE','MAL-H2-PREFACE'
4036
]}

docs/content/smuggling/_index.md

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,12 @@ Some tests are **unscored** (marked with `*`). These send payloads where the RFC
2626
return;
2727
}
2828
var GROUPS = [
29-
{ key: 'cl-te', label: 'CL + TE Conflicts', testIds: [
30-
'SMUG-CL-TE-BOTH','SMUG-CLTE-PIPELINE','SMUG-TECL-PIPELINE','SMUG-TE-HTTP10'
31-
]},
32-
{ key: 'cl-parsing', label: 'Content-Length Parsing', testIds: [
29+
{ key: 'framing', label: 'Framing Conflicts', testIds: [
30+
'SMUG-CL-TE-BOTH','SMUG-CLTE-PIPELINE','SMUG-TECL-PIPELINE','SMUG-TE-HTTP10',
3331
'SMUG-DUPLICATE-CL','SMUG-CL-LEADING-ZEROS','SMUG-CL-NEGATIVE',
3432
'SMUG-CL-COMMA-DIFFERENT','SMUG-CL-OCTAL','SMUG-CL-HEX-PREFIX',
3533
'SMUG-CL-INTERNAL-SPACE','SMUG-CL-COMMA-SAME',
36-
'SMUG-CL-TRAILING-SPACE','SMUG-CL-EXTRA-LEADING-SP'
37-
]},
38-
{ key: 'te-obfuscation', label: 'Transfer-Encoding Obfuscation', testIds: [
34+
'SMUG-CL-TRAILING-SPACE','SMUG-CL-EXTRA-LEADING-SP',
3935
'SMUG-TE-XCHUNKED','SMUG-TE-TRAILING-SPACE','SMUG-TE-SP-BEFORE-COLON',
4036
'SMUG-TE-EMPTY-VALUE','SMUG-TE-LEADING-COMMA','SMUG-TE-DUPLICATE-HEADERS',
4137
'SMUG-TE-NOT-FINAL-CHUNKED','SMUG-TE-IDENTITY',
@@ -48,13 +44,9 @@ Some tests are **unscored** (marked with `*`). These send payloads where the RFC
4844
'SMUG-CHUNK-EXT-LF','SMUG-CHUNK-SPILL','SMUG-CHUNK-LF-TERM',
4945
'SMUG-CHUNK-EXT-CTRL','SMUG-CHUNK-LF-TRAILER','SMUG-CHUNK-NEGATIVE'
5046
]},
51-
{ key: 'headers', label: 'Headers & Injection', testIds: [
52-
'SMUG-BARE-CR-HEADER-VALUE','SMUG-HEADER-INJECTION'
53-
]},
54-
{ key: 'trailers', label: 'Trailers', testIds: [
55-
'SMUG-TRAILER-CL','SMUG-TRAILER-TE','SMUG-TRAILER-HOST'
56-
]},
57-
{ key: 'method-body', label: 'Method & Body Handling', testIds: [
47+
{ key: 'other', label: 'Headers, Trailers & Methods', testIds: [
48+
'SMUG-BARE-CR-HEADER-VALUE','SMUG-HEADER-INJECTION',
49+
'SMUG-TRAILER-CL','SMUG-TRAILER-TE','SMUG-TRAILER-HOST',
5850
'SMUG-EXPECT-100-CL','SMUG-HEAD-CL-BODY','SMUG-OPTIONS-CL-BODY'
5951
]}
6052
];

0 commit comments

Comments
 (0)