From 8ceb521afedc7879d03f284a25c4bcb8237dcccf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Stan=C4=9Bk?= Date: Wed, 24 Apr 2024 14:13:14 +0200 Subject: [PATCH] Backport patch for CVE-2024-27982 Resolves: RHEL-33015 --- ...allow-OBS-fold-in-headers-by-default.patch | 3538 +++++++++++++++++ nodejs.spec | 5 +- 2 files changed, 3542 insertions(+), 1 deletion(-) create mode 100644 0010-http-do-not-allow-OBS-fold-in-headers-by-default.patch diff --git a/0010-http-do-not-allow-OBS-fold-in-headers-by-default.patch b/0010-http-do-not-allow-OBS-fold-in-headers-by-default.patch new file mode 100644 index 0000000..ce8de37 --- /dev/null +++ b/0010-http-do-not-allow-OBS-fold-in-headers-by-default.patch @@ -0,0 +1,3538 @@ +From acdc9f2870c4855a1d8bafd7ea01f7d51c0aad64 Mon Sep 17 00:00:00 2001 +From: Paolo Insogna +Date: Fri, 15 Mar 2024 11:35:51 +0100 +Subject: [PATCH] http: do not allow OBS fold in headers by default + +PR-URL: https://github.com/nodejs-private/node-private/pull/558 +Refs: https://github.com/nodejs-private/node-private/pull/556 +Reviewed-By: Matteo Collina +Reviewed-By: Rafael Gonzaga +CVE-ID: CVE-2024-27982 +Signed-off-by: rpm-build +--- + deps/llhttp/CMakeLists.txt | 2 +- + deps/llhttp/include/llhttp.h | 2 +- + deps/llhttp/src/llhttp.c | 864 +++++++++--------- + test/parallel/test-http-multi-line-headers.js | 3 +- + .../test-http-transfer-encoding-smuggling.js | 5 +- + 5 files changed, 456 insertions(+), 420 deletions(-) + +diff --git a/deps/llhttp/CMakeLists.txt b/deps/llhttp/CMakeLists.txt +index 747564a..fd07388 100644 +--- a/deps/llhttp/CMakeLists.txt ++++ b/deps/llhttp/CMakeLists.txt +@@ -1,7 +1,7 @@ + cmake_minimum_required(VERSION 3.5.1) + cmake_policy(SET CMP0069 NEW) + +-project(llhttp VERSION 6.1.0) ++project(llhttp VERSION 6.1.1) + include(GNUInstallDirs) + + set(CMAKE_C_STANDARD 99) +diff --git a/deps/llhttp/include/llhttp.h b/deps/llhttp/include/llhttp.h +index 78f27ab..29979b4 100644 +--- a/deps/llhttp/include/llhttp.h ++++ b/deps/llhttp/include/llhttp.h +@@ -3,7 +3,7 @@ + + #define LLHTTP_VERSION_MAJOR 6 + #define LLHTTP_VERSION_MINOR 1 +-#define LLHTTP_VERSION_PATCH 0 ++#define LLHTTP_VERSION_PATCH 1 + + #ifndef LLHTTP_STRICT_MODE + # define LLHTTP_STRICT_MODE 0 +diff --git a/deps/llhttp/src/llhttp.c b/deps/llhttp/src/llhttp.c +index 46f86a0..7dc598b 100644 +--- a/deps/llhttp/src/llhttp.c ++++ b/deps/llhttp/src/llhttp.c +@@ -361,7 +361,7 @@ enum llparse_state_e { + s_n_llhttp__internal__n_header_value_lws, + s_n_llhttp__internal__n_header_value_almost_done, + s_n_llhttp__internal__n_header_value_lenient, +- s_n_llhttp__internal__n_error_25, ++ s_n_llhttp__internal__n_error_26, + s_n_llhttp__internal__n_header_value_otherwise, + s_n_llhttp__internal__n_header_value_connection_token, + s_n_llhttp__internal__n_header_value_connection_ws, +@@ -369,12 +369,12 @@ enum llparse_state_e { + s_n_llhttp__internal__n_header_value_connection_2, + s_n_llhttp__internal__n_header_value_connection_3, + s_n_llhttp__internal__n_header_value_connection, +- s_n_llhttp__internal__n_error_27, + s_n_llhttp__internal__n_error_28, ++ s_n_llhttp__internal__n_error_29, + s_n_llhttp__internal__n_header_value_content_length_ws, + s_n_llhttp__internal__n_header_value_content_length, ++ s_n_llhttp__internal__n_error_31, + s_n_llhttp__internal__n_error_30, +- s_n_llhttp__internal__n_error_29, + s_n_llhttp__internal__n_header_value_te_token_ows, + s_n_llhttp__internal__n_header_value, + s_n_llhttp__internal__n_header_value_te_token, +@@ -899,7 +899,7 @@ int llhttp__internal__c_test_flags_3( + return (state->flags & 8) == 8; + } + +-int llhttp__internal__c_test_lenient_flags_7( ++int llhttp__internal__c_test_lenient_flags_8( + llhttp__internal_t* state, + const unsigned char* p, + const unsigned char* endp) { +@@ -963,7 +963,7 @@ int llhttp__internal__c_store_http_minor( + return 0; + } + +-int llhttp__internal__c_test_lenient_flags_9( ++int llhttp__internal__c_test_lenient_flags_10( + llhttp__internal_t* state, + const unsigned char* p, + const unsigned char* endp) { +@@ -1723,10 +1723,10 @@ static llparse_state_t llhttp__internal__run( + } + switch (*p) { + case 9: { +- goto s_n_llhttp__internal__n_invoke_load_header_state_3; ++ goto s_n_llhttp__internal__n_invoke_test_lenient_flags_6; + } + case ' ': { +- goto s_n_llhttp__internal__n_invoke_load_header_state_3; ++ goto s_n_llhttp__internal__n_invoke_test_lenient_flags_6; + } + default: { + goto s_n_llhttp__internal__n_invoke_load_header_state_4; +@@ -1746,7 +1746,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_header_value_lws; + } + default: { +- goto s_n_llhttp__internal__n_error_24; ++ goto s_n_llhttp__internal__n_error_25; + } + } + /* UNREACHABLE */; +@@ -1772,8 +1772,8 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- case s_n_llhttp__internal__n_error_25: +- s_n_llhttp__internal__n_error_25: { ++ case s_n_llhttp__internal__n_error_26: ++ s_n_llhttp__internal__n_error_26: { + state->error = 0xa; + state->reason = "Invalid header value char"; + state->error_pos = (const char*) p; +@@ -1792,7 +1792,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_1; + } + default: { +- goto s_n_llhttp__internal__n_invoke_test_lenient_flags_6; ++ goto s_n_llhttp__internal__n_invoke_test_lenient_flags_7; + } + } + /* UNREACHABLE */; +@@ -1969,8 +1969,8 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- case s_n_llhttp__internal__n_error_27: +- s_n_llhttp__internal__n_error_27: { ++ case s_n_llhttp__internal__n_error_28: ++ s_n_llhttp__internal__n_error_28: { + state->error = 0xb; + state->reason = "Content-Length overflow"; + state->error_pos = (const char*) p; +@@ -1979,8 +1979,8 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- case s_n_llhttp__internal__n_error_28: +- s_n_llhttp__internal__n_error_28: { ++ case s_n_llhttp__internal__n_error_29: ++ s_n_llhttp__internal__n_error_29: { + state->error = 0xb; + state->reason = "Invalid character in Content-Length"; + state->error_pos = (const char*) p; +@@ -2075,8 +2075,8 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- case s_n_llhttp__internal__n_error_30: +- s_n_llhttp__internal__n_error_30: { ++ case s_n_llhttp__internal__n_error_31: ++ s_n_llhttp__internal__n_error_31: { + state->error = 0xf; + state->reason = "Invalid `Transfer-Encoding` header value"; + state->error_pos = (const char*) p; +@@ -2085,8 +2085,8 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- case s_n_llhttp__internal__n_error_29: +- s_n_llhttp__internal__n_error_29: { ++ case s_n_llhttp__internal__n_error_30: ++ s_n_llhttp__internal__n_error_30: { + state->error = 0xf; + state->reason = "Invalid `Transfer-Encoding` header value"; + state->error_pos = (const char*) p; +@@ -2323,7 +2323,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_span_end_llhttp__on_header_field_2; + } + default: { +- goto s_n_llhttp__internal__n_error_31; ++ goto s_n_llhttp__internal__n_error_32; + } + } + /* UNREACHABLE */; +@@ -2703,7 +2703,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_url_to_http_09; + } + default: { +- goto s_n_llhttp__internal__n_error_32; ++ goto s_n_llhttp__internal__n_error_33; + } + } + /* UNREACHABLE */; +@@ -2728,7 +2728,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_url_skip_lf_to_http09_1; + } + default: { +- goto s_n_llhttp__internal__n_error_32; ++ goto s_n_llhttp__internal__n_error_33; + } + } + /* UNREACHABLE */; +@@ -2746,13 +2746,13 @@ static llparse_state_t llhttp__internal__run( + switch (match_seq.status) { + case kMatchComplete: { + p++; +- goto s_n_llhttp__internal__n_error_37; ++ goto s_n_llhttp__internal__n_error_38; + } + case kMatchPause: { + return s_n_llhttp__internal__n_req_pri_upgrade; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_38; ++ goto s_n_llhttp__internal__n_error_39; + } + } + /* UNREACHABLE */; +@@ -2769,7 +2769,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_header_field_start; + } + default: { +- goto s_n_llhttp__internal__n_error_36; ++ goto s_n_llhttp__internal__n_error_37; + } + } + /* UNREACHABLE */; +@@ -2790,7 +2790,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_req_http_complete_1; + } + default: { +- goto s_n_llhttp__internal__n_error_36; ++ goto s_n_llhttp__internal__n_error_37; + } + } + /* UNREACHABLE */; +@@ -2853,7 +2853,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_invoke_store_http_minor; + } + default: { +- goto s_n_llhttp__internal__n_error_41; ++ goto s_n_llhttp__internal__n_error_42; + } + } + /* UNREACHABLE */; +@@ -2870,7 +2870,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_req_http_minor; + } + default: { +- goto s_n_llhttp__internal__n_error_42; ++ goto s_n_llhttp__internal__n_error_43; + } + } + /* UNREACHABLE */; +@@ -2933,7 +2933,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_invoke_store_http_major; + } + default: { +- goto s_n_llhttp__internal__n_error_43; ++ goto s_n_llhttp__internal__n_error_44; + } + } + /* UNREACHABLE */; +@@ -2957,7 +2957,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_req_http_start_1; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_46; ++ goto s_n_llhttp__internal__n_error_47; + } + } + /* UNREACHABLE */; +@@ -2981,7 +2981,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_req_http_start_2; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_46; ++ goto s_n_llhttp__internal__n_error_47; + } + } + /* UNREACHABLE */; +@@ -3005,7 +3005,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_req_http_start_3; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_46; ++ goto s_n_llhttp__internal__n_error_47; + } + } + /* UNREACHABLE */; +@@ -3034,7 +3034,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_req_http_start_3; + } + default: { +- goto s_n_llhttp__internal__n_error_46; ++ goto s_n_llhttp__internal__n_error_47; + } + } + /* UNREACHABLE */; +@@ -3125,7 +3125,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_url_fragment; + } + default: { +- goto s_n_llhttp__internal__n_error_47; ++ goto s_n_llhttp__internal__n_error_48; + } + } + /* UNREACHABLE */; +@@ -3186,7 +3186,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_span_end_stub_query_3; + } + default: { +- goto s_n_llhttp__internal__n_error_48; ++ goto s_n_llhttp__internal__n_error_49; + } + } + /* UNREACHABLE */; +@@ -3224,7 +3224,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_url_query; + } + default: { +- goto s_n_llhttp__internal__n_error_49; ++ goto s_n_llhttp__internal__n_error_50; + } + } + /* UNREACHABLE */; +@@ -3349,10 +3349,10 @@ static llparse_state_t llhttp__internal__run( + } + case 8: { + p++; +- goto s_n_llhttp__internal__n_error_50; ++ goto s_n_llhttp__internal__n_error_51; + } + default: { +- goto s_n_llhttp__internal__n_error_51; ++ goto s_n_llhttp__internal__n_error_52; + } + } + /* UNREACHABLE */; +@@ -3411,7 +3411,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_url_server_with_at; + } + default: { +- goto s_n_llhttp__internal__n_error_52; ++ goto s_n_llhttp__internal__n_error_53; + } + } + /* UNREACHABLE */; +@@ -3428,7 +3428,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_url_server; + } + default: { +- goto s_n_llhttp__internal__n_error_54; ++ goto s_n_llhttp__internal__n_error_55; + } + } + /* UNREACHABLE */; +@@ -3446,7 +3446,7 @@ static llparse_state_t llhttp__internal__run( + } + case 10: { + p++; +- goto s_n_llhttp__internal__n_error_53; ++ goto s_n_llhttp__internal__n_error_54; + } + case 12: { + p++; +@@ -3454,18 +3454,18 @@ static llparse_state_t llhttp__internal__run( + } + case 13: { + p++; +- goto s_n_llhttp__internal__n_error_53; ++ goto s_n_llhttp__internal__n_error_54; + } + case ' ': { + p++; +- goto s_n_llhttp__internal__n_error_53; ++ goto s_n_llhttp__internal__n_error_54; + } + case '/': { + p++; + goto s_n_llhttp__internal__n_url_schema_delim_1; + } + default: { +- goto s_n_llhttp__internal__n_error_54; ++ goto s_n_llhttp__internal__n_error_55; + } + } + /* UNREACHABLE */; +@@ -3511,7 +3511,7 @@ static llparse_state_t llhttp__internal__run( + } + case 2: { + p++; +- goto s_n_llhttp__internal__n_error_53; ++ goto s_n_llhttp__internal__n_error_54; + } + case 3: { + goto s_n_llhttp__internal__n_span_end_stub_schema; +@@ -3521,7 +3521,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_url_schema; + } + default: { +- goto s_n_llhttp__internal__n_error_55; ++ goto s_n_llhttp__internal__n_error_56; + } + } + /* UNREACHABLE */; +@@ -3557,7 +3557,7 @@ static llparse_state_t llhttp__internal__run( + } + case 2: { + p++; +- goto s_n_llhttp__internal__n_error_53; ++ goto s_n_llhttp__internal__n_error_54; + } + case 3: { + goto s_n_llhttp__internal__n_span_start_stub_path_2; +@@ -3566,7 +3566,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_url_schema; + } + default: { +- goto s_n_llhttp__internal__n_error_56; ++ goto s_n_llhttp__internal__n_error_57; + } + } + /* UNREACHABLE */; +@@ -3664,7 +3664,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_req_spaces_before_url; + } + default: { +- goto s_n_llhttp__internal__n_error_57; ++ goto s_n_llhttp__internal__n_error_58; + } + } + /* UNREACHABLE */; +@@ -3682,7 +3682,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_invoke_store_method_1; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -3707,7 +3707,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_3; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -3728,7 +3728,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_3; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -3753,7 +3753,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_4; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -3778,7 +3778,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_6; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -3803,7 +3803,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_8; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -3821,7 +3821,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_invoke_store_method_1; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -3842,7 +3842,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_9; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -3863,7 +3863,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_7; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -3888,7 +3888,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_12; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -3913,7 +3913,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_13; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -3934,7 +3934,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_13; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -3951,7 +3951,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_11; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -3976,7 +3976,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_14; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4001,7 +4001,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_17; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4043,7 +4043,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_15; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4068,7 +4068,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_18; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4093,7 +4093,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_20; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4118,7 +4118,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_21; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4139,7 +4139,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_21; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4164,7 +4164,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_23; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4189,7 +4189,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_24; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4214,7 +4214,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_26; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4239,7 +4239,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_28; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4257,7 +4257,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_invoke_store_method_1; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4278,7 +4278,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_29; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4299,7 +4299,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_27; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4324,7 +4324,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_30; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4353,7 +4353,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_30; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4378,7 +4378,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_31; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4403,7 +4403,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_32; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4428,7 +4428,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_35; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4453,7 +4453,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_36; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4474,7 +4474,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_36; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4499,7 +4499,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_37; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4524,7 +4524,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_38; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4549,7 +4549,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_42; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4574,7 +4574,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_43; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4595,7 +4595,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_43; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4612,7 +4612,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_41; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4634,7 +4634,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_40; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4659,7 +4659,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_45; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4681,7 +4681,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_invoke_store_method_1; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4714,7 +4714,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_44; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4739,7 +4739,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_48; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4764,7 +4764,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_49; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4789,7 +4789,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_50; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4814,7 +4814,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_51; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4843,7 +4843,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_51; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4860,7 +4860,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_47; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4885,7 +4885,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_54; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4903,7 +4903,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_invoke_store_method_1; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4928,7 +4928,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_57; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4949,7 +4949,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_57; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4970,7 +4970,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_55; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -4995,7 +4995,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_58; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -5020,7 +5020,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_59; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -5045,7 +5045,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_59; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -5070,7 +5070,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_61; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -5095,7 +5095,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_62; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -5116,7 +5116,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_62; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -5141,7 +5141,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_65; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -5166,7 +5166,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_67; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -5191,7 +5191,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_68; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -5212,7 +5212,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_68; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -5237,7 +5237,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_69; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -5262,7 +5262,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_69; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -5279,7 +5279,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_64; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -5356,7 +5356,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_63; + } + default: { +- goto s_n_llhttp__internal__n_error_70; ++ goto s_n_llhttp__internal__n_error_71; + } + } + /* UNREACHABLE */; +@@ -5382,7 +5382,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_invoke_llhttp__on_status_complete; + } + default: { +- goto s_n_llhttp__internal__n_error_61; ++ goto s_n_llhttp__internal__n_error_62; + } + } + /* UNREACHABLE */; +@@ -5457,7 +5457,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_res_status_start; + } + default: { +- goto s_n_llhttp__internal__n_error_62; ++ goto s_n_llhttp__internal__n_error_63; + } + } + /* UNREACHABLE */; +@@ -5537,7 +5537,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_invoke_update_status_code; + } + default: { +- goto s_n_llhttp__internal__n_error_63; ++ goto s_n_llhttp__internal__n_error_64; + } + } + /* UNREACHABLE */; +@@ -5600,7 +5600,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_invoke_store_http_minor_1; + } + default: { +- goto s_n_llhttp__internal__n_error_66; ++ goto s_n_llhttp__internal__n_error_67; + } + } + /* UNREACHABLE */; +@@ -5617,7 +5617,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_res_http_minor; + } + default: { +- goto s_n_llhttp__internal__n_error_67; ++ goto s_n_llhttp__internal__n_error_68; + } + } + /* UNREACHABLE */; +@@ -5680,7 +5680,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_invoke_store_http_major_1; + } + default: { +- goto s_n_llhttp__internal__n_error_68; ++ goto s_n_llhttp__internal__n_error_69; + } + } + /* UNREACHABLE */; +@@ -5704,7 +5704,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_res; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_71; ++ goto s_n_llhttp__internal__n_error_72; + } + } + /* UNREACHABLE */; +@@ -5729,7 +5729,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_req_or_res_method_2; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_69; ++ goto s_n_llhttp__internal__n_error_70; + } + } + /* UNREACHABLE */; +@@ -5753,7 +5753,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_req_or_res_method_3; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_69; ++ goto s_n_llhttp__internal__n_error_70; + } + } + /* UNREACHABLE */; +@@ -5774,7 +5774,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_req_or_res_method_3; + } + default: { +- goto s_n_llhttp__internal__n_error_69; ++ goto s_n_llhttp__internal__n_error_70; + } + } + /* UNREACHABLE */; +@@ -5791,7 +5791,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_req_or_res_method_1; + } + default: { +- goto s_n_llhttp__internal__n_error_69; ++ goto s_n_llhttp__internal__n_error_70; + } + } + /* UNREACHABLE */; +@@ -5860,7 +5860,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_53: { ++ s_n_llhttp__internal__n_error_54: { + state->error = 0x7; + state->reason = "Invalid characters in url"; + state->error_pos = (const char*) p; +@@ -6522,6 +6522,25 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } ++ s_n_llhttp__internal__n_error_24: { ++ state->error = 0xa; ++ state->reason = "Unexpected whitespace after header value"; ++ state->error_pos = (const char*) p; ++ state->_current = (void*) (intptr_t) s_error; ++ return s_error; ++ /* UNREACHABLE */; ++ abort(); ++ } ++ s_n_llhttp__internal__n_invoke_test_lenient_flags_6: { ++ switch (llhttp__internal__c_test_lenient_flags_2(state, p, endp)) { ++ case 1: ++ goto s_n_llhttp__internal__n_invoke_load_header_state_3; ++ default: ++ goto s_n_llhttp__internal__n_error_24; ++ } ++ /* UNREACHABLE */; ++ abort(); ++ } + s_n_llhttp__internal__n_invoke_update_header_state_2: { + switch (llhttp__internal__c_update_header_state(state, p, endp)) { + default: +@@ -6578,7 +6597,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_24: { ++ s_n_llhttp__internal__n_error_25: { + state->error = 0x3; + state->reason = "Missing expected LF after header value"; + state->error_pos = (const char*) p; +@@ -6650,14 +6669,14 @@ static llparse_state_t llhttp__internal__run( + if (err != 0) { + state->error = err; + state->error_pos = (const char*) p; +- state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_25; ++ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_26; + return s_error; + } +- goto s_n_llhttp__internal__n_error_25; ++ goto s_n_llhttp__internal__n_error_26; + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_invoke_test_lenient_flags_6: { ++ s_n_llhttp__internal__n_invoke_test_lenient_flags_7: { + switch (llhttp__internal__c_test_lenient_flags_2(state, p, endp)) { + case 1: + goto s_n_llhttp__internal__n_header_value_lenient; +@@ -6765,10 +6784,10 @@ static llparse_state_t llhttp__internal__run( + if (err != 0) { + state->error = err; + state->error_pos = (const char*) p; +- state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_27; ++ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_28; + return s_error; + } +- goto s_n_llhttp__internal__n_error_27; ++ goto s_n_llhttp__internal__n_error_28; + /* UNREACHABLE */; + abort(); + } +@@ -6800,14 +6819,14 @@ static llparse_state_t llhttp__internal__run( + if (err != 0) { + state->error = err; + state->error_pos = (const char*) p; +- state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_28; ++ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_29; + return s_error; + } +- goto s_n_llhttp__internal__n_error_28; ++ goto s_n_llhttp__internal__n_error_29; + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_26: { ++ s_n_llhttp__internal__n_error_27: { + state->error = 0x4; + state->reason = "Duplicate Content-Length"; + state->error_pos = (const char*) p; +@@ -6821,7 +6840,7 @@ static llparse_state_t llhttp__internal__run( + case 0: + goto s_n_llhttp__internal__n_header_value_content_length; + default: +- goto s_n_llhttp__internal__n_error_26; ++ goto s_n_llhttp__internal__n_error_27; + } + /* UNREACHABLE */; + abort(); +@@ -6836,11 +6855,11 @@ static llparse_state_t llhttp__internal__run( + if (err != 0) { + state->error = err; + state->error_pos = (const char*) (p + 1); +- state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_30; ++ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_31; + return s_error; + } + p++; +- goto s_n_llhttp__internal__n_error_30; ++ goto s_n_llhttp__internal__n_error_31; + /* UNREACHABLE */; + abort(); + } +@@ -6862,16 +6881,16 @@ static llparse_state_t llhttp__internal__run( + if (err != 0) { + state->error = err; + state->error_pos = (const char*) (p + 1); +- state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_29; ++ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_30; + return s_error; + } + p++; +- goto s_n_llhttp__internal__n_error_29; ++ goto s_n_llhttp__internal__n_error_30; + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_invoke_test_lenient_flags_7: { +- switch (llhttp__internal__c_test_lenient_flags_7(state, p, endp)) { ++ s_n_llhttp__internal__n_invoke_test_lenient_flags_8: { ++ switch (llhttp__internal__c_test_lenient_flags_8(state, p, endp)) { + case 0: + goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_7; + default: +@@ -6883,7 +6902,7 @@ static llparse_state_t llhttp__internal__run( + s_n_llhttp__internal__n_invoke_load_type_1: { + switch (llhttp__internal__c_load_type(state, p, endp)) { + case 1: +- goto s_n_llhttp__internal__n_invoke_test_lenient_flags_7; ++ goto s_n_llhttp__internal__n_invoke_test_lenient_flags_8; + default: + goto s_n_llhttp__internal__n_header_value_te_chunked; + } +@@ -6914,8 +6933,8 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_invoke_test_lenient_flags_8: { +- switch (llhttp__internal__c_test_lenient_flags_7(state, p, endp)) { ++ s_n_llhttp__internal__n_invoke_test_lenient_flags_9: { ++ switch (llhttp__internal__c_test_lenient_flags_8(state, p, endp)) { + case 0: + goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_8; + default: +@@ -6927,7 +6946,7 @@ static llparse_state_t llhttp__internal__run( + s_n_llhttp__internal__n_invoke_load_type_2: { + switch (llhttp__internal__c_load_type(state, p, endp)) { + case 1: +- goto s_n_llhttp__internal__n_invoke_test_lenient_flags_8; ++ goto s_n_llhttp__internal__n_invoke_test_lenient_flags_9; + default: + goto s_n_llhttp__internal__n_invoke_or_flags_17; + } +@@ -7012,7 +7031,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_31: { ++ s_n_llhttp__internal__n_error_32: { + state->error = 0xa; + state->reason = "Invalid header token"; + state->error_pos = (const char*) p; +@@ -7086,7 +7105,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_32: { ++ s_n_llhttp__internal__n_error_33: { + state->error = 0x7; + state->reason = "Expected CRLF"; + state->error_pos = (const char*) p; +@@ -7112,7 +7131,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_37: { ++ s_n_llhttp__internal__n_error_38: { + state->error = 0x17; + state->reason = "Pause on PRI/Upgrade"; + state->error_pos = (const char*) p; +@@ -7121,7 +7140,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_38: { ++ s_n_llhttp__internal__n_error_39: { + state->error = 0x9; + state->reason = "Expected HTTP/2 Connection Preface"; + state->error_pos = (const char*) p; +@@ -7130,7 +7149,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_36: { ++ s_n_llhttp__internal__n_error_37: { + state->error = 0x9; + state->reason = "Expected CRLF after version"; + state->error_pos = (const char*) p; +@@ -7149,7 +7168,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_35: { ++ s_n_llhttp__internal__n_error_36: { + state->error = 0x9; + state->reason = "Invalid HTTP version"; + state->error_pos = (const char*) p; +@@ -7163,12 +7182,12 @@ static llparse_state_t llhttp__internal__run( + case 9: + goto s_n_llhttp__internal__n_invoke_load_method_1; + default: +- goto s_n_llhttp__internal__n_error_35; ++ goto s_n_llhttp__internal__n_error_36; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_39: { ++ s_n_llhttp__internal__n_error_40: { + state->error = 0x9; + state->reason = "Invalid HTTP version"; + state->error_pos = (const char*) p; +@@ -7184,12 +7203,12 @@ static llparse_state_t llhttp__internal__run( + case 1: + goto s_n_llhttp__internal__n_invoke_load_method_1; + default: +- goto s_n_llhttp__internal__n_error_39; ++ goto s_n_llhttp__internal__n_error_40; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_40: { ++ s_n_llhttp__internal__n_error_41: { + state->error = 0x9; + state->reason = "Invalid HTTP version"; + state->error_pos = (const char*) p; +@@ -7203,12 +7222,12 @@ static llparse_state_t llhttp__internal__run( + case 0: + goto s_n_llhttp__internal__n_invoke_load_method_1; + default: +- goto s_n_llhttp__internal__n_error_40; ++ goto s_n_llhttp__internal__n_error_41; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_34: { ++ s_n_llhttp__internal__n_error_35: { + state->error = 0x9; + state->reason = "Invalid HTTP version"; + state->error_pos = (const char*) p; +@@ -7226,13 +7245,13 @@ static llparse_state_t llhttp__internal__run( + case 2: + goto s_n_llhttp__internal__n_invoke_load_http_minor_2; + default: +- goto s_n_llhttp__internal__n_error_34; ++ goto s_n_llhttp__internal__n_error_35; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_invoke_test_lenient_flags_9: { +- switch (llhttp__internal__c_test_lenient_flags_9(state, p, endp)) { ++ s_n_llhttp__internal__n_invoke_test_lenient_flags_10: { ++ switch (llhttp__internal__c_test_lenient_flags_10(state, p, endp)) { + case 1: + goto s_n_llhttp__internal__n_invoke_load_method_1; + default: +@@ -7244,12 +7263,12 @@ static llparse_state_t llhttp__internal__run( + s_n_llhttp__internal__n_invoke_store_http_minor: { + switch (llhttp__internal__c_store_http_minor(state, p, endp, match)) { + default: +- goto s_n_llhttp__internal__n_invoke_test_lenient_flags_9; ++ goto s_n_llhttp__internal__n_invoke_test_lenient_flags_10; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_41: { ++ s_n_llhttp__internal__n_error_42: { + state->error = 0x9; + state->reason = "Invalid minor version"; + state->error_pos = (const char*) p; +@@ -7258,7 +7277,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_42: { ++ s_n_llhttp__internal__n_error_43: { + state->error = 0x9; + state->reason = "Expected dot"; + state->error_pos = (const char*) p; +@@ -7275,7 +7294,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_43: { ++ s_n_llhttp__internal__n_error_44: { + state->error = 0x9; + state->reason = "Invalid major version"; + state->error_pos = (const char*) p; +@@ -7284,7 +7303,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_33: { ++ s_n_llhttp__internal__n_error_34: { + state->error = 0x8; + state->reason = "Invalid method for HTTP/x.x request"; + state->error_pos = (const char*) p; +@@ -7366,12 +7385,12 @@ static llparse_state_t llhttp__internal__run( + case 34: + goto s_n_llhttp__internal__n_req_http_major; + default: +- goto s_n_llhttp__internal__n_error_33; ++ goto s_n_llhttp__internal__n_error_34; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_46: { ++ s_n_llhttp__internal__n_error_47: { + state->error = 0x8; + state->reason = "Expected HTTP/"; + state->error_pos = (const char*) p; +@@ -7380,7 +7399,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_44: { ++ s_n_llhttp__internal__n_error_45: { + state->error = 0x8; + state->reason = "Expected SOURCE method for ICE/x.x request"; + state->error_pos = (const char*) p; +@@ -7394,12 +7413,12 @@ static llparse_state_t llhttp__internal__run( + case 33: + goto s_n_llhttp__internal__n_req_http_major; + default: +- goto s_n_llhttp__internal__n_error_44; ++ goto s_n_llhttp__internal__n_error_45; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_45: { ++ s_n_llhttp__internal__n_error_46: { + state->error = 0x8; + state->reason = "Invalid method for RTSP/x.x request"; + state->error_pos = (const char*) p; +@@ -7439,7 +7458,7 @@ static llparse_state_t llhttp__internal__run( + case 45: + goto s_n_llhttp__internal__n_req_http_major; + default: +- goto s_n_llhttp__internal__n_error_45; ++ goto s_n_llhttp__internal__n_error_46; + } + /* UNREACHABLE */; + abort(); +@@ -7520,7 +7539,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_47: { ++ s_n_llhttp__internal__n_error_48: { + state->error = 0x7; + state->reason = "Invalid char in url fragment start"; + state->error_pos = (const char*) p; +@@ -7580,7 +7599,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_48: { ++ s_n_llhttp__internal__n_error_49: { + state->error = 0x7; + state->reason = "Invalid char in url query"; + state->error_pos = (const char*) p; +@@ -7589,7 +7608,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_49: { ++ s_n_llhttp__internal__n_error_50: { + state->error = 0x7; + state->reason = "Invalid char in url path"; + state->error_pos = (const char*) p; +@@ -7700,7 +7719,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_50: { ++ s_n_llhttp__internal__n_error_51: { + state->error = 0x7; + state->reason = "Double @ in url"; + state->error_pos = (const char*) p; +@@ -7709,7 +7728,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_51: { ++ s_n_llhttp__internal__n_error_52: { + state->error = 0x7; + state->reason = "Unexpected char in url server"; + state->error_pos = (const char*) p; +@@ -7718,7 +7737,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_52: { ++ s_n_llhttp__internal__n_error_53: { + state->error = 0x7; + state->reason = "Unexpected char in url server"; + state->error_pos = (const char*) p; +@@ -7727,7 +7746,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_54: { ++ s_n_llhttp__internal__n_error_55: { + state->error = 0x7; + state->reason = "Unexpected char in url schema"; + state->error_pos = (const char*) p; +@@ -7736,7 +7755,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_55: { ++ s_n_llhttp__internal__n_error_56: { + state->error = 0x7; + state->reason = "Unexpected char in url schema"; + state->error_pos = (const char*) p; +@@ -7745,7 +7764,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_56: { ++ s_n_llhttp__internal__n_error_57: { + state->error = 0x7; + state->reason = "Unexpected start char in url"; + state->error_pos = (const char*) p; +@@ -7764,7 +7783,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_57: { ++ s_n_llhttp__internal__n_error_58: { + state->error = 0x6; + state->reason = "Expected space after method"; + state->error_pos = (const char*) p; +@@ -7781,7 +7800,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_70: { ++ s_n_llhttp__internal__n_error_71: { + state->error = 0x6; + state->reason = "Invalid method encountered"; + state->error_pos = (const char*) p; +@@ -7790,7 +7809,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_60: { ++ s_n_llhttp__internal__n_error_61: { + state->error = 0xd; + state->reason = "Response overflow"; + state->error_pos = (const char*) p; +@@ -7802,14 +7821,14 @@ static llparse_state_t llhttp__internal__run( + s_n_llhttp__internal__n_invoke_mul_add_status_code: { + switch (llhttp__internal__c_mul_add_status_code(state, p, endp, match)) { + case 1: +- goto s_n_llhttp__internal__n_error_60; ++ goto s_n_llhttp__internal__n_error_61; + default: + goto s_n_llhttp__internal__n_res_status_code; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_61: { ++ s_n_llhttp__internal__n_error_62: { + state->error = 0x2; + state->reason = "Expected LF after CR"; + state->error_pos = (const char*) p; +@@ -7854,7 +7873,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_62: { ++ s_n_llhttp__internal__n_error_63: { + state->error = 0xd; + state->reason = "Invalid response status"; + state->error_pos = (const char*) p; +@@ -7871,7 +7890,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_63: { ++ s_n_llhttp__internal__n_error_64: { + state->error = 0x9; + state->reason = "Expected space after version"; + state->error_pos = (const char*) p; +@@ -7880,7 +7899,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_59: { ++ s_n_llhttp__internal__n_error_60: { + state->error = 0x9; + state->reason = "Invalid HTTP version"; + state->error_pos = (const char*) p; +@@ -7894,12 +7913,12 @@ static llparse_state_t llhttp__internal__run( + case 9: + goto s_n_llhttp__internal__n_res_http_end; + default: +- goto s_n_llhttp__internal__n_error_59; ++ goto s_n_llhttp__internal__n_error_60; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_64: { ++ s_n_llhttp__internal__n_error_65: { + state->error = 0x9; + state->reason = "Invalid HTTP version"; + state->error_pos = (const char*) p; +@@ -7915,12 +7934,12 @@ static llparse_state_t llhttp__internal__run( + case 1: + goto s_n_llhttp__internal__n_res_http_end; + default: +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_65: { ++ s_n_llhttp__internal__n_error_66: { + state->error = 0x9; + state->reason = "Invalid HTTP version"; + state->error_pos = (const char*) p; +@@ -7934,12 +7953,12 @@ static llparse_state_t llhttp__internal__run( + case 0: + goto s_n_llhttp__internal__n_res_http_end; + default: +- goto s_n_llhttp__internal__n_error_65; ++ goto s_n_llhttp__internal__n_error_66; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_58: { ++ s_n_llhttp__internal__n_error_59: { + state->error = 0x9; + state->reason = "Invalid HTTP version"; + state->error_pos = (const char*) p; +@@ -7957,13 +7976,13 @@ static llparse_state_t llhttp__internal__run( + case 2: + goto s_n_llhttp__internal__n_invoke_load_http_minor_5; + default: +- goto s_n_llhttp__internal__n_error_58; ++ goto s_n_llhttp__internal__n_error_59; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_invoke_test_lenient_flags_10: { +- switch (llhttp__internal__c_test_lenient_flags_9(state, p, endp)) { ++ s_n_llhttp__internal__n_invoke_test_lenient_flags_11: { ++ switch (llhttp__internal__c_test_lenient_flags_10(state, p, endp)) { + case 1: + goto s_n_llhttp__internal__n_res_http_end; + default: +@@ -7975,12 +7994,12 @@ static llparse_state_t llhttp__internal__run( + s_n_llhttp__internal__n_invoke_store_http_minor_1: { + switch (llhttp__internal__c_store_http_minor(state, p, endp, match)) { + default: +- goto s_n_llhttp__internal__n_invoke_test_lenient_flags_10; ++ goto s_n_llhttp__internal__n_invoke_test_lenient_flags_11; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_66: { ++ s_n_llhttp__internal__n_error_67: { + state->error = 0x9; + state->reason = "Invalid minor version"; + state->error_pos = (const char*) p; +@@ -7989,7 +8008,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_67: { ++ s_n_llhttp__internal__n_error_68: { + state->error = 0x9; + state->reason = "Expected dot"; + state->error_pos = (const char*) p; +@@ -8006,7 +8025,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_68: { ++ s_n_llhttp__internal__n_error_69: { + state->error = 0x9; + state->reason = "Invalid major version"; + state->error_pos = (const char*) p; +@@ -8015,7 +8034,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_71: { ++ s_n_llhttp__internal__n_error_72: { + state->error = 0x8; + state->reason = "Expected HTTP/"; + state->error_pos = (const char*) p; +@@ -8040,7 +8059,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_69: { ++ s_n_llhttp__internal__n_error_70: { + state->error = 0x8; + state->reason = "Invalid word encountered"; + state->error_pos = (const char*) p; +@@ -8509,7 +8528,7 @@ enum llparse_state_e { + s_n_llhttp__internal__n_header_value_lws, + s_n_llhttp__internal__n_header_value_almost_done, + s_n_llhttp__internal__n_header_value_lenient, +- s_n_llhttp__internal__n_error_20, ++ s_n_llhttp__internal__n_error_21, + s_n_llhttp__internal__n_header_value_otherwise, + s_n_llhttp__internal__n_header_value_connection_token, + s_n_llhttp__internal__n_header_value_connection_ws, +@@ -8517,12 +8536,12 @@ enum llparse_state_e { + s_n_llhttp__internal__n_header_value_connection_2, + s_n_llhttp__internal__n_header_value_connection_3, + s_n_llhttp__internal__n_header_value_connection, +- s_n_llhttp__internal__n_error_22, + s_n_llhttp__internal__n_error_23, ++ s_n_llhttp__internal__n_error_24, + s_n_llhttp__internal__n_header_value_content_length_ws, + s_n_llhttp__internal__n_header_value_content_length, ++ s_n_llhttp__internal__n_error_26, + s_n_llhttp__internal__n_error_25, +- s_n_llhttp__internal__n_error_24, + s_n_llhttp__internal__n_header_value_te_token_ows, + s_n_llhttp__internal__n_header_value, + s_n_llhttp__internal__n_header_value_te_token, +@@ -9042,7 +9061,7 @@ int llhttp__internal__c_test_flags_3( + return (state->flags & 8) == 8; + } + +-int llhttp__internal__c_test_lenient_flags_7( ++int llhttp__internal__c_test_lenient_flags_8( + llhttp__internal_t* state, + const unsigned char* p, + const unsigned char* endp) { +@@ -9106,7 +9125,7 @@ int llhttp__internal__c_store_http_minor( + return 0; + } + +-int llhttp__internal__c_test_lenient_flags_9( ++int llhttp__internal__c_test_lenient_flags_10( + llhttp__internal_t* state, + const unsigned char* p, + const unsigned char* endp) { +@@ -9836,10 +9855,10 @@ static llparse_state_t llhttp__internal__run( + } + switch (*p) { + case 9: { +- goto s_n_llhttp__internal__n_invoke_load_header_state_3; ++ goto s_n_llhttp__internal__n_invoke_test_lenient_flags_6; + } + case ' ': { +- goto s_n_llhttp__internal__n_invoke_load_header_state_3; ++ goto s_n_llhttp__internal__n_invoke_test_lenient_flags_6; + } + default: { + goto s_n_llhttp__internal__n_invoke_load_header_state_4; +@@ -9859,7 +9878,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_header_value_lws; + } + default: { +- goto s_n_llhttp__internal__n_error_19; ++ goto s_n_llhttp__internal__n_error_20; + } + } + /* UNREACHABLE */; +@@ -9885,8 +9904,8 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- case s_n_llhttp__internal__n_error_20: +- s_n_llhttp__internal__n_error_20: { ++ case s_n_llhttp__internal__n_error_21: ++ s_n_llhttp__internal__n_error_21: { + state->error = 0xa; + state->reason = "Invalid header value char"; + state->error_pos = (const char*) p; +@@ -9905,7 +9924,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_1; + } + default: { +- goto s_n_llhttp__internal__n_invoke_test_lenient_flags_6; ++ goto s_n_llhttp__internal__n_invoke_test_lenient_flags_7; + } + } + /* UNREACHABLE */; +@@ -10082,8 +10101,8 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- case s_n_llhttp__internal__n_error_22: +- s_n_llhttp__internal__n_error_22: { ++ case s_n_llhttp__internal__n_error_23: ++ s_n_llhttp__internal__n_error_23: { + state->error = 0xb; + state->reason = "Content-Length overflow"; + state->error_pos = (const char*) p; +@@ -10092,8 +10111,8 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- case s_n_llhttp__internal__n_error_23: +- s_n_llhttp__internal__n_error_23: { ++ case s_n_llhttp__internal__n_error_24: ++ s_n_llhttp__internal__n_error_24: { + state->error = 0xb; + state->reason = "Invalid character in Content-Length"; + state->error_pos = (const char*) p; +@@ -10188,8 +10207,8 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- case s_n_llhttp__internal__n_error_25: +- s_n_llhttp__internal__n_error_25: { ++ case s_n_llhttp__internal__n_error_26: ++ s_n_llhttp__internal__n_error_26: { + state->error = 0xf; + state->reason = "Invalid `Transfer-Encoding` header value"; + state->error_pos = (const char*) p; +@@ -10198,8 +10217,8 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- case s_n_llhttp__internal__n_error_24: +- s_n_llhttp__internal__n_error_24: { ++ case s_n_llhttp__internal__n_error_25: ++ s_n_llhttp__internal__n_error_25: { + state->error = 0xf; + state->reason = "Invalid `Transfer-Encoding` header value"; + state->error_pos = (const char*) p; +@@ -10436,7 +10455,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_span_end_llhttp__on_header_field_2; + } + default: { +- goto s_n_llhttp__internal__n_error_26; ++ goto s_n_llhttp__internal__n_error_27; + } + } + /* UNREACHABLE */; +@@ -10790,7 +10809,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_url_skip_lf_to_http09; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_27; ++ goto s_n_llhttp__internal__n_error_28; + } + } + /* UNREACHABLE */; +@@ -10808,13 +10827,13 @@ static llparse_state_t llhttp__internal__run( + switch (match_seq.status) { + case kMatchComplete: { + p++; +- goto s_n_llhttp__internal__n_error_32; ++ goto s_n_llhttp__internal__n_error_33; + } + case kMatchPause: { + return s_n_llhttp__internal__n_req_pri_upgrade; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_33; ++ goto s_n_llhttp__internal__n_error_34; + } + } + /* UNREACHABLE */; +@@ -10831,7 +10850,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_header_field_start; + } + default: { +- goto s_n_llhttp__internal__n_error_31; ++ goto s_n_llhttp__internal__n_error_32; + } + } + /* UNREACHABLE */; +@@ -10852,7 +10871,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_req_http_complete_1; + } + default: { +- goto s_n_llhttp__internal__n_error_31; ++ goto s_n_llhttp__internal__n_error_32; + } + } + /* UNREACHABLE */; +@@ -10915,7 +10934,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_invoke_store_http_minor; + } + default: { +- goto s_n_llhttp__internal__n_error_36; ++ goto s_n_llhttp__internal__n_error_37; + } + } + /* UNREACHABLE */; +@@ -10932,7 +10951,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_req_http_minor; + } + default: { +- goto s_n_llhttp__internal__n_error_37; ++ goto s_n_llhttp__internal__n_error_38; + } + } + /* UNREACHABLE */; +@@ -10995,7 +11014,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_invoke_store_http_major; + } + default: { +- goto s_n_llhttp__internal__n_error_38; ++ goto s_n_llhttp__internal__n_error_39; + } + } + /* UNREACHABLE */; +@@ -11019,7 +11038,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_req_http_start_1; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_41; ++ goto s_n_llhttp__internal__n_error_42; + } + } + /* UNREACHABLE */; +@@ -11043,7 +11062,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_req_http_start_2; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_41; ++ goto s_n_llhttp__internal__n_error_42; + } + } + /* UNREACHABLE */; +@@ -11067,7 +11086,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_req_http_start_3; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_41; ++ goto s_n_llhttp__internal__n_error_42; + } + } + /* UNREACHABLE */; +@@ -11096,7 +11115,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_req_http_start_3; + } + default: { +- goto s_n_llhttp__internal__n_error_41; ++ goto s_n_llhttp__internal__n_error_42; + } + } + /* UNREACHABLE */; +@@ -11150,7 +11169,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_span_end_llhttp__on_url_8; + } + default: { +- goto s_n_llhttp__internal__n_error_42; ++ goto s_n_llhttp__internal__n_error_43; + } + } + /* UNREACHABLE */; +@@ -11207,7 +11226,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_span_end_stub_query_3; + } + default: { +- goto s_n_llhttp__internal__n_error_43; ++ goto s_n_llhttp__internal__n_error_44; + } + } + /* UNREACHABLE */; +@@ -11237,7 +11256,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_url_query; + } + default: { +- goto s_n_llhttp__internal__n_error_44; ++ goto s_n_llhttp__internal__n_error_45; + } + } + /* UNREACHABLE */; +@@ -11378,10 +11397,10 @@ static llparse_state_t llhttp__internal__run( + } + case 7: { + p++; +- goto s_n_llhttp__internal__n_error_45; ++ goto s_n_llhttp__internal__n_error_46; + } + default: { +- goto s_n_llhttp__internal__n_error_46; ++ goto s_n_llhttp__internal__n_error_47; + } + } + /* UNREACHABLE */; +@@ -11436,7 +11455,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_url_server_with_at; + } + default: { +- goto s_n_llhttp__internal__n_error_47; ++ goto s_n_llhttp__internal__n_error_48; + } + } + /* UNREACHABLE */; +@@ -11453,7 +11472,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_url_server; + } + default: { +- goto s_n_llhttp__internal__n_error_49; ++ goto s_n_llhttp__internal__n_error_50; + } + } + /* UNREACHABLE */; +@@ -11467,22 +11486,22 @@ static llparse_state_t llhttp__internal__run( + switch (*p) { + case 10: { + p++; +- goto s_n_llhttp__internal__n_error_48; ++ goto s_n_llhttp__internal__n_error_49; + } + case 13: { + p++; +- goto s_n_llhttp__internal__n_error_48; ++ goto s_n_llhttp__internal__n_error_49; + } + case ' ': { + p++; +- goto s_n_llhttp__internal__n_error_48; ++ goto s_n_llhttp__internal__n_error_49; + } + case '/': { + p++; + goto s_n_llhttp__internal__n_url_schema_delim_1; + } + default: { +- goto s_n_llhttp__internal__n_error_49; ++ goto s_n_llhttp__internal__n_error_50; + } + } + /* UNREACHABLE */; +@@ -11524,7 +11543,7 @@ static llparse_state_t llhttp__internal__run( + switch (lookup_table[(uint8_t) *p]) { + case 1: { + p++; +- goto s_n_llhttp__internal__n_error_48; ++ goto s_n_llhttp__internal__n_error_49; + } + case 2: { + goto s_n_llhttp__internal__n_span_end_stub_schema; +@@ -11534,7 +11553,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_url_schema; + } + default: { +- goto s_n_llhttp__internal__n_error_50; ++ goto s_n_llhttp__internal__n_error_51; + } + } + /* UNREACHABLE */; +@@ -11566,7 +11585,7 @@ static llparse_state_t llhttp__internal__run( + switch (lookup_table[(uint8_t) *p]) { + case 1: { + p++; +- goto s_n_llhttp__internal__n_error_48; ++ goto s_n_llhttp__internal__n_error_49; + } + case 2: { + goto s_n_llhttp__internal__n_span_start_stub_path_2; +@@ -11575,7 +11594,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_url_schema; + } + default: { +- goto s_n_llhttp__internal__n_error_51; ++ goto s_n_llhttp__internal__n_error_52; + } + } + /* UNREACHABLE */; +@@ -11631,7 +11650,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_req_spaces_before_url; + } + default: { +- goto s_n_llhttp__internal__n_error_52; ++ goto s_n_llhttp__internal__n_error_53; + } + } + /* UNREACHABLE */; +@@ -11649,7 +11668,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_invoke_store_method_1; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -11674,7 +11693,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_3; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -11695,7 +11714,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_3; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -11720,7 +11739,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_4; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -11745,7 +11764,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_6; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -11770,7 +11789,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_8; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -11788,7 +11807,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_invoke_store_method_1; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -11809,7 +11828,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_9; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -11830,7 +11849,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_7; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -11855,7 +11874,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_12; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -11880,7 +11899,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_13; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -11901,7 +11920,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_13; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -11918,7 +11937,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_11; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -11943,7 +11962,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_14; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -11968,7 +11987,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_17; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12010,7 +12029,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_15; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12035,7 +12054,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_18; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12060,7 +12079,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_20; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12085,7 +12104,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_21; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12106,7 +12125,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_21; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12131,7 +12150,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_23; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12156,7 +12175,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_24; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12181,7 +12200,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_26; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12206,7 +12225,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_28; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12224,7 +12243,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_invoke_store_method_1; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12245,7 +12264,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_29; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12266,7 +12285,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_27; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12291,7 +12310,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_30; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12320,7 +12339,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_30; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12345,7 +12364,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_31; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12370,7 +12389,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_32; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12395,7 +12414,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_35; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12420,7 +12439,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_36; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12441,7 +12460,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_36; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12466,7 +12485,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_37; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12491,7 +12510,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_38; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12516,7 +12535,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_42; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12541,7 +12560,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_43; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12562,7 +12581,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_43; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12579,7 +12598,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_41; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12601,7 +12620,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_40; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12626,7 +12645,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_45; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12648,7 +12667,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_invoke_store_method_1; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12681,7 +12700,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_44; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12706,7 +12725,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_48; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12731,7 +12750,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_49; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12756,7 +12775,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_50; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12781,7 +12800,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_51; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12810,7 +12829,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_51; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12827,7 +12846,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_47; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12852,7 +12871,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_54; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12870,7 +12889,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_invoke_store_method_1; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12895,7 +12914,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_57; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12916,7 +12935,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_57; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12937,7 +12956,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_55; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12962,7 +12981,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_58; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -12987,7 +13006,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_59; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -13012,7 +13031,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_59; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -13037,7 +13056,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_61; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -13062,7 +13081,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_62; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -13083,7 +13102,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_62; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -13108,7 +13127,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_65; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -13133,7 +13152,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_67; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -13158,7 +13177,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_68; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -13179,7 +13198,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_68; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -13204,7 +13223,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_req_69; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -13229,7 +13248,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_69; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -13246,7 +13265,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_64; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -13323,7 +13342,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_start_req_63; + } + default: { +- goto s_n_llhttp__internal__n_error_64; ++ goto s_n_llhttp__internal__n_error_65; + } + } + /* UNREACHABLE */; +@@ -13417,7 +13436,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_res_status_start; + } + default: { +- goto s_n_llhttp__internal__n_error_56; ++ goto s_n_llhttp__internal__n_error_57; + } + } + /* UNREACHABLE */; +@@ -13497,7 +13516,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_invoke_update_status_code; + } + default: { +- goto s_n_llhttp__internal__n_error_57; ++ goto s_n_llhttp__internal__n_error_58; + } + } + /* UNREACHABLE */; +@@ -13560,7 +13579,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_invoke_store_http_minor_1; + } + default: { +- goto s_n_llhttp__internal__n_error_60; ++ goto s_n_llhttp__internal__n_error_61; + } + } + /* UNREACHABLE */; +@@ -13577,7 +13596,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_res_http_minor; + } + default: { +- goto s_n_llhttp__internal__n_error_61; ++ goto s_n_llhttp__internal__n_error_62; + } + } + /* UNREACHABLE */; +@@ -13640,7 +13659,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_invoke_store_http_major_1; + } + default: { +- goto s_n_llhttp__internal__n_error_62; ++ goto s_n_llhttp__internal__n_error_63; + } + } + /* UNREACHABLE */; +@@ -13664,7 +13683,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_start_res; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_65; ++ goto s_n_llhttp__internal__n_error_66; + } + } + /* UNREACHABLE */; +@@ -13689,7 +13708,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_req_or_res_method_2; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_63; ++ goto s_n_llhttp__internal__n_error_64; + } + } + /* UNREACHABLE */; +@@ -13713,7 +13732,7 @@ static llparse_state_t llhttp__internal__run( + return s_n_llhttp__internal__n_req_or_res_method_3; + } + case kMatchMismatch: { +- goto s_n_llhttp__internal__n_error_63; ++ goto s_n_llhttp__internal__n_error_64; + } + } + /* UNREACHABLE */; +@@ -13734,7 +13753,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_req_or_res_method_3; + } + default: { +- goto s_n_llhttp__internal__n_error_63; ++ goto s_n_llhttp__internal__n_error_64; + } + } + /* UNREACHABLE */; +@@ -13751,7 +13770,7 @@ static llparse_state_t llhttp__internal__run( + goto s_n_llhttp__internal__n_req_or_res_method_1; + } + default: { +- goto s_n_llhttp__internal__n_error_63; ++ goto s_n_llhttp__internal__n_error_64; + } + } + /* UNREACHABLE */; +@@ -13811,7 +13830,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */ + abort(); + } +- s_n_llhttp__internal__n_error_48: { ++ s_n_llhttp__internal__n_error_49: { + state->error = 0x7; + state->reason = "Invalid characters in url"; + state->error_pos = (const char*) p; +@@ -14437,6 +14456,25 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } ++ s_n_llhttp__internal__n_error_19: { ++ state->error = 0xa; ++ state->reason = "Unexpected whitespace after header value"; ++ state->error_pos = (const char*) p; ++ state->_current = (void*) (intptr_t) s_error; ++ return s_error; ++ /* UNREACHABLE */; ++ abort(); ++ } ++ s_n_llhttp__internal__n_invoke_test_lenient_flags_6: { ++ switch (llhttp__internal__c_test_lenient_flags_2(state, p, endp)) { ++ case 1: ++ goto s_n_llhttp__internal__n_invoke_load_header_state_3; ++ default: ++ goto s_n_llhttp__internal__n_error_19; ++ } ++ /* UNREACHABLE */; ++ abort(); ++ } + s_n_llhttp__internal__n_invoke_update_header_state_2: { + switch (llhttp__internal__c_update_header_state(state, p, endp)) { + default: +@@ -14493,7 +14531,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_19: { ++ s_n_llhttp__internal__n_error_20: { + state->error = 0x3; + state->reason = "Missing expected LF after header value"; + state->error_pos = (const char*) p; +@@ -14565,14 +14603,14 @@ static llparse_state_t llhttp__internal__run( + if (err != 0) { + state->error = err; + state->error_pos = (const char*) p; +- state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_20; ++ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_21; + return s_error; + } +- goto s_n_llhttp__internal__n_error_20; ++ goto s_n_llhttp__internal__n_error_21; + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_invoke_test_lenient_flags_6: { ++ s_n_llhttp__internal__n_invoke_test_lenient_flags_7: { + switch (llhttp__internal__c_test_lenient_flags_2(state, p, endp)) { + case 1: + goto s_n_llhttp__internal__n_header_value_lenient; +@@ -14680,10 +14718,10 @@ static llparse_state_t llhttp__internal__run( + if (err != 0) { + state->error = err; + state->error_pos = (const char*) p; +- state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_22; ++ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_23; + return s_error; + } +- goto s_n_llhttp__internal__n_error_22; ++ goto s_n_llhttp__internal__n_error_23; + /* UNREACHABLE */; + abort(); + } +@@ -14715,14 +14753,14 @@ static llparse_state_t llhttp__internal__run( + if (err != 0) { + state->error = err; + state->error_pos = (const char*) p; +- state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_23; ++ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_24; + return s_error; + } +- goto s_n_llhttp__internal__n_error_23; ++ goto s_n_llhttp__internal__n_error_24; + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_21: { ++ s_n_llhttp__internal__n_error_22: { + state->error = 0x4; + state->reason = "Duplicate Content-Length"; + state->error_pos = (const char*) p; +@@ -14736,7 +14774,7 @@ static llparse_state_t llhttp__internal__run( + case 0: + goto s_n_llhttp__internal__n_header_value_content_length; + default: +- goto s_n_llhttp__internal__n_error_21; ++ goto s_n_llhttp__internal__n_error_22; + } + /* UNREACHABLE */; + abort(); +@@ -14751,11 +14789,11 @@ static llparse_state_t llhttp__internal__run( + if (err != 0) { + state->error = err; + state->error_pos = (const char*) (p + 1); +- state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_25; ++ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_26; + return s_error; + } + p++; +- goto s_n_llhttp__internal__n_error_25; ++ goto s_n_llhttp__internal__n_error_26; + /* UNREACHABLE */; + abort(); + } +@@ -14777,16 +14815,16 @@ static llparse_state_t llhttp__internal__run( + if (err != 0) { + state->error = err; + state->error_pos = (const char*) (p + 1); +- state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_24; ++ state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_25; + return s_error; + } + p++; +- goto s_n_llhttp__internal__n_error_24; ++ goto s_n_llhttp__internal__n_error_25; + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_invoke_test_lenient_flags_7: { +- switch (llhttp__internal__c_test_lenient_flags_7(state, p, endp)) { ++ s_n_llhttp__internal__n_invoke_test_lenient_flags_8: { ++ switch (llhttp__internal__c_test_lenient_flags_8(state, p, endp)) { + case 0: + goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_7; + default: +@@ -14798,7 +14836,7 @@ static llparse_state_t llhttp__internal__run( + s_n_llhttp__internal__n_invoke_load_type_1: { + switch (llhttp__internal__c_load_type(state, p, endp)) { + case 1: +- goto s_n_llhttp__internal__n_invoke_test_lenient_flags_7; ++ goto s_n_llhttp__internal__n_invoke_test_lenient_flags_8; + default: + goto s_n_llhttp__internal__n_header_value_te_chunked; + } +@@ -14829,8 +14867,8 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_invoke_test_lenient_flags_8: { +- switch (llhttp__internal__c_test_lenient_flags_7(state, p, endp)) { ++ s_n_llhttp__internal__n_invoke_test_lenient_flags_9: { ++ switch (llhttp__internal__c_test_lenient_flags_8(state, p, endp)) { + case 0: + goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_8; + default: +@@ -14842,7 +14880,7 @@ static llparse_state_t llhttp__internal__run( + s_n_llhttp__internal__n_invoke_load_type_2: { + switch (llhttp__internal__c_load_type(state, p, endp)) { + case 1: +- goto s_n_llhttp__internal__n_invoke_test_lenient_flags_8; ++ goto s_n_llhttp__internal__n_invoke_test_lenient_flags_9; + default: + goto s_n_llhttp__internal__n_invoke_or_flags_17; + } +@@ -14927,7 +14965,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_26: { ++ s_n_llhttp__internal__n_error_27: { + state->error = 0xa; + state->reason = "Invalid header token"; + state->error_pos = (const char*) p; +@@ -15001,7 +15039,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_27: { ++ s_n_llhttp__internal__n_error_28: { + state->error = 0x7; + state->reason = "Expected CRLF"; + state->error_pos = (const char*) p; +@@ -15027,7 +15065,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_32: { ++ s_n_llhttp__internal__n_error_33: { + state->error = 0x17; + state->reason = "Pause on PRI/Upgrade"; + state->error_pos = (const char*) p; +@@ -15036,7 +15074,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_33: { ++ s_n_llhttp__internal__n_error_34: { + state->error = 0x9; + state->reason = "Expected HTTP/2 Connection Preface"; + state->error_pos = (const char*) p; +@@ -15045,7 +15083,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_31: { ++ s_n_llhttp__internal__n_error_32: { + state->error = 0x9; + state->reason = "Expected CRLF after version"; + state->error_pos = (const char*) p; +@@ -15064,7 +15102,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_30: { ++ s_n_llhttp__internal__n_error_31: { + state->error = 0x9; + state->reason = "Invalid HTTP version"; + state->error_pos = (const char*) p; +@@ -15078,12 +15116,12 @@ static llparse_state_t llhttp__internal__run( + case 9: + goto s_n_llhttp__internal__n_invoke_load_method_1; + default: +- goto s_n_llhttp__internal__n_error_30; ++ goto s_n_llhttp__internal__n_error_31; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_34: { ++ s_n_llhttp__internal__n_error_35: { + state->error = 0x9; + state->reason = "Invalid HTTP version"; + state->error_pos = (const char*) p; +@@ -15099,12 +15137,12 @@ static llparse_state_t llhttp__internal__run( + case 1: + goto s_n_llhttp__internal__n_invoke_load_method_1; + default: +- goto s_n_llhttp__internal__n_error_34; ++ goto s_n_llhttp__internal__n_error_35; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_35: { ++ s_n_llhttp__internal__n_error_36: { + state->error = 0x9; + state->reason = "Invalid HTTP version"; + state->error_pos = (const char*) p; +@@ -15118,12 +15156,12 @@ static llparse_state_t llhttp__internal__run( + case 0: + goto s_n_llhttp__internal__n_invoke_load_method_1; + default: +- goto s_n_llhttp__internal__n_error_35; ++ goto s_n_llhttp__internal__n_error_36; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_29: { ++ s_n_llhttp__internal__n_error_30: { + state->error = 0x9; + state->reason = "Invalid HTTP version"; + state->error_pos = (const char*) p; +@@ -15141,13 +15179,13 @@ static llparse_state_t llhttp__internal__run( + case 2: + goto s_n_llhttp__internal__n_invoke_load_http_minor_2; + default: +- goto s_n_llhttp__internal__n_error_29; ++ goto s_n_llhttp__internal__n_error_30; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_invoke_test_lenient_flags_9: { +- switch (llhttp__internal__c_test_lenient_flags_9(state, p, endp)) { ++ s_n_llhttp__internal__n_invoke_test_lenient_flags_10: { ++ switch (llhttp__internal__c_test_lenient_flags_10(state, p, endp)) { + case 1: + goto s_n_llhttp__internal__n_invoke_load_method_1; + default: +@@ -15159,12 +15197,12 @@ static llparse_state_t llhttp__internal__run( + s_n_llhttp__internal__n_invoke_store_http_minor: { + switch (llhttp__internal__c_store_http_minor(state, p, endp, match)) { + default: +- goto s_n_llhttp__internal__n_invoke_test_lenient_flags_9; ++ goto s_n_llhttp__internal__n_invoke_test_lenient_flags_10; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_36: { ++ s_n_llhttp__internal__n_error_37: { + state->error = 0x9; + state->reason = "Invalid minor version"; + state->error_pos = (const char*) p; +@@ -15173,7 +15211,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_37: { ++ s_n_llhttp__internal__n_error_38: { + state->error = 0x9; + state->reason = "Expected dot"; + state->error_pos = (const char*) p; +@@ -15190,7 +15228,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_38: { ++ s_n_llhttp__internal__n_error_39: { + state->error = 0x9; + state->reason = "Invalid major version"; + state->error_pos = (const char*) p; +@@ -15199,7 +15237,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_28: { ++ s_n_llhttp__internal__n_error_29: { + state->error = 0x8; + state->reason = "Invalid method for HTTP/x.x request"; + state->error_pos = (const char*) p; +@@ -15281,12 +15319,12 @@ static llparse_state_t llhttp__internal__run( + case 34: + goto s_n_llhttp__internal__n_req_http_major; + default: +- goto s_n_llhttp__internal__n_error_28; ++ goto s_n_llhttp__internal__n_error_29; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_41: { ++ s_n_llhttp__internal__n_error_42: { + state->error = 0x8; + state->reason = "Expected HTTP/"; + state->error_pos = (const char*) p; +@@ -15295,7 +15333,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_39: { ++ s_n_llhttp__internal__n_error_40: { + state->error = 0x8; + state->reason = "Expected SOURCE method for ICE/x.x request"; + state->error_pos = (const char*) p; +@@ -15309,12 +15347,12 @@ static llparse_state_t llhttp__internal__run( + case 33: + goto s_n_llhttp__internal__n_req_http_major; + default: +- goto s_n_llhttp__internal__n_error_39; ++ goto s_n_llhttp__internal__n_error_40; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_40: { ++ s_n_llhttp__internal__n_error_41: { + state->error = 0x8; + state->reason = "Invalid method for RTSP/x.x request"; + state->error_pos = (const char*) p; +@@ -15354,7 +15392,7 @@ static llparse_state_t llhttp__internal__run( + case 45: + goto s_n_llhttp__internal__n_req_http_major; + default: +- goto s_n_llhttp__internal__n_error_40; ++ goto s_n_llhttp__internal__n_error_41; + } + /* UNREACHABLE */; + abort(); +@@ -15435,7 +15473,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_42: { ++ s_n_llhttp__internal__n_error_43: { + state->error = 0x7; + state->reason = "Invalid char in url fragment start"; + state->error_pos = (const char*) p; +@@ -15495,7 +15533,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_43: { ++ s_n_llhttp__internal__n_error_44: { + state->error = 0x7; + state->reason = "Invalid char in url query"; + state->error_pos = (const char*) p; +@@ -15504,7 +15542,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_44: { ++ s_n_llhttp__internal__n_error_45: { + state->error = 0x7; + state->reason = "Invalid char in url path"; + state->error_pos = (const char*) p; +@@ -15615,7 +15653,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_45: { ++ s_n_llhttp__internal__n_error_46: { + state->error = 0x7; + state->reason = "Double @ in url"; + state->error_pos = (const char*) p; +@@ -15624,7 +15662,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_46: { ++ s_n_llhttp__internal__n_error_47: { + state->error = 0x7; + state->reason = "Unexpected char in url server"; + state->error_pos = (const char*) p; +@@ -15633,7 +15671,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_47: { ++ s_n_llhttp__internal__n_error_48: { + state->error = 0x7; + state->reason = "Unexpected char in url server"; + state->error_pos = (const char*) p; +@@ -15642,7 +15680,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_49: { ++ s_n_llhttp__internal__n_error_50: { + state->error = 0x7; + state->reason = "Unexpected char in url schema"; + state->error_pos = (const char*) p; +@@ -15651,7 +15689,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_50: { ++ s_n_llhttp__internal__n_error_51: { + state->error = 0x7; + state->reason = "Unexpected char in url schema"; + state->error_pos = (const char*) p; +@@ -15660,7 +15698,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_51: { ++ s_n_llhttp__internal__n_error_52: { + state->error = 0x7; + state->reason = "Unexpected start char in url"; + state->error_pos = (const char*) p; +@@ -15679,7 +15717,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_52: { ++ s_n_llhttp__internal__n_error_53: { + state->error = 0x6; + state->reason = "Expected space after method"; + state->error_pos = (const char*) p; +@@ -15696,7 +15734,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_64: { ++ s_n_llhttp__internal__n_error_65: { + state->error = 0x6; + state->reason = "Invalid method encountered"; + state->error_pos = (const char*) p; +@@ -15705,7 +15743,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_55: { ++ s_n_llhttp__internal__n_error_56: { + state->error = 0xd; + state->reason = "Response overflow"; + state->error_pos = (const char*) p; +@@ -15717,7 +15755,7 @@ static llparse_state_t llhttp__internal__run( + s_n_llhttp__internal__n_invoke_mul_add_status_code: { + switch (llhttp__internal__c_mul_add_status_code(state, p, endp, match)) { + case 1: +- goto s_n_llhttp__internal__n_error_55; ++ goto s_n_llhttp__internal__n_error_56; + default: + goto s_n_llhttp__internal__n_res_status_code; + } +@@ -15760,7 +15798,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_56: { ++ s_n_llhttp__internal__n_error_57: { + state->error = 0xd; + state->reason = "Invalid response status"; + state->error_pos = (const char*) p; +@@ -15777,7 +15815,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_57: { ++ s_n_llhttp__internal__n_error_58: { + state->error = 0x9; + state->reason = "Expected space after version"; + state->error_pos = (const char*) p; +@@ -15786,7 +15824,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_54: { ++ s_n_llhttp__internal__n_error_55: { + state->error = 0x9; + state->reason = "Invalid HTTP version"; + state->error_pos = (const char*) p; +@@ -15800,12 +15838,12 @@ static llparse_state_t llhttp__internal__run( + case 9: + goto s_n_llhttp__internal__n_res_http_end; + default: +- goto s_n_llhttp__internal__n_error_54; ++ goto s_n_llhttp__internal__n_error_55; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_58: { ++ s_n_llhttp__internal__n_error_59: { + state->error = 0x9; + state->reason = "Invalid HTTP version"; + state->error_pos = (const char*) p; +@@ -15821,12 +15859,12 @@ static llparse_state_t llhttp__internal__run( + case 1: + goto s_n_llhttp__internal__n_res_http_end; + default: +- goto s_n_llhttp__internal__n_error_58; ++ goto s_n_llhttp__internal__n_error_59; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_59: { ++ s_n_llhttp__internal__n_error_60: { + state->error = 0x9; + state->reason = "Invalid HTTP version"; + state->error_pos = (const char*) p; +@@ -15840,12 +15878,12 @@ static llparse_state_t llhttp__internal__run( + case 0: + goto s_n_llhttp__internal__n_res_http_end; + default: +- goto s_n_llhttp__internal__n_error_59; ++ goto s_n_llhttp__internal__n_error_60; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_53: { ++ s_n_llhttp__internal__n_error_54: { + state->error = 0x9; + state->reason = "Invalid HTTP version"; + state->error_pos = (const char*) p; +@@ -15863,13 +15901,13 @@ static llparse_state_t llhttp__internal__run( + case 2: + goto s_n_llhttp__internal__n_invoke_load_http_minor_5; + default: +- goto s_n_llhttp__internal__n_error_53; ++ goto s_n_llhttp__internal__n_error_54; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_invoke_test_lenient_flags_10: { +- switch (llhttp__internal__c_test_lenient_flags_9(state, p, endp)) { ++ s_n_llhttp__internal__n_invoke_test_lenient_flags_11: { ++ switch (llhttp__internal__c_test_lenient_flags_10(state, p, endp)) { + case 1: + goto s_n_llhttp__internal__n_res_http_end; + default: +@@ -15881,12 +15919,12 @@ static llparse_state_t llhttp__internal__run( + s_n_llhttp__internal__n_invoke_store_http_minor_1: { + switch (llhttp__internal__c_store_http_minor(state, p, endp, match)) { + default: +- goto s_n_llhttp__internal__n_invoke_test_lenient_flags_10; ++ goto s_n_llhttp__internal__n_invoke_test_lenient_flags_11; + } + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_60: { ++ s_n_llhttp__internal__n_error_61: { + state->error = 0x9; + state->reason = "Invalid minor version"; + state->error_pos = (const char*) p; +@@ -15895,7 +15933,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_61: { ++ s_n_llhttp__internal__n_error_62: { + state->error = 0x9; + state->reason = "Expected dot"; + state->error_pos = (const char*) p; +@@ -15912,7 +15950,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_62: { ++ s_n_llhttp__internal__n_error_63: { + state->error = 0x9; + state->reason = "Invalid major version"; + state->error_pos = (const char*) p; +@@ -15921,7 +15959,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_65: { ++ s_n_llhttp__internal__n_error_66: { + state->error = 0x8; + state->reason = "Expected HTTP/"; + state->error_pos = (const char*) p; +@@ -15946,7 +15984,7 @@ static llparse_state_t llhttp__internal__run( + /* UNREACHABLE */; + abort(); + } +- s_n_llhttp__internal__n_error_63: { ++ s_n_llhttp__internal__n_error_64: { + state->error = 0x8; + state->reason = "Invalid word encountered"; + state->error_pos = (const char*) p; +diff --git a/test/parallel/test-http-multi-line-headers.js b/test/parallel/test-http-multi-line-headers.js +index 99c48cd..2381c17 100644 +--- a/test/parallel/test-http-multi-line-headers.js ++++ b/test/parallel/test-http-multi-line-headers.js +@@ -46,7 +46,8 @@ const server = net.createServer(function(conn) { + server.listen(0, common.mustCall(function() { + http.get({ + host: '127.0.0.1', +- port: this.address().port ++ port: this.address().port, ++ insecureHTTPParser: true + }, common.mustCall(function(res) { + assert.strictEqual(res.headers['content-type'], + 'text/plain; x-unix-mode=0600; name="hello.txt"'); +diff --git a/test/parallel/test-http-transfer-encoding-smuggling.js b/test/parallel/test-http-transfer-encoding-smuggling.js +index 472b717..900c50e 100644 +--- a/test/parallel/test-http-transfer-encoding-smuggling.js ++++ b/test/parallel/test-http-transfer-encoding-smuggling.js +@@ -71,10 +71,7 @@ const net = require('net'); + '', + ].join('\r\n'); + +- const server = http.createServer(common.mustCall((request, response) => { +- assert.notStrictEqual(request.url, '/admin'); +- response.end('hello world'); +- }), 1); ++ const server = http.createServer(common.mustNotCall()); + + server.listen(0, common.mustSucceed(() => { + const client = net.connect(server.address().port, 'localhost'); +-- +2.44.0 + diff --git a/nodejs.spec b/nodejs.spec index 40844f2..c59562f 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -30,7 +30,7 @@ # This is used by both the nodejs package and the npm subpackage that # has a separate version - the name is special so that rpmdev-bumpspec # will bump this rather than adding .1 to the end. -%global baserelease 6 +%global baserelease 7 %{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}} @@ -735,6 +735,9 @@ end %changelog +* Wed Apr 24 2024 Jan Staněk - 1:16.20.2-7 +- Backport patch for CVE-2024-27982 + * Tue Apr 09 2024 Jan Staněk - 1:16.20.2-6 - Use system OpenSSL configuration section