GeezerVison is showing github.com — deps: update llhttp to 9.3.1 · nodejs/node@c4f298c
File treeExpand file treeCollapse file tree Open diff view settings Expand file treeCollapse file tree Open diff view settings Collapse file Copy file name to clipboard +1Lines changed: 1 addition & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
| | 1 | +libllhttp.pc |
Collapse file Copy file name to clipboardExpand all lines: deps/llhttp/CMakeLists.txt +8-10Lines changed: 8 additions & 10 deletions | Original file line number | Diff line number | Diff line change |
|---|
| 1 | 1 | cmake_minimum_required(VERSION 3.25.0) | 2 | 2 | cmake_policy(SET CMP0069 NEW) | 3 | 3 |
| 4 | | -project(llhttp VERSION 9.3.0) | | 4 | +project(llhttp VERSION 9.3.1) | 5 | 5 | include(GNUInstallDirs) | 6 | 6 |
| 7 | 7 | set(CMAKE_C_STANDARD 99) | @@ -24,8 +24,8 @@ endif() | 24 | 24 | # Options | 25 | 25 | # | 26 | 26 | # Generic option | 27 | | -option(BUILD_SHARED_LIBS "Build shared libraries (.dll/.so)" ON) | 28 | | -option(BUILD_STATIC_LIBS "Build static libraries (.lib/.a)" OFF) | | 27 | +option(LLHTTP_BUILD_SHARED_LIBS "Build shared libraries (.dll/.so)" ON) | | 28 | +option(LLHTTP_BUILD_STATIC_LIBS "Build static libraries (.lib/.a)" OFF) | 29 | 29 |
| 30 | 30 | # Source code | 31 | 31 | set(LLHTTP_SOURCES | @@ -80,21 +80,19 @@ function(config_library target) | 80 | 80 | ) | 81 | 81 | endfunction(config_library target) | 82 | 82 |
| 83 | | -if(BUILD_SHARED_LIBS) | | 83 | +if(LLHTTP_BUILD_SHARED_LIBS) | 84 | 84 | add_library(llhttp_shared SHARED | 85 | 85 | ${llhttp_src} | 86 | 86 | ) | 87 | 87 | add_library(llhttp::llhttp ALIAS llhttp_shared) | 88 | 88 | config_library(llhttp_shared) | 89 | 89 | endif() | 90 | 90 |
| 91 | | -if(BUILD_STATIC_LIBS) | | 91 | +if(LLHTTP_BUILD_STATIC_LIBS) | 92 | 92 | add_library(llhttp_static STATIC | 93 | 93 | ${llhttp_src} | 94 | 94 | ) | 95 | | - if(BUILD_SHARED_LIBS) | 96 | | - add_library(llhttp::llhttp ALIAS llhttp_shared) | 97 | | - else() | | 95 | + if(NOT LLHTTP_BUILD_SHARED_LIBS) | 98 | 96 | add_library(llhttp::llhttp ALIAS llhttp_static) | 99 | 97 | endif() | 100 | 98 | config_library(llhttp_static) | @@ -113,6 +111,6 @@ message(STATUS "Project configure summary:") | 113 | 111 | message(STATUS "") | 114 | 112 | message(STATUS " CMake build type .................: ${CMAKE_BUILD_TYPE}") | 115 | 113 | message(STATUS " Install prefix ...................: ${CMAKE_INSTALL_PREFIX}") | 116 | | -message(STATUS " Build shared library .............: ${BUILD_SHARED_LIBS}") | 117 | | -message(STATUS " Build static library .............: ${BUILD_STATIC_LIBS}") | | 114 | +message(STATUS " Build shared library .............: ${LLHTTP_BUILD_SHARED_LIBS}") | | 115 | +message(STATUS " Build static library .............: ${LLHTTP_BUILD_STATIC_LIBS}") | 118 | 116 | message(STATUS "") |
Collapse file Copy file name to clipboardExpand all lines: deps/llhttp/README.md +4-2Lines changed: 4 additions & 2 deletions - Display the source diff
- Display the rich diff
| Original file line number | Diff line number | Diff line change |
|---|
@@ -435,14 +435,16 @@ If you want to use this library in a CMake project as a static library, you can | 435 | 435 | FetchContent_Declare(llhttp | 436 | 436 | URL "https://github.com/nodejs/llhttp/archive/refs/tags/release/v8.1.0.tar.gz") | 437 | 437 |
| 438 | | -set(BUILD_SHARED_LIBS OFF CACHE INTERNAL "") | 439 | | -set(BUILD_STATIC_LIBS ON CACHE INTERNAL "") | | 438 | +set(LLHTTP_BUILD_SHARED_LIBS OFF CACHE INTERNAL "") | | 439 | +set(LLHTTP_BUILD_STATIC_LIBS ON CACHE INTERNAL "") | 440 | 440 | FetchContent_MakeAvailable(llhttp) | 441 | 441 |
| 442 | 442 | # Link with the llhttp_static target | 443 | 443 | target_link_libraries(${EXAMPLE_PROJECT_NAME} ${PROJECT_LIBRARIES} llhttp_static ${PROJECT_NAME}) | 444 | 444 | ``` | 445 | 445 |
| | 446 | +If using a version prior to 9.3.0, the `LLHTTP_BUILD_SHARED_LIBS` and `LLHTTP_BUILD_STATIC_LIBS` options are known as `BUILD_SHARED_LIBS` and `BUILD_STATIC_LIBS` and should be used instead. | | 447 | + | 446 | 448 | _Note that using the git repo directly (e.g., via a git repo url and tag) will not work with FetchContent_Declare because [CMakeLists.txt](./CMakeLists.txt) requires string replacements (e.g., `_RELEASE_`) before it will build._ | 447 | 449 |
| 448 | 450 | ## Building on Windows | |
Collapse file Copy file name to clipboardExpand all lines: deps/llhttp/include/llhttp.h +11-11Lines changed: 11 additions & 11 deletions | Original file line number | Diff line number | Diff line change |
|---|
| 4 | 4 |
| 5 | 5 | #define LLHTTP_VERSION_MAJOR 9 | 6 | 6 | #define LLHTTP_VERSION_MINOR 3 | 7 | | -#define LLHTTP_VERSION_PATCH 0 | | 7 | +#define LLHTTP_VERSION_PATCH 1 | 8 | 8 |
| 9 | 9 | #ifndef INCLUDE_LLHTTP_ITSELF_H_ | 10 | 10 | #define INCLUDE_LLHTTP_ITSELF_H_ | @@ -58,10 +58,8 @@ enum llhttp_errno { | 58 | 58 | HPE_OK = 0, | 59 | 59 | HPE_INTERNAL = 1, | 60 | 60 | HPE_STRICT = 2, | 61 | | - HPE_CR_EXPECTED = 25, | 62 | 61 | HPE_LF_EXPECTED = 3, | 63 | 62 | HPE_UNEXPECTED_CONTENT_LENGTH = 4, | 64 | | - HPE_UNEXPECTED_SPACE = 30, | 65 | 63 | HPE_CLOSED_CONNECTION = 5, | 66 | 64 | HPE_INVALID_METHOD = 6, | 67 | 65 | HPE_INVALID_URL = 7, | @@ -82,15 +80,17 @@ enum llhttp_errno { | 82 | 80 | HPE_PAUSED_UPGRADE = 22, | 83 | 81 | HPE_PAUSED_H2_UPGRADE = 23, | 84 | 82 | HPE_USER = 24, | | 83 | + HPE_CR_EXPECTED = 25, | 85 | 84 | HPE_CB_URL_COMPLETE = 26, | 86 | 85 | HPE_CB_STATUS_COMPLETE = 27, | 87 | | - HPE_CB_METHOD_COMPLETE = 32, | 88 | | - HPE_CB_VERSION_COMPLETE = 33, | 89 | 86 | HPE_CB_HEADER_FIELD_COMPLETE = 28, | 90 | 87 | HPE_CB_HEADER_VALUE_COMPLETE = 29, | | 88 | + HPE_UNEXPECTED_SPACE = 30, | | 89 | + HPE_CB_RESET = 31, | | 90 | + HPE_CB_METHOD_COMPLETE = 32, | | 91 | + HPE_CB_VERSION_COMPLETE = 33, | 91 | 92 | HPE_CB_CHUNK_EXTENSION_NAME_COMPLETE = 34, | 92 | 93 | HPE_CB_CHUNK_EXTENSION_VALUE_COMPLETE = 35, | 93 | | - HPE_CB_RESET = 31, | 94 | 94 | HPE_CB_PROTOCOL_COMPLETE = 38 | 95 | 95 | }; | 96 | 96 | typedef enum llhttp_errno llhttp_errno_t; | @@ -294,10 +294,8 @@ typedef enum llhttp_status llhttp_status_t; | 294 | 294 | XX(0, OK, OK) \ | 295 | 295 | XX(1, INTERNAL, INTERNAL) \ | 296 | 296 | XX(2, STRICT, STRICT) \ | 297 | | - XX(25, CR_EXPECTED, CR_EXPECTED) \ | 298 | 297 | XX(3, LF_EXPECTED, LF_EXPECTED) \ | 299 | 298 | XX(4, UNEXPECTED_CONTENT_LENGTH, UNEXPECTED_CONTENT_LENGTH) \ | 300 | | - XX(30, UNEXPECTED_SPACE, UNEXPECTED_SPACE) \ | 301 | 299 | XX(5, CLOSED_CONNECTION, CLOSED_CONNECTION) \ | 302 | 300 | XX(6, INVALID_METHOD, INVALID_METHOD) \ | 303 | 301 | XX(7, INVALID_URL, INVALID_URL) \ | @@ -318,15 +316,17 @@ typedef enum llhttp_status llhttp_status_t; | 318 | 316 | XX(22, PAUSED_UPGRADE, PAUSED_UPGRADE) \ | 319 | 317 | XX(23, PAUSED_H2_UPGRADE, PAUSED_H2_UPGRADE) \ | 320 | 318 | XX(24, USER, USER) \ | | 319 | + XX(25, CR_EXPECTED, CR_EXPECTED) \ | 321 | 320 | XX(26, CB_URL_COMPLETE, CB_URL_COMPLETE) \ | 322 | 321 | XX(27, CB_STATUS_COMPLETE, CB_STATUS_COMPLETE) \ | 323 | | - XX(32, CB_METHOD_COMPLETE, CB_METHOD_COMPLETE) \ | 324 | | - XX(33, CB_VERSION_COMPLETE, CB_VERSION_COMPLETE) \ | 325 | 322 | XX(28, CB_HEADER_FIELD_COMPLETE, CB_HEADER_FIELD_COMPLETE) \ | 326 | 323 | XX(29, CB_HEADER_VALUE_COMPLETE, CB_HEADER_VALUE_COMPLETE) \ | | 324 | + XX(30, UNEXPECTED_SPACE, UNEXPECTED_SPACE) \ | | 325 | + XX(31, CB_RESET, CB_RESET) \ | | 326 | + XX(32, CB_METHOD_COMPLETE, CB_METHOD_COMPLETE) \ | | 327 | + XX(33, CB_VERSION_COMPLETE, CB_VERSION_COMPLETE) \ | 327 | 328 | XX(34, CB_CHUNK_EXTENSION_NAME_COMPLETE, CB_CHUNK_EXTENSION_NAME_COMPLETE) \ | 328 | 329 | XX(35, CB_CHUNK_EXTENSION_VALUE_COMPLETE, CB_CHUNK_EXTENSION_VALUE_COMPLETE) \ | 329 | | - XX(31, CB_RESET, CB_RESET) \ | 330 | 330 | XX(38, CB_PROTOCOL_COMPLETE, CB_PROTOCOL_COMPLETE) \ | 331 | 331 |
| 332 | 332 |
| |
Collapse file Copy file name to clipboardExpand all lines: deps/llhttp/src/llhttp.c +13-9Lines changed: 13 additions & 9 deletions | Original file line number | Diff line number | Diff line change |
|---|
| 10 | 10 | #endif /* _MSC_VER */ | 11 | 11 | #endif /* __SSE4_2__ */ | 12 | 12 |
| 13 | | -#ifdef __ARM_NEON__ | | 13 | +#if defined(__ARM_NEON__) || defined(__ARM_NEON) | 14 | 14 | #include <arm_neon.h> | 15 | 15 | #endif /* __ARM_NEON__ */ | 16 | 16 |
| @@ -1542,7 +1542,7 @@ static llparse_state_t llhttp__internal__run( | 1542 | 1542 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | 1543 | 1543 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, | 1544 | 1544 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | 1545 | | - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | | 1545 | + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, | 1546 | 1546 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | 1547 | 1547 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | 1548 | 1548 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | @@ -2625,7 +2625,7 @@ static llparse_state_t llhttp__internal__run( | 2625 | 2625 | goto s_n_llhttp__internal__n_header_value_otherwise; | 2626 | 2626 | } | 2627 | 2627 | #endif /* __SSE4_2__ */ | 2628 | | - #ifdef __ARM_NEON__ | | 2628 | + #if defined(__ARM_NEON__) || defined(__ARM_NEON) | 2629 | 2629 | while (endp - p >= 16) { | 2630 | 2630 | uint8x16_t input; | 2631 | 2631 | uint8x16_t single; | @@ -2639,19 +2639,23 @@ static llparse_state_t llhttp__internal__run( | 2639 | 2639 | /* Find first character that does not match `ranges` */ | 2640 | 2640 | single = vceqq_u8(input, vdupq_n_u8(0x9)); | 2641 | 2641 | mask = single; | 2642 | | - single = vandq_u16( | | 2642 | + single = vandq_u8( | 2643 | 2643 | vcgeq_u8(input, vdupq_n_u8(' ')), | 2644 | 2644 | vcleq_u8(input, vdupq_n_u8('~')) | 2645 | 2645 | ); | 2646 | | - mask = vorrq_u16(mask, single); | 2647 | | - single = vandq_u16( | | 2646 | + mask = vorrq_u8(mask, single); | | 2647 | + single = vandq_u8( | 2648 | 2648 | vcgeq_u8(input, vdupq_n_u8(0x80)), | 2649 | 2649 | vcleq_u8(input, vdupq_n_u8(0xff)) | 2650 | 2650 | ); | 2651 | | - mask = vorrq_u16(mask, single); | 2652 | | - narrow = vshrn_n_u16(mask, 4); | | 2651 | + mask = vorrq_u8(mask, single); | | 2652 | + narrow = vshrn_n_u16(vreinterpretq_u16_u8(mask), 4); | 2653 | 2653 | match_mask = ~vget_lane_u64(vreinterpret_u64_u8(narrow), 0); | 2654 | | - match_len = __builtin_ctzll(match_mask) >> 2; | | 2654 | + if (match_mask == 0) { | | 2655 | + match_len = 16; | | 2656 | + } else { | | 2657 | + match_len = __builtin_ctzll(match_mask) >> 2; | | 2658 | + } | 2655 | 2659 | if (match_len != 16) { | 2656 | 2660 | p += match_len; | 2657 | 2661 | goto s_n_llhttp__internal__n_header_value_otherwise; | |
|