MMasakazu KitajoReject header fields exceeding the uint16 field-length limit
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
HTTPHdr: fix use-after-free in destroy() leaving dangling m_http Co-authored-by: Serris Santos <lserris@apache.org> | 1 个月前 | |
Fix uninitialized members and variables flagged by Coverity. (#13000) Use explicit brace initialization for pointer, scalar, and zlib state members so construction starts from a defined state. Initialize local Feature values in txn_box to NIL_FEATURE. Remove unused tls_server_connection member from SSLConfigParams. CIDs: 1295339, 1521595, 1521596, 1533662, 1534699, 1534717, 1534727, 1534732, 1534738, 1587251, 1644248. | 5 个月前 | |
Cleanup: Use enum class (#12249) This pull request converts non-class enums to enum classes. There are still many non-class enums not addressed in this pull request. However, since the changes have grown quite large, I'm submitting it at this point. | 1 年前 | |
clang-format v18 + modified configs (#11285) | 2 年前 | |
Move mgmt, iocore, proxy to src/ and include/ (#10638) This replaces PR #10558 Some highlights: * The P_ files are left in src/ * The I_ prefixes in public header files are removed Note: the include path cleanup would be left for another PR. | 2 年前 | |
Unified include paths (#10671) This PR does the following: * Updates the common include path used by all modules. * The #include lines in code are updated to the relative path to the updated include paths or to where the including files are. * Most include_directories are cleaned up in cmake files. The common include path are the following: # Common includes for everyone include_directories(${CMAKE_SOURCE_DIR}/include ${CMAKE_BINARY_DIR}/include) Also, since we are here,moved the private header (P_xxx) and test headers from include/records back to the src/records. | 2 年前 | |
Use ls-hpack's fast Huffman decoder for HPACK/QPACK strings (#13259) When the home-grown Huffman codec was replaced with vendored LiteSpeed ls-hpack code (#12357), only the conservative 4-bit FSM decoder (lshpack_dec_huff_decode_full) was ported — although huff-tables.h has carried the 64K-entry table for upstream's fast decoder all along. This PR ports the fast decoder (lshpack_dec_huff_decode, from ls-hpack v2.3.5) and switches huffman_decode() to it. The fast decoder consumes 16 bits of input per table lookup and emits up to 3 bytes, falling back to the FSM decoder for the rare codes longer than 16 bits. HPACK and QPACK share the wrapper through xpack_decode_string(), so both HTTP/2 and HTTP/3 header decoding benefit. No new memory footprint: the hdecs table has been compiled into the binary since the original vendoring. | 2 个月前 | |
Reject header fields exceeding the uint16 field-length limit A header field name and value are each stored with a 16-bit length, so neither can exceed UINT16_MAX (65535) bytes. Enforce that bound consistently rather than accepting longer input: the MIME field setters reject an over-limit name or value, HTTP/1.1 returns a 400, HPACK returns COMPRESSION_ERROR, and the TS field APIs return TS_ERROR. proxy.config.http.header_field_max_size is validated to [0-65535] and clamped to UINT16_MAX. Adds unit and H1/H2 gold-test coverage. | 1 个月前 | |
Warn if existing remap shadows inserted remap (#12526) * Warn if existing remap shadows inserted remap * Includee bwformat for URL | 10 个月前 | |
Cleanup: Use enum class (#12249) This pull request converts non-class enums to enum classes. There are still many non-class enums not addressed in this pull request. However, since the changes have grown quite large, I'm submitting it at this point. | 1 年前 | |
Enforce per-field size limit in HPACK/QPACK string decoding * Enforce per-field size limit in HPACK/QPACK string decoding The existing proxy.config.http.header_field_max_size setting limits individual header field sizes in the HTTP/1.1 parser, but the HPACK and QPACK decode paths had no equivalent check. This adds a max_string_len parameter to xpack_decode_string and passes the configured limit down through the HTTP/2 and HTTP/3 decode chains. * Address copilot comments * address copilot comments * Define 32768 as a constant | 1 个月前 |