diff --git a/CHANGELOG.md b/CHANGELOG.md index d13983b46183..0fc24eabe63c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,7 +40,8 @@ release. -24.16.0
+24.17.0
+24.16.0
24.15.0
24.14.1
24.14.0
diff --git a/deps/llhttp/CMakeLists.txt b/deps/llhttp/CMakeLists.txt index ebcddbcd4782..856f9fd09a9d 100644 --- a/deps/llhttp/CMakeLists.txt +++ b/deps/llhttp/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.25.0) cmake_policy(SET CMP0069 NEW) -project(llhttp VERSION 9.4.1) +project(llhttp VERSION 9.4.2) include(GNUInstallDirs) include(CMakePackageConfigHelpers) diff --git a/deps/llhttp/include/llhttp.h b/deps/llhttp/include/llhttp.h index 0ef2f64712af..5670da522964 100644 --- a/deps/llhttp/include/llhttp.h +++ b/deps/llhttp/include/llhttp.h @@ -4,7 +4,7 @@ #define LLHTTP_VERSION_MAJOR 9 #define LLHTTP_VERSION_MINOR 4 -#define LLHTTP_VERSION_PATCH 1 +#define LLHTTP_VERSION_PATCH 2 #ifndef INCLUDE_LLHTTP_ITSELF_H_ #define INCLUDE_LLHTTP_ITSELF_H_ diff --git a/deps/llhttp/src/llhttp.c b/deps/llhttp/src/llhttp.c index 7e21348b2bc8..cbbb36cd955c 100644 --- a/deps/llhttp/src/llhttp.c +++ b/deps/llhttp/src/llhttp.c @@ -2471,6 +2471,10 @@ static llparse_state_t llhttp__internal__run( return s_n_llhttp__internal__n_header_value_connection_ws; } switch (*p) { + case 9: { + p++; + goto s_n_llhttp__internal__n_header_value_connection_ws; + } case 10: { goto s_n_llhttp__internal__n_header_value_otherwise; } @@ -6294,10 +6298,6 @@ static llparse_state_t llhttp__internal__run( p++; goto s_n_llhttp__internal__n_invoke_llhttp__on_status_complete; } - case 13: { - p++; - goto s_n_llhttp__internal__n_invoke_llhttp__on_status_complete; - } default: { goto s_n_llhttp__internal__n_invoke_test_lenient_flags_30; } diff --git a/deps/nghttp2/lib/CMakeLists.txt b/deps/nghttp2/lib/CMakeLists.txt index 98e3dbe7682f..3b6a4400305b 100644 --- a/deps/nghttp2/lib/CMakeLists.txt +++ b/deps/nghttp2/lib/CMakeLists.txt @@ -51,7 +51,7 @@ set(NGHTTP2_GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated") set(NGHTTP2_VERSION_CONFIG "${NGHTTP2_GENERATED_DIR}/${PROJECT_NAME}ConfigVersion.cmake") set(NGHTTP2_PROJECT_CONFIG "${NGHTTP2_GENERATED_DIR}/${PROJECT_NAME}Config.cmake") set(NGHTTP2_TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets") -set(NGHTTP2_CONFIG_INSTALL_DIR "lib/cmake/${PROJECT_NAME}") +set(NGHTTP2_CONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") set(NGHTTP2_NAMESPACE "${PROJECT_NAME}::") set(NGHTTP2_VERSION ${PROJECT_VERSION}) diff --git a/deps/nghttp2/lib/includes/nghttp2/nghttp2.h b/deps/nghttp2/lib/includes/nghttp2/nghttp2.h index 19c1874f23a3..55baba71bdaf 100644 --- a/deps/nghttp2/lib/includes/nghttp2/nghttp2.h +++ b/deps/nghttp2/lib/includes/nghttp2/nghttp2.h @@ -3252,7 +3252,7 @@ NGHTTP2_EXTERN void nghttp2_option_set_max_continuations(nghttp2_option *option, * regenerated per second. When a suspicious activity is detected, * some amount of tokens are consumed. If there is no token * available, GOAWAY is sent to tear down the connection. |burst| and - * |rate| default to 1000 and 33 respectively. + * |rate| default to 10000 and 330 respectively. */ NGHTTP2_EXTERN void nghttp2_option_set_glitch_rate_limit(nghttp2_option *option, uint64_t burst, diff --git a/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h b/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h index 8dfe536dec9a..83fabdeeb95d 100644 --- a/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h +++ b/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h @@ -29,7 +29,7 @@ * @macro * Version number of the nghttp2 library release */ -#define NGHTTP2_VERSION "1.68.0" +#define NGHTTP2_VERSION "1.69.0" /** * @macro @@ -37,6 +37,6 @@ * release. This is a 24 bit number with 8 bits for major number, 8 bits * for minor and 8 bits for patch. Version 1.2.3 becomes 0x010203. */ -#define NGHTTP2_VERSION_NUM 0x014400 +#define NGHTTP2_VERSION_NUM 0x014500 #endif /* NGHTTP2VER_H */ diff --git a/deps/nghttp2/lib/nghttp2_alpn.c b/deps/nghttp2/lib/nghttp2_alpn.c index 33c5885f8d88..025bd346594c 100644 --- a/deps/nghttp2/lib/nghttp2_alpn.c +++ b/deps/nghttp2/lib/nghttp2_alpn.c @@ -26,6 +26,8 @@ #include +#include "nghttp2_helper.h" + static int select_alpn(const unsigned char **out, unsigned char *outlen, const unsigned char *in, unsigned int inlen, const char *key, unsigned int keylen) { @@ -41,7 +43,7 @@ static int select_alpn(const unsigned char **out, unsigned char *outlen, } #define NGHTTP2_HTTP_1_1_ALPN "\x8http/1.1" -#define NGHTTP2_HTTP_1_1_ALPN_LEN (sizeof(NGHTTP2_HTTP_1_1_ALPN) - 1) +#define NGHTTP2_HTTP_1_1_ALPN_LEN nghttp2_strlen_lit(NGHTTP2_HTTP_1_1_ALPN) int nghttp2_select_next_protocol(unsigned char **out, unsigned char *outlen, const unsigned char *in, unsigned int inlen) { diff --git a/deps/nghttp2/lib/nghttp2_frame.c b/deps/nghttp2/lib/nghttp2_frame.c index edc2aaaae9ed..264ae9d38e02 100644 --- a/deps/nghttp2/lib/nghttp2_frame.c +++ b/deps/nghttp2/lib/nghttp2_frame.c @@ -750,6 +750,16 @@ void nghttp2_frame_unpack_altsvc_payload(nghttp2_extension *frame, uint8_t *p; altsvc = frame->payload; + + if (payloadlen == 0) { + altsvc->origin = NULL; + altsvc->origin_len = 0; + altsvc->field_value = NULL; + altsvc->field_value_len = 0; + + return; + } + p = payload; altsvc->origin = p; diff --git a/deps/nghttp2/lib/nghttp2_frame.h b/deps/nghttp2/lib/nghttp2_frame.h index ed4ab2c6842e..c0917c0df4cc 100644 --- a/deps/nghttp2/lib/nghttp2_frame.h +++ b/deps/nghttp2/lib/nghttp2_frame.h @@ -34,10 +34,7 @@ #include "nghttp2_buf.h" #define NGHTTP2_STREAM_ID_MASK ((1u << 31) - 1) -#define NGHTTP2_PRI_GROUP_ID_MASK ((1u << 31) - 1) -#define NGHTTP2_PRIORITY_MASK ((1u << 31) - 1) #define NGHTTP2_WINDOW_SIZE_INCREMENT_MASK ((1u << 31) - 1) -#define NGHTTP2_SETTINGS_ID_MASK ((1 << 24) - 1) /* The number of bytes of frame header. */ #define NGHTTP2_FRAME_HDLEN 9 diff --git a/deps/nghttp2/lib/nghttp2_hd.c b/deps/nghttp2/lib/nghttp2_hd.c index ad85eed1e13e..5ac77dbc0ea5 100644 --- a/deps/nghttp2/lib/nghttp2_hd.c +++ b/deps/nghttp2/lib/nghttp2_hd.c @@ -35,9 +35,10 @@ /* Make scalar initialization form of nghttp2_hd_entry */ #define MAKE_STATIC_ENT(N, V, T, H) \ { \ - {NULL, NULL, (uint8_t *)(N), sizeof((N)) - 1, -1}, \ - {NULL, NULL, (uint8_t *)(V), sizeof((V)) - 1, -1}, \ - {(uint8_t *)(N), (uint8_t *)(V), sizeof((N)) - 1, sizeof((V)) - 1, 0}, \ + {NULL, NULL, (uint8_t *)(N), nghttp2_strlen_lit((N)), -1}, \ + {NULL, NULL, (uint8_t *)(V), nghttp2_strlen_lit((V)), -1}, \ + {(uint8_t *)(N), (uint8_t *)(V), nghttp2_strlen_lit((N)), \ + nghttp2_strlen_lit((V)), 0}, \ T, \ H, \ } @@ -2058,8 +2059,9 @@ nghttp2_ssize nghttp2_hd_inflate_hd_nv(nghttp2_hd_inflater *inflater, inflater->state = NGHTTP2_HD_STATE_NEWNAME_READ_NAMEHUFF; - rv = - nghttp2_rcbuf_new(&inflater->namercbuf, inflater->left * 2 + 1, mem); + rv = nghttp2_rcbuf_new( + &inflater->namercbuf, + nghttp2_huff_estimate_decode_length(inflater->left) + 1, mem); } else { inflater->state = NGHTTP2_HD_STATE_NEWNAME_READ_NAME; rv = nghttp2_rcbuf_new(&inflater->namercbuf, inflater->left + 1, mem); @@ -2143,8 +2145,9 @@ nghttp2_ssize nghttp2_hd_inflate_hd_nv(nghttp2_hd_inflater *inflater, inflater->state = NGHTTP2_HD_STATE_READ_VALUEHUFF; - rv = - nghttp2_rcbuf_new(&inflater->valuercbuf, inflater->left * 2 + 1, mem); + rv = nghttp2_rcbuf_new( + &inflater->valuercbuf, + nghttp2_huff_estimate_decode_length(inflater->left) + 1, mem); } else { inflater->state = NGHTTP2_HD_STATE_READ_VALUE; diff --git a/deps/nghttp2/lib/nghttp2_hd_huffman.c b/deps/nghttp2/lib/nghttp2_hd_huffman.c index de2620076a6e..45672655f087 100644 --- a/deps/nghttp2/lib/nghttp2_hd_huffman.c +++ b/deps/nghttp2/lib/nghttp2_hd_huffman.c @@ -104,15 +104,15 @@ int nghttp2_hd_huff_encode(nghttp2_bufs *bufs, const uint8_t *src, } void nghttp2_hd_huff_decode_context_init(nghttp2_hd_huff_decode_context *ctx) { - ctx->fstate = NGHTTP2_HUFF_ACCEPTED; + ctx->fstate = 0; + ctx->flags = NGHTTP2_HUFF_ACCEPTED; } nghttp2_ssize nghttp2_hd_huff_decode(nghttp2_hd_huff_decode_context *ctx, nghttp2_buf *buf, const uint8_t *src, size_t srclen, int final) { const uint8_t *end = src + srclen; - nghttp2_huff_decode node = {ctx->fstate, 0}; - const nghttp2_huff_decode *t = &node; + nghttp2_huff_decode t = {ctx->fstate, ctx->flags, 0}; uint8_t c; /* We use the decoding algorithm described in @@ -121,20 +121,21 @@ nghttp2_ssize nghttp2_hd_huff_decode(nghttp2_hd_huff_decode_context *ctx, - https://github.com/nghttp2/nghttp2/files/15141264/Prefix.pdf */ for (; src != end;) { c = *src++; - t = &huff_decode_table[t->fstate & 0x1ff][c >> 4]; - if (t->fstate & NGHTTP2_HUFF_SYM) { - *buf->last++ = t->sym; + t = huff_decode_table[t.fstate][c >> 4]; + if (t.flags & NGHTTP2_HUFF_SYM) { + *buf->last++ = t.sym; } - t = &huff_decode_table[t->fstate & 0x1ff][c & 0xf]; - if (t->fstate & NGHTTP2_HUFF_SYM) { - *buf->last++ = t->sym; + t = huff_decode_table[t.fstate][c & 0xf]; + if (t.flags & NGHTTP2_HUFF_SYM) { + *buf->last++ = t.sym; } } - ctx->fstate = t->fstate; + ctx->fstate = t.fstate; + ctx->flags = t.flags; - if (final && !(ctx->fstate & NGHTTP2_HUFF_ACCEPTED)) { + if (final && !(ctx->flags & NGHTTP2_HUFF_ACCEPTED)) { return NGHTTP2_ERR_HEADER_COMP; } diff --git a/deps/nghttp2/lib/nghttp2_hd_huffman.h b/deps/nghttp2/lib/nghttp2_hd_huffman.h index df037a8b20ef..f898c1779c01 100644 --- a/deps/nghttp2/lib/nghttp2_hd_huffman.h +++ b/deps/nghttp2/lib/nghttp2_hd_huffman.h @@ -34,9 +34,9 @@ typedef enum { /* FSA accepts this state as the end of huffman encoding sequence. */ - NGHTTP2_HUFF_ACCEPTED = 1 << 14, + NGHTTP2_HUFF_ACCEPTED = 1, /* This state emits symbol */ - NGHTTP2_HUFF_SYM = 1 << 15, + NGHTTP2_HUFF_SYM = 1 << 1, } nghttp2_huff_decode_flag; typedef struct { @@ -48,6 +48,7 @@ typedef struct { a special node and it is a terminal state that means decoding failed. */ uint16_t fstate; + uint8_t flags; /* symbol if NGHTTP2_HUFF_SYM flag set */ uint8_t sym; } nghttp2_huff_decode; @@ -57,6 +58,7 @@ typedef nghttp2_huff_decode huff_decode_table_type[16]; typedef struct { /* fstate is the current huffman decoding state. */ uint16_t fstate; + uint8_t flags; } nghttp2_hd_huff_decode_context; typedef struct { @@ -69,4 +71,12 @@ typedef struct { extern const nghttp2_huff_sym huff_sym_table[]; extern const nghttp2_huff_decode huff_decode_table[][16]; +/* + * nghttp2_huff_estimate_decode_length returns the estimated decoded + * length of the huffman encoded string of length |len|. + */ +static inline size_t nghttp2_huff_estimate_decode_length(size_t len) { + return len * 8 / 5; +} + #endif /* !defined(NGHTTP2_HD_HUFFMAN_H) */ diff --git a/deps/nghttp2/lib/nghttp2_hd_huffman_data.c b/deps/nghttp2/lib/nghttp2_hd_huffman_data.c index c8f4a6fa2667..252cae0c18d9 100644 --- a/deps/nghttp2/lib/nghttp2_hd_huffman_data.c +++ b/deps/nghttp2/lib/nghttp2_hd_huffman_data.c @@ -96,4885 +96,4885 @@ const nghttp2_huff_sym huff_sym_table[] = { const nghttp2_huff_decode huff_decode_table[][16] = { /* 0 */ { - {0x04, 0}, - {0x05, 0}, - {0x07, 0}, - {0x08, 0}, - {0x0b, 0}, - {0x0c, 0}, - {0x10, 0}, - {0x13, 0}, - {0x19, 0}, - {0x1c, 0}, - {0x20, 0}, - {0x23, 0}, - {0x2a, 0}, - {0x31, 0}, - {0x39, 0}, - {0x4040, 0}, + {0x04, 0, 0}, + {0x05, 0, 0}, + {0x07, 0, 0}, + {0x08, 0, 0}, + {0x0b, 0, 0}, + {0x0c, 0, 0}, + {0x10, 0, 0}, + {0x13, 0, 0}, + {0x19, 0, 0}, + {0x1c, 0, 0}, + {0x20, 0, 0}, + {0x23, 0, 0}, + {0x2a, 0, 0}, + {0x31, 0, 0}, + {0x39, 0, 0}, + {0x40, 1, 0}, }, /* 1 */ { - {0xc000, 48}, - {0xc000, 49}, - {0xc000, 50}, - {0xc000, 97}, - {0xc000, 99}, - {0xc000, 101}, - {0xc000, 105}, - {0xc000, 111}, - {0xc000, 115}, - {0xc000, 116}, - {0x0d, 0}, - {0x0e, 0}, - {0x11, 0}, - {0x12, 0}, - {0x14, 0}, - {0x15, 0}, + {0x00, 3, 48}, + {0x00, 3, 49}, + {0x00, 3, 50}, + {0x00, 3, 97}, + {0x00, 3, 99}, + {0x00, 3, 101}, + {0x00, 3, 105}, + {0x00, 3, 111}, + {0x00, 3, 115}, + {0x00, 3, 116}, + {0x0d, 0, 0}, + {0x0e, 0, 0}, + {0x11, 0, 0}, + {0x12, 0, 0}, + {0x14, 0, 0}, + {0x15, 0, 0}, }, /* 2 */ { - {0x8001, 48}, - {0xc016, 48}, - {0x8001, 49}, - {0xc016, 49}, - {0x8001, 50}, - {0xc016, 50}, - {0x8001, 97}, - {0xc016, 97}, - {0x8001, 99}, - {0xc016, 99}, - {0x8001, 101}, - {0xc016, 101}, - {0x8001, 105}, - {0xc016, 105}, - {0x8001, 111}, - {0xc016, 111}, + {0x01, 2, 48}, + {0x16, 3, 48}, + {0x01, 2, 49}, + {0x16, 3, 49}, + {0x01, 2, 50}, + {0x16, 3, 50}, + {0x01, 2, 97}, + {0x16, 3, 97}, + {0x01, 2, 99}, + {0x16, 3, 99}, + {0x01, 2, 101}, + {0x16, 3, 101}, + {0x01, 2, 105}, + {0x16, 3, 105}, + {0x01, 2, 111}, + {0x16, 3, 111}, }, /* 3 */ { - {0x8002, 48}, - {0x8009, 48}, - {0x8017, 48}, - {0xc028, 48}, - {0x8002, 49}, - {0x8009, 49}, - {0x8017, 49}, - {0xc028, 49}, - {0x8002, 50}, - {0x8009, 50}, - {0x8017, 50}, - {0xc028, 50}, - {0x8002, 97}, - {0x8009, 97}, - {0x8017, 97}, - {0xc028, 97}, + {0x02, 2, 48}, + {0x09, 2, 48}, + {0x17, 2, 48}, + {0x28, 3, 48}, + {0x02, 2, 49}, + {0x09, 2, 49}, + {0x17, 2, 49}, + {0x28, 3, 49}, + {0x02, 2, 50}, + {0x09, 2, 50}, + {0x17, 2, 50}, + {0x28, 3, 50}, + {0x02, 2, 97}, + {0x09, 2, 97}, + {0x17, 2, 97}, + {0x28, 3, 97}, }, /* 4 */ { - {0x8003, 48}, - {0x8006, 48}, - {0x800a, 48}, - {0x800f, 48}, - {0x8018, 48}, - {0x801f, 48}, - {0x8029, 48}, - {0xc038, 48}, - {0x8003, 49}, - {0x8006, 49}, - {0x800a, 49}, - {0x800f, 49}, - {0x8018, 49}, - {0x801f, 49}, - {0x8029, 49}, - {0xc038, 49}, + {0x03, 2, 48}, + {0x06, 2, 48}, + {0x0a, 2, 48}, + {0x0f, 2, 48}, + {0x18, 2, 48}, + {0x1f, 2, 48}, + {0x29, 2, 48}, + {0x38, 3, 48}, + {0x03, 2, 49}, + {0x06, 2, 49}, + {0x0a, 2, 49}, + {0x0f, 2, 49}, + {0x18, 2, 49}, + {0x1f, 2, 49}, + {0x29, 2, 49}, + {0x38, 3, 49}, }, /* 5 */ { - {0x8003, 50}, - {0x8006, 50}, - {0x800a, 50}, - {0x800f, 50}, - {0x8018, 50}, - {0x801f, 50}, - {0x8029, 50}, - {0xc038, 50}, - {0x8003, 97}, - {0x8006, 97}, - {0x800a, 97}, - {0x800f, 97}, - {0x8018, 97}, - {0x801f, 97}, - {0x8029, 97}, - {0xc038, 97}, + {0x03, 2, 50}, + {0x06, 2, 50}, + {0x0a, 2, 50}, + {0x0f, 2, 50}, + {0x18, 2, 50}, + {0x1f, 2, 50}, + {0x29, 2, 50}, + {0x38, 3, 50}, + {0x03, 2, 97}, + {0x06, 2, 97}, + {0x0a, 2, 97}, + {0x0f, 2, 97}, + {0x18, 2, 97}, + {0x1f, 2, 97}, + {0x29, 2, 97}, + {0x38, 3, 97}, }, /* 6 */ { - {0x8002, 99}, - {0x8009, 99}, - {0x8017, 99}, - {0xc028, 99}, - {0x8002, 101}, - {0x8009, 101}, - {0x8017, 101}, - {0xc028, 101}, - {0x8002, 105}, - {0x8009, 105}, - {0x8017, 105}, - {0xc028, 105}, - {0x8002, 111}, - {0x8009, 111}, - {0x8017, 111}, - {0xc028, 111}, + {0x02, 2, 99}, + {0x09, 2, 99}, + {0x17, 2, 99}, + {0x28, 3, 99}, + {0x02, 2, 101}, + {0x09, 2, 101}, + {0x17, 2, 101}, + {0x28, 3, 101}, + {0x02, 2, 105}, + {0x09, 2, 105}, + {0x17, 2, 105}, + {0x28, 3, 105}, + {0x02, 2, 111}, + {0x09, 2, 111}, + {0x17, 2, 111}, + {0x28, 3, 111}, }, /* 7 */ { - {0x8003, 99}, - {0x8006, 99}, - {0x800a, 99}, - {0x800f, 99}, - {0x8018, 99}, - {0x801f, 99}, - {0x8029, 99}, - {0xc038, 99}, - {0x8003, 101}, - {0x8006, 101}, - {0x800a, 101}, - {0x800f, 101}, - {0x8018, 101}, - {0x801f, 101}, - {0x8029, 101}, - {0xc038, 101}, + {0x03, 2, 99}, + {0x06, 2, 99}, + {0x0a, 2, 99}, + {0x0f, 2, 99}, + {0x18, 2, 99}, + {0x1f, 2, 99}, + {0x29, 2, 99}, + {0x38, 3, 99}, + {0x03, 2, 101}, + {0x06, 2, 101}, + {0x0a, 2, 101}, + {0x0f, 2, 101}, + {0x18, 2, 101}, + {0x1f, 2, 101}, + {0x29, 2, 101}, + {0x38, 3, 101}, }, /* 8 */ { - {0x8003, 105}, - {0x8006, 105}, - {0x800a, 105}, - {0x800f, 105}, - {0x8018, 105}, - {0x801f, 105}, - {0x8029, 105}, - {0xc038, 105}, - {0x8003, 111}, - {0x8006, 111}, - {0x800a, 111}, - {0x800f, 111}, - {0x8018, 111}, - {0x801f, 111}, - {0x8029, 111}, - {0xc038, 111}, + {0x03, 2, 105}, + {0x06, 2, 105}, + {0x0a, 2, 105}, + {0x0f, 2, 105}, + {0x18, 2, 105}, + {0x1f, 2, 105}, + {0x29, 2, 105}, + {0x38, 3, 105}, + {0x03, 2, 111}, + {0x06, 2, 111}, + {0x0a, 2, 111}, + {0x0f, 2, 111}, + {0x18, 2, 111}, + {0x1f, 2, 111}, + {0x29, 2, 111}, + {0x38, 3, 111}, }, /* 9 */ { - {0x8001, 115}, - {0xc016, 115}, - {0x8001, 116}, - {0xc016, 116}, - {0xc000, 32}, - {0xc000, 37}, - {0xc000, 45}, - {0xc000, 46}, - {0xc000, 47}, - {0xc000, 51}, - {0xc000, 52}, - {0xc000, 53}, - {0xc000, 54}, - {0xc000, 55}, - {0xc000, 56}, - {0xc000, 57}, + {0x01, 2, 115}, + {0x16, 3, 115}, + {0x01, 2, 116}, + {0x16, 3, 116}, + {0x00, 3, 32}, + {0x00, 3, 37}, + {0x00, 3, 45}, + {0x00, 3, 46}, + {0x00, 3, 47}, + {0x00, 3, 51}, + {0x00, 3, 52}, + {0x00, 3, 53}, + {0x00, 3, 54}, + {0x00, 3, 55}, + {0x00, 3, 56}, + {0x00, 3, 57}, }, /* 10 */ { - {0x8002, 115}, - {0x8009, 115}, - {0x8017, 115}, - {0xc028, 115}, - {0x8002, 116}, - {0x8009, 116}, - {0x8017, 116}, - {0xc028, 116}, - {0x8001, 32}, - {0xc016, 32}, - {0x8001, 37}, - {0xc016, 37}, - {0x8001, 45}, - {0xc016, 45}, - {0x8001, 46}, - {0xc016, 46}, + {0x02, 2, 115}, + {0x09, 2, 115}, + {0x17, 2, 115}, + {0x28, 3, 115}, + {0x02, 2, 116}, + {0x09, 2, 116}, + {0x17, 2, 116}, + {0x28, 3, 116}, + {0x01, 2, 32}, + {0x16, 3, 32}, + {0x01, 2, 37}, + {0x16, 3, 37}, + {0x01, 2, 45}, + {0x16, 3, 45}, + {0x01, 2, 46}, + {0x16, 3, 46}, }, /* 11 */ { - {0x8003, 115}, - {0x8006, 115}, - {0x800a, 115}, - {0x800f, 115}, - {0x8018, 115}, - {0x801f, 115}, - {0x8029, 115}, - {0xc038, 115}, - {0x8003, 116}, - {0x8006, 116}, - {0x800a, 116}, - {0x800f, 116}, - {0x8018, 116}, - {0x801f, 116}, - {0x8029, 116}, - {0xc038, 116}, + {0x03, 2, 115}, + {0x06, 2, 115}, + {0x0a, 2, 115}, + {0x0f, 2, 115}, + {0x18, 2, 115}, + {0x1f, 2, 115}, + {0x29, 2, 115}, + {0x38, 3, 115}, + {0x03, 2, 116}, + {0x06, 2, 116}, + {0x0a, 2, 116}, + {0x0f, 2, 116}, + {0x18, 2, 116}, + {0x1f, 2, 116}, + {0x29, 2, 116}, + {0x38, 3, 116}, }, /* 12 */ { - {0x8002, 32}, - {0x8009, 32}, - {0x8017, 32}, - {0xc028, 32}, - {0x8002, 37}, - {0x8009, 37}, - {0x8017, 37}, - {0xc028, 37}, - {0x8002, 45}, - {0x8009, 45}, - {0x8017, 45}, - {0xc028, 45}, - {0x8002, 46}, - {0x8009, 46}, - {0x8017, 46}, - {0xc028, 46}, + {0x02, 2, 32}, + {0x09, 2, 32}, + {0x17, 2, 32}, + {0x28, 3, 32}, + {0x02, 2, 37}, + {0x09, 2, 37}, + {0x17, 2, 37}, + {0x28, 3, 37}, + {0x02, 2, 45}, + {0x09, 2, 45}, + {0x17, 2, 45}, + {0x28, 3, 45}, + {0x02, 2, 46}, + {0x09, 2, 46}, + {0x17, 2, 46}, + {0x28, 3, 46}, }, /* 13 */ { - {0x8003, 32}, - {0x8006, 32}, - {0x800a, 32}, - {0x800f, 32}, - {0x8018, 32}, - {0x801f, 32}, - {0x8029, 32}, - {0xc038, 32}, - {0x8003, 37}, - {0x8006, 37}, - {0x800a, 37}, - {0x800f, 37}, - {0x8018, 37}, - {0x801f, 37}, - {0x8029, 37}, - {0xc038, 37}, + {0x03, 2, 32}, + {0x06, 2, 32}, + {0x0a, 2, 32}, + {0x0f, 2, 32}, + {0x18, 2, 32}, + {0x1f, 2, 32}, + {0x29, 2, 32}, + {0x38, 3, 32}, + {0x03, 2, 37}, + {0x06, 2, 37}, + {0x0a, 2, 37}, + {0x0f, 2, 37}, + {0x18, 2, 37}, + {0x1f, 2, 37}, + {0x29, 2, 37}, + {0x38, 3, 37}, }, /* 14 */ { - {0x8003, 45}, - {0x8006, 45}, - {0x800a, 45}, - {0x800f, 45}, - {0x8018, 45}, - {0x801f, 45}, - {0x8029, 45}, - {0xc038, 45}, - {0x8003, 46}, - {0x8006, 46}, - {0x800a, 46}, - {0x800f, 46}, - {0x8018, 46}, - {0x801f, 46}, - {0x8029, 46}, - {0xc038, 46}, + {0x03, 2, 45}, + {0x06, 2, 45}, + {0x0a, 2, 45}, + {0x0f, 2, 45}, + {0x18, 2, 45}, + {0x1f, 2, 45}, + {0x29, 2, 45}, + {0x38, 3, 45}, + {0x03, 2, 46}, + {0x06, 2, 46}, + {0x0a, 2, 46}, + {0x0f, 2, 46}, + {0x18, 2, 46}, + {0x1f, 2, 46}, + {0x29, 2, 46}, + {0x38, 3, 46}, }, /* 15 */ { - {0x8001, 47}, - {0xc016, 47}, - {0x8001, 51}, - {0xc016, 51}, - {0x8001, 52}, - {0xc016, 52}, - {0x8001, 53}, - {0xc016, 53}, - {0x8001, 54}, - {0xc016, 54}, - {0x8001, 55}, - {0xc016, 55}, - {0x8001, 56}, - {0xc016, 56}, - {0x8001, 57}, - {0xc016, 57}, + {0x01, 2, 47}, + {0x16, 3, 47}, + {0x01, 2, 51}, + {0x16, 3, 51}, + {0x01, 2, 52}, + {0x16, 3, 52}, + {0x01, 2, 53}, + {0x16, 3, 53}, + {0x01, 2, 54}, + {0x16, 3, 54}, + {0x01, 2, 55}, + {0x16, 3, 55}, + {0x01, 2, 56}, + {0x16, 3, 56}, + {0x01, 2, 57}, + {0x16, 3, 57}, }, /* 16 */ { - {0x8002, 47}, - {0x8009, 47}, - {0x8017, 47}, - {0xc028, 47}, - {0x8002, 51}, - {0x8009, 51}, - {0x8017, 51}, - {0xc028, 51}, - {0x8002, 52}, - {0x8009, 52}, - {0x8017, 52}, - {0xc028, 52}, - {0x8002, 53}, - {0x8009, 53}, - {0x8017, 53}, - {0xc028, 53}, + {0x02, 2, 47}, + {0x09, 2, 47}, + {0x17, 2, 47}, + {0x28, 3, 47}, + {0x02, 2, 51}, + {0x09, 2, 51}, + {0x17, 2, 51}, + {0x28, 3, 51}, + {0x02, 2, 52}, + {0x09, 2, 52}, + {0x17, 2, 52}, + {0x28, 3, 52}, + {0x02, 2, 53}, + {0x09, 2, 53}, + {0x17, 2, 53}, + {0x28, 3, 53}, }, /* 17 */ { - {0x8003, 47}, - {0x8006, 47}, - {0x800a, 47}, - {0x800f, 47}, - {0x8018, 47}, - {0x801f, 47}, - {0x8029, 47}, - {0xc038, 47}, - {0x8003, 51}, - {0x8006, 51}, - {0x800a, 51}, - {0x800f, 51}, - {0x8018, 51}, - {0x801f, 51}, - {0x8029, 51}, - {0xc038, 51}, + {0x03, 2, 47}, + {0x06, 2, 47}, + {0x0a, 2, 47}, + {0x0f, 2, 47}, + {0x18, 2, 47}, + {0x1f, 2, 47}, + {0x29, 2, 47}, + {0x38, 3, 47}, + {0x03, 2, 51}, + {0x06, 2, 51}, + {0x0a, 2, 51}, + {0x0f, 2, 51}, + {0x18, 2, 51}, + {0x1f, 2, 51}, + {0x29, 2, 51}, + {0x38, 3, 51}, }, /* 18 */ { - {0x8003, 52}, - {0x8006, 52}, - {0x800a, 52}, - {0x800f, 52}, - {0x8018, 52}, - {0x801f, 52}, - {0x8029, 52}, - {0xc038, 52}, - {0x8003, 53}, - {0x8006, 53}, - {0x800a, 53}, - {0x800f, 53}, - {0x8018, 53}, - {0x801f, 53}, - {0x8029, 53}, - {0xc038, 53}, + {0x03, 2, 52}, + {0x06, 2, 52}, + {0x0a, 2, 52}, + {0x0f, 2, 52}, + {0x18, 2, 52}, + {0x1f, 2, 52}, + {0x29, 2, 52}, + {0x38, 3, 52}, + {0x03, 2, 53}, + {0x06, 2, 53}, + {0x0a, 2, 53}, + {0x0f, 2, 53}, + {0x18, 2, 53}, + {0x1f, 2, 53}, + {0x29, 2, 53}, + {0x38, 3, 53}, }, /* 19 */ { - {0x8002, 54}, - {0x8009, 54}, - {0x8017, 54}, - {0xc028, 54}, - {0x8002, 55}, - {0x8009, 55}, - {0x8017, 55}, - {0xc028, 55}, - {0x8002, 56}, - {0x8009, 56}, - {0x8017, 56}, - {0xc028, 56}, - {0x8002, 57}, - {0x8009, 57}, - {0x8017, 57}, - {0xc028, 57}, + {0x02, 2, 54}, + {0x09, 2, 54}, + {0x17, 2, 54}, + {0x28, 3, 54}, + {0x02, 2, 55}, + {0x09, 2, 55}, + {0x17, 2, 55}, + {0x28, 3, 55}, + {0x02, 2, 56}, + {0x09, 2, 56}, + {0x17, 2, 56}, + {0x28, 3, 56}, + {0x02, 2, 57}, + {0x09, 2, 57}, + {0x17, 2, 57}, + {0x28, 3, 57}, }, /* 20 */ { - {0x8003, 54}, - {0x8006, 54}, - {0x800a, 54}, - {0x800f, 54}, - {0x8018, 54}, - {0x801f, 54}, - {0x8029, 54}, - {0xc038, 54}, - {0x8003, 55}, - {0x8006, 55}, - {0x800a, 55}, - {0x800f, 55}, - {0x8018, 55}, - {0x801f, 55}, - {0x8029, 55}, - {0xc038, 55}, + {0x03, 2, 54}, + {0x06, 2, 54}, + {0x0a, 2, 54}, + {0x0f, 2, 54}, + {0x18, 2, 54}, + {0x1f, 2, 54}, + {0x29, 2, 54}, + {0x38, 3, 54}, + {0x03, 2, 55}, + {0x06, 2, 55}, + {0x0a, 2, 55}, + {0x0f, 2, 55}, + {0x18, 2, 55}, + {0x1f, 2, 55}, + {0x29, 2, 55}, + {0x38, 3, 55}, }, /* 21 */ { - {0x8003, 56}, - {0x8006, 56}, - {0x800a, 56}, - {0x800f, 56}, - {0x8018, 56}, - {0x801f, 56}, - {0x8029, 56}, - {0xc038, 56}, - {0x8003, 57}, - {0x8006, 57}, - {0x800a, 57}, - {0x800f, 57}, - {0x8018, 57}, - {0x801f, 57}, - {0x8029, 57}, - {0xc038, 57}, + {0x03, 2, 56}, + {0x06, 2, 56}, + {0x0a, 2, 56}, + {0x0f, 2, 56}, + {0x18, 2, 56}, + {0x1f, 2, 56}, + {0x29, 2, 56}, + {0x38, 3, 56}, + {0x03, 2, 57}, + {0x06, 2, 57}, + {0x0a, 2, 57}, + {0x0f, 2, 57}, + {0x18, 2, 57}, + {0x1f, 2, 57}, + {0x29, 2, 57}, + {0x38, 3, 57}, }, /* 22 */ { - {0x1a, 0}, - {0x1b, 0}, - {0x1d, 0}, - {0x1e, 0}, - {0x21, 0}, - {0x22, 0}, - {0x24, 0}, - {0x25, 0}, - {0x2b, 0}, - {0x2e, 0}, - {0x32, 0}, - {0x35, 0}, - {0x3a, 0}, - {0x3d, 0}, - {0x41, 0}, - {0x4044, 0}, + {0x1a, 0, 0}, + {0x1b, 0, 0}, + {0x1d, 0, 0}, + {0x1e, 0, 0}, + {0x21, 0, 0}, + {0x22, 0, 0}, + {0x24, 0, 0}, + {0x25, 0, 0}, + {0x2b, 0, 0}, + {0x2e, 0, 0}, + {0x32, 0, 0}, + {0x35, 0, 0}, + {0x3a, 0, 0}, + {0x3d, 0, 0}, + {0x41, 0, 0}, + {0x44, 1, 0}, }, /* 23 */ { - {0xc000, 61}, - {0xc000, 65}, - {0xc000, 95}, - {0xc000, 98}, - {0xc000, 100}, - {0xc000, 102}, - {0xc000, 103}, - {0xc000, 104}, - {0xc000, 108}, - {0xc000, 109}, - {0xc000, 110}, - {0xc000, 112}, - {0xc000, 114}, - {0xc000, 117}, - {0x26, 0}, - {0x27, 0}, + {0x00, 3, 61}, + {0x00, 3, 65}, + {0x00, 3, 95}, + {0x00, 3, 98}, + {0x00, 3, 100}, + {0x00, 3, 102}, + {0x00, 3, 103}, + {0x00, 3, 104}, + {0x00, 3, 108}, + {0x00, 3, 109}, + {0x00, 3, 110}, + {0x00, 3, 112}, + {0x00, 3, 114}, + {0x00, 3, 117}, + {0x26, 0, 0}, + {0x27, 0, 0}, }, /* 24 */ { - {0x8001, 61}, - {0xc016, 61}, - {0x8001, 65}, - {0xc016, 65}, - {0x8001, 95}, - {0xc016, 95}, - {0x8001, 98}, - {0xc016, 98}, - {0x8001, 100}, - {0xc016, 100}, - {0x8001, 102}, - {0xc016, 102}, - {0x8001, 103}, - {0xc016, 103}, - {0x8001, 104}, - {0xc016, 104}, + {0x01, 2, 61}, + {0x16, 3, 61}, + {0x01, 2, 65}, + {0x16, 3, 65}, + {0x01, 2, 95}, + {0x16, 3, 95}, + {0x01, 2, 98}, + {0x16, 3, 98}, + {0x01, 2, 100}, + {0x16, 3, 100}, + {0x01, 2, 102}, + {0x16, 3, 102}, + {0x01, 2, 103}, + {0x16, 3, 103}, + {0x01, 2, 104}, + {0x16, 3, 104}, }, /* 25 */ { - {0x8002, 61}, - {0x8009, 61}, - {0x8017, 61}, - {0xc028, 61}, - {0x8002, 65}, - {0x8009, 65}, - {0x8017, 65}, - {0xc028, 65}, - {0x8002, 95}, - {0x8009, 95}, - {0x8017, 95}, - {0xc028, 95}, - {0x8002, 98}, - {0x8009, 98}, - {0x8017, 98}, - {0xc028, 98}, + {0x02, 2, 61}, + {0x09, 2, 61}, + {0x17, 2, 61}, + {0x28, 3, 61}, + {0x02, 2, 65}, + {0x09, 2, 65}, + {0x17, 2, 65}, + {0x28, 3, 65}, + {0x02, 2, 95}, + {0x09, 2, 95}, + {0x17, 2, 95}, + {0x28, 3, 95}, + {0x02, 2, 98}, + {0x09, 2, 98}, + {0x17, 2, 98}, + {0x28, 3, 98}, }, /* 26 */ { - {0x8003, 61}, - {0x8006, 61}, - {0x800a, 61}, - {0x800f, 61}, - {0x8018, 61}, - {0x801f, 61}, - {0x8029, 61}, - {0xc038, 61}, - {0x8003, 65}, - {0x8006, 65}, - {0x800a, 65}, - {0x800f, 65}, - {0x8018, 65}, - {0x801f, 65}, - {0x8029, 65}, - {0xc038, 65}, + {0x03, 2, 61}, + {0x06, 2, 61}, + {0x0a, 2, 61}, + {0x0f, 2, 61}, + {0x18, 2, 61}, + {0x1f, 2, 61}, + {0x29, 2, 61}, + {0x38, 3, 61}, + {0x03, 2, 65}, + {0x06, 2, 65}, + {0x0a, 2, 65}, + {0x0f, 2, 65}, + {0x18, 2, 65}, + {0x1f, 2, 65}, + {0x29, 2, 65}, + {0x38, 3, 65}, }, /* 27 */ { - {0x8003, 95}, - {0x8006, 95}, - {0x800a, 95}, - {0x800f, 95}, - {0x8018, 95}, - {0x801f, 95}, - {0x8029, 95}, - {0xc038, 95}, - {0x8003, 98}, - {0x8006, 98}, - {0x800a, 98}, - {0x800f, 98}, - {0x8018, 98}, - {0x801f, 98}, - {0x8029, 98}, - {0xc038, 98}, + {0x03, 2, 95}, + {0x06, 2, 95}, + {0x0a, 2, 95}, + {0x0f, 2, 95}, + {0x18, 2, 95}, + {0x1f, 2, 95}, + {0x29, 2, 95}, + {0x38, 3, 95}, + {0x03, 2, 98}, + {0x06, 2, 98}, + {0x0a, 2, 98}, + {0x0f, 2, 98}, + {0x18, 2, 98}, + {0x1f, 2, 98}, + {0x29, 2, 98}, + {0x38, 3, 98}, }, /* 28 */ { - {0x8002, 100}, - {0x8009, 100}, - {0x8017, 100}, - {0xc028, 100}, - {0x8002, 102}, - {0x8009, 102}, - {0x8017, 102}, - {0xc028, 102}, - {0x8002, 103}, - {0x8009, 103}, - {0x8017, 103}, - {0xc028, 103}, - {0x8002, 104}, - {0x8009, 104}, - {0x8017, 104}, - {0xc028, 104}, + {0x02, 2, 100}, + {0x09, 2, 100}, + {0x17, 2, 100}, + {0x28, 3, 100}, + {0x02, 2, 102}, + {0x09, 2, 102}, + {0x17, 2, 102}, + {0x28, 3, 102}, + {0x02, 2, 103}, + {0x09, 2, 103}, + {0x17, 2, 103}, + {0x28, 3, 103}, + {0x02, 2, 104}, + {0x09, 2, 104}, + {0x17, 2, 104}, + {0x28, 3, 104}, }, /* 29 */ { - {0x8003, 100}, - {0x8006, 100}, - {0x800a, 100}, - {0x800f, 100}, - {0x8018, 100}, - {0x801f, 100}, - {0x8029, 100}, - {0xc038, 100}, - {0x8003, 102}, - {0x8006, 102}, - {0x800a, 102}, - {0x800f, 102}, - {0x8018, 102}, - {0x801f, 102}, - {0x8029, 102}, - {0xc038, 102}, + {0x03, 2, 100}, + {0x06, 2, 100}, + {0x0a, 2, 100}, + {0x0f, 2, 100}, + {0x18, 2, 100}, + {0x1f, 2, 100}, + {0x29, 2, 100}, + {0x38, 3, 100}, + {0x03, 2, 102}, + {0x06, 2, 102}, + {0x0a, 2, 102}, + {0x0f, 2, 102}, + {0x18, 2, 102}, + {0x1f, 2, 102}, + {0x29, 2, 102}, + {0x38, 3, 102}, }, /* 30 */ { - {0x8003, 103}, - {0x8006, 103}, - {0x800a, 103}, - {0x800f, 103}, - {0x8018, 103}, - {0x801f, 103}, - {0x8029, 103}, - {0xc038, 103}, - {0x8003, 104}, - {0x8006, 104}, - {0x800a, 104}, - {0x800f, 104}, - {0x8018, 104}, - {0x801f, 104}, - {0x8029, 104}, - {0xc038, 104}, + {0x03, 2, 103}, + {0x06, 2, 103}, + {0x0a, 2, 103}, + {0x0f, 2, 103}, + {0x18, 2, 103}, + {0x1f, 2, 103}, + {0x29, 2, 103}, + {0x38, 3, 103}, + {0x03, 2, 104}, + {0x06, 2, 104}, + {0x0a, 2, 104}, + {0x0f, 2, 104}, + {0x18, 2, 104}, + {0x1f, 2, 104}, + {0x29, 2, 104}, + {0x38, 3, 104}, }, /* 31 */ { - {0x8001, 108}, - {0xc016, 108}, - {0x8001, 109}, - {0xc016, 109}, - {0x8001, 110}, - {0xc016, 110}, - {0x8001, 112}, - {0xc016, 112}, - {0x8001, 114}, - {0xc016, 114}, - {0x8001, 117}, - {0xc016, 117}, - {0xc000, 58}, - {0xc000, 66}, - {0xc000, 67}, - {0xc000, 68}, + {0x01, 2, 108}, + {0x16, 3, 108}, + {0x01, 2, 109}, + {0x16, 3, 109}, + {0x01, 2, 110}, + {0x16, 3, 110}, + {0x01, 2, 112}, + {0x16, 3, 112}, + {0x01, 2, 114}, + {0x16, 3, 114}, + {0x01, 2, 117}, + {0x16, 3, 117}, + {0x00, 3, 58}, + {0x00, 3, 66}, + {0x00, 3, 67}, + {0x00, 3, 68}, }, /* 32 */ { - {0x8002, 108}, - {0x8009, 108}, - {0x8017, 108}, - {0xc028, 108}, - {0x8002, 109}, - {0x8009, 109}, - {0x8017, 109}, - {0xc028, 109}, - {0x8002, 110}, - {0x8009, 110}, - {0x8017, 110}, - {0xc028, 110}, - {0x8002, 112}, - {0x8009, 112}, - {0x8017, 112}, - {0xc028, 112}, + {0x02, 2, 108}, + {0x09, 2, 108}, + {0x17, 2, 108}, + {0x28, 3, 108}, + {0x02, 2, 109}, + {0x09, 2, 109}, + {0x17, 2, 109}, + {0x28, 3, 109}, + {0x02, 2, 110}, + {0x09, 2, 110}, + {0x17, 2, 110}, + {0x28, 3, 110}, + {0x02, 2, 112}, + {0x09, 2, 112}, + {0x17, 2, 112}, + {0x28, 3, 112}, }, /* 33 */ { - {0x8003, 108}, - {0x8006, 108}, - {0x800a, 108}, - {0x800f, 108}, - {0x8018, 108}, - {0x801f, 108}, - {0x8029, 108}, - {0xc038, 108}, - {0x8003, 109}, - {0x8006, 109}, - {0x800a, 109}, - {0x800f, 109}, - {0x8018, 109}, - {0x801f, 109}, - {0x8029, 109}, - {0xc038, 109}, + {0x03, 2, 108}, + {0x06, 2, 108}, + {0x0a, 2, 108}, + {0x0f, 2, 108}, + {0x18, 2, 108}, + {0x1f, 2, 108}, + {0x29, 2, 108}, + {0x38, 3, 108}, + {0x03, 2, 109}, + {0x06, 2, 109}, + {0x0a, 2, 109}, + {0x0f, 2, 109}, + {0x18, 2, 109}, + {0x1f, 2, 109}, + {0x29, 2, 109}, + {0x38, 3, 109}, }, /* 34 */ { - {0x8003, 110}, - {0x8006, 110}, - {0x800a, 110}, - {0x800f, 110}, - {0x8018, 110}, - {0x801f, 110}, - {0x8029, 110}, - {0xc038, 110}, - {0x8003, 112}, - {0x8006, 112}, - {0x800a, 112}, - {0x800f, 112}, - {0x8018, 112}, - {0x801f, 112}, - {0x8029, 112}, - {0xc038, 112}, + {0x03, 2, 110}, + {0x06, 2, 110}, + {0x0a, 2, 110}, + {0x0f, 2, 110}, + {0x18, 2, 110}, + {0x1f, 2, 110}, + {0x29, 2, 110}, + {0x38, 3, 110}, + {0x03, 2, 112}, + {0x06, 2, 112}, + {0x0a, 2, 112}, + {0x0f, 2, 112}, + {0x18, 2, 112}, + {0x1f, 2, 112}, + {0x29, 2, 112}, + {0x38, 3, 112}, }, /* 35 */ { - {0x8002, 114}, - {0x8009, 114}, - {0x8017, 114}, - {0xc028, 114}, - {0x8002, 117}, - {0x8009, 117}, - {0x8017, 117}, - {0xc028, 117}, - {0x8001, 58}, - {0xc016, 58}, - {0x8001, 66}, - {0xc016, 66}, - {0x8001, 67}, - {0xc016, 67}, - {0x8001, 68}, - {0xc016, 68}, + {0x02, 2, 114}, + {0x09, 2, 114}, + {0x17, 2, 114}, + {0x28, 3, 114}, + {0x02, 2, 117}, + {0x09, 2, 117}, + {0x17, 2, 117}, + {0x28, 3, 117}, + {0x01, 2, 58}, + {0x16, 3, 58}, + {0x01, 2, 66}, + {0x16, 3, 66}, + {0x01, 2, 67}, + {0x16, 3, 67}, + {0x01, 2, 68}, + {0x16, 3, 68}, }, /* 36 */ { - {0x8003, 114}, - {0x8006, 114}, - {0x800a, 114}, - {0x800f, 114}, - {0x8018, 114}, - {0x801f, 114}, - {0x8029, 114}, - {0xc038, 114}, - {0x8003, 117}, - {0x8006, 117}, - {0x800a, 117}, - {0x800f, 117}, - {0x8018, 117}, - {0x801f, 117}, - {0x8029, 117}, - {0xc038, 117}, + {0x03, 2, 114}, + {0x06, 2, 114}, + {0x0a, 2, 114}, + {0x0f, 2, 114}, + {0x18, 2, 114}, + {0x1f, 2, 114}, + {0x29, 2, 114}, + {0x38, 3, 114}, + {0x03, 2, 117}, + {0x06, 2, 117}, + {0x0a, 2, 117}, + {0x0f, 2, 117}, + {0x18, 2, 117}, + {0x1f, 2, 117}, + {0x29, 2, 117}, + {0x38, 3, 117}, }, /* 37 */ { - {0x8002, 58}, - {0x8009, 58}, - {0x8017, 58}, - {0xc028, 58}, - {0x8002, 66}, - {0x8009, 66}, - {0x8017, 66}, - {0xc028, 66}, - {0x8002, 67}, - {0x8009, 67}, - {0x8017, 67}, - {0xc028, 67}, - {0x8002, 68}, - {0x8009, 68}, - {0x8017, 68}, - {0xc028, 68}, + {0x02, 2, 58}, + {0x09, 2, 58}, + {0x17, 2, 58}, + {0x28, 3, 58}, + {0x02, 2, 66}, + {0x09, 2, 66}, + {0x17, 2, 66}, + {0x28, 3, 66}, + {0x02, 2, 67}, + {0x09, 2, 67}, + {0x17, 2, 67}, + {0x28, 3, 67}, + {0x02, 2, 68}, + {0x09, 2, 68}, + {0x17, 2, 68}, + {0x28, 3, 68}, }, /* 38 */ { - {0x8003, 58}, - {0x8006, 58}, - {0x800a, 58}, - {0x800f, 58}, - {0x8018, 58}, - {0x801f, 58}, - {0x8029, 58}, - {0xc038, 58}, - {0x8003, 66}, - {0x8006, 66}, - {0x800a, 66}, - {0x800f, 66}, - {0x8018, 66}, - {0x801f, 66}, - {0x8029, 66}, - {0xc038, 66}, + {0x03, 2, 58}, + {0x06, 2, 58}, + {0x0a, 2, 58}, + {0x0f, 2, 58}, + {0x18, 2, 58}, + {0x1f, 2, 58}, + {0x29, 2, 58}, + {0x38, 3, 58}, + {0x03, 2, 66}, + {0x06, 2, 66}, + {0x0a, 2, 66}, + {0x0f, 2, 66}, + {0x18, 2, 66}, + {0x1f, 2, 66}, + {0x29, 2, 66}, + {0x38, 3, 66}, }, /* 39 */ { - {0x8003, 67}, - {0x8006, 67}, - {0x800a, 67}, - {0x800f, 67}, - {0x8018, 67}, - {0x801f, 67}, - {0x8029, 67}, - {0xc038, 67}, - {0x8003, 68}, - {0x8006, 68}, - {0x800a, 68}, - {0x800f, 68}, - {0x8018, 68}, - {0x801f, 68}, - {0x8029, 68}, - {0xc038, 68}, + {0x03, 2, 67}, + {0x06, 2, 67}, + {0x0a, 2, 67}, + {0x0f, 2, 67}, + {0x18, 2, 67}, + {0x1f, 2, 67}, + {0x29, 2, 67}, + {0x38, 3, 67}, + {0x03, 2, 68}, + {0x06, 2, 68}, + {0x0a, 2, 68}, + {0x0f, 2, 68}, + {0x18, 2, 68}, + {0x1f, 2, 68}, + {0x29, 2, 68}, + {0x38, 3, 68}, }, /* 40 */ { - {0x2c, 0}, - {0x2d, 0}, - {0x2f, 0}, - {0x30, 0}, - {0x33, 0}, - {0x34, 0}, - {0x36, 0}, - {0x37, 0}, - {0x3b, 0}, - {0x3c, 0}, - {0x3e, 0}, - {0x3f, 0}, - {0x42, 0}, - {0x43, 0}, - {0x45, 0}, - {0x4048, 0}, + {0x2c, 0, 0}, + {0x2d, 0, 0}, + {0x2f, 0, 0}, + {0x30, 0, 0}, + {0x33, 0, 0}, + {0x34, 0, 0}, + {0x36, 0, 0}, + {0x37, 0, 0}, + {0x3b, 0, 0}, + {0x3c, 0, 0}, + {0x3e, 0, 0}, + {0x3f, 0, 0}, + {0x42, 0, 0}, + {0x43, 0, 0}, + {0x45, 0, 0}, + {0x48, 1, 0}, }, /* 41 */ { - {0xc000, 69}, - {0xc000, 70}, - {0xc000, 71}, - {0xc000, 72}, - {0xc000, 73}, - {0xc000, 74}, - {0xc000, 75}, - {0xc000, 76}, - {0xc000, 77}, - {0xc000, 78}, - {0xc000, 79}, - {0xc000, 80}, - {0xc000, 81}, - {0xc000, 82}, - {0xc000, 83}, - {0xc000, 84}, + {0x00, 3, 69}, + {0x00, 3, 70}, + {0x00, 3, 71}, + {0x00, 3, 72}, + {0x00, 3, 73}, + {0x00, 3, 74}, + {0x00, 3, 75}, + {0x00, 3, 76}, + {0x00, 3, 77}, + {0x00, 3, 78}, + {0x00, 3, 79}, + {0x00, 3, 80}, + {0x00, 3, 81}, + {0x00, 3, 82}, + {0x00, 3, 83}, + {0x00, 3, 84}, }, /* 42 */ { - {0x8001, 69}, - {0xc016, 69}, - {0x8001, 70}, - {0xc016, 70}, - {0x8001, 71}, - {0xc016, 71}, - {0x8001, 72}, - {0xc016, 72}, - {0x8001, 73}, - {0xc016, 73}, - {0x8001, 74}, - {0xc016, 74}, - {0x8001, 75}, - {0xc016, 75}, - {0x8001, 76}, - {0xc016, 76}, + {0x01, 2, 69}, + {0x16, 3, 69}, + {0x01, 2, 70}, + {0x16, 3, 70}, + {0x01, 2, 71}, + {0x16, 3, 71}, + {0x01, 2, 72}, + {0x16, 3, 72}, + {0x01, 2, 73}, + {0x16, 3, 73}, + {0x01, 2, 74}, + {0x16, 3, 74}, + {0x01, 2, 75}, + {0x16, 3, 75}, + {0x01, 2, 76}, + {0x16, 3, 76}, }, /* 43 */ { - {0x8002, 69}, - {0x8009, 69}, - {0x8017, 69}, - {0xc028, 69}, - {0x8002, 70}, - {0x8009, 70}, - {0x8017, 70}, - {0xc028, 70}, - {0x8002, 71}, - {0x8009, 71}, - {0x8017, 71}, - {0xc028, 71}, - {0x8002, 72}, - {0x8009, 72}, - {0x8017, 72}, - {0xc028, 72}, + {0x02, 2, 69}, + {0x09, 2, 69}, + {0x17, 2, 69}, + {0x28, 3, 69}, + {0x02, 2, 70}, + {0x09, 2, 70}, + {0x17, 2, 70}, + {0x28, 3, 70}, + {0x02, 2, 71}, + {0x09, 2, 71}, + {0x17, 2, 71}, + {0x28, 3, 71}, + {0x02, 2, 72}, + {0x09, 2, 72}, + {0x17, 2, 72}, + {0x28, 3, 72}, }, /* 44 */ { - {0x8003, 69}, - {0x8006, 69}, - {0x800a, 69}, - {0x800f, 69}, - {0x8018, 69}, - {0x801f, 69}, - {0x8029, 69}, - {0xc038, 69}, - {0x8003, 70}, - {0x8006, 70}, - {0x800a, 70}, - {0x800f, 70}, - {0x8018, 70}, - {0x801f, 70}, - {0x8029, 70}, - {0xc038, 70}, + {0x03, 2, 69}, + {0x06, 2, 69}, + {0x0a, 2, 69}, + {0x0f, 2, 69}, + {0x18, 2, 69}, + {0x1f, 2, 69}, + {0x29, 2, 69}, + {0x38, 3, 69}, + {0x03, 2, 70}, + {0x06, 2, 70}, + {0x0a, 2, 70}, + {0x0f, 2, 70}, + {0x18, 2, 70}, + {0x1f, 2, 70}, + {0x29, 2, 70}, + {0x38, 3, 70}, }, /* 45 */ { - {0x8003, 71}, - {0x8006, 71}, - {0x800a, 71}, - {0x800f, 71}, - {0x8018, 71}, - {0x801f, 71}, - {0x8029, 71}, - {0xc038, 71}, - {0x8003, 72}, - {0x8006, 72}, - {0x800a, 72}, - {0x800f, 72}, - {0x8018, 72}, - {0x801f, 72}, - {0x8029, 72}, - {0xc038, 72}, + {0x03, 2, 71}, + {0x06, 2, 71}, + {0x0a, 2, 71}, + {0x0f, 2, 71}, + {0x18, 2, 71}, + {0x1f, 2, 71}, + {0x29, 2, 71}, + {0x38, 3, 71}, + {0x03, 2, 72}, + {0x06, 2, 72}, + {0x0a, 2, 72}, + {0x0f, 2, 72}, + {0x18, 2, 72}, + {0x1f, 2, 72}, + {0x29, 2, 72}, + {0x38, 3, 72}, }, /* 46 */ { - {0x8002, 73}, - {0x8009, 73}, - {0x8017, 73}, - {0xc028, 73}, - {0x8002, 74}, - {0x8009, 74}, - {0x8017, 74}, - {0xc028, 74}, - {0x8002, 75}, - {0x8009, 75}, - {0x8017, 75}, - {0xc028, 75}, - {0x8002, 76}, - {0x8009, 76}, - {0x8017, 76}, - {0xc028, 76}, + {0x02, 2, 73}, + {0x09, 2, 73}, + {0x17, 2, 73}, + {0x28, 3, 73}, + {0x02, 2, 74}, + {0x09, 2, 74}, + {0x17, 2, 74}, + {0x28, 3, 74}, + {0x02, 2, 75}, + {0x09, 2, 75}, + {0x17, 2, 75}, + {0x28, 3, 75}, + {0x02, 2, 76}, + {0x09, 2, 76}, + {0x17, 2, 76}, + {0x28, 3, 76}, }, /* 47 */ { - {0x8003, 73}, - {0x8006, 73}, - {0x800a, 73}, - {0x800f, 73}, - {0x8018, 73}, - {0x801f, 73}, - {0x8029, 73}, - {0xc038, 73}, - {0x8003, 74}, - {0x8006, 74}, - {0x800a, 74}, - {0x800f, 74}, - {0x8018, 74}, - {0x801f, 74}, - {0x8029, 74}, - {0xc038, 74}, + {0x03, 2, 73}, + {0x06, 2, 73}, + {0x0a, 2, 73}, + {0x0f, 2, 73}, + {0x18, 2, 73}, + {0x1f, 2, 73}, + {0x29, 2, 73}, + {0x38, 3, 73}, + {0x03, 2, 74}, + {0x06, 2, 74}, + {0x0a, 2, 74}, + {0x0f, 2, 74}, + {0x18, 2, 74}, + {0x1f, 2, 74}, + {0x29, 2, 74}, + {0x38, 3, 74}, }, /* 48 */ { - {0x8003, 75}, - {0x8006, 75}, - {0x800a, 75}, - {0x800f, 75}, - {0x8018, 75}, - {0x801f, 75}, - {0x8029, 75}, - {0xc038, 75}, - {0x8003, 76}, - {0x8006, 76}, - {0x800a, 76}, - {0x800f, 76}, - {0x8018, 76}, - {0x801f, 76}, - {0x8029, 76}, - {0xc038, 76}, + {0x03, 2, 75}, + {0x06, 2, 75}, + {0x0a, 2, 75}, + {0x0f, 2, 75}, + {0x18, 2, 75}, + {0x1f, 2, 75}, + {0x29, 2, 75}, + {0x38, 3, 75}, + {0x03, 2, 76}, + {0x06, 2, 76}, + {0x0a, 2, 76}, + {0x0f, 2, 76}, + {0x18, 2, 76}, + {0x1f, 2, 76}, + {0x29, 2, 76}, + {0x38, 3, 76}, }, /* 49 */ { - {0x8001, 77}, - {0xc016, 77}, - {0x8001, 78}, - {0xc016, 78}, - {0x8001, 79}, - {0xc016, 79}, - {0x8001, 80}, - {0xc016, 80}, - {0x8001, 81}, - {0xc016, 81}, - {0x8001, 82}, - {0xc016, 82}, - {0x8001, 83}, - {0xc016, 83}, - {0x8001, 84}, - {0xc016, 84}, + {0x01, 2, 77}, + {0x16, 3, 77}, + {0x01, 2, 78}, + {0x16, 3, 78}, + {0x01, 2, 79}, + {0x16, 3, 79}, + {0x01, 2, 80}, + {0x16, 3, 80}, + {0x01, 2, 81}, + {0x16, 3, 81}, + {0x01, 2, 82}, + {0x16, 3, 82}, + {0x01, 2, 83}, + {0x16, 3, 83}, + {0x01, 2, 84}, + {0x16, 3, 84}, }, /* 50 */ { - {0x8002, 77}, - {0x8009, 77}, - {0x8017, 77}, - {0xc028, 77}, - {0x8002, 78}, - {0x8009, 78}, - {0x8017, 78}, - {0xc028, 78}, - {0x8002, 79}, - {0x8009, 79}, - {0x8017, 79}, - {0xc028, 79}, - {0x8002, 80}, - {0x8009, 80}, - {0x8017, 80}, - {0xc028, 80}, + {0x02, 2, 77}, + {0x09, 2, 77}, + {0x17, 2, 77}, + {0x28, 3, 77}, + {0x02, 2, 78}, + {0x09, 2, 78}, + {0x17, 2, 78}, + {0x28, 3, 78}, + {0x02, 2, 79}, + {0x09, 2, 79}, + {0x17, 2, 79}, + {0x28, 3, 79}, + {0x02, 2, 80}, + {0x09, 2, 80}, + {0x17, 2, 80}, + {0x28, 3, 80}, }, /* 51 */ { - {0x8003, 77}, - {0x8006, 77}, - {0x800a, 77}, - {0x800f, 77}, - {0x8018, 77}, - {0x801f, 77}, - {0x8029, 77}, - {0xc038, 77}, - {0x8003, 78}, - {0x8006, 78}, - {0x800a, 78}, - {0x800f, 78}, - {0x8018, 78}, - {0x801f, 78}, - {0x8029, 78}, - {0xc038, 78}, + {0x03, 2, 77}, + {0x06, 2, 77}, + {0x0a, 2, 77}, + {0x0f, 2, 77}, + {0x18, 2, 77}, + {0x1f, 2, 77}, + {0x29, 2, 77}, + {0x38, 3, 77}, + {0x03, 2, 78}, + {0x06, 2, 78}, + {0x0a, 2, 78}, + {0x0f, 2, 78}, + {0x18, 2, 78}, + {0x1f, 2, 78}, + {0x29, 2, 78}, + {0x38, 3, 78}, }, /* 52 */ { - {0x8003, 79}, - {0x8006, 79}, - {0x800a, 79}, - {0x800f, 79}, - {0x8018, 79}, - {0x801f, 79}, - {0x8029, 79}, - {0xc038, 79}, - {0x8003, 80}, - {0x8006, 80}, - {0x800a, 80}, - {0x800f, 80}, - {0x8018, 80}, - {0x801f, 80}, - {0x8029, 80}, - {0xc038, 80}, + {0x03, 2, 79}, + {0x06, 2, 79}, + {0x0a, 2, 79}, + {0x0f, 2, 79}, + {0x18, 2, 79}, + {0x1f, 2, 79}, + {0x29, 2, 79}, + {0x38, 3, 79}, + {0x03, 2, 80}, + {0x06, 2, 80}, + {0x0a, 2, 80}, + {0x0f, 2, 80}, + {0x18, 2, 80}, + {0x1f, 2, 80}, + {0x29, 2, 80}, + {0x38, 3, 80}, }, /* 53 */ { - {0x8002, 81}, - {0x8009, 81}, - {0x8017, 81}, - {0xc028, 81}, - {0x8002, 82}, - {0x8009, 82}, - {0x8017, 82}, - {0xc028, 82}, - {0x8002, 83}, - {0x8009, 83}, - {0x8017, 83}, - {0xc028, 83}, - {0x8002, 84}, - {0x8009, 84}, - {0x8017, 84}, - {0xc028, 84}, + {0x02, 2, 81}, + {0x09, 2, 81}, + {0x17, 2, 81}, + {0x28, 3, 81}, + {0x02, 2, 82}, + {0x09, 2, 82}, + {0x17, 2, 82}, + {0x28, 3, 82}, + {0x02, 2, 83}, + {0x09, 2, 83}, + {0x17, 2, 83}, + {0x28, 3, 83}, + {0x02, 2, 84}, + {0x09, 2, 84}, + {0x17, 2, 84}, + {0x28, 3, 84}, }, /* 54 */ { - {0x8003, 81}, - {0x8006, 81}, - {0x800a, 81}, - {0x800f, 81}, - {0x8018, 81}, - {0x801f, 81}, - {0x8029, 81}, - {0xc038, 81}, - {0x8003, 82}, - {0x8006, 82}, - {0x800a, 82}, - {0x800f, 82}, - {0x8018, 82}, - {0x801f, 82}, - {0x8029, 82}, - {0xc038, 82}, + {0x03, 2, 81}, + {0x06, 2, 81}, + {0x0a, 2, 81}, + {0x0f, 2, 81}, + {0x18, 2, 81}, + {0x1f, 2, 81}, + {0x29, 2, 81}, + {0x38, 3, 81}, + {0x03, 2, 82}, + {0x06, 2, 82}, + {0x0a, 2, 82}, + {0x0f, 2, 82}, + {0x18, 2, 82}, + {0x1f, 2, 82}, + {0x29, 2, 82}, + {0x38, 3, 82}, }, /* 55 */ { - {0x8003, 83}, - {0x8006, 83}, - {0x800a, 83}, - {0x800f, 83}, - {0x8018, 83}, - {0x801f, 83}, - {0x8029, 83}, - {0xc038, 83}, - {0x8003, 84}, - {0x8006, 84}, - {0x800a, 84}, - {0x800f, 84}, - {0x8018, 84}, - {0x801f, 84}, - {0x8029, 84}, - {0xc038, 84}, + {0x03, 2, 83}, + {0x06, 2, 83}, + {0x0a, 2, 83}, + {0x0f, 2, 83}, + {0x18, 2, 83}, + {0x1f, 2, 83}, + {0x29, 2, 83}, + {0x38, 3, 83}, + {0x03, 2, 84}, + {0x06, 2, 84}, + {0x0a, 2, 84}, + {0x0f, 2, 84}, + {0x18, 2, 84}, + {0x1f, 2, 84}, + {0x29, 2, 84}, + {0x38, 3, 84}, }, /* 56 */ { - {0xc000, 85}, - {0xc000, 86}, - {0xc000, 87}, - {0xc000, 89}, - {0xc000, 106}, - {0xc000, 107}, - {0xc000, 113}, - {0xc000, 118}, - {0xc000, 119}, - {0xc000, 120}, - {0xc000, 121}, - {0xc000, 122}, - {0x46, 0}, - {0x47, 0}, - {0x49, 0}, - {0x404a, 0}, + {0x00, 3, 85}, + {0x00, 3, 86}, + {0x00, 3, 87}, + {0x00, 3, 89}, + {0x00, 3, 106}, + {0x00, 3, 107}, + {0x00, 3, 113}, + {0x00, 3, 118}, + {0x00, 3, 119}, + {0x00, 3, 120}, + {0x00, 3, 121}, + {0x00, 3, 122}, + {0x46, 0, 0}, + {0x47, 0, 0}, + {0x49, 0, 0}, + {0x4a, 1, 0}, }, /* 57 */ { - {0x8001, 85}, - {0xc016, 85}, - {0x8001, 86}, - {0xc016, 86}, - {0x8001, 87}, - {0xc016, 87}, - {0x8001, 89}, - {0xc016, 89}, - {0x8001, 106}, - {0xc016, 106}, - {0x8001, 107}, - {0xc016, 107}, - {0x8001, 113}, - {0xc016, 113}, - {0x8001, 118}, - {0xc016, 118}, + {0x01, 2, 85}, + {0x16, 3, 85}, + {0x01, 2, 86}, + {0x16, 3, 86}, + {0x01, 2, 87}, + {0x16, 3, 87}, + {0x01, 2, 89}, + {0x16, 3, 89}, + {0x01, 2, 106}, + {0x16, 3, 106}, + {0x01, 2, 107}, + {0x16, 3, 107}, + {0x01, 2, 113}, + {0x16, 3, 113}, + {0x01, 2, 118}, + {0x16, 3, 118}, }, /* 58 */ { - {0x8002, 85}, - {0x8009, 85}, - {0x8017, 85}, - {0xc028, 85}, - {0x8002, 86}, - {0x8009, 86}, - {0x8017, 86}, - {0xc028, 86}, - {0x8002, 87}, - {0x8009, 87}, - {0x8017, 87}, - {0xc028, 87}, - {0x8002, 89}, - {0x8009, 89}, - {0x8017, 89}, - {0xc028, 89}, + {0x02, 2, 85}, + {0x09, 2, 85}, + {0x17, 2, 85}, + {0x28, 3, 85}, + {0x02, 2, 86}, + {0x09, 2, 86}, + {0x17, 2, 86}, + {0x28, 3, 86}, + {0x02, 2, 87}, + {0x09, 2, 87}, + {0x17, 2, 87}, + {0x28, 3, 87}, + {0x02, 2, 89}, + {0x09, 2, 89}, + {0x17, 2, 89}, + {0x28, 3, 89}, }, /* 59 */ { - {0x8003, 85}, - {0x8006, 85}, - {0x800a, 85}, - {0x800f, 85}, - {0x8018, 85}, - {0x801f, 85}, - {0x8029, 85}, - {0xc038, 85}, - {0x8003, 86}, - {0x8006, 86}, - {0x800a, 86}, - {0x800f, 86}, - {0x8018, 86}, - {0x801f, 86}, - {0x8029, 86}, - {0xc038, 86}, + {0x03, 2, 85}, + {0x06, 2, 85}, + {0x0a, 2, 85}, + {0x0f, 2, 85}, + {0x18, 2, 85}, + {0x1f, 2, 85}, + {0x29, 2, 85}, + {0x38, 3, 85}, + {0x03, 2, 86}, + {0x06, 2, 86}, + {0x0a, 2, 86}, + {0x0f, 2, 86}, + {0x18, 2, 86}, + {0x1f, 2, 86}, + {0x29, 2, 86}, + {0x38, 3, 86}, }, /* 60 */ { - {0x8003, 87}, - {0x8006, 87}, - {0x800a, 87}, - {0x800f, 87}, - {0x8018, 87}, - {0x801f, 87}, - {0x8029, 87}, - {0xc038, 87}, - {0x8003, 89}, - {0x8006, 89}, - {0x800a, 89}, - {0x800f, 89}, - {0x8018, 89}, - {0x801f, 89}, - {0x8029, 89}, - {0xc038, 89}, + {0x03, 2, 87}, + {0x06, 2, 87}, + {0x0a, 2, 87}, + {0x0f, 2, 87}, + {0x18, 2, 87}, + {0x1f, 2, 87}, + {0x29, 2, 87}, + {0x38, 3, 87}, + {0x03, 2, 89}, + {0x06, 2, 89}, + {0x0a, 2, 89}, + {0x0f, 2, 89}, + {0x18, 2, 89}, + {0x1f, 2, 89}, + {0x29, 2, 89}, + {0x38, 3, 89}, }, /* 61 */ { - {0x8002, 106}, - {0x8009, 106}, - {0x8017, 106}, - {0xc028, 106}, - {0x8002, 107}, - {0x8009, 107}, - {0x8017, 107}, - {0xc028, 107}, - {0x8002, 113}, - {0x8009, 113}, - {0x8017, 113}, - {0xc028, 113}, - {0x8002, 118}, - {0x8009, 118}, - {0x8017, 118}, - {0xc028, 118}, + {0x02, 2, 106}, + {0x09, 2, 106}, + {0x17, 2, 106}, + {0x28, 3, 106}, + {0x02, 2, 107}, + {0x09, 2, 107}, + {0x17, 2, 107}, + {0x28, 3, 107}, + {0x02, 2, 113}, + {0x09, 2, 113}, + {0x17, 2, 113}, + {0x28, 3, 113}, + {0x02, 2, 118}, + {0x09, 2, 118}, + {0x17, 2, 118}, + {0x28, 3, 118}, }, /* 62 */ { - {0x8003, 106}, - {0x8006, 106}, - {0x800a, 106}, - {0x800f, 106}, - {0x8018, 106}, - {0x801f, 106}, - {0x8029, 106}, - {0xc038, 106}, - {0x8003, 107}, - {0x8006, 107}, - {0x800a, 107}, - {0x800f, 107}, - {0x8018, 107}, - {0x801f, 107}, - {0x8029, 107}, - {0xc038, 107}, + {0x03, 2, 106}, + {0x06, 2, 106}, + {0x0a, 2, 106}, + {0x0f, 2, 106}, + {0x18, 2, 106}, + {0x1f, 2, 106}, + {0x29, 2, 106}, + {0x38, 3, 106}, + {0x03, 2, 107}, + {0x06, 2, 107}, + {0x0a, 2, 107}, + {0x0f, 2, 107}, + {0x18, 2, 107}, + {0x1f, 2, 107}, + {0x29, 2, 107}, + {0x38, 3, 107}, }, /* 63 */ { - {0x8003, 113}, - {0x8006, 113}, - {0x800a, 113}, - {0x800f, 113}, - {0x8018, 113}, - {0x801f, 113}, - {0x8029, 113}, - {0xc038, 113}, - {0x8003, 118}, - {0x8006, 118}, - {0x800a, 118}, - {0x800f, 118}, - {0x8018, 118}, - {0x801f, 118}, - {0x8029, 118}, - {0xc038, 118}, + {0x03, 2, 113}, + {0x06, 2, 113}, + {0x0a, 2, 113}, + {0x0f, 2, 113}, + {0x18, 2, 113}, + {0x1f, 2, 113}, + {0x29, 2, 113}, + {0x38, 3, 113}, + {0x03, 2, 118}, + {0x06, 2, 118}, + {0x0a, 2, 118}, + {0x0f, 2, 118}, + {0x18, 2, 118}, + {0x1f, 2, 118}, + {0x29, 2, 118}, + {0x38, 3, 118}, }, /* 64 */ { - {0x8001, 119}, - {0xc016, 119}, - {0x8001, 120}, - {0xc016, 120}, - {0x8001, 121}, - {0xc016, 121}, - {0x8001, 122}, - {0xc016, 122}, - {0xc000, 38}, - {0xc000, 42}, - {0xc000, 44}, - {0xc000, 59}, - {0xc000, 88}, - {0xc000, 90}, - {0x4b, 0}, - {0x4e, 0}, + {0x01, 2, 119}, + {0x16, 3, 119}, + {0x01, 2, 120}, + {0x16, 3, 120}, + {0x01, 2, 121}, + {0x16, 3, 121}, + {0x01, 2, 122}, + {0x16, 3, 122}, + {0x00, 3, 38}, + {0x00, 3, 42}, + {0x00, 3, 44}, + {0x00, 3, 59}, + {0x00, 3, 88}, + {0x00, 3, 90}, + {0x4b, 0, 0}, + {0x4e, 0, 0}, }, /* 65 */ { - {0x8002, 119}, - {0x8009, 119}, - {0x8017, 119}, - {0xc028, 119}, - {0x8002, 120}, - {0x8009, 120}, - {0x8017, 120}, - {0xc028, 120}, - {0x8002, 121}, - {0x8009, 121}, - {0x8017, 121}, - {0xc028, 121}, - {0x8002, 122}, - {0x8009, 122}, - {0x8017, 122}, - {0xc028, 122}, + {0x02, 2, 119}, + {0x09, 2, 119}, + {0x17, 2, 119}, + {0x28, 3, 119}, + {0x02, 2, 120}, + {0x09, 2, 120}, + {0x17, 2, 120}, + {0x28, 3, 120}, + {0x02, 2, 121}, + {0x09, 2, 121}, + {0x17, 2, 121}, + {0x28, 3, 121}, + {0x02, 2, 122}, + {0x09, 2, 122}, + {0x17, 2, 122}, + {0x28, 3, 122}, }, /* 66 */ { - {0x8003, 119}, - {0x8006, 119}, - {0x800a, 119}, - {0x800f, 119}, - {0x8018, 119}, - {0x801f, 119}, - {0x8029, 119}, - {0xc038, 119}, - {0x8003, 120}, - {0x8006, 120}, - {0x800a, 120}, - {0x800f, 120}, - {0x8018, 120}, - {0x801f, 120}, - {0x8029, 120}, - {0xc038, 120}, + {0x03, 2, 119}, + {0x06, 2, 119}, + {0x0a, 2, 119}, + {0x0f, 2, 119}, + {0x18, 2, 119}, + {0x1f, 2, 119}, + {0x29, 2, 119}, + {0x38, 3, 119}, + {0x03, 2, 120}, + {0x06, 2, 120}, + {0x0a, 2, 120}, + {0x0f, 2, 120}, + {0x18, 2, 120}, + {0x1f, 2, 120}, + {0x29, 2, 120}, + {0x38, 3, 120}, }, /* 67 */ { - {0x8003, 121}, - {0x8006, 121}, - {0x800a, 121}, - {0x800f, 121}, - {0x8018, 121}, - {0x801f, 121}, - {0x8029, 121}, - {0xc038, 121}, - {0x8003, 122}, - {0x8006, 122}, - {0x800a, 122}, - {0x800f, 122}, - {0x8018, 122}, - {0x801f, 122}, - {0x8029, 122}, - {0xc038, 122}, + {0x03, 2, 121}, + {0x06, 2, 121}, + {0x0a, 2, 121}, + {0x0f, 2, 121}, + {0x18, 2, 121}, + {0x1f, 2, 121}, + {0x29, 2, 121}, + {0x38, 3, 121}, + {0x03, 2, 122}, + {0x06, 2, 122}, + {0x0a, 2, 122}, + {0x0f, 2, 122}, + {0x18, 2, 122}, + {0x1f, 2, 122}, + {0x29, 2, 122}, + {0x38, 3, 122}, }, /* 68 */ { - {0x8001, 38}, - {0xc016, 38}, - {0x8001, 42}, - {0xc016, 42}, - {0x8001, 44}, - {0xc016, 44}, - {0x8001, 59}, - {0xc016, 59}, - {0x8001, 88}, - {0xc016, 88}, - {0x8001, 90}, - {0xc016, 90}, - {0x4c, 0}, - {0x4d, 0}, - {0x4f, 0}, - {0x51, 0}, + {0x01, 2, 38}, + {0x16, 3, 38}, + {0x01, 2, 42}, + {0x16, 3, 42}, + {0x01, 2, 44}, + {0x16, 3, 44}, + {0x01, 2, 59}, + {0x16, 3, 59}, + {0x01, 2, 88}, + {0x16, 3, 88}, + {0x01, 2, 90}, + {0x16, 3, 90}, + {0x4c, 0, 0}, + {0x4d, 0, 0}, + {0x4f, 0, 0}, + {0x51, 0, 0}, }, /* 69 */ { - {0x8002, 38}, - {0x8009, 38}, - {0x8017, 38}, - {0xc028, 38}, - {0x8002, 42}, - {0x8009, 42}, - {0x8017, 42}, - {0xc028, 42}, - {0x8002, 44}, - {0x8009, 44}, - {0x8017, 44}, - {0xc028, 44}, - {0x8002, 59}, - {0x8009, 59}, - {0x8017, 59}, - {0xc028, 59}, + {0x02, 2, 38}, + {0x09, 2, 38}, + {0x17, 2, 38}, + {0x28, 3, 38}, + {0x02, 2, 42}, + {0x09, 2, 42}, + {0x17, 2, 42}, + {0x28, 3, 42}, + {0x02, 2, 44}, + {0x09, 2, 44}, + {0x17, 2, 44}, + {0x28, 3, 44}, + {0x02, 2, 59}, + {0x09, 2, 59}, + {0x17, 2, 59}, + {0x28, 3, 59}, }, /* 70 */ { - {0x8003, 38}, - {0x8006, 38}, - {0x800a, 38}, - {0x800f, 38}, - {0x8018, 38}, - {0x801f, 38}, - {0x8029, 38}, - {0xc038, 38}, - {0x8003, 42}, - {0x8006, 42}, - {0x800a, 42}, - {0x800f, 42}, - {0x8018, 42}, - {0x801f, 42}, - {0x8029, 42}, - {0xc038, 42}, + {0x03, 2, 38}, + {0x06, 2, 38}, + {0x0a, 2, 38}, + {0x0f, 2, 38}, + {0x18, 2, 38}, + {0x1f, 2, 38}, + {0x29, 2, 38}, + {0x38, 3, 38}, + {0x03, 2, 42}, + {0x06, 2, 42}, + {0x0a, 2, 42}, + {0x0f, 2, 42}, + {0x18, 2, 42}, + {0x1f, 2, 42}, + {0x29, 2, 42}, + {0x38, 3, 42}, }, /* 71 */ { - {0x8003, 44}, - {0x8006, 44}, - {0x800a, 44}, - {0x800f, 44}, - {0x8018, 44}, - {0x801f, 44}, - {0x8029, 44}, - {0xc038, 44}, - {0x8003, 59}, - {0x8006, 59}, - {0x800a, 59}, - {0x800f, 59}, - {0x8018, 59}, - {0x801f, 59}, - {0x8029, 59}, - {0xc038, 59}, + {0x03, 2, 44}, + {0x06, 2, 44}, + {0x0a, 2, 44}, + {0x0f, 2, 44}, + {0x18, 2, 44}, + {0x1f, 2, 44}, + {0x29, 2, 44}, + {0x38, 3, 44}, + {0x03, 2, 59}, + {0x06, 2, 59}, + {0x0a, 2, 59}, + {0x0f, 2, 59}, + {0x18, 2, 59}, + {0x1f, 2, 59}, + {0x29, 2, 59}, + {0x38, 3, 59}, }, /* 72 */ { - {0x8002, 88}, - {0x8009, 88}, - {0x8017, 88}, - {0xc028, 88}, - {0x8002, 90}, - {0x8009, 90}, - {0x8017, 90}, - {0xc028, 90}, - {0xc000, 33}, - {0xc000, 34}, - {0xc000, 40}, - {0xc000, 41}, - {0xc000, 63}, - {0x50, 0}, - {0x52, 0}, - {0x54, 0}, + {0x02, 2, 88}, + {0x09, 2, 88}, + {0x17, 2, 88}, + {0x28, 3, 88}, + {0x02, 2, 90}, + {0x09, 2, 90}, + {0x17, 2, 90}, + {0x28, 3, 90}, + {0x00, 3, 33}, + {0x00, 3, 34}, + {0x00, 3, 40}, + {0x00, 3, 41}, + {0x00, 3, 63}, + {0x50, 0, 0}, + {0x52, 0, 0}, + {0x54, 0, 0}, }, /* 73 */ { - {0x8003, 88}, - {0x8006, 88}, - {0x800a, 88}, - {0x800f, 88}, - {0x8018, 88}, - {0x801f, 88}, - {0x8029, 88}, - {0xc038, 88}, - {0x8003, 90}, - {0x8006, 90}, - {0x800a, 90}, - {0x800f, 90}, - {0x8018, 90}, - {0x801f, 90}, - {0x8029, 90}, - {0xc038, 90}, + {0x03, 2, 88}, + {0x06, 2, 88}, + {0x0a, 2, 88}, + {0x0f, 2, 88}, + {0x18, 2, 88}, + {0x1f, 2, 88}, + {0x29, 2, 88}, + {0x38, 3, 88}, + {0x03, 2, 90}, + {0x06, 2, 90}, + {0x0a, 2, 90}, + {0x0f, 2, 90}, + {0x18, 2, 90}, + {0x1f, 2, 90}, + {0x29, 2, 90}, + {0x38, 3, 90}, }, /* 74 */ { - {0x8001, 33}, - {0xc016, 33}, - {0x8001, 34}, - {0xc016, 34}, - {0x8001, 40}, - {0xc016, 40}, - {0x8001, 41}, - {0xc016, 41}, - {0x8001, 63}, - {0xc016, 63}, - {0xc000, 39}, - {0xc000, 43}, - {0xc000, 124}, - {0x53, 0}, - {0x55, 0}, - {0x58, 0}, + {0x01, 2, 33}, + {0x16, 3, 33}, + {0x01, 2, 34}, + {0x16, 3, 34}, + {0x01, 2, 40}, + {0x16, 3, 40}, + {0x01, 2, 41}, + {0x16, 3, 41}, + {0x01, 2, 63}, + {0x16, 3, 63}, + {0x00, 3, 39}, + {0x00, 3, 43}, + {0x00, 3, 124}, + {0x53, 0, 0}, + {0x55, 0, 0}, + {0x58, 0, 0}, }, /* 75 */ { - {0x8002, 33}, - {0x8009, 33}, - {0x8017, 33}, - {0xc028, 33}, - {0x8002, 34}, - {0x8009, 34}, - {0x8017, 34}, - {0xc028, 34}, - {0x8002, 40}, - {0x8009, 40}, - {0x8017, 40}, - {0xc028, 40}, - {0x8002, 41}, - {0x8009, 41}, - {0x8017, 41}, - {0xc028, 41}, + {0x02, 2, 33}, + {0x09, 2, 33}, + {0x17, 2, 33}, + {0x28, 3, 33}, + {0x02, 2, 34}, + {0x09, 2, 34}, + {0x17, 2, 34}, + {0x28, 3, 34}, + {0x02, 2, 40}, + {0x09, 2, 40}, + {0x17, 2, 40}, + {0x28, 3, 40}, + {0x02, 2, 41}, + {0x09, 2, 41}, + {0x17, 2, 41}, + {0x28, 3, 41}, }, /* 76 */ { - {0x8003, 33}, - {0x8006, 33}, - {0x800a, 33}, - {0x800f, 33}, - {0x8018, 33}, - {0x801f, 33}, - {0x8029, 33}, - {0xc038, 33}, - {0x8003, 34}, - {0x8006, 34}, - {0x800a, 34}, - {0x800f, 34}, - {0x8018, 34}, - {0x801f, 34}, - {0x8029, 34}, - {0xc038, 34}, + {0x03, 2, 33}, + {0x06, 2, 33}, + {0x0a, 2, 33}, + {0x0f, 2, 33}, + {0x18, 2, 33}, + {0x1f, 2, 33}, + {0x29, 2, 33}, + {0x38, 3, 33}, + {0x03, 2, 34}, + {0x06, 2, 34}, + {0x0a, 2, 34}, + {0x0f, 2, 34}, + {0x18, 2, 34}, + {0x1f, 2, 34}, + {0x29, 2, 34}, + {0x38, 3, 34}, }, /* 77 */ { - {0x8003, 40}, - {0x8006, 40}, - {0x800a, 40}, - {0x800f, 40}, - {0x8018, 40}, - {0x801f, 40}, - {0x8029, 40}, - {0xc038, 40}, - {0x8003, 41}, - {0x8006, 41}, - {0x800a, 41}, - {0x800f, 41}, - {0x8018, 41}, - {0x801f, 41}, - {0x8029, 41}, - {0xc038, 41}, + {0x03, 2, 40}, + {0x06, 2, 40}, + {0x0a, 2, 40}, + {0x0f, 2, 40}, + {0x18, 2, 40}, + {0x1f, 2, 40}, + {0x29, 2, 40}, + {0x38, 3, 40}, + {0x03, 2, 41}, + {0x06, 2, 41}, + {0x0a, 2, 41}, + {0x0f, 2, 41}, + {0x18, 2, 41}, + {0x1f, 2, 41}, + {0x29, 2, 41}, + {0x38, 3, 41}, }, /* 78 */ { - {0x8002, 63}, - {0x8009, 63}, - {0x8017, 63}, - {0xc028, 63}, - {0x8001, 39}, - {0xc016, 39}, - {0x8001, 43}, - {0xc016, 43}, - {0x8001, 124}, - {0xc016, 124}, - {0xc000, 35}, - {0xc000, 62}, - {0x56, 0}, - {0x57, 0}, - {0x59, 0}, - {0x5a, 0}, + {0x02, 2, 63}, + {0x09, 2, 63}, + {0x17, 2, 63}, + {0x28, 3, 63}, + {0x01, 2, 39}, + {0x16, 3, 39}, + {0x01, 2, 43}, + {0x16, 3, 43}, + {0x01, 2, 124}, + {0x16, 3, 124}, + {0x00, 3, 35}, + {0x00, 3, 62}, + {0x56, 0, 0}, + {0x57, 0, 0}, + {0x59, 0, 0}, + {0x5a, 0, 0}, }, /* 79 */ { - {0x8003, 63}, - {0x8006, 63}, - {0x800a, 63}, - {0x800f, 63}, - {0x8018, 63}, - {0x801f, 63}, - {0x8029, 63}, - {0xc038, 63}, - {0x8002, 39}, - {0x8009, 39}, - {0x8017, 39}, - {0xc028, 39}, - {0x8002, 43}, - {0x8009, 43}, - {0x8017, 43}, - {0xc028, 43}, + {0x03, 2, 63}, + {0x06, 2, 63}, + {0x0a, 2, 63}, + {0x0f, 2, 63}, + {0x18, 2, 63}, + {0x1f, 2, 63}, + {0x29, 2, 63}, + {0x38, 3, 63}, + {0x02, 2, 39}, + {0x09, 2, 39}, + {0x17, 2, 39}, + {0x28, 3, 39}, + {0x02, 2, 43}, + {0x09, 2, 43}, + {0x17, 2, 43}, + {0x28, 3, 43}, }, /* 80 */ { - {0x8003, 39}, - {0x8006, 39}, - {0x800a, 39}, - {0x800f, 39}, - {0x8018, 39}, - {0x801f, 39}, - {0x8029, 39}, - {0xc038, 39}, - {0x8003, 43}, - {0x8006, 43}, - {0x800a, 43}, - {0x800f, 43}, - {0x8018, 43}, - {0x801f, 43}, - {0x8029, 43}, - {0xc038, 43}, + {0x03, 2, 39}, + {0x06, 2, 39}, + {0x0a, 2, 39}, + {0x0f, 2, 39}, + {0x18, 2, 39}, + {0x1f, 2, 39}, + {0x29, 2, 39}, + {0x38, 3, 39}, + {0x03, 2, 43}, + {0x06, 2, 43}, + {0x0a, 2, 43}, + {0x0f, 2, 43}, + {0x18, 2, 43}, + {0x1f, 2, 43}, + {0x29, 2, 43}, + {0x38, 3, 43}, }, /* 81 */ { - {0x8002, 124}, - {0x8009, 124}, - {0x8017, 124}, - {0xc028, 124}, - {0x8001, 35}, - {0xc016, 35}, - {0x8001, 62}, - {0xc016, 62}, - {0xc000, 0}, - {0xc000, 36}, - {0xc000, 64}, - {0xc000, 91}, - {0xc000, 93}, - {0xc000, 126}, - {0x5b, 0}, - {0x5c, 0}, + {0x02, 2, 124}, + {0x09, 2, 124}, + {0x17, 2, 124}, + {0x28, 3, 124}, + {0x01, 2, 35}, + {0x16, 3, 35}, + {0x01, 2, 62}, + {0x16, 3, 62}, + {0x00, 3, 0}, + {0x00, 3, 36}, + {0x00, 3, 64}, + {0x00, 3, 91}, + {0x00, 3, 93}, + {0x00, 3, 126}, + {0x5b, 0, 0}, + {0x5c, 0, 0}, }, /* 82 */ { - {0x8003, 124}, - {0x8006, 124}, - {0x800a, 124}, - {0x800f, 124}, - {0x8018, 124}, - {0x801f, 124}, - {0x8029, 124}, - {0xc038, 124}, - {0x8002, 35}, - {0x8009, 35}, - {0x8017, 35}, - {0xc028, 35}, - {0x8002, 62}, - {0x8009, 62}, - {0x8017, 62}, - {0xc028, 62}, + {0x03, 2, 124}, + {0x06, 2, 124}, + {0x0a, 2, 124}, + {0x0f, 2, 124}, + {0x18, 2, 124}, + {0x1f, 2, 124}, + {0x29, 2, 124}, + {0x38, 3, 124}, + {0x02, 2, 35}, + {0x09, 2, 35}, + {0x17, 2, 35}, + {0x28, 3, 35}, + {0x02, 2, 62}, + {0x09, 2, 62}, + {0x17, 2, 62}, + {0x28, 3, 62}, }, /* 83 */ { - {0x8003, 35}, - {0x8006, 35}, - {0x800a, 35}, - {0x800f, 35}, - {0x8018, 35}, - {0x801f, 35}, - {0x8029, 35}, - {0xc038, 35}, - {0x8003, 62}, - {0x8006, 62}, - {0x800a, 62}, - {0x800f, 62}, - {0x8018, 62}, - {0x801f, 62}, - {0x8029, 62}, - {0xc038, 62}, + {0x03, 2, 35}, + {0x06, 2, 35}, + {0x0a, 2, 35}, + {0x0f, 2, 35}, + {0x18, 2, 35}, + {0x1f, 2, 35}, + {0x29, 2, 35}, + {0x38, 3, 35}, + {0x03, 2, 62}, + {0x06, 2, 62}, + {0x0a, 2, 62}, + {0x0f, 2, 62}, + {0x18, 2, 62}, + {0x1f, 2, 62}, + {0x29, 2, 62}, + {0x38, 3, 62}, }, /* 84 */ { - {0x8001, 0}, - {0xc016, 0}, - {0x8001, 36}, - {0xc016, 36}, - {0x8001, 64}, - {0xc016, 64}, - {0x8001, 91}, - {0xc016, 91}, - {0x8001, 93}, - {0xc016, 93}, - {0x8001, 126}, - {0xc016, 126}, - {0xc000, 94}, - {0xc000, 125}, - {0x5d, 0}, - {0x5e, 0}, + {0x01, 2, 0}, + {0x16, 3, 0}, + {0x01, 2, 36}, + {0x16, 3, 36}, + {0x01, 2, 64}, + {0x16, 3, 64}, + {0x01, 2, 91}, + {0x16, 3, 91}, + {0x01, 2, 93}, + {0x16, 3, 93}, + {0x01, 2, 126}, + {0x16, 3, 126}, + {0x00, 3, 94}, + {0x00, 3, 125}, + {0x5d, 0, 0}, + {0x5e, 0, 0}, }, /* 85 */ { - {0x8002, 0}, - {0x8009, 0}, - {0x8017, 0}, - {0xc028, 0}, - {0x8002, 36}, - {0x8009, 36}, - {0x8017, 36}, - {0xc028, 36}, - {0x8002, 64}, - {0x8009, 64}, - {0x8017, 64}, - {0xc028, 64}, - {0x8002, 91}, - {0x8009, 91}, - {0x8017, 91}, - {0xc028, 91}, + {0x02, 2, 0}, + {0x09, 2, 0}, + {0x17, 2, 0}, + {0x28, 3, 0}, + {0x02, 2, 36}, + {0x09, 2, 36}, + {0x17, 2, 36}, + {0x28, 3, 36}, + {0x02, 2, 64}, + {0x09, 2, 64}, + {0x17, 2, 64}, + {0x28, 3, 64}, + {0x02, 2, 91}, + {0x09, 2, 91}, + {0x17, 2, 91}, + {0x28, 3, 91}, }, /* 86 */ { - {0x8003, 0}, - {0x8006, 0}, - {0x800a, 0}, - {0x800f, 0}, - {0x8018, 0}, - {0x801f, 0}, - {0x8029, 0}, - {0xc038, 0}, - {0x8003, 36}, - {0x8006, 36}, - {0x800a, 36}, - {0x800f, 36}, - {0x8018, 36}, - {0x801f, 36}, - {0x8029, 36}, - {0xc038, 36}, + {0x03, 2, 0}, + {0x06, 2, 0}, + {0x0a, 2, 0}, + {0x0f, 2, 0}, + {0x18, 2, 0}, + {0x1f, 2, 0}, + {0x29, 2, 0}, + {0x38, 3, 0}, + {0x03, 2, 36}, + {0x06, 2, 36}, + {0x0a, 2, 36}, + {0x0f, 2, 36}, + {0x18, 2, 36}, + {0x1f, 2, 36}, + {0x29, 2, 36}, + {0x38, 3, 36}, }, /* 87 */ { - {0x8003, 64}, - {0x8006, 64}, - {0x800a, 64}, - {0x800f, 64}, - {0x8018, 64}, - {0x801f, 64}, - {0x8029, 64}, - {0xc038, 64}, - {0x8003, 91}, - {0x8006, 91}, - {0x800a, 91}, - {0x800f, 91}, - {0x8018, 91}, - {0x801f, 91}, - {0x8029, 91}, - {0xc038, 91}, + {0x03, 2, 64}, + {0x06, 2, 64}, + {0x0a, 2, 64}, + {0x0f, 2, 64}, + {0x18, 2, 64}, + {0x1f, 2, 64}, + {0x29, 2, 64}, + {0x38, 3, 64}, + {0x03, 2, 91}, + {0x06, 2, 91}, + {0x0a, 2, 91}, + {0x0f, 2, 91}, + {0x18, 2, 91}, + {0x1f, 2, 91}, + {0x29, 2, 91}, + {0x38, 3, 91}, }, /* 88 */ { - {0x8002, 93}, - {0x8009, 93}, - {0x8017, 93}, - {0xc028, 93}, - {0x8002, 126}, - {0x8009, 126}, - {0x8017, 126}, - {0xc028, 126}, - {0x8001, 94}, - {0xc016, 94}, - {0x8001, 125}, - {0xc016, 125}, - {0xc000, 60}, - {0xc000, 96}, - {0xc000, 123}, - {0x5f, 0}, + {0x02, 2, 93}, + {0x09, 2, 93}, + {0x17, 2, 93}, + {0x28, 3, 93}, + {0x02, 2, 126}, + {0x09, 2, 126}, + {0x17, 2, 126}, + {0x28, 3, 126}, + {0x01, 2, 94}, + {0x16, 3, 94}, + {0x01, 2, 125}, + {0x16, 3, 125}, + {0x00, 3, 60}, + {0x00, 3, 96}, + {0x00, 3, 123}, + {0x5f, 0, 0}, }, /* 89 */ { - {0x8003, 93}, - {0x8006, 93}, - {0x800a, 93}, - {0x800f, 93}, - {0x8018, 93}, - {0x801f, 93}, - {0x8029, 93}, - {0xc038, 93}, - {0x8003, 126}, - {0x8006, 126}, - {0x800a, 126}, - {0x800f, 126}, - {0x8018, 126}, - {0x801f, 126}, - {0x8029, 126}, - {0xc038, 126}, + {0x03, 2, 93}, + {0x06, 2, 93}, + {0x0a, 2, 93}, + {0x0f, 2, 93}, + {0x18, 2, 93}, + {0x1f, 2, 93}, + {0x29, 2, 93}, + {0x38, 3, 93}, + {0x03, 2, 126}, + {0x06, 2, 126}, + {0x0a, 2, 126}, + {0x0f, 2, 126}, + {0x18, 2, 126}, + {0x1f, 2, 126}, + {0x29, 2, 126}, + {0x38, 3, 126}, }, /* 90 */ { - {0x8002, 94}, - {0x8009, 94}, - {0x8017, 94}, - {0xc028, 94}, - {0x8002, 125}, - {0x8009, 125}, - {0x8017, 125}, - {0xc028, 125}, - {0x8001, 60}, - {0xc016, 60}, - {0x8001, 96}, - {0xc016, 96}, - {0x8001, 123}, - {0xc016, 123}, - {0x60, 0}, - {0x6e, 0}, + {0x02, 2, 94}, + {0x09, 2, 94}, + {0x17, 2, 94}, + {0x28, 3, 94}, + {0x02, 2, 125}, + {0x09, 2, 125}, + {0x17, 2, 125}, + {0x28, 3, 125}, + {0x01, 2, 60}, + {0x16, 3, 60}, + {0x01, 2, 96}, + {0x16, 3, 96}, + {0x01, 2, 123}, + {0x16, 3, 123}, + {0x60, 0, 0}, + {0x6e, 0, 0}, }, /* 91 */ { - {0x8003, 94}, - {0x8006, 94}, - {0x800a, 94}, - {0x800f, 94}, - {0x8018, 94}, - {0x801f, 94}, - {0x8029, 94}, - {0xc038, 94}, - {0x8003, 125}, - {0x8006, 125}, - {0x800a, 125}, - {0x800f, 125}, - {0x8018, 125}, - {0x801f, 125}, - {0x8029, 125}, - {0xc038, 125}, + {0x03, 2, 94}, + {0x06, 2, 94}, + {0x0a, 2, 94}, + {0x0f, 2, 94}, + {0x18, 2, 94}, + {0x1f, 2, 94}, + {0x29, 2, 94}, + {0x38, 3, 94}, + {0x03, 2, 125}, + {0x06, 2, 125}, + {0x0a, 2, 125}, + {0x0f, 2, 125}, + {0x18, 2, 125}, + {0x1f, 2, 125}, + {0x29, 2, 125}, + {0x38, 3, 125}, }, /* 92 */ { - {0x8002, 60}, - {0x8009, 60}, - {0x8017, 60}, - {0xc028, 60}, - {0x8002, 96}, - {0x8009, 96}, - {0x8017, 96}, - {0xc028, 96}, - {0x8002, 123}, - {0x8009, 123}, - {0x8017, 123}, - {0xc028, 123}, - {0x61, 0}, - {0x65, 0}, - {0x6f, 0}, - {0x85, 0}, + {0x02, 2, 60}, + {0x09, 2, 60}, + {0x17, 2, 60}, + {0x28, 3, 60}, + {0x02, 2, 96}, + {0x09, 2, 96}, + {0x17, 2, 96}, + {0x28, 3, 96}, + {0x02, 2, 123}, + {0x09, 2, 123}, + {0x17, 2, 123}, + {0x28, 3, 123}, + {0x61, 0, 0}, + {0x65, 0, 0}, + {0x6f, 0, 0}, + {0x85, 0, 0}, }, /* 93 */ { - {0x8003, 60}, - {0x8006, 60}, - {0x800a, 60}, - {0x800f, 60}, - {0x8018, 60}, - {0x801f, 60}, - {0x8029, 60}, - {0xc038, 60}, - {0x8003, 96}, - {0x8006, 96}, - {0x800a, 96}, - {0x800f, 96}, - {0x8018, 96}, - {0x801f, 96}, - {0x8029, 96}, - {0xc038, 96}, + {0x03, 2, 60}, + {0x06, 2, 60}, + {0x0a, 2, 60}, + {0x0f, 2, 60}, + {0x18, 2, 60}, + {0x1f, 2, 60}, + {0x29, 2, 60}, + {0x38, 3, 60}, + {0x03, 2, 96}, + {0x06, 2, 96}, + {0x0a, 2, 96}, + {0x0f, 2, 96}, + {0x18, 2, 96}, + {0x1f, 2, 96}, + {0x29, 2, 96}, + {0x38, 3, 96}, }, /* 94 */ { - {0x8003, 123}, - {0x8006, 123}, - {0x800a, 123}, - {0x800f, 123}, - {0x8018, 123}, - {0x801f, 123}, - {0x8029, 123}, - {0xc038, 123}, - {0x62, 0}, - {0x63, 0}, - {0x66, 0}, - {0x69, 0}, - {0x70, 0}, - {0x77, 0}, - {0x86, 0}, - {0x99, 0}, + {0x03, 2, 123}, + {0x06, 2, 123}, + {0x0a, 2, 123}, + {0x0f, 2, 123}, + {0x18, 2, 123}, + {0x1f, 2, 123}, + {0x29, 2, 123}, + {0x38, 3, 123}, + {0x62, 0, 0}, + {0x63, 0, 0}, + {0x66, 0, 0}, + {0x69, 0, 0}, + {0x70, 0, 0}, + {0x77, 0, 0}, + {0x86, 0, 0}, + {0x99, 0, 0}, }, /* 95 */ { - {0xc000, 92}, - {0xc000, 195}, - {0xc000, 208}, - {0x64, 0}, - {0x67, 0}, - {0x68, 0}, - {0x6a, 0}, - {0x6b, 0}, - {0x71, 0}, - {0x74, 0}, - {0x78, 0}, - {0x7e, 0}, - {0x87, 0}, - {0x8e, 0}, - {0x9a, 0}, - {0xa9, 0}, + {0x00, 3, 92}, + {0x00, 3, 195}, + {0x00, 3, 208}, + {0x64, 0, 0}, + {0x67, 0, 0}, + {0x68, 0, 0}, + {0x6a, 0, 0}, + {0x6b, 0, 0}, + {0x71, 0, 0}, + {0x74, 0, 0}, + {0x78, 0, 0}, + {0x7e, 0, 0}, + {0x87, 0, 0}, + {0x8e, 0, 0}, + {0x9a, 0, 0}, + {0xa9, 0, 0}, }, /* 96 */ { - {0x8001, 92}, - {0xc016, 92}, - {0x8001, 195}, - {0xc016, 195}, - {0x8001, 208}, - {0xc016, 208}, - {0xc000, 128}, - {0xc000, 130}, - {0xc000, 131}, - {0xc000, 162}, - {0xc000, 184}, - {0xc000, 194}, - {0xc000, 224}, - {0xc000, 226}, - {0x6c, 0}, - {0x6d, 0}, + {0x01, 2, 92}, + {0x16, 3, 92}, + {0x01, 2, 195}, + {0x16, 3, 195}, + {0x01, 2, 208}, + {0x16, 3, 208}, + {0x00, 3, 128}, + {0x00, 3, 130}, + {0x00, 3, 131}, + {0x00, 3, 162}, + {0x00, 3, 184}, + {0x00, 3, 194}, + {0x00, 3, 224}, + {0x00, 3, 226}, + {0x6c, 0, 0}, + {0x6d, 0, 0}, }, /* 97 */ { - {0x8002, 92}, - {0x8009, 92}, - {0x8017, 92}, - {0xc028, 92}, - {0x8002, 195}, - {0x8009, 195}, - {0x8017, 195}, - {0xc028, 195}, - {0x8002, 208}, - {0x8009, 208}, - {0x8017, 208}, - {0xc028, 208}, - {0x8001, 128}, - {0xc016, 128}, - {0x8001, 130}, - {0xc016, 130}, + {0x02, 2, 92}, + {0x09, 2, 92}, + {0x17, 2, 92}, + {0x28, 3, 92}, + {0x02, 2, 195}, + {0x09, 2, 195}, + {0x17, 2, 195}, + {0x28, 3, 195}, + {0x02, 2, 208}, + {0x09, 2, 208}, + {0x17, 2, 208}, + {0x28, 3, 208}, + {0x01, 2, 128}, + {0x16, 3, 128}, + {0x01, 2, 130}, + {0x16, 3, 130}, }, /* 98 */ { - {0x8003, 92}, - {0x8006, 92}, - {0x800a, 92}, - {0x800f, 92}, - {0x8018, 92}, - {0x801f, 92}, - {0x8029, 92}, - {0xc038, 92}, - {0x8003, 195}, - {0x8006, 195}, - {0x800a, 195}, - {0x800f, 195}, - {0x8018, 195}, - {0x801f, 195}, - {0x8029, 195}, - {0xc038, 195}, + {0x03, 2, 92}, + {0x06, 2, 92}, + {0x0a, 2, 92}, + {0x0f, 2, 92}, + {0x18, 2, 92}, + {0x1f, 2, 92}, + {0x29, 2, 92}, + {0x38, 3, 92}, + {0x03, 2, 195}, + {0x06, 2, 195}, + {0x0a, 2, 195}, + {0x0f, 2, 195}, + {0x18, 2, 195}, + {0x1f, 2, 195}, + {0x29, 2, 195}, + {0x38, 3, 195}, }, /* 99 */ { - {0x8003, 208}, - {0x8006, 208}, - {0x800a, 208}, - {0x800f, 208}, - {0x8018, 208}, - {0x801f, 208}, - {0x8029, 208}, - {0xc038, 208}, - {0x8002, 128}, - {0x8009, 128}, - {0x8017, 128}, - {0xc028, 128}, - {0x8002, 130}, - {0x8009, 130}, - {0x8017, 130}, - {0xc028, 130}, + {0x03, 2, 208}, + {0x06, 2, 208}, + {0x0a, 2, 208}, + {0x0f, 2, 208}, + {0x18, 2, 208}, + {0x1f, 2, 208}, + {0x29, 2, 208}, + {0x38, 3, 208}, + {0x02, 2, 128}, + {0x09, 2, 128}, + {0x17, 2, 128}, + {0x28, 3, 128}, + {0x02, 2, 130}, + {0x09, 2, 130}, + {0x17, 2, 130}, + {0x28, 3, 130}, }, /* 100 */ { - {0x8003, 128}, - {0x8006, 128}, - {0x800a, 128}, - {0x800f, 128}, - {0x8018, 128}, - {0x801f, 128}, - {0x8029, 128}, - {0xc038, 128}, - {0x8003, 130}, - {0x8006, 130}, - {0x800a, 130}, - {0x800f, 130}, - {0x8018, 130}, - {0x801f, 130}, - {0x8029, 130}, - {0xc038, 130}, + {0x03, 2, 128}, + {0x06, 2, 128}, + {0x0a, 2, 128}, + {0x0f, 2, 128}, + {0x18, 2, 128}, + {0x1f, 2, 128}, + {0x29, 2, 128}, + {0x38, 3, 128}, + {0x03, 2, 130}, + {0x06, 2, 130}, + {0x0a, 2, 130}, + {0x0f, 2, 130}, + {0x18, 2, 130}, + {0x1f, 2, 130}, + {0x29, 2, 130}, + {0x38, 3, 130}, }, /* 101 */ { - {0x8001, 131}, - {0xc016, 131}, - {0x8001, 162}, - {0xc016, 162}, - {0x8001, 184}, - {0xc016, 184}, - {0x8001, 194}, - {0xc016, 194}, - {0x8001, 224}, - {0xc016, 224}, - {0x8001, 226}, - {0xc016, 226}, - {0xc000, 153}, - {0xc000, 161}, - {0xc000, 167}, - {0xc000, 172}, + {0x01, 2, 131}, + {0x16, 3, 131}, + {0x01, 2, 162}, + {0x16, 3, 162}, + {0x01, 2, 184}, + {0x16, 3, 184}, + {0x01, 2, 194}, + {0x16, 3, 194}, + {0x01, 2, 224}, + {0x16, 3, 224}, + {0x01, 2, 226}, + {0x16, 3, 226}, + {0x00, 3, 153}, + {0x00, 3, 161}, + {0x00, 3, 167}, + {0x00, 3, 172}, }, /* 102 */ { - {0x8002, 131}, - {0x8009, 131}, - {0x8017, 131}, - {0xc028, 131}, - {0x8002, 162}, - {0x8009, 162}, - {0x8017, 162}, - {0xc028, 162}, - {0x8002, 184}, - {0x8009, 184}, - {0x8017, 184}, - {0xc028, 184}, - {0x8002, 194}, - {0x8009, 194}, - {0x8017, 194}, - {0xc028, 194}, + {0x02, 2, 131}, + {0x09, 2, 131}, + {0x17, 2, 131}, + {0x28, 3, 131}, + {0x02, 2, 162}, + {0x09, 2, 162}, + {0x17, 2, 162}, + {0x28, 3, 162}, + {0x02, 2, 184}, + {0x09, 2, 184}, + {0x17, 2, 184}, + {0x28, 3, 184}, + {0x02, 2, 194}, + {0x09, 2, 194}, + {0x17, 2, 194}, + {0x28, 3, 194}, }, /* 103 */ { - {0x8003, 131}, - {0x8006, 131}, - {0x800a, 131}, - {0x800f, 131}, - {0x8018, 131}, - {0x801f, 131}, - {0x8029, 131}, - {0xc038, 131}, - {0x8003, 162}, - {0x8006, 162}, - {0x800a, 162}, - {0x800f, 162}, - {0x8018, 162}, - {0x801f, 162}, - {0x8029, 162}, - {0xc038, 162}, + {0x03, 2, 131}, + {0x06, 2, 131}, + {0x0a, 2, 131}, + {0x0f, 2, 131}, + {0x18, 2, 131}, + {0x1f, 2, 131}, + {0x29, 2, 131}, + {0x38, 3, 131}, + {0x03, 2, 162}, + {0x06, 2, 162}, + {0x0a, 2, 162}, + {0x0f, 2, 162}, + {0x18, 2, 162}, + {0x1f, 2, 162}, + {0x29, 2, 162}, + {0x38, 3, 162}, }, /* 104 */ { - {0x8003, 184}, - {0x8006, 184}, - {0x800a, 184}, - {0x800f, 184}, - {0x8018, 184}, - {0x801f, 184}, - {0x8029, 184}, - {0xc038, 184}, - {0x8003, 194}, - {0x8006, 194}, - {0x800a, 194}, - {0x800f, 194}, - {0x8018, 194}, - {0x801f, 194}, - {0x8029, 194}, - {0xc038, 194}, + {0x03, 2, 184}, + {0x06, 2, 184}, + {0x0a, 2, 184}, + {0x0f, 2, 184}, + {0x18, 2, 184}, + {0x1f, 2, 184}, + {0x29, 2, 184}, + {0x38, 3, 184}, + {0x03, 2, 194}, + {0x06, 2, 194}, + {0x0a, 2, 194}, + {0x0f, 2, 194}, + {0x18, 2, 194}, + {0x1f, 2, 194}, + {0x29, 2, 194}, + {0x38, 3, 194}, }, /* 105 */ { - {0x8002, 224}, - {0x8009, 224}, - {0x8017, 224}, - {0xc028, 224}, - {0x8002, 226}, - {0x8009, 226}, - {0x8017, 226}, - {0xc028, 226}, - {0x8001, 153}, - {0xc016, 153}, - {0x8001, 161}, - {0xc016, 161}, - {0x8001, 167}, - {0xc016, 167}, - {0x8001, 172}, - {0xc016, 172}, + {0x02, 2, 224}, + {0x09, 2, 224}, + {0x17, 2, 224}, + {0x28, 3, 224}, + {0x02, 2, 226}, + {0x09, 2, 226}, + {0x17, 2, 226}, + {0x28, 3, 226}, + {0x01, 2, 153}, + {0x16, 3, 153}, + {0x01, 2, 161}, + {0x16, 3, 161}, + {0x01, 2, 167}, + {0x16, 3, 167}, + {0x01, 2, 172}, + {0x16, 3, 172}, }, /* 106 */ { - {0x8003, 224}, - {0x8006, 224}, - {0x800a, 224}, - {0x800f, 224}, - {0x8018, 224}, - {0x801f, 224}, - {0x8029, 224}, - {0xc038, 224}, - {0x8003, 226}, - {0x8006, 226}, - {0x800a, 226}, - {0x800f, 226}, - {0x8018, 226}, - {0x801f, 226}, - {0x8029, 226}, - {0xc038, 226}, + {0x03, 2, 224}, + {0x06, 2, 224}, + {0x0a, 2, 224}, + {0x0f, 2, 224}, + {0x18, 2, 224}, + {0x1f, 2, 224}, + {0x29, 2, 224}, + {0x38, 3, 224}, + {0x03, 2, 226}, + {0x06, 2, 226}, + {0x0a, 2, 226}, + {0x0f, 2, 226}, + {0x18, 2, 226}, + {0x1f, 2, 226}, + {0x29, 2, 226}, + {0x38, 3, 226}, }, /* 107 */ { - {0x8002, 153}, - {0x8009, 153}, - {0x8017, 153}, - {0xc028, 153}, - {0x8002, 161}, - {0x8009, 161}, - {0x8017, 161}, - {0xc028, 161}, - {0x8002, 167}, - {0x8009, 167}, - {0x8017, 167}, - {0xc028, 167}, - {0x8002, 172}, - {0x8009, 172}, - {0x8017, 172}, - {0xc028, 172}, + {0x02, 2, 153}, + {0x09, 2, 153}, + {0x17, 2, 153}, + {0x28, 3, 153}, + {0x02, 2, 161}, + {0x09, 2, 161}, + {0x17, 2, 161}, + {0x28, 3, 161}, + {0x02, 2, 167}, + {0x09, 2, 167}, + {0x17, 2, 167}, + {0x28, 3, 167}, + {0x02, 2, 172}, + {0x09, 2, 172}, + {0x17, 2, 172}, + {0x28, 3, 172}, }, /* 108 */ { - {0x8003, 153}, - {0x8006, 153}, - {0x800a, 153}, - {0x800f, 153}, - {0x8018, 153}, - {0x801f, 153}, - {0x8029, 153}, - {0xc038, 153}, - {0x8003, 161}, - {0x8006, 161}, - {0x800a, 161}, - {0x800f, 161}, - {0x8018, 161}, - {0x801f, 161}, - {0x8029, 161}, - {0xc038, 161}, + {0x03, 2, 153}, + {0x06, 2, 153}, + {0x0a, 2, 153}, + {0x0f, 2, 153}, + {0x18, 2, 153}, + {0x1f, 2, 153}, + {0x29, 2, 153}, + {0x38, 3, 153}, + {0x03, 2, 161}, + {0x06, 2, 161}, + {0x0a, 2, 161}, + {0x0f, 2, 161}, + {0x18, 2, 161}, + {0x1f, 2, 161}, + {0x29, 2, 161}, + {0x38, 3, 161}, }, /* 109 */ { - {0x8003, 167}, - {0x8006, 167}, - {0x800a, 167}, - {0x800f, 167}, - {0x8018, 167}, - {0x801f, 167}, - {0x8029, 167}, - {0xc038, 167}, - {0x8003, 172}, - {0x8006, 172}, - {0x800a, 172}, - {0x800f, 172}, - {0x8018, 172}, - {0x801f, 172}, - {0x8029, 172}, - {0xc038, 172}, + {0x03, 2, 167}, + {0x06, 2, 167}, + {0x0a, 2, 167}, + {0x0f, 2, 167}, + {0x18, 2, 167}, + {0x1f, 2, 167}, + {0x29, 2, 167}, + {0x38, 3, 167}, + {0x03, 2, 172}, + {0x06, 2, 172}, + {0x0a, 2, 172}, + {0x0f, 2, 172}, + {0x18, 2, 172}, + {0x1f, 2, 172}, + {0x29, 2, 172}, + {0x38, 3, 172}, }, /* 110 */ { - {0x72, 0}, - {0x73, 0}, - {0x75, 0}, - {0x76, 0}, - {0x79, 0}, - {0x7b, 0}, - {0x7f, 0}, - {0x82, 0}, - {0x88, 0}, - {0x8b, 0}, - {0x8f, 0}, - {0x92, 0}, - {0x9b, 0}, - {0xa2, 0}, - {0xaa, 0}, - {0xb4, 0}, + {0x72, 0, 0}, + {0x73, 0, 0}, + {0x75, 0, 0}, + {0x76, 0, 0}, + {0x79, 0, 0}, + {0x7b, 0, 0}, + {0x7f, 0, 0}, + {0x82, 0, 0}, + {0x88, 0, 0}, + {0x8b, 0, 0}, + {0x8f, 0, 0}, + {0x92, 0, 0}, + {0x9b, 0, 0}, + {0xa2, 0, 0}, + {0xaa, 0, 0}, + {0xb4, 0, 0}, }, /* 111 */ { - {0xc000, 176}, - {0xc000, 177}, - {0xc000, 179}, - {0xc000, 209}, - {0xc000, 216}, - {0xc000, 217}, - {0xc000, 227}, - {0xc000, 229}, - {0xc000, 230}, - {0x7a, 0}, - {0x7c, 0}, - {0x7d, 0}, - {0x80, 0}, - {0x81, 0}, - {0x83, 0}, - {0x84, 0}, + {0x00, 3, 176}, + {0x00, 3, 177}, + {0x00, 3, 179}, + {0x00, 3, 209}, + {0x00, 3, 216}, + {0x00, 3, 217}, + {0x00, 3, 227}, + {0x00, 3, 229}, + {0x00, 3, 230}, + {0x7a, 0, 0}, + {0x7c, 0, 0}, + {0x7d, 0, 0}, + {0x80, 0, 0}, + {0x81, 0, 0}, + {0x83, 0, 0}, + {0x84, 0, 0}, }, /* 112 */ { - {0x8001, 176}, - {0xc016, 176}, - {0x8001, 177}, - {0xc016, 177}, - {0x8001, 179}, - {0xc016, 179}, - {0x8001, 209}, - {0xc016, 209}, - {0x8001, 216}, - {0xc016, 216}, - {0x8001, 217}, - {0xc016, 217}, - {0x8001, 227}, - {0xc016, 227}, - {0x8001, 229}, - {0xc016, 229}, + {0x01, 2, 176}, + {0x16, 3, 176}, + {0x01, 2, 177}, + {0x16, 3, 177}, + {0x01, 2, 179}, + {0x16, 3, 179}, + {0x01, 2, 209}, + {0x16, 3, 209}, + {0x01, 2, 216}, + {0x16, 3, 216}, + {0x01, 2, 217}, + {0x16, 3, 217}, + {0x01, 2, 227}, + {0x16, 3, 227}, + {0x01, 2, 229}, + {0x16, 3, 229}, }, /* 113 */ { - {0x8002, 176}, - {0x8009, 176}, - {0x8017, 176}, - {0xc028, 176}, - {0x8002, 177}, - {0x8009, 177}, - {0x8017, 177}, - {0xc028, 177}, - {0x8002, 179}, - {0x8009, 179}, - {0x8017, 179}, - {0xc028, 179}, - {0x8002, 209}, - {0x8009, 209}, - {0x8017, 209}, - {0xc028, 209}, + {0x02, 2, 176}, + {0x09, 2, 176}, + {0x17, 2, 176}, + {0x28, 3, 176}, + {0x02, 2, 177}, + {0x09, 2, 177}, + {0x17, 2, 177}, + {0x28, 3, 177}, + {0x02, 2, 179}, + {0x09, 2, 179}, + {0x17, 2, 179}, + {0x28, 3, 179}, + {0x02, 2, 209}, + {0x09, 2, 209}, + {0x17, 2, 209}, + {0x28, 3, 209}, }, /* 114 */ { - {0x8003, 176}, - {0x8006, 176}, - {0x800a, 176}, - {0x800f, 176}, - {0x8018, 176}, - {0x801f, 176}, - {0x8029, 176}, - {0xc038, 176}, - {0x8003, 177}, - {0x8006, 177}, - {0x800a, 177}, - {0x800f, 177}, - {0x8018, 177}, - {0x801f, 177}, - {0x8029, 177}, - {0xc038, 177}, + {0x03, 2, 176}, + {0x06, 2, 176}, + {0x0a, 2, 176}, + {0x0f, 2, 176}, + {0x18, 2, 176}, + {0x1f, 2, 176}, + {0x29, 2, 176}, + {0x38, 3, 176}, + {0x03, 2, 177}, + {0x06, 2, 177}, + {0x0a, 2, 177}, + {0x0f, 2, 177}, + {0x18, 2, 177}, + {0x1f, 2, 177}, + {0x29, 2, 177}, + {0x38, 3, 177}, }, /* 115 */ { - {0x8003, 179}, - {0x8006, 179}, - {0x800a, 179}, - {0x800f, 179}, - {0x8018, 179}, - {0x801f, 179}, - {0x8029, 179}, - {0xc038, 179}, - {0x8003, 209}, - {0x8006, 209}, - {0x800a, 209}, - {0x800f, 209}, - {0x8018, 209}, - {0x801f, 209}, - {0x8029, 209}, - {0xc038, 209}, + {0x03, 2, 179}, + {0x06, 2, 179}, + {0x0a, 2, 179}, + {0x0f, 2, 179}, + {0x18, 2, 179}, + {0x1f, 2, 179}, + {0x29, 2, 179}, + {0x38, 3, 179}, + {0x03, 2, 209}, + {0x06, 2, 209}, + {0x0a, 2, 209}, + {0x0f, 2, 209}, + {0x18, 2, 209}, + {0x1f, 2, 209}, + {0x29, 2, 209}, + {0x38, 3, 209}, }, /* 116 */ { - {0x8002, 216}, - {0x8009, 216}, - {0x8017, 216}, - {0xc028, 216}, - {0x8002, 217}, - {0x8009, 217}, - {0x8017, 217}, - {0xc028, 217}, - {0x8002, 227}, - {0x8009, 227}, - {0x8017, 227}, - {0xc028, 227}, - {0x8002, 229}, - {0x8009, 229}, - {0x8017, 229}, - {0xc028, 229}, + {0x02, 2, 216}, + {0x09, 2, 216}, + {0x17, 2, 216}, + {0x28, 3, 216}, + {0x02, 2, 217}, + {0x09, 2, 217}, + {0x17, 2, 217}, + {0x28, 3, 217}, + {0x02, 2, 227}, + {0x09, 2, 227}, + {0x17, 2, 227}, + {0x28, 3, 227}, + {0x02, 2, 229}, + {0x09, 2, 229}, + {0x17, 2, 229}, + {0x28, 3, 229}, }, /* 117 */ { - {0x8003, 216}, - {0x8006, 216}, - {0x800a, 216}, - {0x800f, 216}, - {0x8018, 216}, - {0x801f, 216}, - {0x8029, 216}, - {0xc038, 216}, - {0x8003, 217}, - {0x8006, 217}, - {0x800a, 217}, - {0x800f, 217}, - {0x8018, 217}, - {0x801f, 217}, - {0x8029, 217}, - {0xc038, 217}, + {0x03, 2, 216}, + {0x06, 2, 216}, + {0x0a, 2, 216}, + {0x0f, 2, 216}, + {0x18, 2, 216}, + {0x1f, 2, 216}, + {0x29, 2, 216}, + {0x38, 3, 216}, + {0x03, 2, 217}, + {0x06, 2, 217}, + {0x0a, 2, 217}, + {0x0f, 2, 217}, + {0x18, 2, 217}, + {0x1f, 2, 217}, + {0x29, 2, 217}, + {0x38, 3, 217}, }, /* 118 */ { - {0x8003, 227}, - {0x8006, 227}, - {0x800a, 227}, - {0x800f, 227}, - {0x8018, 227}, - {0x801f, 227}, - {0x8029, 227}, - {0xc038, 227}, - {0x8003, 229}, - {0x8006, 229}, - {0x800a, 229}, - {0x800f, 229}, - {0x8018, 229}, - {0x801f, 229}, - {0x8029, 229}, - {0xc038, 229}, + {0x03, 2, 227}, + {0x06, 2, 227}, + {0x0a, 2, 227}, + {0x0f, 2, 227}, + {0x18, 2, 227}, + {0x1f, 2, 227}, + {0x29, 2, 227}, + {0x38, 3, 227}, + {0x03, 2, 229}, + {0x06, 2, 229}, + {0x0a, 2, 229}, + {0x0f, 2, 229}, + {0x18, 2, 229}, + {0x1f, 2, 229}, + {0x29, 2, 229}, + {0x38, 3, 229}, }, /* 119 */ { - {0x8001, 230}, - {0xc016, 230}, - {0xc000, 129}, - {0xc000, 132}, - {0xc000, 133}, - {0xc000, 134}, - {0xc000, 136}, - {0xc000, 146}, - {0xc000, 154}, - {0xc000, 156}, - {0xc000, 160}, - {0xc000, 163}, - {0xc000, 164}, - {0xc000, 169}, - {0xc000, 170}, - {0xc000, 173}, + {0x01, 2, 230}, + {0x16, 3, 230}, + {0x00, 3, 129}, + {0x00, 3, 132}, + {0x00, 3, 133}, + {0x00, 3, 134}, + {0x00, 3, 136}, + {0x00, 3, 146}, + {0x00, 3, 154}, + {0x00, 3, 156}, + {0x00, 3, 160}, + {0x00, 3, 163}, + {0x00, 3, 164}, + {0x00, 3, 169}, + {0x00, 3, 170}, + {0x00, 3, 173}, }, /* 120 */ { - {0x8002, 230}, - {0x8009, 230}, - {0x8017, 230}, - {0xc028, 230}, - {0x8001, 129}, - {0xc016, 129}, - {0x8001, 132}, - {0xc016, 132}, - {0x8001, 133}, - {0xc016, 133}, - {0x8001, 134}, - {0xc016, 134}, - {0x8001, 136}, - {0xc016, 136}, - {0x8001, 146}, - {0xc016, 146}, + {0x02, 2, 230}, + {0x09, 2, 230}, + {0x17, 2, 230}, + {0x28, 3, 230}, + {0x01, 2, 129}, + {0x16, 3, 129}, + {0x01, 2, 132}, + {0x16, 3, 132}, + {0x01, 2, 133}, + {0x16, 3, 133}, + {0x01, 2, 134}, + {0x16, 3, 134}, + {0x01, 2, 136}, + {0x16, 3, 136}, + {0x01, 2, 146}, + {0x16, 3, 146}, }, /* 121 */ { - {0x8003, 230}, - {0x8006, 230}, - {0x800a, 230}, - {0x800f, 230}, - {0x8018, 230}, - {0x801f, 230}, - {0x8029, 230}, - {0xc038, 230}, - {0x8002, 129}, - {0x8009, 129}, - {0x8017, 129}, - {0xc028, 129}, - {0x8002, 132}, - {0x8009, 132}, - {0x8017, 132}, - {0xc028, 132}, + {0x03, 2, 230}, + {0x06, 2, 230}, + {0x0a, 2, 230}, + {0x0f, 2, 230}, + {0x18, 2, 230}, + {0x1f, 2, 230}, + {0x29, 2, 230}, + {0x38, 3, 230}, + {0x02, 2, 129}, + {0x09, 2, 129}, + {0x17, 2, 129}, + {0x28, 3, 129}, + {0x02, 2, 132}, + {0x09, 2, 132}, + {0x17, 2, 132}, + {0x28, 3, 132}, }, /* 122 */ { - {0x8003, 129}, - {0x8006, 129}, - {0x800a, 129}, - {0x800f, 129}, - {0x8018, 129}, - {0x801f, 129}, - {0x8029, 129}, - {0xc038, 129}, - {0x8003, 132}, - {0x8006, 132}, - {0x800a, 132}, - {0x800f, 132}, - {0x8018, 132}, - {0x801f, 132}, - {0x8029, 132}, - {0xc038, 132}, + {0x03, 2, 129}, + {0x06, 2, 129}, + {0x0a, 2, 129}, + {0x0f, 2, 129}, + {0x18, 2, 129}, + {0x1f, 2, 129}, + {0x29, 2, 129}, + {0x38, 3, 129}, + {0x03, 2, 132}, + {0x06, 2, 132}, + {0x0a, 2, 132}, + {0x0f, 2, 132}, + {0x18, 2, 132}, + {0x1f, 2, 132}, + {0x29, 2, 132}, + {0x38, 3, 132}, }, /* 123 */ { - {0x8002, 133}, - {0x8009, 133}, - {0x8017, 133}, - {0xc028, 133}, - {0x8002, 134}, - {0x8009, 134}, - {0x8017, 134}, - {0xc028, 134}, - {0x8002, 136}, - {0x8009, 136}, - {0x8017, 136}, - {0xc028, 136}, - {0x8002, 146}, - {0x8009, 146}, - {0x8017, 146}, - {0xc028, 146}, + {0x02, 2, 133}, + {0x09, 2, 133}, + {0x17, 2, 133}, + {0x28, 3, 133}, + {0x02, 2, 134}, + {0x09, 2, 134}, + {0x17, 2, 134}, + {0x28, 3, 134}, + {0x02, 2, 136}, + {0x09, 2, 136}, + {0x17, 2, 136}, + {0x28, 3, 136}, + {0x02, 2, 146}, + {0x09, 2, 146}, + {0x17, 2, 146}, + {0x28, 3, 146}, }, /* 124 */ { - {0x8003, 133}, - {0x8006, 133}, - {0x800a, 133}, - {0x800f, 133}, - {0x8018, 133}, - {0x801f, 133}, - {0x8029, 133}, - {0xc038, 133}, - {0x8003, 134}, - {0x8006, 134}, - {0x800a, 134}, - {0x800f, 134}, - {0x8018, 134}, - {0x801f, 134}, - {0x8029, 134}, - {0xc038, 134}, + {0x03, 2, 133}, + {0x06, 2, 133}, + {0x0a, 2, 133}, + {0x0f, 2, 133}, + {0x18, 2, 133}, + {0x1f, 2, 133}, + {0x29, 2, 133}, + {0x38, 3, 133}, + {0x03, 2, 134}, + {0x06, 2, 134}, + {0x0a, 2, 134}, + {0x0f, 2, 134}, + {0x18, 2, 134}, + {0x1f, 2, 134}, + {0x29, 2, 134}, + {0x38, 3, 134}, }, /* 125 */ { - {0x8003, 136}, - {0x8006, 136}, - {0x800a, 136}, - {0x800f, 136}, - {0x8018, 136}, - {0x801f, 136}, - {0x8029, 136}, - {0xc038, 136}, - {0x8003, 146}, - {0x8006, 146}, - {0x800a, 146}, - {0x800f, 146}, - {0x8018, 146}, - {0x801f, 146}, - {0x8029, 146}, - {0xc038, 146}, + {0x03, 2, 136}, + {0x06, 2, 136}, + {0x0a, 2, 136}, + {0x0f, 2, 136}, + {0x18, 2, 136}, + {0x1f, 2, 136}, + {0x29, 2, 136}, + {0x38, 3, 136}, + {0x03, 2, 146}, + {0x06, 2, 146}, + {0x0a, 2, 146}, + {0x0f, 2, 146}, + {0x18, 2, 146}, + {0x1f, 2, 146}, + {0x29, 2, 146}, + {0x38, 3, 146}, }, /* 126 */ { - {0x8001, 154}, - {0xc016, 154}, - {0x8001, 156}, - {0xc016, 156}, - {0x8001, 160}, - {0xc016, 160}, - {0x8001, 163}, - {0xc016, 163}, - {0x8001, 164}, - {0xc016, 164}, - {0x8001, 169}, - {0xc016, 169}, - {0x8001, 170}, - {0xc016, 170}, - {0x8001, 173}, - {0xc016, 173}, + {0x01, 2, 154}, + {0x16, 3, 154}, + {0x01, 2, 156}, + {0x16, 3, 156}, + {0x01, 2, 160}, + {0x16, 3, 160}, + {0x01, 2, 163}, + {0x16, 3, 163}, + {0x01, 2, 164}, + {0x16, 3, 164}, + {0x01, 2, 169}, + {0x16, 3, 169}, + {0x01, 2, 170}, + {0x16, 3, 170}, + {0x01, 2, 173}, + {0x16, 3, 173}, }, /* 127 */ { - {0x8002, 154}, - {0x8009, 154}, - {0x8017, 154}, - {0xc028, 154}, - {0x8002, 156}, - {0x8009, 156}, - {0x8017, 156}, - {0xc028, 156}, - {0x8002, 160}, - {0x8009, 160}, - {0x8017, 160}, - {0xc028, 160}, - {0x8002, 163}, - {0x8009, 163}, - {0x8017, 163}, - {0xc028, 163}, + {0x02, 2, 154}, + {0x09, 2, 154}, + {0x17, 2, 154}, + {0x28, 3, 154}, + {0x02, 2, 156}, + {0x09, 2, 156}, + {0x17, 2, 156}, + {0x28, 3, 156}, + {0x02, 2, 160}, + {0x09, 2, 160}, + {0x17, 2, 160}, + {0x28, 3, 160}, + {0x02, 2, 163}, + {0x09, 2, 163}, + {0x17, 2, 163}, + {0x28, 3, 163}, }, /* 128 */ { - {0x8003, 154}, - {0x8006, 154}, - {0x800a, 154}, - {0x800f, 154}, - {0x8018, 154}, - {0x801f, 154}, - {0x8029, 154}, - {0xc038, 154}, - {0x8003, 156}, - {0x8006, 156}, - {0x800a, 156}, - {0x800f, 156}, - {0x8018, 156}, - {0x801f, 156}, - {0x8029, 156}, - {0xc038, 156}, + {0x03, 2, 154}, + {0x06, 2, 154}, + {0x0a, 2, 154}, + {0x0f, 2, 154}, + {0x18, 2, 154}, + {0x1f, 2, 154}, + {0x29, 2, 154}, + {0x38, 3, 154}, + {0x03, 2, 156}, + {0x06, 2, 156}, + {0x0a, 2, 156}, + {0x0f, 2, 156}, + {0x18, 2, 156}, + {0x1f, 2, 156}, + {0x29, 2, 156}, + {0x38, 3, 156}, }, /* 129 */ { - {0x8003, 160}, - {0x8006, 160}, - {0x800a, 160}, - {0x800f, 160}, - {0x8018, 160}, - {0x801f, 160}, - {0x8029, 160}, - {0xc038, 160}, - {0x8003, 163}, - {0x8006, 163}, - {0x800a, 163}, - {0x800f, 163}, - {0x8018, 163}, - {0x801f, 163}, - {0x8029, 163}, - {0xc038, 163}, + {0x03, 2, 160}, + {0x06, 2, 160}, + {0x0a, 2, 160}, + {0x0f, 2, 160}, + {0x18, 2, 160}, + {0x1f, 2, 160}, + {0x29, 2, 160}, + {0x38, 3, 160}, + {0x03, 2, 163}, + {0x06, 2, 163}, + {0x0a, 2, 163}, + {0x0f, 2, 163}, + {0x18, 2, 163}, + {0x1f, 2, 163}, + {0x29, 2, 163}, + {0x38, 3, 163}, }, /* 130 */ { - {0x8002, 164}, - {0x8009, 164}, - {0x8017, 164}, - {0xc028, 164}, - {0x8002, 169}, - {0x8009, 169}, - {0x8017, 169}, - {0xc028, 169}, - {0x8002, 170}, - {0x8009, 170}, - {0x8017, 170}, - {0xc028, 170}, - {0x8002, 173}, - {0x8009, 173}, - {0x8017, 173}, - {0xc028, 173}, + {0x02, 2, 164}, + {0x09, 2, 164}, + {0x17, 2, 164}, + {0x28, 3, 164}, + {0x02, 2, 169}, + {0x09, 2, 169}, + {0x17, 2, 169}, + {0x28, 3, 169}, + {0x02, 2, 170}, + {0x09, 2, 170}, + {0x17, 2, 170}, + {0x28, 3, 170}, + {0x02, 2, 173}, + {0x09, 2, 173}, + {0x17, 2, 173}, + {0x28, 3, 173}, }, /* 131 */ { - {0x8003, 164}, - {0x8006, 164}, - {0x800a, 164}, - {0x800f, 164}, - {0x8018, 164}, - {0x801f, 164}, - {0x8029, 164}, - {0xc038, 164}, - {0x8003, 169}, - {0x8006, 169}, - {0x800a, 169}, - {0x800f, 169}, - {0x8018, 169}, - {0x801f, 169}, - {0x8029, 169}, - {0xc038, 169}, + {0x03, 2, 164}, + {0x06, 2, 164}, + {0x0a, 2, 164}, + {0x0f, 2, 164}, + {0x18, 2, 164}, + {0x1f, 2, 164}, + {0x29, 2, 164}, + {0x38, 3, 164}, + {0x03, 2, 169}, + {0x06, 2, 169}, + {0x0a, 2, 169}, + {0x0f, 2, 169}, + {0x18, 2, 169}, + {0x1f, 2, 169}, + {0x29, 2, 169}, + {0x38, 3, 169}, }, /* 132 */ { - {0x8003, 170}, - {0x8006, 170}, - {0x800a, 170}, - {0x800f, 170}, - {0x8018, 170}, - {0x801f, 170}, - {0x8029, 170}, - {0xc038, 170}, - {0x8003, 173}, - {0x8006, 173}, - {0x800a, 173}, - {0x800f, 173}, - {0x8018, 173}, - {0x801f, 173}, - {0x8029, 173}, - {0xc038, 173}, + {0x03, 2, 170}, + {0x06, 2, 170}, + {0x0a, 2, 170}, + {0x0f, 2, 170}, + {0x18, 2, 170}, + {0x1f, 2, 170}, + {0x29, 2, 170}, + {0x38, 3, 170}, + {0x03, 2, 173}, + {0x06, 2, 173}, + {0x0a, 2, 173}, + {0x0f, 2, 173}, + {0x18, 2, 173}, + {0x1f, 2, 173}, + {0x29, 2, 173}, + {0x38, 3, 173}, }, /* 133 */ { - {0x89, 0}, - {0x8a, 0}, - {0x8c, 0}, - {0x8d, 0}, - {0x90, 0}, - {0x91, 0}, - {0x93, 0}, - {0x96, 0}, - {0x9c, 0}, - {0x9f, 0}, - {0xa3, 0}, - {0xa6, 0}, - {0xab, 0}, - {0xae, 0}, - {0xb5, 0}, - {0xbe, 0}, + {0x89, 0, 0}, + {0x8a, 0, 0}, + {0x8c, 0, 0}, + {0x8d, 0, 0}, + {0x90, 0, 0}, + {0x91, 0, 0}, + {0x93, 0, 0}, + {0x96, 0, 0}, + {0x9c, 0, 0}, + {0x9f, 0, 0}, + {0xa3, 0, 0}, + {0xa6, 0, 0}, + {0xab, 0, 0}, + {0xae, 0, 0}, + {0xb5, 0, 0}, + {0xbe, 0, 0}, }, /* 134 */ { - {0xc000, 178}, - {0xc000, 181}, - {0xc000, 185}, - {0xc000, 186}, - {0xc000, 187}, - {0xc000, 189}, - {0xc000, 190}, - {0xc000, 196}, - {0xc000, 198}, - {0xc000, 228}, - {0xc000, 232}, - {0xc000, 233}, - {0x94, 0}, - {0x95, 0}, - {0x97, 0}, - {0x98, 0}, + {0x00, 3, 178}, + {0x00, 3, 181}, + {0x00, 3, 185}, + {0x00, 3, 186}, + {0x00, 3, 187}, + {0x00, 3, 189}, + {0x00, 3, 190}, + {0x00, 3, 196}, + {0x00, 3, 198}, + {0x00, 3, 228}, + {0x00, 3, 232}, + {0x00, 3, 233}, + {0x94, 0, 0}, + {0x95, 0, 0}, + {0x97, 0, 0}, + {0x98, 0, 0}, }, /* 135 */ { - {0x8001, 178}, - {0xc016, 178}, - {0x8001, 181}, - {0xc016, 181}, - {0x8001, 185}, - {0xc016, 185}, - {0x8001, 186}, - {0xc016, 186}, - {0x8001, 187}, - {0xc016, 187}, - {0x8001, 189}, - {0xc016, 189}, - {0x8001, 190}, - {0xc016, 190}, - {0x8001, 196}, - {0xc016, 196}, + {0x01, 2, 178}, + {0x16, 3, 178}, + {0x01, 2, 181}, + {0x16, 3, 181}, + {0x01, 2, 185}, + {0x16, 3, 185}, + {0x01, 2, 186}, + {0x16, 3, 186}, + {0x01, 2, 187}, + {0x16, 3, 187}, + {0x01, 2, 189}, + {0x16, 3, 189}, + {0x01, 2, 190}, + {0x16, 3, 190}, + {0x01, 2, 196}, + {0x16, 3, 196}, }, /* 136 */ { - {0x8002, 178}, - {0x8009, 178}, - {0x8017, 178}, - {0xc028, 178}, - {0x8002, 181}, - {0x8009, 181}, - {0x8017, 181}, - {0xc028, 181}, - {0x8002, 185}, - {0x8009, 185}, - {0x8017, 185}, - {0xc028, 185}, - {0x8002, 186}, - {0x8009, 186}, - {0x8017, 186}, - {0xc028, 186}, + {0x02, 2, 178}, + {0x09, 2, 178}, + {0x17, 2, 178}, + {0x28, 3, 178}, + {0x02, 2, 181}, + {0x09, 2, 181}, + {0x17, 2, 181}, + {0x28, 3, 181}, + {0x02, 2, 185}, + {0x09, 2, 185}, + {0x17, 2, 185}, + {0x28, 3, 185}, + {0x02, 2, 186}, + {0x09, 2, 186}, + {0x17, 2, 186}, + {0x28, 3, 186}, }, /* 137 */ { - {0x8003, 178}, - {0x8006, 178}, - {0x800a, 178}, - {0x800f, 178}, - {0x8018, 178}, - {0x801f, 178}, - {0x8029, 178}, - {0xc038, 178}, - {0x8003, 181}, - {0x8006, 181}, - {0x800a, 181}, - {0x800f, 181}, - {0x8018, 181}, - {0x801f, 181}, - {0x8029, 181}, - {0xc038, 181}, + {0x03, 2, 178}, + {0x06, 2, 178}, + {0x0a, 2, 178}, + {0x0f, 2, 178}, + {0x18, 2, 178}, + {0x1f, 2, 178}, + {0x29, 2, 178}, + {0x38, 3, 178}, + {0x03, 2, 181}, + {0x06, 2, 181}, + {0x0a, 2, 181}, + {0x0f, 2, 181}, + {0x18, 2, 181}, + {0x1f, 2, 181}, + {0x29, 2, 181}, + {0x38, 3, 181}, }, /* 138 */ { - {0x8003, 185}, - {0x8006, 185}, - {0x800a, 185}, - {0x800f, 185}, - {0x8018, 185}, - {0x801f, 185}, - {0x8029, 185}, - {0xc038, 185}, - {0x8003, 186}, - {0x8006, 186}, - {0x800a, 186}, - {0x800f, 186}, - {0x8018, 186}, - {0x801f, 186}, - {0x8029, 186}, - {0xc038, 186}, + {0x03, 2, 185}, + {0x06, 2, 185}, + {0x0a, 2, 185}, + {0x0f, 2, 185}, + {0x18, 2, 185}, + {0x1f, 2, 185}, + {0x29, 2, 185}, + {0x38, 3, 185}, + {0x03, 2, 186}, + {0x06, 2, 186}, + {0x0a, 2, 186}, + {0x0f, 2, 186}, + {0x18, 2, 186}, + {0x1f, 2, 186}, + {0x29, 2, 186}, + {0x38, 3, 186}, }, /* 139 */ { - {0x8002, 187}, - {0x8009, 187}, - {0x8017, 187}, - {0xc028, 187}, - {0x8002, 189}, - {0x8009, 189}, - {0x8017, 189}, - {0xc028, 189}, - {0x8002, 190}, - {0x8009, 190}, - {0x8017, 190}, - {0xc028, 190}, - {0x8002, 196}, - {0x8009, 196}, - {0x8017, 196}, - {0xc028, 196}, + {0x02, 2, 187}, + {0x09, 2, 187}, + {0x17, 2, 187}, + {0x28, 3, 187}, + {0x02, 2, 189}, + {0x09, 2, 189}, + {0x17, 2, 189}, + {0x28, 3, 189}, + {0x02, 2, 190}, + {0x09, 2, 190}, + {0x17, 2, 190}, + {0x28, 3, 190}, + {0x02, 2, 196}, + {0x09, 2, 196}, + {0x17, 2, 196}, + {0x28, 3, 196}, }, /* 140 */ { - {0x8003, 187}, - {0x8006, 187}, - {0x800a, 187}, - {0x800f, 187}, - {0x8018, 187}, - {0x801f, 187}, - {0x8029, 187}, - {0xc038, 187}, - {0x8003, 189}, - {0x8006, 189}, - {0x800a, 189}, - {0x800f, 189}, - {0x8018, 189}, - {0x801f, 189}, - {0x8029, 189}, - {0xc038, 189}, + {0x03, 2, 187}, + {0x06, 2, 187}, + {0x0a, 2, 187}, + {0x0f, 2, 187}, + {0x18, 2, 187}, + {0x1f, 2, 187}, + {0x29, 2, 187}, + {0x38, 3, 187}, + {0x03, 2, 189}, + {0x06, 2, 189}, + {0x0a, 2, 189}, + {0x0f, 2, 189}, + {0x18, 2, 189}, + {0x1f, 2, 189}, + {0x29, 2, 189}, + {0x38, 3, 189}, }, /* 141 */ { - {0x8003, 190}, - {0x8006, 190}, - {0x800a, 190}, - {0x800f, 190}, - {0x8018, 190}, - {0x801f, 190}, - {0x8029, 190}, - {0xc038, 190}, - {0x8003, 196}, - {0x8006, 196}, - {0x800a, 196}, - {0x800f, 196}, - {0x8018, 196}, - {0x801f, 196}, - {0x8029, 196}, - {0xc038, 196}, + {0x03, 2, 190}, + {0x06, 2, 190}, + {0x0a, 2, 190}, + {0x0f, 2, 190}, + {0x18, 2, 190}, + {0x1f, 2, 190}, + {0x29, 2, 190}, + {0x38, 3, 190}, + {0x03, 2, 196}, + {0x06, 2, 196}, + {0x0a, 2, 196}, + {0x0f, 2, 196}, + {0x18, 2, 196}, + {0x1f, 2, 196}, + {0x29, 2, 196}, + {0x38, 3, 196}, }, /* 142 */ { - {0x8001, 198}, - {0xc016, 198}, - {0x8001, 228}, - {0xc016, 228}, - {0x8001, 232}, - {0xc016, 232}, - {0x8001, 233}, - {0xc016, 233}, - {0xc000, 1}, - {0xc000, 135}, - {0xc000, 137}, - {0xc000, 138}, - {0xc000, 139}, - {0xc000, 140}, - {0xc000, 141}, - {0xc000, 143}, + {0x01, 2, 198}, + {0x16, 3, 198}, + {0x01, 2, 228}, + {0x16, 3, 228}, + {0x01, 2, 232}, + {0x16, 3, 232}, + {0x01, 2, 233}, + {0x16, 3, 233}, + {0x00, 3, 1}, + {0x00, 3, 135}, + {0x00, 3, 137}, + {0x00, 3, 138}, + {0x00, 3, 139}, + {0x00, 3, 140}, + {0x00, 3, 141}, + {0x00, 3, 143}, }, /* 143 */ { - {0x8002, 198}, - {0x8009, 198}, - {0x8017, 198}, - {0xc028, 198}, - {0x8002, 228}, - {0x8009, 228}, - {0x8017, 228}, - {0xc028, 228}, - {0x8002, 232}, - {0x8009, 232}, - {0x8017, 232}, - {0xc028, 232}, - {0x8002, 233}, - {0x8009, 233}, - {0x8017, 233}, - {0xc028, 233}, + {0x02, 2, 198}, + {0x09, 2, 198}, + {0x17, 2, 198}, + {0x28, 3, 198}, + {0x02, 2, 228}, + {0x09, 2, 228}, + {0x17, 2, 228}, + {0x28, 3, 228}, + {0x02, 2, 232}, + {0x09, 2, 232}, + {0x17, 2, 232}, + {0x28, 3, 232}, + {0x02, 2, 233}, + {0x09, 2, 233}, + {0x17, 2, 233}, + {0x28, 3, 233}, }, /* 144 */ { - {0x8003, 198}, - {0x8006, 198}, - {0x800a, 198}, - {0x800f, 198}, - {0x8018, 198}, - {0x801f, 198}, - {0x8029, 198}, - {0xc038, 198}, - {0x8003, 228}, - {0x8006, 228}, - {0x800a, 228}, - {0x800f, 228}, - {0x8018, 228}, - {0x801f, 228}, - {0x8029, 228}, - {0xc038, 228}, + {0x03, 2, 198}, + {0x06, 2, 198}, + {0x0a, 2, 198}, + {0x0f, 2, 198}, + {0x18, 2, 198}, + {0x1f, 2, 198}, + {0x29, 2, 198}, + {0x38, 3, 198}, + {0x03, 2, 228}, + {0x06, 2, 228}, + {0x0a, 2, 228}, + {0x0f, 2, 228}, + {0x18, 2, 228}, + {0x1f, 2, 228}, + {0x29, 2, 228}, + {0x38, 3, 228}, }, /* 145 */ { - {0x8003, 232}, - {0x8006, 232}, - {0x800a, 232}, - {0x800f, 232}, - {0x8018, 232}, - {0x801f, 232}, - {0x8029, 232}, - {0xc038, 232}, - {0x8003, 233}, - {0x8006, 233}, - {0x800a, 233}, - {0x800f, 233}, - {0x8018, 233}, - {0x801f, 233}, - {0x8029, 233}, - {0xc038, 233}, + {0x03, 2, 232}, + {0x06, 2, 232}, + {0x0a, 2, 232}, + {0x0f, 2, 232}, + {0x18, 2, 232}, + {0x1f, 2, 232}, + {0x29, 2, 232}, + {0x38, 3, 232}, + {0x03, 2, 233}, + {0x06, 2, 233}, + {0x0a, 2, 233}, + {0x0f, 2, 233}, + {0x18, 2, 233}, + {0x1f, 2, 233}, + {0x29, 2, 233}, + {0x38, 3, 233}, }, /* 146 */ { - {0x8001, 1}, - {0xc016, 1}, - {0x8001, 135}, - {0xc016, 135}, - {0x8001, 137}, - {0xc016, 137}, - {0x8001, 138}, - {0xc016, 138}, - {0x8001, 139}, - {0xc016, 139}, - {0x8001, 140}, - {0xc016, 140}, - {0x8001, 141}, - {0xc016, 141}, - {0x8001, 143}, - {0xc016, 143}, + {0x01, 2, 1}, + {0x16, 3, 1}, + {0x01, 2, 135}, + {0x16, 3, 135}, + {0x01, 2, 137}, + {0x16, 3, 137}, + {0x01, 2, 138}, + {0x16, 3, 138}, + {0x01, 2, 139}, + {0x16, 3, 139}, + {0x01, 2, 140}, + {0x16, 3, 140}, + {0x01, 2, 141}, + {0x16, 3, 141}, + {0x01, 2, 143}, + {0x16, 3, 143}, }, /* 147 */ { - {0x8002, 1}, - {0x8009, 1}, - {0x8017, 1}, - {0xc028, 1}, - {0x8002, 135}, - {0x8009, 135}, - {0x8017, 135}, - {0xc028, 135}, - {0x8002, 137}, - {0x8009, 137}, - {0x8017, 137}, - {0xc028, 137}, - {0x8002, 138}, - {0x8009, 138}, - {0x8017, 138}, - {0xc028, 138}, + {0x02, 2, 1}, + {0x09, 2, 1}, + {0x17, 2, 1}, + {0x28, 3, 1}, + {0x02, 2, 135}, + {0x09, 2, 135}, + {0x17, 2, 135}, + {0x28, 3, 135}, + {0x02, 2, 137}, + {0x09, 2, 137}, + {0x17, 2, 137}, + {0x28, 3, 137}, + {0x02, 2, 138}, + {0x09, 2, 138}, + {0x17, 2, 138}, + {0x28, 3, 138}, }, /* 148 */ { - {0x8003, 1}, - {0x8006, 1}, - {0x800a, 1}, - {0x800f, 1}, - {0x8018, 1}, - {0x801f, 1}, - {0x8029, 1}, - {0xc038, 1}, - {0x8003, 135}, - {0x8006, 135}, - {0x800a, 135}, - {0x800f, 135}, - {0x8018, 135}, - {0x801f, 135}, - {0x8029, 135}, - {0xc038, 135}, + {0x03, 2, 1}, + {0x06, 2, 1}, + {0x0a, 2, 1}, + {0x0f, 2, 1}, + {0x18, 2, 1}, + {0x1f, 2, 1}, + {0x29, 2, 1}, + {0x38, 3, 1}, + {0x03, 2, 135}, + {0x06, 2, 135}, + {0x0a, 2, 135}, + {0x0f, 2, 135}, + {0x18, 2, 135}, + {0x1f, 2, 135}, + {0x29, 2, 135}, + {0x38, 3, 135}, }, /* 149 */ { - {0x8003, 137}, - {0x8006, 137}, - {0x800a, 137}, - {0x800f, 137}, - {0x8018, 137}, - {0x801f, 137}, - {0x8029, 137}, - {0xc038, 137}, - {0x8003, 138}, - {0x8006, 138}, - {0x800a, 138}, - {0x800f, 138}, - {0x8018, 138}, - {0x801f, 138}, - {0x8029, 138}, - {0xc038, 138}, + {0x03, 2, 137}, + {0x06, 2, 137}, + {0x0a, 2, 137}, + {0x0f, 2, 137}, + {0x18, 2, 137}, + {0x1f, 2, 137}, + {0x29, 2, 137}, + {0x38, 3, 137}, + {0x03, 2, 138}, + {0x06, 2, 138}, + {0x0a, 2, 138}, + {0x0f, 2, 138}, + {0x18, 2, 138}, + {0x1f, 2, 138}, + {0x29, 2, 138}, + {0x38, 3, 138}, }, /* 150 */ { - {0x8002, 139}, - {0x8009, 139}, - {0x8017, 139}, - {0xc028, 139}, - {0x8002, 140}, - {0x8009, 140}, - {0x8017, 140}, - {0xc028, 140}, - {0x8002, 141}, - {0x8009, 141}, - {0x8017, 141}, - {0xc028, 141}, - {0x8002, 143}, - {0x8009, 143}, - {0x8017, 143}, - {0xc028, 143}, + {0x02, 2, 139}, + {0x09, 2, 139}, + {0x17, 2, 139}, + {0x28, 3, 139}, + {0x02, 2, 140}, + {0x09, 2, 140}, + {0x17, 2, 140}, + {0x28, 3, 140}, + {0x02, 2, 141}, + {0x09, 2, 141}, + {0x17, 2, 141}, + {0x28, 3, 141}, + {0x02, 2, 143}, + {0x09, 2, 143}, + {0x17, 2, 143}, + {0x28, 3, 143}, }, /* 151 */ { - {0x8003, 139}, - {0x8006, 139}, - {0x800a, 139}, - {0x800f, 139}, - {0x8018, 139}, - {0x801f, 139}, - {0x8029, 139}, - {0xc038, 139}, - {0x8003, 140}, - {0x8006, 140}, - {0x800a, 140}, - {0x800f, 140}, - {0x8018, 140}, - {0x801f, 140}, - {0x8029, 140}, - {0xc038, 140}, + {0x03, 2, 139}, + {0x06, 2, 139}, + {0x0a, 2, 139}, + {0x0f, 2, 139}, + {0x18, 2, 139}, + {0x1f, 2, 139}, + {0x29, 2, 139}, + {0x38, 3, 139}, + {0x03, 2, 140}, + {0x06, 2, 140}, + {0x0a, 2, 140}, + {0x0f, 2, 140}, + {0x18, 2, 140}, + {0x1f, 2, 140}, + {0x29, 2, 140}, + {0x38, 3, 140}, }, /* 152 */ { - {0x8003, 141}, - {0x8006, 141}, - {0x800a, 141}, - {0x800f, 141}, - {0x8018, 141}, - {0x801f, 141}, - {0x8029, 141}, - {0xc038, 141}, - {0x8003, 143}, - {0x8006, 143}, - {0x800a, 143}, - {0x800f, 143}, - {0x8018, 143}, - {0x801f, 143}, - {0x8029, 143}, - {0xc038, 143}, + {0x03, 2, 141}, + {0x06, 2, 141}, + {0x0a, 2, 141}, + {0x0f, 2, 141}, + {0x18, 2, 141}, + {0x1f, 2, 141}, + {0x29, 2, 141}, + {0x38, 3, 141}, + {0x03, 2, 143}, + {0x06, 2, 143}, + {0x0a, 2, 143}, + {0x0f, 2, 143}, + {0x18, 2, 143}, + {0x1f, 2, 143}, + {0x29, 2, 143}, + {0x38, 3, 143}, }, /* 153 */ { - {0x9d, 0}, - {0x9e, 0}, - {0xa0, 0}, - {0xa1, 0}, - {0xa4, 0}, - {0xa5, 0}, - {0xa7, 0}, - {0xa8, 0}, - {0xac, 0}, - {0xad, 0}, - {0xaf, 0}, - {0xb1, 0}, - {0xb6, 0}, - {0xb9, 0}, - {0xbf, 0}, - {0xcf, 0}, + {0x9d, 0, 0}, + {0x9e, 0, 0}, + {0xa0, 0, 0}, + {0xa1, 0, 0}, + {0xa4, 0, 0}, + {0xa5, 0, 0}, + {0xa7, 0, 0}, + {0xa8, 0, 0}, + {0xac, 0, 0}, + {0xad, 0, 0}, + {0xaf, 0, 0}, + {0xb1, 0, 0}, + {0xb6, 0, 0}, + {0xb9, 0, 0}, + {0xbf, 0, 0}, + {0xcf, 0, 0}, }, /* 154 */ { - {0xc000, 147}, - {0xc000, 149}, - {0xc000, 150}, - {0xc000, 151}, - {0xc000, 152}, - {0xc000, 155}, - {0xc000, 157}, - {0xc000, 158}, - {0xc000, 165}, - {0xc000, 166}, - {0xc000, 168}, - {0xc000, 174}, - {0xc000, 175}, - {0xc000, 180}, - {0xc000, 182}, - {0xc000, 183}, + {0x00, 3, 147}, + {0x00, 3, 149}, + {0x00, 3, 150}, + {0x00, 3, 151}, + {0x00, 3, 152}, + {0x00, 3, 155}, + {0x00, 3, 157}, + {0x00, 3, 158}, + {0x00, 3, 165}, + {0x00, 3, 166}, + {0x00, 3, 168}, + {0x00, 3, 174}, + {0x00, 3, 175}, + {0x00, 3, 180}, + {0x00, 3, 182}, + {0x00, 3, 183}, }, /* 155 */ { - {0x8001, 147}, - {0xc016, 147}, - {0x8001, 149}, - {0xc016, 149}, - {0x8001, 150}, - {0xc016, 150}, - {0x8001, 151}, - {0xc016, 151}, - {0x8001, 152}, - {0xc016, 152}, - {0x8001, 155}, - {0xc016, 155}, - {0x8001, 157}, - {0xc016, 157}, - {0x8001, 158}, - {0xc016, 158}, + {0x01, 2, 147}, + {0x16, 3, 147}, + {0x01, 2, 149}, + {0x16, 3, 149}, + {0x01, 2, 150}, + {0x16, 3, 150}, + {0x01, 2, 151}, + {0x16, 3, 151}, + {0x01, 2, 152}, + {0x16, 3, 152}, + {0x01, 2, 155}, + {0x16, 3, 155}, + {0x01, 2, 157}, + {0x16, 3, 157}, + {0x01, 2, 158}, + {0x16, 3, 158}, }, /* 156 */ { - {0x8002, 147}, - {0x8009, 147}, - {0x8017, 147}, - {0xc028, 147}, - {0x8002, 149}, - {0x8009, 149}, - {0x8017, 149}, - {0xc028, 149}, - {0x8002, 150}, - {0x8009, 150}, - {0x8017, 150}, - {0xc028, 150}, - {0x8002, 151}, - {0x8009, 151}, - {0x8017, 151}, - {0xc028, 151}, + {0x02, 2, 147}, + {0x09, 2, 147}, + {0x17, 2, 147}, + {0x28, 3, 147}, + {0x02, 2, 149}, + {0x09, 2, 149}, + {0x17, 2, 149}, + {0x28, 3, 149}, + {0x02, 2, 150}, + {0x09, 2, 150}, + {0x17, 2, 150}, + {0x28, 3, 150}, + {0x02, 2, 151}, + {0x09, 2, 151}, + {0x17, 2, 151}, + {0x28, 3, 151}, }, /* 157 */ { - {0x8003, 147}, - {0x8006, 147}, - {0x800a, 147}, - {0x800f, 147}, - {0x8018, 147}, - {0x801f, 147}, - {0x8029, 147}, - {0xc038, 147}, - {0x8003, 149}, - {0x8006, 149}, - {0x800a, 149}, - {0x800f, 149}, - {0x8018, 149}, - {0x801f, 149}, - {0x8029, 149}, - {0xc038, 149}, + {0x03, 2, 147}, + {0x06, 2, 147}, + {0x0a, 2, 147}, + {0x0f, 2, 147}, + {0x18, 2, 147}, + {0x1f, 2, 147}, + {0x29, 2, 147}, + {0x38, 3, 147}, + {0x03, 2, 149}, + {0x06, 2, 149}, + {0x0a, 2, 149}, + {0x0f, 2, 149}, + {0x18, 2, 149}, + {0x1f, 2, 149}, + {0x29, 2, 149}, + {0x38, 3, 149}, }, /* 158 */ { - {0x8003, 150}, - {0x8006, 150}, - {0x800a, 150}, - {0x800f, 150}, - {0x8018, 150}, - {0x801f, 150}, - {0x8029, 150}, - {0xc038, 150}, - {0x8003, 151}, - {0x8006, 151}, - {0x800a, 151}, - {0x800f, 151}, - {0x8018, 151}, - {0x801f, 151}, - {0x8029, 151}, - {0xc038, 151}, + {0x03, 2, 150}, + {0x06, 2, 150}, + {0x0a, 2, 150}, + {0x0f, 2, 150}, + {0x18, 2, 150}, + {0x1f, 2, 150}, + {0x29, 2, 150}, + {0x38, 3, 150}, + {0x03, 2, 151}, + {0x06, 2, 151}, + {0x0a, 2, 151}, + {0x0f, 2, 151}, + {0x18, 2, 151}, + {0x1f, 2, 151}, + {0x29, 2, 151}, + {0x38, 3, 151}, }, /* 159 */ { - {0x8002, 152}, - {0x8009, 152}, - {0x8017, 152}, - {0xc028, 152}, - {0x8002, 155}, - {0x8009, 155}, - {0x8017, 155}, - {0xc028, 155}, - {0x8002, 157}, - {0x8009, 157}, - {0x8017, 157}, - {0xc028, 157}, - {0x8002, 158}, - {0x8009, 158}, - {0x8017, 158}, - {0xc028, 158}, + {0x02, 2, 152}, + {0x09, 2, 152}, + {0x17, 2, 152}, + {0x28, 3, 152}, + {0x02, 2, 155}, + {0x09, 2, 155}, + {0x17, 2, 155}, + {0x28, 3, 155}, + {0x02, 2, 157}, + {0x09, 2, 157}, + {0x17, 2, 157}, + {0x28, 3, 157}, + {0x02, 2, 158}, + {0x09, 2, 158}, + {0x17, 2, 158}, + {0x28, 3, 158}, }, /* 160 */ { - {0x8003, 152}, - {0x8006, 152}, - {0x800a, 152}, - {0x800f, 152}, - {0x8018, 152}, - {0x801f, 152}, - {0x8029, 152}, - {0xc038, 152}, - {0x8003, 155}, - {0x8006, 155}, - {0x800a, 155}, - {0x800f, 155}, - {0x8018, 155}, - {0x801f, 155}, - {0x8029, 155}, - {0xc038, 155}, + {0x03, 2, 152}, + {0x06, 2, 152}, + {0x0a, 2, 152}, + {0x0f, 2, 152}, + {0x18, 2, 152}, + {0x1f, 2, 152}, + {0x29, 2, 152}, + {0x38, 3, 152}, + {0x03, 2, 155}, + {0x06, 2, 155}, + {0x0a, 2, 155}, + {0x0f, 2, 155}, + {0x18, 2, 155}, + {0x1f, 2, 155}, + {0x29, 2, 155}, + {0x38, 3, 155}, }, /* 161 */ { - {0x8003, 157}, - {0x8006, 157}, - {0x800a, 157}, - {0x800f, 157}, - {0x8018, 157}, - {0x801f, 157}, - {0x8029, 157}, - {0xc038, 157}, - {0x8003, 158}, - {0x8006, 158}, - {0x800a, 158}, - {0x800f, 158}, - {0x8018, 158}, - {0x801f, 158}, - {0x8029, 158}, - {0xc038, 158}, + {0x03, 2, 157}, + {0x06, 2, 157}, + {0x0a, 2, 157}, + {0x0f, 2, 157}, + {0x18, 2, 157}, + {0x1f, 2, 157}, + {0x29, 2, 157}, + {0x38, 3, 157}, + {0x03, 2, 158}, + {0x06, 2, 158}, + {0x0a, 2, 158}, + {0x0f, 2, 158}, + {0x18, 2, 158}, + {0x1f, 2, 158}, + {0x29, 2, 158}, + {0x38, 3, 158}, }, /* 162 */ { - {0x8001, 165}, - {0xc016, 165}, - {0x8001, 166}, - {0xc016, 166}, - {0x8001, 168}, - {0xc016, 168}, - {0x8001, 174}, - {0xc016, 174}, - {0x8001, 175}, - {0xc016, 175}, - {0x8001, 180}, - {0xc016, 180}, - {0x8001, 182}, - {0xc016, 182}, - {0x8001, 183}, - {0xc016, 183}, + {0x01, 2, 165}, + {0x16, 3, 165}, + {0x01, 2, 166}, + {0x16, 3, 166}, + {0x01, 2, 168}, + {0x16, 3, 168}, + {0x01, 2, 174}, + {0x16, 3, 174}, + {0x01, 2, 175}, + {0x16, 3, 175}, + {0x01, 2, 180}, + {0x16, 3, 180}, + {0x01, 2, 182}, + {0x16, 3, 182}, + {0x01, 2, 183}, + {0x16, 3, 183}, }, /* 163 */ { - {0x8002, 165}, - {0x8009, 165}, - {0x8017, 165}, - {0xc028, 165}, - {0x8002, 166}, - {0x8009, 166}, - {0x8017, 166}, - {0xc028, 166}, - {0x8002, 168}, - {0x8009, 168}, - {0x8017, 168}, - {0xc028, 168}, - {0x8002, 174}, - {0x8009, 174}, - {0x8017, 174}, - {0xc028, 174}, + {0x02, 2, 165}, + {0x09, 2, 165}, + {0x17, 2, 165}, + {0x28, 3, 165}, + {0x02, 2, 166}, + {0x09, 2, 166}, + {0x17, 2, 166}, + {0x28, 3, 166}, + {0x02, 2, 168}, + {0x09, 2, 168}, + {0x17, 2, 168}, + {0x28, 3, 168}, + {0x02, 2, 174}, + {0x09, 2, 174}, + {0x17, 2, 174}, + {0x28, 3, 174}, }, /* 164 */ { - {0x8003, 165}, - {0x8006, 165}, - {0x800a, 165}, - {0x800f, 165}, - {0x8018, 165}, - {0x801f, 165}, - {0x8029, 165}, - {0xc038, 165}, - {0x8003, 166}, - {0x8006, 166}, - {0x800a, 166}, - {0x800f, 166}, - {0x8018, 166}, - {0x801f, 166}, - {0x8029, 166}, - {0xc038, 166}, + {0x03, 2, 165}, + {0x06, 2, 165}, + {0x0a, 2, 165}, + {0x0f, 2, 165}, + {0x18, 2, 165}, + {0x1f, 2, 165}, + {0x29, 2, 165}, + {0x38, 3, 165}, + {0x03, 2, 166}, + {0x06, 2, 166}, + {0x0a, 2, 166}, + {0x0f, 2, 166}, + {0x18, 2, 166}, + {0x1f, 2, 166}, + {0x29, 2, 166}, + {0x38, 3, 166}, }, /* 165 */ { - {0x8003, 168}, - {0x8006, 168}, - {0x800a, 168}, - {0x800f, 168}, - {0x8018, 168}, - {0x801f, 168}, - {0x8029, 168}, - {0xc038, 168}, - {0x8003, 174}, - {0x8006, 174}, - {0x800a, 174}, - {0x800f, 174}, - {0x8018, 174}, - {0x801f, 174}, - {0x8029, 174}, - {0xc038, 174}, + {0x03, 2, 168}, + {0x06, 2, 168}, + {0x0a, 2, 168}, + {0x0f, 2, 168}, + {0x18, 2, 168}, + {0x1f, 2, 168}, + {0x29, 2, 168}, + {0x38, 3, 168}, + {0x03, 2, 174}, + {0x06, 2, 174}, + {0x0a, 2, 174}, + {0x0f, 2, 174}, + {0x18, 2, 174}, + {0x1f, 2, 174}, + {0x29, 2, 174}, + {0x38, 3, 174}, }, /* 166 */ { - {0x8002, 175}, - {0x8009, 175}, - {0x8017, 175}, - {0xc028, 175}, - {0x8002, 180}, - {0x8009, 180}, - {0x8017, 180}, - {0xc028, 180}, - {0x8002, 182}, - {0x8009, 182}, - {0x8017, 182}, - {0xc028, 182}, - {0x8002, 183}, - {0x8009, 183}, - {0x8017, 183}, - {0xc028, 183}, + {0x02, 2, 175}, + {0x09, 2, 175}, + {0x17, 2, 175}, + {0x28, 3, 175}, + {0x02, 2, 180}, + {0x09, 2, 180}, + {0x17, 2, 180}, + {0x28, 3, 180}, + {0x02, 2, 182}, + {0x09, 2, 182}, + {0x17, 2, 182}, + {0x28, 3, 182}, + {0x02, 2, 183}, + {0x09, 2, 183}, + {0x17, 2, 183}, + {0x28, 3, 183}, }, /* 167 */ { - {0x8003, 175}, - {0x8006, 175}, - {0x800a, 175}, - {0x800f, 175}, - {0x8018, 175}, - {0x801f, 175}, - {0x8029, 175}, - {0xc038, 175}, - {0x8003, 180}, - {0x8006, 180}, - {0x800a, 180}, - {0x800f, 180}, - {0x8018, 180}, - {0x801f, 180}, - {0x8029, 180}, - {0xc038, 180}, + {0x03, 2, 175}, + {0x06, 2, 175}, + {0x0a, 2, 175}, + {0x0f, 2, 175}, + {0x18, 2, 175}, + {0x1f, 2, 175}, + {0x29, 2, 175}, + {0x38, 3, 175}, + {0x03, 2, 180}, + {0x06, 2, 180}, + {0x0a, 2, 180}, + {0x0f, 2, 180}, + {0x18, 2, 180}, + {0x1f, 2, 180}, + {0x29, 2, 180}, + {0x38, 3, 180}, }, /* 168 */ { - {0x8003, 182}, - {0x8006, 182}, - {0x800a, 182}, - {0x800f, 182}, - {0x8018, 182}, - {0x801f, 182}, - {0x8029, 182}, - {0xc038, 182}, - {0x8003, 183}, - {0x8006, 183}, - {0x800a, 183}, - {0x800f, 183}, - {0x8018, 183}, - {0x801f, 183}, - {0x8029, 183}, - {0xc038, 183}, + {0x03, 2, 182}, + {0x06, 2, 182}, + {0x0a, 2, 182}, + {0x0f, 2, 182}, + {0x18, 2, 182}, + {0x1f, 2, 182}, + {0x29, 2, 182}, + {0x38, 3, 182}, + {0x03, 2, 183}, + {0x06, 2, 183}, + {0x0a, 2, 183}, + {0x0f, 2, 183}, + {0x18, 2, 183}, + {0x1f, 2, 183}, + {0x29, 2, 183}, + {0x38, 3, 183}, }, /* 169 */ { - {0xc000, 188}, - {0xc000, 191}, - {0xc000, 197}, - {0xc000, 231}, - {0xc000, 239}, - {0xb0, 0}, - {0xb2, 0}, - {0xb3, 0}, - {0xb7, 0}, - {0xb8, 0}, - {0xba, 0}, - {0xbb, 0}, - {0xc0, 0}, - {0xc7, 0}, - {0xd0, 0}, - {0xdf, 0}, + {0x00, 3, 188}, + {0x00, 3, 191}, + {0x00, 3, 197}, + {0x00, 3, 231}, + {0x00, 3, 239}, + {0xb0, 0, 0}, + {0xb2, 0, 0}, + {0xb3, 0, 0}, + {0xb7, 0, 0}, + {0xb8, 0, 0}, + {0xba, 0, 0}, + {0xbb, 0, 0}, + {0xc0, 0, 0}, + {0xc7, 0, 0}, + {0xd0, 0, 0}, + {0xdf, 0, 0}, }, /* 170 */ { - {0x8001, 188}, - {0xc016, 188}, - {0x8001, 191}, - {0xc016, 191}, - {0x8001, 197}, - {0xc016, 197}, - {0x8001, 231}, - {0xc016, 231}, - {0x8001, 239}, - {0xc016, 239}, - {0xc000, 9}, - {0xc000, 142}, - {0xc000, 144}, - {0xc000, 145}, - {0xc000, 148}, - {0xc000, 159}, + {0x01, 2, 188}, + {0x16, 3, 188}, + {0x01, 2, 191}, + {0x16, 3, 191}, + {0x01, 2, 197}, + {0x16, 3, 197}, + {0x01, 2, 231}, + {0x16, 3, 231}, + {0x01, 2, 239}, + {0x16, 3, 239}, + {0x00, 3, 9}, + {0x00, 3, 142}, + {0x00, 3, 144}, + {0x00, 3, 145}, + {0x00, 3, 148}, + {0x00, 3, 159}, }, /* 171 */ { - {0x8002, 188}, - {0x8009, 188}, - {0x8017, 188}, - {0xc028, 188}, - {0x8002, 191}, - {0x8009, 191}, - {0x8017, 191}, - {0xc028, 191}, - {0x8002, 197}, - {0x8009, 197}, - {0x8017, 197}, - {0xc028, 197}, - {0x8002, 231}, - {0x8009, 231}, - {0x8017, 231}, - {0xc028, 231}, + {0x02, 2, 188}, + {0x09, 2, 188}, + {0x17, 2, 188}, + {0x28, 3, 188}, + {0x02, 2, 191}, + {0x09, 2, 191}, + {0x17, 2, 191}, + {0x28, 3, 191}, + {0x02, 2, 197}, + {0x09, 2, 197}, + {0x17, 2, 197}, + {0x28, 3, 197}, + {0x02, 2, 231}, + {0x09, 2, 231}, + {0x17, 2, 231}, + {0x28, 3, 231}, }, /* 172 */ { - {0x8003, 188}, - {0x8006, 188}, - {0x800a, 188}, - {0x800f, 188}, - {0x8018, 188}, - {0x801f, 188}, - {0x8029, 188}, - {0xc038, 188}, - {0x8003, 191}, - {0x8006, 191}, - {0x800a, 191}, - {0x800f, 191}, - {0x8018, 191}, - {0x801f, 191}, - {0x8029, 191}, - {0xc038, 191}, + {0x03, 2, 188}, + {0x06, 2, 188}, + {0x0a, 2, 188}, + {0x0f, 2, 188}, + {0x18, 2, 188}, + {0x1f, 2, 188}, + {0x29, 2, 188}, + {0x38, 3, 188}, + {0x03, 2, 191}, + {0x06, 2, 191}, + {0x0a, 2, 191}, + {0x0f, 2, 191}, + {0x18, 2, 191}, + {0x1f, 2, 191}, + {0x29, 2, 191}, + {0x38, 3, 191}, }, /* 173 */ { - {0x8003, 197}, - {0x8006, 197}, - {0x800a, 197}, - {0x800f, 197}, - {0x8018, 197}, - {0x801f, 197}, - {0x8029, 197}, - {0xc038, 197}, - {0x8003, 231}, - {0x8006, 231}, - {0x800a, 231}, - {0x800f, 231}, - {0x8018, 231}, - {0x801f, 231}, - {0x8029, 231}, - {0xc038, 231}, + {0x03, 2, 197}, + {0x06, 2, 197}, + {0x0a, 2, 197}, + {0x0f, 2, 197}, + {0x18, 2, 197}, + {0x1f, 2, 197}, + {0x29, 2, 197}, + {0x38, 3, 197}, + {0x03, 2, 231}, + {0x06, 2, 231}, + {0x0a, 2, 231}, + {0x0f, 2, 231}, + {0x18, 2, 231}, + {0x1f, 2, 231}, + {0x29, 2, 231}, + {0x38, 3, 231}, }, /* 174 */ { - {0x8002, 239}, - {0x8009, 239}, - {0x8017, 239}, - {0xc028, 239}, - {0x8001, 9}, - {0xc016, 9}, - {0x8001, 142}, - {0xc016, 142}, - {0x8001, 144}, - {0xc016, 144}, - {0x8001, 145}, - {0xc016, 145}, - {0x8001, 148}, - {0xc016, 148}, - {0x8001, 159}, - {0xc016, 159}, + {0x02, 2, 239}, + {0x09, 2, 239}, + {0x17, 2, 239}, + {0x28, 3, 239}, + {0x01, 2, 9}, + {0x16, 3, 9}, + {0x01, 2, 142}, + {0x16, 3, 142}, + {0x01, 2, 144}, + {0x16, 3, 144}, + {0x01, 2, 145}, + {0x16, 3, 145}, + {0x01, 2, 148}, + {0x16, 3, 148}, + {0x01, 2, 159}, + {0x16, 3, 159}, }, /* 175 */ { - {0x8003, 239}, - {0x8006, 239}, - {0x800a, 239}, - {0x800f, 239}, - {0x8018, 239}, - {0x801f, 239}, - {0x8029, 239}, - {0xc038, 239}, - {0x8002, 9}, - {0x8009, 9}, - {0x8017, 9}, - {0xc028, 9}, - {0x8002, 142}, - {0x8009, 142}, - {0x8017, 142}, - {0xc028, 142}, + {0x03, 2, 239}, + {0x06, 2, 239}, + {0x0a, 2, 239}, + {0x0f, 2, 239}, + {0x18, 2, 239}, + {0x1f, 2, 239}, + {0x29, 2, 239}, + {0x38, 3, 239}, + {0x02, 2, 9}, + {0x09, 2, 9}, + {0x17, 2, 9}, + {0x28, 3, 9}, + {0x02, 2, 142}, + {0x09, 2, 142}, + {0x17, 2, 142}, + {0x28, 3, 142}, }, /* 176 */ { - {0x8003, 9}, - {0x8006, 9}, - {0x800a, 9}, - {0x800f, 9}, - {0x8018, 9}, - {0x801f, 9}, - {0x8029, 9}, - {0xc038, 9}, - {0x8003, 142}, - {0x8006, 142}, - {0x800a, 142}, - {0x800f, 142}, - {0x8018, 142}, - {0x801f, 142}, - {0x8029, 142}, - {0xc038, 142}, + {0x03, 2, 9}, + {0x06, 2, 9}, + {0x0a, 2, 9}, + {0x0f, 2, 9}, + {0x18, 2, 9}, + {0x1f, 2, 9}, + {0x29, 2, 9}, + {0x38, 3, 9}, + {0x03, 2, 142}, + {0x06, 2, 142}, + {0x0a, 2, 142}, + {0x0f, 2, 142}, + {0x18, 2, 142}, + {0x1f, 2, 142}, + {0x29, 2, 142}, + {0x38, 3, 142}, }, /* 177 */ { - {0x8002, 144}, - {0x8009, 144}, - {0x8017, 144}, - {0xc028, 144}, - {0x8002, 145}, - {0x8009, 145}, - {0x8017, 145}, - {0xc028, 145}, - {0x8002, 148}, - {0x8009, 148}, - {0x8017, 148}, - {0xc028, 148}, - {0x8002, 159}, - {0x8009, 159}, - {0x8017, 159}, - {0xc028, 159}, + {0x02, 2, 144}, + {0x09, 2, 144}, + {0x17, 2, 144}, + {0x28, 3, 144}, + {0x02, 2, 145}, + {0x09, 2, 145}, + {0x17, 2, 145}, + {0x28, 3, 145}, + {0x02, 2, 148}, + {0x09, 2, 148}, + {0x17, 2, 148}, + {0x28, 3, 148}, + {0x02, 2, 159}, + {0x09, 2, 159}, + {0x17, 2, 159}, + {0x28, 3, 159}, }, /* 178 */ { - {0x8003, 144}, - {0x8006, 144}, - {0x800a, 144}, - {0x800f, 144}, - {0x8018, 144}, - {0x801f, 144}, - {0x8029, 144}, - {0xc038, 144}, - {0x8003, 145}, - {0x8006, 145}, - {0x800a, 145}, - {0x800f, 145}, - {0x8018, 145}, - {0x801f, 145}, - {0x8029, 145}, - {0xc038, 145}, + {0x03, 2, 144}, + {0x06, 2, 144}, + {0x0a, 2, 144}, + {0x0f, 2, 144}, + {0x18, 2, 144}, + {0x1f, 2, 144}, + {0x29, 2, 144}, + {0x38, 3, 144}, + {0x03, 2, 145}, + {0x06, 2, 145}, + {0x0a, 2, 145}, + {0x0f, 2, 145}, + {0x18, 2, 145}, + {0x1f, 2, 145}, + {0x29, 2, 145}, + {0x38, 3, 145}, }, /* 179 */ { - {0x8003, 148}, - {0x8006, 148}, - {0x800a, 148}, - {0x800f, 148}, - {0x8018, 148}, - {0x801f, 148}, - {0x8029, 148}, - {0xc038, 148}, - {0x8003, 159}, - {0x8006, 159}, - {0x800a, 159}, - {0x800f, 159}, - {0x8018, 159}, - {0x801f, 159}, - {0x8029, 159}, - {0xc038, 159}, + {0x03, 2, 148}, + {0x06, 2, 148}, + {0x0a, 2, 148}, + {0x0f, 2, 148}, + {0x18, 2, 148}, + {0x1f, 2, 148}, + {0x29, 2, 148}, + {0x38, 3, 148}, + {0x03, 2, 159}, + {0x06, 2, 159}, + {0x0a, 2, 159}, + {0x0f, 2, 159}, + {0x18, 2, 159}, + {0x1f, 2, 159}, + {0x29, 2, 159}, + {0x38, 3, 159}, }, /* 180 */ { - {0xc000, 171}, - {0xc000, 206}, - {0xc000, 215}, - {0xc000, 225}, - {0xc000, 236}, - {0xc000, 237}, - {0xbc, 0}, - {0xbd, 0}, - {0xc1, 0}, - {0xc4, 0}, - {0xc8, 0}, - {0xcb, 0}, - {0xd1, 0}, - {0xd8, 0}, - {0xe0, 0}, - {0xee, 0}, + {0x00, 3, 171}, + {0x00, 3, 206}, + {0x00, 3, 215}, + {0x00, 3, 225}, + {0x00, 3, 236}, + {0x00, 3, 237}, + {0xbc, 0, 0}, + {0xbd, 0, 0}, + {0xc1, 0, 0}, + {0xc4, 0, 0}, + {0xc8, 0, 0}, + {0xcb, 0, 0}, + {0xd1, 0, 0}, + {0xd8, 0, 0}, + {0xe0, 0, 0}, + {0xee, 0, 0}, }, /* 181 */ { - {0x8001, 171}, - {0xc016, 171}, - {0x8001, 206}, - {0xc016, 206}, - {0x8001, 215}, - {0xc016, 215}, - {0x8001, 225}, - {0xc016, 225}, - {0x8001, 236}, - {0xc016, 236}, - {0x8001, 237}, - {0xc016, 237}, - {0xc000, 199}, - {0xc000, 207}, - {0xc000, 234}, - {0xc000, 235}, + {0x01, 2, 171}, + {0x16, 3, 171}, + {0x01, 2, 206}, + {0x16, 3, 206}, + {0x01, 2, 215}, + {0x16, 3, 215}, + {0x01, 2, 225}, + {0x16, 3, 225}, + {0x01, 2, 236}, + {0x16, 3, 236}, + {0x01, 2, 237}, + {0x16, 3, 237}, + {0x00, 3, 199}, + {0x00, 3, 207}, + {0x00, 3, 234}, + {0x00, 3, 235}, }, /* 182 */ { - {0x8002, 171}, - {0x8009, 171}, - {0x8017, 171}, - {0xc028, 171}, - {0x8002, 206}, - {0x8009, 206}, - {0x8017, 206}, - {0xc028, 206}, - {0x8002, 215}, - {0x8009, 215}, - {0x8017, 215}, - {0xc028, 215}, - {0x8002, 225}, - {0x8009, 225}, - {0x8017, 225}, - {0xc028, 225}, + {0x02, 2, 171}, + {0x09, 2, 171}, + {0x17, 2, 171}, + {0x28, 3, 171}, + {0x02, 2, 206}, + {0x09, 2, 206}, + {0x17, 2, 206}, + {0x28, 3, 206}, + {0x02, 2, 215}, + {0x09, 2, 215}, + {0x17, 2, 215}, + {0x28, 3, 215}, + {0x02, 2, 225}, + {0x09, 2, 225}, + {0x17, 2, 225}, + {0x28, 3, 225}, }, /* 183 */ { - {0x8003, 171}, - {0x8006, 171}, - {0x800a, 171}, - {0x800f, 171}, - {0x8018, 171}, - {0x801f, 171}, - {0x8029, 171}, - {0xc038, 171}, - {0x8003, 206}, - {0x8006, 206}, - {0x800a, 206}, - {0x800f, 206}, - {0x8018, 206}, - {0x801f, 206}, - {0x8029, 206}, - {0xc038, 206}, + {0x03, 2, 171}, + {0x06, 2, 171}, + {0x0a, 2, 171}, + {0x0f, 2, 171}, + {0x18, 2, 171}, + {0x1f, 2, 171}, + {0x29, 2, 171}, + {0x38, 3, 171}, + {0x03, 2, 206}, + {0x06, 2, 206}, + {0x0a, 2, 206}, + {0x0f, 2, 206}, + {0x18, 2, 206}, + {0x1f, 2, 206}, + {0x29, 2, 206}, + {0x38, 3, 206}, }, /* 184 */ { - {0x8003, 215}, - {0x8006, 215}, - {0x800a, 215}, - {0x800f, 215}, - {0x8018, 215}, - {0x801f, 215}, - {0x8029, 215}, - {0xc038, 215}, - {0x8003, 225}, - {0x8006, 225}, - {0x800a, 225}, - {0x800f, 225}, - {0x8018, 225}, - {0x801f, 225}, - {0x8029, 225}, - {0xc038, 225}, + {0x03, 2, 215}, + {0x06, 2, 215}, + {0x0a, 2, 215}, + {0x0f, 2, 215}, + {0x18, 2, 215}, + {0x1f, 2, 215}, + {0x29, 2, 215}, + {0x38, 3, 215}, + {0x03, 2, 225}, + {0x06, 2, 225}, + {0x0a, 2, 225}, + {0x0f, 2, 225}, + {0x18, 2, 225}, + {0x1f, 2, 225}, + {0x29, 2, 225}, + {0x38, 3, 225}, }, /* 185 */ { - {0x8002, 236}, - {0x8009, 236}, - {0x8017, 236}, - {0xc028, 236}, - {0x8002, 237}, - {0x8009, 237}, - {0x8017, 237}, - {0xc028, 237}, - {0x8001, 199}, - {0xc016, 199}, - {0x8001, 207}, - {0xc016, 207}, - {0x8001, 234}, - {0xc016, 234}, - {0x8001, 235}, - {0xc016, 235}, + {0x02, 2, 236}, + {0x09, 2, 236}, + {0x17, 2, 236}, + {0x28, 3, 236}, + {0x02, 2, 237}, + {0x09, 2, 237}, + {0x17, 2, 237}, + {0x28, 3, 237}, + {0x01, 2, 199}, + {0x16, 3, 199}, + {0x01, 2, 207}, + {0x16, 3, 207}, + {0x01, 2, 234}, + {0x16, 3, 234}, + {0x01, 2, 235}, + {0x16, 3, 235}, }, /* 186 */ { - {0x8003, 236}, - {0x8006, 236}, - {0x800a, 236}, - {0x800f, 236}, - {0x8018, 236}, - {0x801f, 236}, - {0x8029, 236}, - {0xc038, 236}, - {0x8003, 237}, - {0x8006, 237}, - {0x800a, 237}, - {0x800f, 237}, - {0x8018, 237}, - {0x801f, 237}, - {0x8029, 237}, - {0xc038, 237}, + {0x03, 2, 236}, + {0x06, 2, 236}, + {0x0a, 2, 236}, + {0x0f, 2, 236}, + {0x18, 2, 236}, + {0x1f, 2, 236}, + {0x29, 2, 236}, + {0x38, 3, 236}, + {0x03, 2, 237}, + {0x06, 2, 237}, + {0x0a, 2, 237}, + {0x0f, 2, 237}, + {0x18, 2, 237}, + {0x1f, 2, 237}, + {0x29, 2, 237}, + {0x38, 3, 237}, }, /* 187 */ { - {0x8002, 199}, - {0x8009, 199}, - {0x8017, 199}, - {0xc028, 199}, - {0x8002, 207}, - {0x8009, 207}, - {0x8017, 207}, - {0xc028, 207}, - {0x8002, 234}, - {0x8009, 234}, - {0x8017, 234}, - {0xc028, 234}, - {0x8002, 235}, - {0x8009, 235}, - {0x8017, 235}, - {0xc028, 235}, + {0x02, 2, 199}, + {0x09, 2, 199}, + {0x17, 2, 199}, + {0x28, 3, 199}, + {0x02, 2, 207}, + {0x09, 2, 207}, + {0x17, 2, 207}, + {0x28, 3, 207}, + {0x02, 2, 234}, + {0x09, 2, 234}, + {0x17, 2, 234}, + {0x28, 3, 234}, + {0x02, 2, 235}, + {0x09, 2, 235}, + {0x17, 2, 235}, + {0x28, 3, 235}, }, /* 188 */ { - {0x8003, 199}, - {0x8006, 199}, - {0x800a, 199}, - {0x800f, 199}, - {0x8018, 199}, - {0x801f, 199}, - {0x8029, 199}, - {0xc038, 199}, - {0x8003, 207}, - {0x8006, 207}, - {0x800a, 207}, - {0x800f, 207}, - {0x8018, 207}, - {0x801f, 207}, - {0x8029, 207}, - {0xc038, 207}, + {0x03, 2, 199}, + {0x06, 2, 199}, + {0x0a, 2, 199}, + {0x0f, 2, 199}, + {0x18, 2, 199}, + {0x1f, 2, 199}, + {0x29, 2, 199}, + {0x38, 3, 199}, + {0x03, 2, 207}, + {0x06, 2, 207}, + {0x0a, 2, 207}, + {0x0f, 2, 207}, + {0x18, 2, 207}, + {0x1f, 2, 207}, + {0x29, 2, 207}, + {0x38, 3, 207}, }, /* 189 */ { - {0x8003, 234}, - {0x8006, 234}, - {0x800a, 234}, - {0x800f, 234}, - {0x8018, 234}, - {0x801f, 234}, - {0x8029, 234}, - {0xc038, 234}, - {0x8003, 235}, - {0x8006, 235}, - {0x800a, 235}, - {0x800f, 235}, - {0x8018, 235}, - {0x801f, 235}, - {0x8029, 235}, - {0xc038, 235}, + {0x03, 2, 234}, + {0x06, 2, 234}, + {0x0a, 2, 234}, + {0x0f, 2, 234}, + {0x18, 2, 234}, + {0x1f, 2, 234}, + {0x29, 2, 234}, + {0x38, 3, 234}, + {0x03, 2, 235}, + {0x06, 2, 235}, + {0x0a, 2, 235}, + {0x0f, 2, 235}, + {0x18, 2, 235}, + {0x1f, 2, 235}, + {0x29, 2, 235}, + {0x38, 3, 235}, }, /* 190 */ { - {0xc2, 0}, - {0xc3, 0}, - {0xc5, 0}, - {0xc6, 0}, - {0xc9, 0}, - {0xca, 0}, - {0xcc, 0}, - {0xcd, 0}, - {0xd2, 0}, - {0xd5, 0}, - {0xd9, 0}, - {0xdc, 0}, - {0xe1, 0}, - {0xe7, 0}, - {0xef, 0}, - {0xf6, 0}, + {0xc2, 0, 0}, + {0xc3, 0, 0}, + {0xc5, 0, 0}, + {0xc6, 0, 0}, + {0xc9, 0, 0}, + {0xca, 0, 0}, + {0xcc, 0, 0}, + {0xcd, 0, 0}, + {0xd2, 0, 0}, + {0xd5, 0, 0}, + {0xd9, 0, 0}, + {0xdc, 0, 0}, + {0xe1, 0, 0}, + {0xe7, 0, 0}, + {0xef, 0, 0}, + {0xf6, 0, 0}, }, /* 191 */ { - {0xc000, 192}, - {0xc000, 193}, - {0xc000, 200}, - {0xc000, 201}, - {0xc000, 202}, - {0xc000, 205}, - {0xc000, 210}, - {0xc000, 213}, - {0xc000, 218}, - {0xc000, 219}, - {0xc000, 238}, - {0xc000, 240}, - {0xc000, 242}, - {0xc000, 243}, - {0xc000, 255}, - {0xce, 0}, + {0x00, 3, 192}, + {0x00, 3, 193}, + {0x00, 3, 200}, + {0x00, 3, 201}, + {0x00, 3, 202}, + {0x00, 3, 205}, + {0x00, 3, 210}, + {0x00, 3, 213}, + {0x00, 3, 218}, + {0x00, 3, 219}, + {0x00, 3, 238}, + {0x00, 3, 240}, + {0x00, 3, 242}, + {0x00, 3, 243}, + {0x00, 3, 255}, + {0xce, 0, 0}, }, /* 192 */ { - {0x8001, 192}, - {0xc016, 192}, - {0x8001, 193}, - {0xc016, 193}, - {0x8001, 200}, - {0xc016, 200}, - {0x8001, 201}, - {0xc016, 201}, - {0x8001, 202}, - {0xc016, 202}, - {0x8001, 205}, - {0xc016, 205}, - {0x8001, 210}, - {0xc016, 210}, - {0x8001, 213}, - {0xc016, 213}, + {0x01, 2, 192}, + {0x16, 3, 192}, + {0x01, 2, 193}, + {0x16, 3, 193}, + {0x01, 2, 200}, + {0x16, 3, 200}, + {0x01, 2, 201}, + {0x16, 3, 201}, + {0x01, 2, 202}, + {0x16, 3, 202}, + {0x01, 2, 205}, + {0x16, 3, 205}, + {0x01, 2, 210}, + {0x16, 3, 210}, + {0x01, 2, 213}, + {0x16, 3, 213}, }, /* 193 */ { - {0x8002, 192}, - {0x8009, 192}, - {0x8017, 192}, - {0xc028, 192}, - {0x8002, 193}, - {0x8009, 193}, - {0x8017, 193}, - {0xc028, 193}, - {0x8002, 200}, - {0x8009, 200}, - {0x8017, 200}, - {0xc028, 200}, - {0x8002, 201}, - {0x8009, 201}, - {0x8017, 201}, - {0xc028, 201}, + {0x02, 2, 192}, + {0x09, 2, 192}, + {0x17, 2, 192}, + {0x28, 3, 192}, + {0x02, 2, 193}, + {0x09, 2, 193}, + {0x17, 2, 193}, + {0x28, 3, 193}, + {0x02, 2, 200}, + {0x09, 2, 200}, + {0x17, 2, 200}, + {0x28, 3, 200}, + {0x02, 2, 201}, + {0x09, 2, 201}, + {0x17, 2, 201}, + {0x28, 3, 201}, }, /* 194 */ { - {0x8003, 192}, - {0x8006, 192}, - {0x800a, 192}, - {0x800f, 192}, - {0x8018, 192}, - {0x801f, 192}, - {0x8029, 192}, - {0xc038, 192}, - {0x8003, 193}, - {0x8006, 193}, - {0x800a, 193}, - {0x800f, 193}, - {0x8018, 193}, - {0x801f, 193}, - {0x8029, 193}, - {0xc038, 193}, + {0x03, 2, 192}, + {0x06, 2, 192}, + {0x0a, 2, 192}, + {0x0f, 2, 192}, + {0x18, 2, 192}, + {0x1f, 2, 192}, + {0x29, 2, 192}, + {0x38, 3, 192}, + {0x03, 2, 193}, + {0x06, 2, 193}, + {0x0a, 2, 193}, + {0x0f, 2, 193}, + {0x18, 2, 193}, + {0x1f, 2, 193}, + {0x29, 2, 193}, + {0x38, 3, 193}, }, /* 195 */ { - {0x8003, 200}, - {0x8006, 200}, - {0x800a, 200}, - {0x800f, 200}, - {0x8018, 200}, - {0x801f, 200}, - {0x8029, 200}, - {0xc038, 200}, - {0x8003, 201}, - {0x8006, 201}, - {0x800a, 201}, - {0x800f, 201}, - {0x8018, 201}, - {0x801f, 201}, - {0x8029, 201}, - {0xc038, 201}, + {0x03, 2, 200}, + {0x06, 2, 200}, + {0x0a, 2, 200}, + {0x0f, 2, 200}, + {0x18, 2, 200}, + {0x1f, 2, 200}, + {0x29, 2, 200}, + {0x38, 3, 200}, + {0x03, 2, 201}, + {0x06, 2, 201}, + {0x0a, 2, 201}, + {0x0f, 2, 201}, + {0x18, 2, 201}, + {0x1f, 2, 201}, + {0x29, 2, 201}, + {0x38, 3, 201}, }, /* 196 */ { - {0x8002, 202}, - {0x8009, 202}, - {0x8017, 202}, - {0xc028, 202}, - {0x8002, 205}, - {0x8009, 205}, - {0x8017, 205}, - {0xc028, 205}, - {0x8002, 210}, - {0x8009, 210}, - {0x8017, 210}, - {0xc028, 210}, - {0x8002, 213}, - {0x8009, 213}, - {0x8017, 213}, - {0xc028, 213}, + {0x02, 2, 202}, + {0x09, 2, 202}, + {0x17, 2, 202}, + {0x28, 3, 202}, + {0x02, 2, 205}, + {0x09, 2, 205}, + {0x17, 2, 205}, + {0x28, 3, 205}, + {0x02, 2, 210}, + {0x09, 2, 210}, + {0x17, 2, 210}, + {0x28, 3, 210}, + {0x02, 2, 213}, + {0x09, 2, 213}, + {0x17, 2, 213}, + {0x28, 3, 213}, }, /* 197 */ { - {0x8003, 202}, - {0x8006, 202}, - {0x800a, 202}, - {0x800f, 202}, - {0x8018, 202}, - {0x801f, 202}, - {0x8029, 202}, - {0xc038, 202}, - {0x8003, 205}, - {0x8006, 205}, - {0x800a, 205}, - {0x800f, 205}, - {0x8018, 205}, - {0x801f, 205}, - {0x8029, 205}, - {0xc038, 205}, + {0x03, 2, 202}, + {0x06, 2, 202}, + {0x0a, 2, 202}, + {0x0f, 2, 202}, + {0x18, 2, 202}, + {0x1f, 2, 202}, + {0x29, 2, 202}, + {0x38, 3, 202}, + {0x03, 2, 205}, + {0x06, 2, 205}, + {0x0a, 2, 205}, + {0x0f, 2, 205}, + {0x18, 2, 205}, + {0x1f, 2, 205}, + {0x29, 2, 205}, + {0x38, 3, 205}, }, /* 198 */ { - {0x8003, 210}, - {0x8006, 210}, - {0x800a, 210}, - {0x800f, 210}, - {0x8018, 210}, - {0x801f, 210}, - {0x8029, 210}, - {0xc038, 210}, - {0x8003, 213}, - {0x8006, 213}, - {0x800a, 213}, - {0x800f, 213}, - {0x8018, 213}, - {0x801f, 213}, - {0x8029, 213}, - {0xc038, 213}, + {0x03, 2, 210}, + {0x06, 2, 210}, + {0x0a, 2, 210}, + {0x0f, 2, 210}, + {0x18, 2, 210}, + {0x1f, 2, 210}, + {0x29, 2, 210}, + {0x38, 3, 210}, + {0x03, 2, 213}, + {0x06, 2, 213}, + {0x0a, 2, 213}, + {0x0f, 2, 213}, + {0x18, 2, 213}, + {0x1f, 2, 213}, + {0x29, 2, 213}, + {0x38, 3, 213}, }, /* 199 */ { - {0x8001, 218}, - {0xc016, 218}, - {0x8001, 219}, - {0xc016, 219}, - {0x8001, 238}, - {0xc016, 238}, - {0x8001, 240}, - {0xc016, 240}, - {0x8001, 242}, - {0xc016, 242}, - {0x8001, 243}, - {0xc016, 243}, - {0x8001, 255}, - {0xc016, 255}, - {0xc000, 203}, - {0xc000, 204}, + {0x01, 2, 218}, + {0x16, 3, 218}, + {0x01, 2, 219}, + {0x16, 3, 219}, + {0x01, 2, 238}, + {0x16, 3, 238}, + {0x01, 2, 240}, + {0x16, 3, 240}, + {0x01, 2, 242}, + {0x16, 3, 242}, + {0x01, 2, 243}, + {0x16, 3, 243}, + {0x01, 2, 255}, + {0x16, 3, 255}, + {0x00, 3, 203}, + {0x00, 3, 204}, }, /* 200 */ { - {0x8002, 218}, - {0x8009, 218}, - {0x8017, 218}, - {0xc028, 218}, - {0x8002, 219}, - {0x8009, 219}, - {0x8017, 219}, - {0xc028, 219}, - {0x8002, 238}, - {0x8009, 238}, - {0x8017, 238}, - {0xc028, 238}, - {0x8002, 240}, - {0x8009, 240}, - {0x8017, 240}, - {0xc028, 240}, + {0x02, 2, 218}, + {0x09, 2, 218}, + {0x17, 2, 218}, + {0x28, 3, 218}, + {0x02, 2, 219}, + {0x09, 2, 219}, + {0x17, 2, 219}, + {0x28, 3, 219}, + {0x02, 2, 238}, + {0x09, 2, 238}, + {0x17, 2, 238}, + {0x28, 3, 238}, + {0x02, 2, 240}, + {0x09, 2, 240}, + {0x17, 2, 240}, + {0x28, 3, 240}, }, /* 201 */ { - {0x8003, 218}, - {0x8006, 218}, - {0x800a, 218}, - {0x800f, 218}, - {0x8018, 218}, - {0x801f, 218}, - {0x8029, 218}, - {0xc038, 218}, - {0x8003, 219}, - {0x8006, 219}, - {0x800a, 219}, - {0x800f, 219}, - {0x8018, 219}, - {0x801f, 219}, - {0x8029, 219}, - {0xc038, 219}, + {0x03, 2, 218}, + {0x06, 2, 218}, + {0x0a, 2, 218}, + {0x0f, 2, 218}, + {0x18, 2, 218}, + {0x1f, 2, 218}, + {0x29, 2, 218}, + {0x38, 3, 218}, + {0x03, 2, 219}, + {0x06, 2, 219}, + {0x0a, 2, 219}, + {0x0f, 2, 219}, + {0x18, 2, 219}, + {0x1f, 2, 219}, + {0x29, 2, 219}, + {0x38, 3, 219}, }, /* 202 */ { - {0x8003, 238}, - {0x8006, 238}, - {0x800a, 238}, - {0x800f, 238}, - {0x8018, 238}, - {0x801f, 238}, - {0x8029, 238}, - {0xc038, 238}, - {0x8003, 240}, - {0x8006, 240}, - {0x800a, 240}, - {0x800f, 240}, - {0x8018, 240}, - {0x801f, 240}, - {0x8029, 240}, - {0xc038, 240}, + {0x03, 2, 238}, + {0x06, 2, 238}, + {0x0a, 2, 238}, + {0x0f, 2, 238}, + {0x18, 2, 238}, + {0x1f, 2, 238}, + {0x29, 2, 238}, + {0x38, 3, 238}, + {0x03, 2, 240}, + {0x06, 2, 240}, + {0x0a, 2, 240}, + {0x0f, 2, 240}, + {0x18, 2, 240}, + {0x1f, 2, 240}, + {0x29, 2, 240}, + {0x38, 3, 240}, }, /* 203 */ { - {0x8002, 242}, - {0x8009, 242}, - {0x8017, 242}, - {0xc028, 242}, - {0x8002, 243}, - {0x8009, 243}, - {0x8017, 243}, - {0xc028, 243}, - {0x8002, 255}, - {0x8009, 255}, - {0x8017, 255}, - {0xc028, 255}, - {0x8001, 203}, - {0xc016, 203}, - {0x8001, 204}, - {0xc016, 204}, + {0x02, 2, 242}, + {0x09, 2, 242}, + {0x17, 2, 242}, + {0x28, 3, 242}, + {0x02, 2, 243}, + {0x09, 2, 243}, + {0x17, 2, 243}, + {0x28, 3, 243}, + {0x02, 2, 255}, + {0x09, 2, 255}, + {0x17, 2, 255}, + {0x28, 3, 255}, + {0x01, 2, 203}, + {0x16, 3, 203}, + {0x01, 2, 204}, + {0x16, 3, 204}, }, /* 204 */ { - {0x8003, 242}, - {0x8006, 242}, - {0x800a, 242}, - {0x800f, 242}, - {0x8018, 242}, - {0x801f, 242}, - {0x8029, 242}, - {0xc038, 242}, - {0x8003, 243}, - {0x8006, 243}, - {0x800a, 243}, - {0x800f, 243}, - {0x8018, 243}, - {0x801f, 243}, - {0x8029, 243}, - {0xc038, 243}, + {0x03, 2, 242}, + {0x06, 2, 242}, + {0x0a, 2, 242}, + {0x0f, 2, 242}, + {0x18, 2, 242}, + {0x1f, 2, 242}, + {0x29, 2, 242}, + {0x38, 3, 242}, + {0x03, 2, 243}, + {0x06, 2, 243}, + {0x0a, 2, 243}, + {0x0f, 2, 243}, + {0x18, 2, 243}, + {0x1f, 2, 243}, + {0x29, 2, 243}, + {0x38, 3, 243}, }, /* 205 */ { - {0x8003, 255}, - {0x8006, 255}, - {0x800a, 255}, - {0x800f, 255}, - {0x8018, 255}, - {0x801f, 255}, - {0x8029, 255}, - {0xc038, 255}, - {0x8002, 203}, - {0x8009, 203}, - {0x8017, 203}, - {0xc028, 203}, - {0x8002, 204}, - {0x8009, 204}, - {0x8017, 204}, - {0xc028, 204}, + {0x03, 2, 255}, + {0x06, 2, 255}, + {0x0a, 2, 255}, + {0x0f, 2, 255}, + {0x18, 2, 255}, + {0x1f, 2, 255}, + {0x29, 2, 255}, + {0x38, 3, 255}, + {0x02, 2, 203}, + {0x09, 2, 203}, + {0x17, 2, 203}, + {0x28, 3, 203}, + {0x02, 2, 204}, + {0x09, 2, 204}, + {0x17, 2, 204}, + {0x28, 3, 204}, }, /* 206 */ { - {0x8003, 203}, - {0x8006, 203}, - {0x800a, 203}, - {0x800f, 203}, - {0x8018, 203}, - {0x801f, 203}, - {0x8029, 203}, - {0xc038, 203}, - {0x8003, 204}, - {0x8006, 204}, - {0x800a, 204}, - {0x800f, 204}, - {0x8018, 204}, - {0x801f, 204}, - {0x8029, 204}, - {0xc038, 204}, + {0x03, 2, 203}, + {0x06, 2, 203}, + {0x0a, 2, 203}, + {0x0f, 2, 203}, + {0x18, 2, 203}, + {0x1f, 2, 203}, + {0x29, 2, 203}, + {0x38, 3, 203}, + {0x03, 2, 204}, + {0x06, 2, 204}, + {0x0a, 2, 204}, + {0x0f, 2, 204}, + {0x18, 2, 204}, + {0x1f, 2, 204}, + {0x29, 2, 204}, + {0x38, 3, 204}, }, /* 207 */ { - {0xd3, 0}, - {0xd4, 0}, - {0xd6, 0}, - {0xd7, 0}, - {0xda, 0}, - {0xdb, 0}, - {0xdd, 0}, - {0xde, 0}, - {0xe2, 0}, - {0xe4, 0}, - {0xe8, 0}, - {0xeb, 0}, - {0xf0, 0}, - {0xf3, 0}, - {0xf7, 0}, - {0xfa, 0}, + {0xd3, 0, 0}, + {0xd4, 0, 0}, + {0xd6, 0, 0}, + {0xd7, 0, 0}, + {0xda, 0, 0}, + {0xdb, 0, 0}, + {0xdd, 0, 0}, + {0xde, 0, 0}, + {0xe2, 0, 0}, + {0xe4, 0, 0}, + {0xe8, 0, 0}, + {0xeb, 0, 0}, + {0xf0, 0, 0}, + {0xf3, 0, 0}, + {0xf7, 0, 0}, + {0xfa, 0, 0}, }, /* 208 */ { - {0xc000, 211}, - {0xc000, 212}, - {0xc000, 214}, - {0xc000, 221}, - {0xc000, 222}, - {0xc000, 223}, - {0xc000, 241}, - {0xc000, 244}, - {0xc000, 245}, - {0xc000, 246}, - {0xc000, 247}, - {0xc000, 248}, - {0xc000, 250}, - {0xc000, 251}, - {0xc000, 252}, - {0xc000, 253}, + {0x00, 3, 211}, + {0x00, 3, 212}, + {0x00, 3, 214}, + {0x00, 3, 221}, + {0x00, 3, 222}, + {0x00, 3, 223}, + {0x00, 3, 241}, + {0x00, 3, 244}, + {0x00, 3, 245}, + {0x00, 3, 246}, + {0x00, 3, 247}, + {0x00, 3, 248}, + {0x00, 3, 250}, + {0x00, 3, 251}, + {0x00, 3, 252}, + {0x00, 3, 253}, }, /* 209 */ { - {0x8001, 211}, - {0xc016, 211}, - {0x8001, 212}, - {0xc016, 212}, - {0x8001, 214}, - {0xc016, 214}, - {0x8001, 221}, - {0xc016, 221}, - {0x8001, 222}, - {0xc016, 222}, - {0x8001, 223}, - {0xc016, 223}, - {0x8001, 241}, - {0xc016, 241}, - {0x8001, 244}, - {0xc016, 244}, + {0x01, 2, 211}, + {0x16, 3, 211}, + {0x01, 2, 212}, + {0x16, 3, 212}, + {0x01, 2, 214}, + {0x16, 3, 214}, + {0x01, 2, 221}, + {0x16, 3, 221}, + {0x01, 2, 222}, + {0x16, 3, 222}, + {0x01, 2, 223}, + {0x16, 3, 223}, + {0x01, 2, 241}, + {0x16, 3, 241}, + {0x01, 2, 244}, + {0x16, 3, 244}, }, /* 210 */ { - {0x8002, 211}, - {0x8009, 211}, - {0x8017, 211}, - {0xc028, 211}, - {0x8002, 212}, - {0x8009, 212}, - {0x8017, 212}, - {0xc028, 212}, - {0x8002, 214}, - {0x8009, 214}, - {0x8017, 214}, - {0xc028, 214}, - {0x8002, 221}, - {0x8009, 221}, - {0x8017, 221}, - {0xc028, 221}, + {0x02, 2, 211}, + {0x09, 2, 211}, + {0x17, 2, 211}, + {0x28, 3, 211}, + {0x02, 2, 212}, + {0x09, 2, 212}, + {0x17, 2, 212}, + {0x28, 3, 212}, + {0x02, 2, 214}, + {0x09, 2, 214}, + {0x17, 2, 214}, + {0x28, 3, 214}, + {0x02, 2, 221}, + {0x09, 2, 221}, + {0x17, 2, 221}, + {0x28, 3, 221}, }, /* 211 */ { - {0x8003, 211}, - {0x8006, 211}, - {0x800a, 211}, - {0x800f, 211}, - {0x8018, 211}, - {0x801f, 211}, - {0x8029, 211}, - {0xc038, 211}, - {0x8003, 212}, - {0x8006, 212}, - {0x800a, 212}, - {0x800f, 212}, - {0x8018, 212}, - {0x801f, 212}, - {0x8029, 212}, - {0xc038, 212}, + {0x03, 2, 211}, + {0x06, 2, 211}, + {0x0a, 2, 211}, + {0x0f, 2, 211}, + {0x18, 2, 211}, + {0x1f, 2, 211}, + {0x29, 2, 211}, + {0x38, 3, 211}, + {0x03, 2, 212}, + {0x06, 2, 212}, + {0x0a, 2, 212}, + {0x0f, 2, 212}, + {0x18, 2, 212}, + {0x1f, 2, 212}, + {0x29, 2, 212}, + {0x38, 3, 212}, }, /* 212 */ { - {0x8003, 214}, - {0x8006, 214}, - {0x800a, 214}, - {0x800f, 214}, - {0x8018, 214}, - {0x801f, 214}, - {0x8029, 214}, - {0xc038, 214}, - {0x8003, 221}, - {0x8006, 221}, - {0x800a, 221}, - {0x800f, 221}, - {0x8018, 221}, - {0x801f, 221}, - {0x8029, 221}, - {0xc038, 221}, + {0x03, 2, 214}, + {0x06, 2, 214}, + {0x0a, 2, 214}, + {0x0f, 2, 214}, + {0x18, 2, 214}, + {0x1f, 2, 214}, + {0x29, 2, 214}, + {0x38, 3, 214}, + {0x03, 2, 221}, + {0x06, 2, 221}, + {0x0a, 2, 221}, + {0x0f, 2, 221}, + {0x18, 2, 221}, + {0x1f, 2, 221}, + {0x29, 2, 221}, + {0x38, 3, 221}, }, /* 213 */ { - {0x8002, 222}, - {0x8009, 222}, - {0x8017, 222}, - {0xc028, 222}, - {0x8002, 223}, - {0x8009, 223}, - {0x8017, 223}, - {0xc028, 223}, - {0x8002, 241}, - {0x8009, 241}, - {0x8017, 241}, - {0xc028, 241}, - {0x8002, 244}, - {0x8009, 244}, - {0x8017, 244}, - {0xc028, 244}, + {0x02, 2, 222}, + {0x09, 2, 222}, + {0x17, 2, 222}, + {0x28, 3, 222}, + {0x02, 2, 223}, + {0x09, 2, 223}, + {0x17, 2, 223}, + {0x28, 3, 223}, + {0x02, 2, 241}, + {0x09, 2, 241}, + {0x17, 2, 241}, + {0x28, 3, 241}, + {0x02, 2, 244}, + {0x09, 2, 244}, + {0x17, 2, 244}, + {0x28, 3, 244}, }, /* 214 */ { - {0x8003, 222}, - {0x8006, 222}, - {0x800a, 222}, - {0x800f, 222}, - {0x8018, 222}, - {0x801f, 222}, - {0x8029, 222}, - {0xc038, 222}, - {0x8003, 223}, - {0x8006, 223}, - {0x800a, 223}, - {0x800f, 223}, - {0x8018, 223}, - {0x801f, 223}, - {0x8029, 223}, - {0xc038, 223}, + {0x03, 2, 222}, + {0x06, 2, 222}, + {0x0a, 2, 222}, + {0x0f, 2, 222}, + {0x18, 2, 222}, + {0x1f, 2, 222}, + {0x29, 2, 222}, + {0x38, 3, 222}, + {0x03, 2, 223}, + {0x06, 2, 223}, + {0x0a, 2, 223}, + {0x0f, 2, 223}, + {0x18, 2, 223}, + {0x1f, 2, 223}, + {0x29, 2, 223}, + {0x38, 3, 223}, }, /* 215 */ { - {0x8003, 241}, - {0x8006, 241}, - {0x800a, 241}, - {0x800f, 241}, - {0x8018, 241}, - {0x801f, 241}, - {0x8029, 241}, - {0xc038, 241}, - {0x8003, 244}, - {0x8006, 244}, - {0x800a, 244}, - {0x800f, 244}, - {0x8018, 244}, - {0x801f, 244}, - {0x8029, 244}, - {0xc038, 244}, + {0x03, 2, 241}, + {0x06, 2, 241}, + {0x0a, 2, 241}, + {0x0f, 2, 241}, + {0x18, 2, 241}, + {0x1f, 2, 241}, + {0x29, 2, 241}, + {0x38, 3, 241}, + {0x03, 2, 244}, + {0x06, 2, 244}, + {0x0a, 2, 244}, + {0x0f, 2, 244}, + {0x18, 2, 244}, + {0x1f, 2, 244}, + {0x29, 2, 244}, + {0x38, 3, 244}, }, /* 216 */ { - {0x8001, 245}, - {0xc016, 245}, - {0x8001, 246}, - {0xc016, 246}, - {0x8001, 247}, - {0xc016, 247}, - {0x8001, 248}, - {0xc016, 248}, - {0x8001, 250}, - {0xc016, 250}, - {0x8001, 251}, - {0xc016, 251}, - {0x8001, 252}, - {0xc016, 252}, - {0x8001, 253}, - {0xc016, 253}, + {0x01, 2, 245}, + {0x16, 3, 245}, + {0x01, 2, 246}, + {0x16, 3, 246}, + {0x01, 2, 247}, + {0x16, 3, 247}, + {0x01, 2, 248}, + {0x16, 3, 248}, + {0x01, 2, 250}, + {0x16, 3, 250}, + {0x01, 2, 251}, + {0x16, 3, 251}, + {0x01, 2, 252}, + {0x16, 3, 252}, + {0x01, 2, 253}, + {0x16, 3, 253}, }, /* 217 */ { - {0x8002, 245}, - {0x8009, 245}, - {0x8017, 245}, - {0xc028, 245}, - {0x8002, 246}, - {0x8009, 246}, - {0x8017, 246}, - {0xc028, 246}, - {0x8002, 247}, - {0x8009, 247}, - {0x8017, 247}, - {0xc028, 247}, - {0x8002, 248}, - {0x8009, 248}, - {0x8017, 248}, - {0xc028, 248}, + {0x02, 2, 245}, + {0x09, 2, 245}, + {0x17, 2, 245}, + {0x28, 3, 245}, + {0x02, 2, 246}, + {0x09, 2, 246}, + {0x17, 2, 246}, + {0x28, 3, 246}, + {0x02, 2, 247}, + {0x09, 2, 247}, + {0x17, 2, 247}, + {0x28, 3, 247}, + {0x02, 2, 248}, + {0x09, 2, 248}, + {0x17, 2, 248}, + {0x28, 3, 248}, }, /* 218 */ { - {0x8003, 245}, - {0x8006, 245}, - {0x800a, 245}, - {0x800f, 245}, - {0x8018, 245}, - {0x801f, 245}, - {0x8029, 245}, - {0xc038, 245}, - {0x8003, 246}, - {0x8006, 246}, - {0x800a, 246}, - {0x800f, 246}, - {0x8018, 246}, - {0x801f, 246}, - {0x8029, 246}, - {0xc038, 246}, + {0x03, 2, 245}, + {0x06, 2, 245}, + {0x0a, 2, 245}, + {0x0f, 2, 245}, + {0x18, 2, 245}, + {0x1f, 2, 245}, + {0x29, 2, 245}, + {0x38, 3, 245}, + {0x03, 2, 246}, + {0x06, 2, 246}, + {0x0a, 2, 246}, + {0x0f, 2, 246}, + {0x18, 2, 246}, + {0x1f, 2, 246}, + {0x29, 2, 246}, + {0x38, 3, 246}, }, /* 219 */ { - {0x8003, 247}, - {0x8006, 247}, - {0x800a, 247}, - {0x800f, 247}, - {0x8018, 247}, - {0x801f, 247}, - {0x8029, 247}, - {0xc038, 247}, - {0x8003, 248}, - {0x8006, 248}, - {0x800a, 248}, - {0x800f, 248}, - {0x8018, 248}, - {0x801f, 248}, - {0x8029, 248}, - {0xc038, 248}, + {0x03, 2, 247}, + {0x06, 2, 247}, + {0x0a, 2, 247}, + {0x0f, 2, 247}, + {0x18, 2, 247}, + {0x1f, 2, 247}, + {0x29, 2, 247}, + {0x38, 3, 247}, + {0x03, 2, 248}, + {0x06, 2, 248}, + {0x0a, 2, 248}, + {0x0f, 2, 248}, + {0x18, 2, 248}, + {0x1f, 2, 248}, + {0x29, 2, 248}, + {0x38, 3, 248}, }, /* 220 */ { - {0x8002, 250}, - {0x8009, 250}, - {0x8017, 250}, - {0xc028, 250}, - {0x8002, 251}, - {0x8009, 251}, - {0x8017, 251}, - {0xc028, 251}, - {0x8002, 252}, - {0x8009, 252}, - {0x8017, 252}, - {0xc028, 252}, - {0x8002, 253}, - {0x8009, 253}, - {0x8017, 253}, - {0xc028, 253}, + {0x02, 2, 250}, + {0x09, 2, 250}, + {0x17, 2, 250}, + {0x28, 3, 250}, + {0x02, 2, 251}, + {0x09, 2, 251}, + {0x17, 2, 251}, + {0x28, 3, 251}, + {0x02, 2, 252}, + {0x09, 2, 252}, + {0x17, 2, 252}, + {0x28, 3, 252}, + {0x02, 2, 253}, + {0x09, 2, 253}, + {0x17, 2, 253}, + {0x28, 3, 253}, }, /* 221 */ { - {0x8003, 250}, - {0x8006, 250}, - {0x800a, 250}, - {0x800f, 250}, - {0x8018, 250}, - {0x801f, 250}, - {0x8029, 250}, - {0xc038, 250}, - {0x8003, 251}, - {0x8006, 251}, - {0x800a, 251}, - {0x800f, 251}, - {0x8018, 251}, - {0x801f, 251}, - {0x8029, 251}, - {0xc038, 251}, + {0x03, 2, 250}, + {0x06, 2, 250}, + {0x0a, 2, 250}, + {0x0f, 2, 250}, + {0x18, 2, 250}, + {0x1f, 2, 250}, + {0x29, 2, 250}, + {0x38, 3, 250}, + {0x03, 2, 251}, + {0x06, 2, 251}, + {0x0a, 2, 251}, + {0x0f, 2, 251}, + {0x18, 2, 251}, + {0x1f, 2, 251}, + {0x29, 2, 251}, + {0x38, 3, 251}, }, /* 222 */ { - {0x8003, 252}, - {0x8006, 252}, - {0x800a, 252}, - {0x800f, 252}, - {0x8018, 252}, - {0x801f, 252}, - {0x8029, 252}, - {0xc038, 252}, - {0x8003, 253}, - {0x8006, 253}, - {0x800a, 253}, - {0x800f, 253}, - {0x8018, 253}, - {0x801f, 253}, - {0x8029, 253}, - {0xc038, 253}, + {0x03, 2, 252}, + {0x06, 2, 252}, + {0x0a, 2, 252}, + {0x0f, 2, 252}, + {0x18, 2, 252}, + {0x1f, 2, 252}, + {0x29, 2, 252}, + {0x38, 3, 252}, + {0x03, 2, 253}, + {0x06, 2, 253}, + {0x0a, 2, 253}, + {0x0f, 2, 253}, + {0x18, 2, 253}, + {0x1f, 2, 253}, + {0x29, 2, 253}, + {0x38, 3, 253}, }, /* 223 */ { - {0xc000, 254}, - {0xe3, 0}, - {0xe5, 0}, - {0xe6, 0}, - {0xe9, 0}, - {0xea, 0}, - {0xec, 0}, - {0xed, 0}, - {0xf1, 0}, - {0xf2, 0}, - {0xf4, 0}, - {0xf5, 0}, - {0xf8, 0}, - {0xf9, 0}, - {0xfb, 0}, - {0xfc, 0}, + {0x00, 3, 254}, + {0xe3, 0, 0}, + {0xe5, 0, 0}, + {0xe6, 0, 0}, + {0xe9, 0, 0}, + {0xea, 0, 0}, + {0xec, 0, 0}, + {0xed, 0, 0}, + {0xf1, 0, 0}, + {0xf2, 0, 0}, + {0xf4, 0, 0}, + {0xf5, 0, 0}, + {0xf8, 0, 0}, + {0xf9, 0, 0}, + {0xfb, 0, 0}, + {0xfc, 0, 0}, }, /* 224 */ { - {0x8001, 254}, - {0xc016, 254}, - {0xc000, 2}, - {0xc000, 3}, - {0xc000, 4}, - {0xc000, 5}, - {0xc000, 6}, - {0xc000, 7}, - {0xc000, 8}, - {0xc000, 11}, - {0xc000, 12}, - {0xc000, 14}, - {0xc000, 15}, - {0xc000, 16}, - {0xc000, 17}, - {0xc000, 18}, + {0x01, 2, 254}, + {0x16, 3, 254}, + {0x00, 3, 2}, + {0x00, 3, 3}, + {0x00, 3, 4}, + {0x00, 3, 5}, + {0x00, 3, 6}, + {0x00, 3, 7}, + {0x00, 3, 8}, + {0x00, 3, 11}, + {0x00, 3, 12}, + {0x00, 3, 14}, + {0x00, 3, 15}, + {0x00, 3, 16}, + {0x00, 3, 17}, + {0x00, 3, 18}, }, /* 225 */ { - {0x8002, 254}, - {0x8009, 254}, - {0x8017, 254}, - {0xc028, 254}, - {0x8001, 2}, - {0xc016, 2}, - {0x8001, 3}, - {0xc016, 3}, - {0x8001, 4}, - {0xc016, 4}, - {0x8001, 5}, - {0xc016, 5}, - {0x8001, 6}, - {0xc016, 6}, - {0x8001, 7}, - {0xc016, 7}, + {0x02, 2, 254}, + {0x09, 2, 254}, + {0x17, 2, 254}, + {0x28, 3, 254}, + {0x01, 2, 2}, + {0x16, 3, 2}, + {0x01, 2, 3}, + {0x16, 3, 3}, + {0x01, 2, 4}, + {0x16, 3, 4}, + {0x01, 2, 5}, + {0x16, 3, 5}, + {0x01, 2, 6}, + {0x16, 3, 6}, + {0x01, 2, 7}, + {0x16, 3, 7}, }, /* 226 */ { - {0x8003, 254}, - {0x8006, 254}, - {0x800a, 254}, - {0x800f, 254}, - {0x8018, 254}, - {0x801f, 254}, - {0x8029, 254}, - {0xc038, 254}, - {0x8002, 2}, - {0x8009, 2}, - {0x8017, 2}, - {0xc028, 2}, - {0x8002, 3}, - {0x8009, 3}, - {0x8017, 3}, - {0xc028, 3}, + {0x03, 2, 254}, + {0x06, 2, 254}, + {0x0a, 2, 254}, + {0x0f, 2, 254}, + {0x18, 2, 254}, + {0x1f, 2, 254}, + {0x29, 2, 254}, + {0x38, 3, 254}, + {0x02, 2, 2}, + {0x09, 2, 2}, + {0x17, 2, 2}, + {0x28, 3, 2}, + {0x02, 2, 3}, + {0x09, 2, 3}, + {0x17, 2, 3}, + {0x28, 3, 3}, }, /* 227 */ { - {0x8003, 2}, - {0x8006, 2}, - {0x800a, 2}, - {0x800f, 2}, - {0x8018, 2}, - {0x801f, 2}, - {0x8029, 2}, - {0xc038, 2}, - {0x8003, 3}, - {0x8006, 3}, - {0x800a, 3}, - {0x800f, 3}, - {0x8018, 3}, - {0x801f, 3}, - {0x8029, 3}, - {0xc038, 3}, + {0x03, 2, 2}, + {0x06, 2, 2}, + {0x0a, 2, 2}, + {0x0f, 2, 2}, + {0x18, 2, 2}, + {0x1f, 2, 2}, + {0x29, 2, 2}, + {0x38, 3, 2}, + {0x03, 2, 3}, + {0x06, 2, 3}, + {0x0a, 2, 3}, + {0x0f, 2, 3}, + {0x18, 2, 3}, + {0x1f, 2, 3}, + {0x29, 2, 3}, + {0x38, 3, 3}, }, /* 228 */ { - {0x8002, 4}, - {0x8009, 4}, - {0x8017, 4}, - {0xc028, 4}, - {0x8002, 5}, - {0x8009, 5}, - {0x8017, 5}, - {0xc028, 5}, - {0x8002, 6}, - {0x8009, 6}, - {0x8017, 6}, - {0xc028, 6}, - {0x8002, 7}, - {0x8009, 7}, - {0x8017, 7}, - {0xc028, 7}, + {0x02, 2, 4}, + {0x09, 2, 4}, + {0x17, 2, 4}, + {0x28, 3, 4}, + {0x02, 2, 5}, + {0x09, 2, 5}, + {0x17, 2, 5}, + {0x28, 3, 5}, + {0x02, 2, 6}, + {0x09, 2, 6}, + {0x17, 2, 6}, + {0x28, 3, 6}, + {0x02, 2, 7}, + {0x09, 2, 7}, + {0x17, 2, 7}, + {0x28, 3, 7}, }, /* 229 */ { - {0x8003, 4}, - {0x8006, 4}, - {0x800a, 4}, - {0x800f, 4}, - {0x8018, 4}, - {0x801f, 4}, - {0x8029, 4}, - {0xc038, 4}, - {0x8003, 5}, - {0x8006, 5}, - {0x800a, 5}, - {0x800f, 5}, - {0x8018, 5}, - {0x801f, 5}, - {0x8029, 5}, - {0xc038, 5}, + {0x03, 2, 4}, + {0x06, 2, 4}, + {0x0a, 2, 4}, + {0x0f, 2, 4}, + {0x18, 2, 4}, + {0x1f, 2, 4}, + {0x29, 2, 4}, + {0x38, 3, 4}, + {0x03, 2, 5}, + {0x06, 2, 5}, + {0x0a, 2, 5}, + {0x0f, 2, 5}, + {0x18, 2, 5}, + {0x1f, 2, 5}, + {0x29, 2, 5}, + {0x38, 3, 5}, }, /* 230 */ { - {0x8003, 6}, - {0x8006, 6}, - {0x800a, 6}, - {0x800f, 6}, - {0x8018, 6}, - {0x801f, 6}, - {0x8029, 6}, - {0xc038, 6}, - {0x8003, 7}, - {0x8006, 7}, - {0x800a, 7}, - {0x800f, 7}, - {0x8018, 7}, - {0x801f, 7}, - {0x8029, 7}, - {0xc038, 7}, + {0x03, 2, 6}, + {0x06, 2, 6}, + {0x0a, 2, 6}, + {0x0f, 2, 6}, + {0x18, 2, 6}, + {0x1f, 2, 6}, + {0x29, 2, 6}, + {0x38, 3, 6}, + {0x03, 2, 7}, + {0x06, 2, 7}, + {0x0a, 2, 7}, + {0x0f, 2, 7}, + {0x18, 2, 7}, + {0x1f, 2, 7}, + {0x29, 2, 7}, + {0x38, 3, 7}, }, /* 231 */ { - {0x8001, 8}, - {0xc016, 8}, - {0x8001, 11}, - {0xc016, 11}, - {0x8001, 12}, - {0xc016, 12}, - {0x8001, 14}, - {0xc016, 14}, - {0x8001, 15}, - {0xc016, 15}, - {0x8001, 16}, - {0xc016, 16}, - {0x8001, 17}, - {0xc016, 17}, - {0x8001, 18}, - {0xc016, 18}, + {0x01, 2, 8}, + {0x16, 3, 8}, + {0x01, 2, 11}, + {0x16, 3, 11}, + {0x01, 2, 12}, + {0x16, 3, 12}, + {0x01, 2, 14}, + {0x16, 3, 14}, + {0x01, 2, 15}, + {0x16, 3, 15}, + {0x01, 2, 16}, + {0x16, 3, 16}, + {0x01, 2, 17}, + {0x16, 3, 17}, + {0x01, 2, 18}, + {0x16, 3, 18}, }, /* 232 */ { - {0x8002, 8}, - {0x8009, 8}, - {0x8017, 8}, - {0xc028, 8}, - {0x8002, 11}, - {0x8009, 11}, - {0x8017, 11}, - {0xc028, 11}, - {0x8002, 12}, - {0x8009, 12}, - {0x8017, 12}, - {0xc028, 12}, - {0x8002, 14}, - {0x8009, 14}, - {0x8017, 14}, - {0xc028, 14}, + {0x02, 2, 8}, + {0x09, 2, 8}, + {0x17, 2, 8}, + {0x28, 3, 8}, + {0x02, 2, 11}, + {0x09, 2, 11}, + {0x17, 2, 11}, + {0x28, 3, 11}, + {0x02, 2, 12}, + {0x09, 2, 12}, + {0x17, 2, 12}, + {0x28, 3, 12}, + {0x02, 2, 14}, + {0x09, 2, 14}, + {0x17, 2, 14}, + {0x28, 3, 14}, }, /* 233 */ { - {0x8003, 8}, - {0x8006, 8}, - {0x800a, 8}, - {0x800f, 8}, - {0x8018, 8}, - {0x801f, 8}, - {0x8029, 8}, - {0xc038, 8}, - {0x8003, 11}, - {0x8006, 11}, - {0x800a, 11}, - {0x800f, 11}, - {0x8018, 11}, - {0x801f, 11}, - {0x8029, 11}, - {0xc038, 11}, + {0x03, 2, 8}, + {0x06, 2, 8}, + {0x0a, 2, 8}, + {0x0f, 2, 8}, + {0x18, 2, 8}, + {0x1f, 2, 8}, + {0x29, 2, 8}, + {0x38, 3, 8}, + {0x03, 2, 11}, + {0x06, 2, 11}, + {0x0a, 2, 11}, + {0x0f, 2, 11}, + {0x18, 2, 11}, + {0x1f, 2, 11}, + {0x29, 2, 11}, + {0x38, 3, 11}, }, /* 234 */ { - {0x8003, 12}, - {0x8006, 12}, - {0x800a, 12}, - {0x800f, 12}, - {0x8018, 12}, - {0x801f, 12}, - {0x8029, 12}, - {0xc038, 12}, - {0x8003, 14}, - {0x8006, 14}, - {0x800a, 14}, - {0x800f, 14}, - {0x8018, 14}, - {0x801f, 14}, - {0x8029, 14}, - {0xc038, 14}, + {0x03, 2, 12}, + {0x06, 2, 12}, + {0x0a, 2, 12}, + {0x0f, 2, 12}, + {0x18, 2, 12}, + {0x1f, 2, 12}, + {0x29, 2, 12}, + {0x38, 3, 12}, + {0x03, 2, 14}, + {0x06, 2, 14}, + {0x0a, 2, 14}, + {0x0f, 2, 14}, + {0x18, 2, 14}, + {0x1f, 2, 14}, + {0x29, 2, 14}, + {0x38, 3, 14}, }, /* 235 */ { - {0x8002, 15}, - {0x8009, 15}, - {0x8017, 15}, - {0xc028, 15}, - {0x8002, 16}, - {0x8009, 16}, - {0x8017, 16}, - {0xc028, 16}, - {0x8002, 17}, - {0x8009, 17}, - {0x8017, 17}, - {0xc028, 17}, - {0x8002, 18}, - {0x8009, 18}, - {0x8017, 18}, - {0xc028, 18}, + {0x02, 2, 15}, + {0x09, 2, 15}, + {0x17, 2, 15}, + {0x28, 3, 15}, + {0x02, 2, 16}, + {0x09, 2, 16}, + {0x17, 2, 16}, + {0x28, 3, 16}, + {0x02, 2, 17}, + {0x09, 2, 17}, + {0x17, 2, 17}, + {0x28, 3, 17}, + {0x02, 2, 18}, + {0x09, 2, 18}, + {0x17, 2, 18}, + {0x28, 3, 18}, }, /* 236 */ { - {0x8003, 15}, - {0x8006, 15}, - {0x800a, 15}, - {0x800f, 15}, - {0x8018, 15}, - {0x801f, 15}, - {0x8029, 15}, - {0xc038, 15}, - {0x8003, 16}, - {0x8006, 16}, - {0x800a, 16}, - {0x800f, 16}, - {0x8018, 16}, - {0x801f, 16}, - {0x8029, 16}, - {0xc038, 16}, + {0x03, 2, 15}, + {0x06, 2, 15}, + {0x0a, 2, 15}, + {0x0f, 2, 15}, + {0x18, 2, 15}, + {0x1f, 2, 15}, + {0x29, 2, 15}, + {0x38, 3, 15}, + {0x03, 2, 16}, + {0x06, 2, 16}, + {0x0a, 2, 16}, + {0x0f, 2, 16}, + {0x18, 2, 16}, + {0x1f, 2, 16}, + {0x29, 2, 16}, + {0x38, 3, 16}, }, /* 237 */ { - {0x8003, 17}, - {0x8006, 17}, - {0x800a, 17}, - {0x800f, 17}, - {0x8018, 17}, - {0x801f, 17}, - {0x8029, 17}, - {0xc038, 17}, - {0x8003, 18}, - {0x8006, 18}, - {0x800a, 18}, - {0x800f, 18}, - {0x8018, 18}, - {0x801f, 18}, - {0x8029, 18}, - {0xc038, 18}, + {0x03, 2, 17}, + {0x06, 2, 17}, + {0x0a, 2, 17}, + {0x0f, 2, 17}, + {0x18, 2, 17}, + {0x1f, 2, 17}, + {0x29, 2, 17}, + {0x38, 3, 17}, + {0x03, 2, 18}, + {0x06, 2, 18}, + {0x0a, 2, 18}, + {0x0f, 2, 18}, + {0x18, 2, 18}, + {0x1f, 2, 18}, + {0x29, 2, 18}, + {0x38, 3, 18}, }, /* 238 */ { - {0xc000, 19}, - {0xc000, 20}, - {0xc000, 21}, - {0xc000, 23}, - {0xc000, 24}, - {0xc000, 25}, - {0xc000, 26}, - {0xc000, 27}, - {0xc000, 28}, - {0xc000, 29}, - {0xc000, 30}, - {0xc000, 31}, - {0xc000, 127}, - {0xc000, 220}, - {0xc000, 249}, - {0xfd, 0}, + {0x00, 3, 19}, + {0x00, 3, 20}, + {0x00, 3, 21}, + {0x00, 3, 23}, + {0x00, 3, 24}, + {0x00, 3, 25}, + {0x00, 3, 26}, + {0x00, 3, 27}, + {0x00, 3, 28}, + {0x00, 3, 29}, + {0x00, 3, 30}, + {0x00, 3, 31}, + {0x00, 3, 127}, + {0x00, 3, 220}, + {0x00, 3, 249}, + {0xfd, 0, 0}, }, /* 239 */ { - {0x8001, 19}, - {0xc016, 19}, - {0x8001, 20}, - {0xc016, 20}, - {0x8001, 21}, - {0xc016, 21}, - {0x8001, 23}, - {0xc016, 23}, - {0x8001, 24}, - {0xc016, 24}, - {0x8001, 25}, - {0xc016, 25}, - {0x8001, 26}, - {0xc016, 26}, - {0x8001, 27}, - {0xc016, 27}, + {0x01, 2, 19}, + {0x16, 3, 19}, + {0x01, 2, 20}, + {0x16, 3, 20}, + {0x01, 2, 21}, + {0x16, 3, 21}, + {0x01, 2, 23}, + {0x16, 3, 23}, + {0x01, 2, 24}, + {0x16, 3, 24}, + {0x01, 2, 25}, + {0x16, 3, 25}, + {0x01, 2, 26}, + {0x16, 3, 26}, + {0x01, 2, 27}, + {0x16, 3, 27}, }, /* 240 */ { - {0x8002, 19}, - {0x8009, 19}, - {0x8017, 19}, - {0xc028, 19}, - {0x8002, 20}, - {0x8009, 20}, - {0x8017, 20}, - {0xc028, 20}, - {0x8002, 21}, - {0x8009, 21}, - {0x8017, 21}, - {0xc028, 21}, - {0x8002, 23}, - {0x8009, 23}, - {0x8017, 23}, - {0xc028, 23}, + {0x02, 2, 19}, + {0x09, 2, 19}, + {0x17, 2, 19}, + {0x28, 3, 19}, + {0x02, 2, 20}, + {0x09, 2, 20}, + {0x17, 2, 20}, + {0x28, 3, 20}, + {0x02, 2, 21}, + {0x09, 2, 21}, + {0x17, 2, 21}, + {0x28, 3, 21}, + {0x02, 2, 23}, + {0x09, 2, 23}, + {0x17, 2, 23}, + {0x28, 3, 23}, }, /* 241 */ { - {0x8003, 19}, - {0x8006, 19}, - {0x800a, 19}, - {0x800f, 19}, - {0x8018, 19}, - {0x801f, 19}, - {0x8029, 19}, - {0xc038, 19}, - {0x8003, 20}, - {0x8006, 20}, - {0x800a, 20}, - {0x800f, 20}, - {0x8018, 20}, - {0x801f, 20}, - {0x8029, 20}, - {0xc038, 20}, + {0x03, 2, 19}, + {0x06, 2, 19}, + {0x0a, 2, 19}, + {0x0f, 2, 19}, + {0x18, 2, 19}, + {0x1f, 2, 19}, + {0x29, 2, 19}, + {0x38, 3, 19}, + {0x03, 2, 20}, + {0x06, 2, 20}, + {0x0a, 2, 20}, + {0x0f, 2, 20}, + {0x18, 2, 20}, + {0x1f, 2, 20}, + {0x29, 2, 20}, + {0x38, 3, 20}, }, /* 242 */ { - {0x8003, 21}, - {0x8006, 21}, - {0x800a, 21}, - {0x800f, 21}, - {0x8018, 21}, - {0x801f, 21}, - {0x8029, 21}, - {0xc038, 21}, - {0x8003, 23}, - {0x8006, 23}, - {0x800a, 23}, - {0x800f, 23}, - {0x8018, 23}, - {0x801f, 23}, - {0x8029, 23}, - {0xc038, 23}, + {0x03, 2, 21}, + {0x06, 2, 21}, + {0x0a, 2, 21}, + {0x0f, 2, 21}, + {0x18, 2, 21}, + {0x1f, 2, 21}, + {0x29, 2, 21}, + {0x38, 3, 21}, + {0x03, 2, 23}, + {0x06, 2, 23}, + {0x0a, 2, 23}, + {0x0f, 2, 23}, + {0x18, 2, 23}, + {0x1f, 2, 23}, + {0x29, 2, 23}, + {0x38, 3, 23}, }, /* 243 */ { - {0x8002, 24}, - {0x8009, 24}, - {0x8017, 24}, - {0xc028, 24}, - {0x8002, 25}, - {0x8009, 25}, - {0x8017, 25}, - {0xc028, 25}, - {0x8002, 26}, - {0x8009, 26}, - {0x8017, 26}, - {0xc028, 26}, - {0x8002, 27}, - {0x8009, 27}, - {0x8017, 27}, - {0xc028, 27}, + {0x02, 2, 24}, + {0x09, 2, 24}, + {0x17, 2, 24}, + {0x28, 3, 24}, + {0x02, 2, 25}, + {0x09, 2, 25}, + {0x17, 2, 25}, + {0x28, 3, 25}, + {0x02, 2, 26}, + {0x09, 2, 26}, + {0x17, 2, 26}, + {0x28, 3, 26}, + {0x02, 2, 27}, + {0x09, 2, 27}, + {0x17, 2, 27}, + {0x28, 3, 27}, }, /* 244 */ { - {0x8003, 24}, - {0x8006, 24}, - {0x800a, 24}, - {0x800f, 24}, - {0x8018, 24}, - {0x801f, 24}, - {0x8029, 24}, - {0xc038, 24}, - {0x8003, 25}, - {0x8006, 25}, - {0x800a, 25}, - {0x800f, 25}, - {0x8018, 25}, - {0x801f, 25}, - {0x8029, 25}, - {0xc038, 25}, + {0x03, 2, 24}, + {0x06, 2, 24}, + {0x0a, 2, 24}, + {0x0f, 2, 24}, + {0x18, 2, 24}, + {0x1f, 2, 24}, + {0x29, 2, 24}, + {0x38, 3, 24}, + {0x03, 2, 25}, + {0x06, 2, 25}, + {0x0a, 2, 25}, + {0x0f, 2, 25}, + {0x18, 2, 25}, + {0x1f, 2, 25}, + {0x29, 2, 25}, + {0x38, 3, 25}, }, /* 245 */ { - {0x8003, 26}, - {0x8006, 26}, - {0x800a, 26}, - {0x800f, 26}, - {0x8018, 26}, - {0x801f, 26}, - {0x8029, 26}, - {0xc038, 26}, - {0x8003, 27}, - {0x8006, 27}, - {0x800a, 27}, - {0x800f, 27}, - {0x8018, 27}, - {0x801f, 27}, - {0x8029, 27}, - {0xc038, 27}, + {0x03, 2, 26}, + {0x06, 2, 26}, + {0x0a, 2, 26}, + {0x0f, 2, 26}, + {0x18, 2, 26}, + {0x1f, 2, 26}, + {0x29, 2, 26}, + {0x38, 3, 26}, + {0x03, 2, 27}, + {0x06, 2, 27}, + {0x0a, 2, 27}, + {0x0f, 2, 27}, + {0x18, 2, 27}, + {0x1f, 2, 27}, + {0x29, 2, 27}, + {0x38, 3, 27}, }, /* 246 */ { - {0x8001, 28}, - {0xc016, 28}, - {0x8001, 29}, - {0xc016, 29}, - {0x8001, 30}, - {0xc016, 30}, - {0x8001, 31}, - {0xc016, 31}, - {0x8001, 127}, - {0xc016, 127}, - {0x8001, 220}, - {0xc016, 220}, - {0x8001, 249}, - {0xc016, 249}, - {0xfe, 0}, - {0xff, 0}, + {0x01, 2, 28}, + {0x16, 3, 28}, + {0x01, 2, 29}, + {0x16, 3, 29}, + {0x01, 2, 30}, + {0x16, 3, 30}, + {0x01, 2, 31}, + {0x16, 3, 31}, + {0x01, 2, 127}, + {0x16, 3, 127}, + {0x01, 2, 220}, + {0x16, 3, 220}, + {0x01, 2, 249}, + {0x16, 3, 249}, + {0xfe, 0, 0}, + {0xff, 0, 0}, }, /* 247 */ { - {0x8002, 28}, - {0x8009, 28}, - {0x8017, 28}, - {0xc028, 28}, - {0x8002, 29}, - {0x8009, 29}, - {0x8017, 29}, - {0xc028, 29}, - {0x8002, 30}, - {0x8009, 30}, - {0x8017, 30}, - {0xc028, 30}, - {0x8002, 31}, - {0x8009, 31}, - {0x8017, 31}, - {0xc028, 31}, + {0x02, 2, 28}, + {0x09, 2, 28}, + {0x17, 2, 28}, + {0x28, 3, 28}, + {0x02, 2, 29}, + {0x09, 2, 29}, + {0x17, 2, 29}, + {0x28, 3, 29}, + {0x02, 2, 30}, + {0x09, 2, 30}, + {0x17, 2, 30}, + {0x28, 3, 30}, + {0x02, 2, 31}, + {0x09, 2, 31}, + {0x17, 2, 31}, + {0x28, 3, 31}, }, /* 248 */ { - {0x8003, 28}, - {0x8006, 28}, - {0x800a, 28}, - {0x800f, 28}, - {0x8018, 28}, - {0x801f, 28}, - {0x8029, 28}, - {0xc038, 28}, - {0x8003, 29}, - {0x8006, 29}, - {0x800a, 29}, - {0x800f, 29}, - {0x8018, 29}, - {0x801f, 29}, - {0x8029, 29}, - {0xc038, 29}, + {0x03, 2, 28}, + {0x06, 2, 28}, + {0x0a, 2, 28}, + {0x0f, 2, 28}, + {0x18, 2, 28}, + {0x1f, 2, 28}, + {0x29, 2, 28}, + {0x38, 3, 28}, + {0x03, 2, 29}, + {0x06, 2, 29}, + {0x0a, 2, 29}, + {0x0f, 2, 29}, + {0x18, 2, 29}, + {0x1f, 2, 29}, + {0x29, 2, 29}, + {0x38, 3, 29}, }, /* 249 */ { - {0x8003, 30}, - {0x8006, 30}, - {0x800a, 30}, - {0x800f, 30}, - {0x8018, 30}, - {0x801f, 30}, - {0x8029, 30}, - {0xc038, 30}, - {0x8003, 31}, - {0x8006, 31}, - {0x800a, 31}, - {0x800f, 31}, - {0x8018, 31}, - {0x801f, 31}, - {0x8029, 31}, - {0xc038, 31}, + {0x03, 2, 30}, + {0x06, 2, 30}, + {0x0a, 2, 30}, + {0x0f, 2, 30}, + {0x18, 2, 30}, + {0x1f, 2, 30}, + {0x29, 2, 30}, + {0x38, 3, 30}, + {0x03, 2, 31}, + {0x06, 2, 31}, + {0x0a, 2, 31}, + {0x0f, 2, 31}, + {0x18, 2, 31}, + {0x1f, 2, 31}, + {0x29, 2, 31}, + {0x38, 3, 31}, }, /* 250 */ { - {0x8002, 127}, - {0x8009, 127}, - {0x8017, 127}, - {0xc028, 127}, - {0x8002, 220}, - {0x8009, 220}, - {0x8017, 220}, - {0xc028, 220}, - {0x8002, 249}, - {0x8009, 249}, - {0x8017, 249}, - {0xc028, 249}, - {0xc000, 10}, - {0xc000, 13}, - {0xc000, 22}, - {0x100, 0}, + {0x02, 2, 127}, + {0x09, 2, 127}, + {0x17, 2, 127}, + {0x28, 3, 127}, + {0x02, 2, 220}, + {0x09, 2, 220}, + {0x17, 2, 220}, + {0x28, 3, 220}, + {0x02, 2, 249}, + {0x09, 2, 249}, + {0x17, 2, 249}, + {0x28, 3, 249}, + {0x00, 3, 10}, + {0x00, 3, 13}, + {0x00, 3, 22}, + {0x100, 0, 0}, }, /* 251 */ { - {0x8003, 127}, - {0x8006, 127}, - {0x800a, 127}, - {0x800f, 127}, - {0x8018, 127}, - {0x801f, 127}, - {0x8029, 127}, - {0xc038, 127}, - {0x8003, 220}, - {0x8006, 220}, - {0x800a, 220}, - {0x800f, 220}, - {0x8018, 220}, - {0x801f, 220}, - {0x8029, 220}, - {0xc038, 220}, + {0x03, 2, 127}, + {0x06, 2, 127}, + {0x0a, 2, 127}, + {0x0f, 2, 127}, + {0x18, 2, 127}, + {0x1f, 2, 127}, + {0x29, 2, 127}, + {0x38, 3, 127}, + {0x03, 2, 220}, + {0x06, 2, 220}, + {0x0a, 2, 220}, + {0x0f, 2, 220}, + {0x18, 2, 220}, + {0x1f, 2, 220}, + {0x29, 2, 220}, + {0x38, 3, 220}, }, /* 252 */ { - {0x8003, 249}, - {0x8006, 249}, - {0x800a, 249}, - {0x800f, 249}, - {0x8018, 249}, - {0x801f, 249}, - {0x8029, 249}, - {0xc038, 249}, - {0x8001, 10}, - {0xc016, 10}, - {0x8001, 13}, - {0xc016, 13}, - {0x8001, 22}, - {0xc016, 22}, - {0x100, 0}, - {0x100, 0}, + {0x03, 2, 249}, + {0x06, 2, 249}, + {0x0a, 2, 249}, + {0x0f, 2, 249}, + {0x18, 2, 249}, + {0x1f, 2, 249}, + {0x29, 2, 249}, + {0x38, 3, 249}, + {0x01, 2, 10}, + {0x16, 3, 10}, + {0x01, 2, 13}, + {0x16, 3, 13}, + {0x01, 2, 22}, + {0x16, 3, 22}, + {0x100, 0, 0}, + {0x100, 0, 0}, }, /* 253 */ { - {0x8002, 10}, - {0x8009, 10}, - {0x8017, 10}, - {0xc028, 10}, - {0x8002, 13}, - {0x8009, 13}, - {0x8017, 13}, - {0xc028, 13}, - {0x8002, 22}, - {0x8009, 22}, - {0x8017, 22}, - {0xc028, 22}, - {0x100, 0}, - {0x100, 0}, - {0x100, 0}, - {0x100, 0}, + {0x02, 2, 10}, + {0x09, 2, 10}, + {0x17, 2, 10}, + {0x28, 3, 10}, + {0x02, 2, 13}, + {0x09, 2, 13}, + {0x17, 2, 13}, + {0x28, 3, 13}, + {0x02, 2, 22}, + {0x09, 2, 22}, + {0x17, 2, 22}, + {0x28, 3, 22}, + {0x100, 0, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, }, /* 254 */ { - {0x8003, 10}, - {0x8006, 10}, - {0x800a, 10}, - {0x800f, 10}, - {0x8018, 10}, - {0x801f, 10}, - {0x8029, 10}, - {0xc038, 10}, - {0x8003, 13}, - {0x8006, 13}, - {0x800a, 13}, - {0x800f, 13}, - {0x8018, 13}, - {0x801f, 13}, - {0x8029, 13}, - {0xc038, 13}, + {0x03, 2, 10}, + {0x06, 2, 10}, + {0x0a, 2, 10}, + {0x0f, 2, 10}, + {0x18, 2, 10}, + {0x1f, 2, 10}, + {0x29, 2, 10}, + {0x38, 3, 10}, + {0x03, 2, 13}, + {0x06, 2, 13}, + {0x0a, 2, 13}, + {0x0f, 2, 13}, + {0x18, 2, 13}, + {0x1f, 2, 13}, + {0x29, 2, 13}, + {0x38, 3, 13}, }, /* 255 */ { - {0x8003, 22}, - {0x8006, 22}, - {0x800a, 22}, - {0x800f, 22}, - {0x8018, 22}, - {0x801f, 22}, - {0x8029, 22}, - {0xc038, 22}, - {0x100, 0}, - {0x100, 0}, - {0x100, 0}, - {0x100, 0}, - {0x100, 0}, - {0x100, 0}, - {0x100, 0}, - {0x100, 0}, + {0x03, 2, 22}, + {0x06, 2, 22}, + {0x0a, 2, 22}, + {0x0f, 2, 22}, + {0x18, 2, 22}, + {0x1f, 2, 22}, + {0x29, 2, 22}, + {0x38, 3, 22}, + {0x100, 0, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, }, /* 256 */ { - {0x100, 0}, - {0x100, 0}, - {0x100, 0}, - {0x100, 0}, - {0x100, 0}, - {0x100, 0}, - {0x100, 0}, - {0x100, 0}, - {0x100, 0}, - {0x100, 0}, - {0x100, 0}, - {0x100, 0}, - {0x100, 0}, - {0x100, 0}, - {0x100, 0}, - {0x100, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, + {0x100, 0, 0}, }, }; diff --git a/deps/nghttp2/lib/nghttp2_helper.h b/deps/nghttp2/lib/nghttp2_helper.h index 7d64076140ce..5fde72e370f4 100644 --- a/deps/nghttp2/lib/nghttp2_helper.h +++ b/deps/nghttp2/lib/nghttp2_helper.h @@ -61,7 +61,15 @@ nghttp2_min_def(uint32, uint32_t) nghttp2_min_def(uint64, uint64_t) nghttp2_min_def(size, size_t) -#define lstreq(A, B, N) ((sizeof((A)) - 1) == (N) && memcmp((A), (B), (N)) == 0) +/* + * nghttp2_strlen_lit returns the length of string literal |S|. This + * macro assumes |S| is NULL-terminated string literal. It must not + * be used with pointers. + */ +#define nghttp2_strlen_lit(S) (sizeof(S) - 1) + +#define lstreq(A, B, N) \ + (nghttp2_strlen_lit((A)) == (N) && memcmp((A), (B), (N)) == 0) #define nghttp2_struct_of(ptr, type, member) \ ((type *)(void *)((char *)(ptr) - offsetof(type, member))) diff --git a/deps/nghttp2/lib/nghttp2_http.c b/deps/nghttp2/lib/nghttp2_http.c index 60a0b01e66c1..a09005e80787 100644 --- a/deps/nghttp2/lib/nghttp2_http.c +++ b/deps/nghttp2/lib/nghttp2_http.c @@ -49,7 +49,8 @@ static int memieq(const void *a, const void *b, size_t n) { return 1; } -#define lstrieq(A, B, N) ((sizeof((A)) - 1) == (N) && memieq((A), (B), (N))) +#define lstrieq(A, B, N) \ + (nghttp2_strlen_lit((A)) == (N) && memieq((A), (B), (N))) static int64_t parse_uint(const uint8_t *s, size_t len) { int64_t n = 0; diff --git a/deps/nghttp2/lib/nghttp2_int.h b/deps/nghttp2/lib/nghttp2_int.h index 4e3b26860daf..2ac6fdac4414 100644 --- a/deps/nghttp2/lib/nghttp2_int.h +++ b/deps/nghttp2/lib/nghttp2_int.h @@ -39,7 +39,6 @@ typedef int (*nghttp2_less)(const void *lhs, const void *rhs); /* Internal error code. They must be in the range [-499, -100], inclusive. */ typedef enum { - NGHTTP2_ERR_CREDENTIAL_PENDING = -101, NGHTTP2_ERR_IGN_HEADER_BLOCK = -103, NGHTTP2_ERR_IGN_PAYLOAD = -104, /* @@ -52,7 +51,11 @@ typedef enum { * Unlike NGHTTP2_ERR_IGN_HTTP_HEADER, this does not invoke * nghttp2_on_invalid_header_callback. */ - NGHTTP2_ERR_REMOVE_HTTP_HEADER = -106 + NGHTTP2_ERR_REMOVE_HTTP_HEADER = -106, + /* + * Cancel pushed stream. + */ + NGHTTP2_ERR_PUSH_CANCEL = -107, } nghttp2_internal_error; #endif /* !defined(NGHTTP2_INT_H) */ diff --git a/deps/nghttp2/lib/nghttp2_map.c b/deps/nghttp2/lib/nghttp2_map.c index f89f310319a1..3b703a029328 100644 --- a/deps/nghttp2/lib/nghttp2_map.c +++ b/deps/nghttp2/lib/nghttp2_map.c @@ -33,12 +33,11 @@ #define NGHTTP2_INITIAL_HASHBITS 4 -void nghttp2_map_init(nghttp2_map *map, uint32_t seed, nghttp2_mem *mem) { - map->mem = mem; - map->hashbits = 0; - map->table = NULL; - map->seed = seed; - map->size = 0; +void nghttp2_map_init(nghttp2_map *map, uint64_t seed, nghttp2_mem *mem) { + *map = (nghttp2_map){ + .mem = mem, + .seed = seed, + }; } void nghttp2_map_free(nghttp2_map *map) { @@ -46,30 +45,27 @@ void nghttp2_map_free(nghttp2_map *map) { return; } - nghttp2_mem_free(map->mem, map->table); + nghttp2_mem_free(map->mem, map->keys); } int nghttp2_map_each(const nghttp2_map *map, int (*func)(void *data, void *ptr), void *ptr) { int rv; size_t i; - nghttp2_map_bucket *bkt; size_t tablelen; if (map->size == 0) { return 0; } - tablelen = 1u << map->hashbits; + tablelen = (size_t)1 << map->hashbits; for (i = 0; i < tablelen; ++i) { - bkt = &map->table[i]; - - if (bkt->data == NULL) { + if (map->psl[i] == 0) { continue; } - rv = func(bkt->data, ptr); + rv = func(map->data[i], ptr); if (rv != 0) { return rv; } @@ -78,175 +74,230 @@ int nghttp2_map_each(const nghttp2_map *map, int (*func)(void *data, void *ptr), return 0; } -static size_t map_hash(const nghttp2_map *map, nghttp2_map_key_type key) { - /* hasher from - https://github.com/rust-lang/rustc-hash/blob/dc5c33f1283de2da64d8d7a06401d91aded03ad4/src/lib.rs - We do not perform finalization here because we use top bits - anyway. */ - uint32_t h = ((uint32_t)key + map->seed) * 0x93d765dd; - return (size_t)((h * 2654435769u) >> (32 - map->hashbits)); -} +/* Hasher from + https://github.com/rust-lang/rustc-hash/blob/dc5c33f1283de2da64d8d7a06401d91aded03ad4/src/lib.rs + to maximize the output's sensitivity to all input bits. */ +#define NGHTTP2_MAP_HASHER 0xf1357aea2e62a9c5ull +/* 64-bit Fibonacci hashing constant, Golden Ratio constant, to get + the high bits with the good distribution. */ +#define NGHTTP2_MAP_FIBO 0x9e3779b97f4a7c15ull -static void map_bucket_swap(nghttp2_map_bucket *a, nghttp2_map_bucket *b) { - nghttp2_map_bucket c = *a; +static size_t map_index(const nghttp2_map *map, nghttp2_map_key_type key32) { + uint64_t key = (uint64_t)key32; - *a = *b; - *b = c; + key += map->seed; + key *= NGHTTP2_MAP_HASHER; + return (size_t)((key * NGHTTP2_MAP_FIBO) >> (64 - map->hashbits)); } #ifndef WIN32 void nghttp2_map_print_distance(const nghttp2_map *map) { size_t i; size_t idx; - nghttp2_map_bucket *bkt; size_t tablelen; if (map->size == 0) { return; } - tablelen = 1u << map->hashbits; + tablelen = (size_t)1 << map->hashbits; for (i = 0; i < tablelen; ++i) { - bkt = &map->table[i]; - - if (bkt->data == NULL) { + if (map->psl[i] == 0) { fprintf(stderr, "@%zu \n", i); continue; } - idx = map_hash(map, bkt->key); - fprintf(stderr, "@%zu hash=%zu key=%d base=%zu distance=%u\n", i, - map_hash(map, bkt->key), bkt->key, idx, bkt->psl); + idx = map_index(map, map->keys[i]); + fprintf(stderr, "@%zu key=%d base=%zu distance=%u\n", i, map->keys[i], idx, + map->psl[i] - 1); } } #endif /* !defined(WIN32) */ -static int map_insert(nghttp2_map *map, nghttp2_map_key_type key, void *data) { - size_t idx = map_hash(map, key); - nghttp2_map_bucket b = { - .key = key, - .data = data, - }; - nghttp2_map_bucket *bkt; - size_t mask = (1u << map->hashbits) - 1; +static void map_set_entry(nghttp2_map *map, size_t idx, + nghttp2_map_key_type key, void *data, size_t psl) { + map->keys[idx] = key; + map->data[idx] = data; + map->psl[idx] = (uint8_t)psl; +} + +#define NGHTTP2_SWAP(TYPE, A, B) \ + do { \ + TYPE t = (TYPE) * (A); \ + \ + *(A) = *(B); \ + *(B) = t; \ + } while (0) + +/* + * map_insert inserts |key| and |data| to |map|, and returns the index + * where the pair is stored if it succeeds. Otherwise, it returns one + * of the following negative error codes: + * + * NGHTTP2_ERR_INVALID_ARGUMENT + * The another data associated to |key| is already present. + */ +static nghttp2_ssize map_insert(nghttp2_map *map, nghttp2_map_key_type key, + void *data) { + size_t idx = map_index(map, key); + size_t mask = ((size_t)1 << map->hashbits) - 1; + size_t psl = 1; + size_t kpsl; for (;;) { - bkt = &map->table[idx]; + kpsl = map->psl[idx]; - if (bkt->data == NULL) { - *bkt = b; + if (kpsl == 0) { + map_set_entry(map, idx, key, data, psl); ++map->size; - return 0; + + return (nghttp2_ssize)idx; } - if (b.psl > bkt->psl) { - map_bucket_swap(bkt, &b); - } else if (bkt->key == key) { - /* TODO This check is just a waste after first swap or if this - function is called from map_resize. That said, there is no - difference with or without this conditional in performance - wise. */ + if (psl > kpsl) { + NGHTTP2_SWAP(nghttp2_map_key_type, &key, &map->keys[idx]); + NGHTTP2_SWAP(void *, &data, &map->data[idx]); + NGHTTP2_SWAP(uint8_t, &psl, &map->psl[idx]); + } else if (map->keys[idx] == key) { + /* This check ensures that no duplicate keys are inserted. But + it is just a waste after first swap or if this function is + called from map_resize. That said, there is no difference + with or without this conditional in performance wise. */ return NGHTTP2_ERR_INVALID_ARGUMENT; } - ++b.psl; + ++psl; idx = (idx + 1) & mask; } } +/* NGHTTP2_MAP_MAX_HASHBITS is the maximum number of bits used for + hash table. The theoretical limit of the maximum number of keys + that can be stored is 1 << NGHTTP2_MAP_MAX_HASHBITS. */ +#define NGHTTP2_MAP_MAX_HASHBITS (sizeof(size_t) * 8 - 1) + static int map_resize(nghttp2_map *map, size_t new_hashbits) { size_t i; - nghttp2_map_bucket *bkt; size_t tablelen; - int rv; + nghttp2_ssize idx; nghttp2_map new_map = { - .table = nghttp2_mem_calloc(map->mem, 1u << new_hashbits, - sizeof(nghttp2_map_bucket)), .mem = map->mem, .seed = map->seed, .hashbits = new_hashbits, }; - (void)rv; + void *buf; + (void)idx; + + if (new_hashbits > NGHTTP2_MAP_MAX_HASHBITS) { + return NGHTTP2_ERR_NOMEM; + } - if (new_map.table == NULL) { + tablelen = (size_t)1 << new_hashbits; + + buf = nghttp2_mem_calloc(map->mem, tablelen, + sizeof(nghttp2_map_key_type) + sizeof(void *) + + sizeof(uint8_t)); + if (buf == NULL) { return NGHTTP2_ERR_NOMEM; } + new_map.keys = buf; + new_map.data = + (void *)((uint8_t *)new_map.keys + tablelen * sizeof(nghttp2_map_key_type)); + new_map.psl = (uint8_t *)new_map.data + tablelen * sizeof(void *); + if (map->size) { - tablelen = 1u << map->hashbits; + tablelen = (size_t)1 << map->hashbits; for (i = 0; i < tablelen; ++i) { - bkt = &map->table[i]; - if (bkt->data == NULL) { + if (map->psl[i] == 0) { continue; } - rv = map_insert(&new_map, bkt->key, bkt->data); + idx = map_insert(&new_map, map->keys[i], map->data[i]); - assert(0 == rv); + /* map_insert must not fail because all keys are unique during + resize. */ + assert(idx >= 0); } } - nghttp2_mem_free(map->mem, map->table); - map->table = new_map.table; + nghttp2_mem_free(map->mem, map->keys); + map->keys = new_map.keys; + map->data = new_map.data; + map->psl = new_map.psl; map->hashbits = new_hashbits; return 0; } +/* NGHTTP2_MAX_PSL_RESIZE_THRESH is the maximum psl threshold. If + reached, resize the table. */ +#define NGHTTP2_MAX_PSL_RESIZE_THRESH 128 + int nghttp2_map_insert(nghttp2_map *map, nghttp2_map_key_type key, void *data) { int rv; + size_t tablelen; + nghttp2_ssize idx; assert(data); - /* Load factor is 7/8 */ - /* Under the very initial condition, that is map->size == 0 and - map->hashbits == 0, 8 > 7 still holds nicely. */ - if ((map->size + 1) * 8 > (1u << map->hashbits) * 7) { - if (map->hashbits) { - rv = map_resize(map, map->hashbits + 1); - if (rv != 0) { - return rv; - } - } else { - rv = map_resize(map, NGHTTP2_INITIAL_HASHBITS); - if (rv != 0) { - return rv; - } + /* tablelen is incorrect if map->hashbits == 0 which leads to + tablelen = 1, but it is only used to check the load factor, and + it works in this special case. */ + tablelen = (size_t)1 << map->hashbits; + + /* Load factor is 7 / 8. Because tablelen is power of 2, (tablelen + - (tablelen >> 3)) computes tablelen * 7 / 8. */ + if (map->size + 1 >= (tablelen - (tablelen >> 3))) { + rv = map_resize(map, map->hashbits ? map->hashbits + 1 + : NGHTTP2_INITIAL_HASHBITS); + if (rv != 0) { + return rv; + } + + idx = map_insert(map, key, data); + if (idx < 0) { + return (int)idx; } + + return 0; } - rv = map_insert(map, key, data); - if (rv != 0) { - return rv; + idx = map_insert(map, key, data); + if (idx < 0) { + return (int)idx; } - return 0; + /* Resize if psl reaches really large value which is almost + improbable, but just in case. */ + if (map->psl[idx] - 1 < NGHTTP2_MAX_PSL_RESIZE_THRESH) { + return 0; + } + + return map_resize(map, map->hashbits + 1); } void *nghttp2_map_find(const nghttp2_map *map, nghttp2_map_key_type key) { size_t idx; - nghttp2_map_bucket *bkt; - size_t psl = 0; + size_t psl = 1; size_t mask; if (map->size == 0) { return NULL; } - idx = map_hash(map, key); - mask = (1u << map->hashbits) - 1; + idx = map_index(map, key); + mask = ((size_t)1 << map->hashbits) - 1; for (;;) { - bkt = &map->table[idx]; - - if (bkt->data == NULL || psl > bkt->psl) { + if (psl > map->psl[idx]) { return NULL; } - if (bkt->key == key) { - return bkt->data; + if (map->keys[idx] == key) { + return map->data[idx]; } ++psl; @@ -256,38 +307,36 @@ void *nghttp2_map_find(const nghttp2_map *map, nghttp2_map_key_type key) { int nghttp2_map_remove(nghttp2_map *map, nghttp2_map_key_type key) { size_t idx; - nghttp2_map_bucket *b, *bkt; - size_t psl = 0; + size_t dest; + size_t psl = 1, kpsl; size_t mask; if (map->size == 0) { return NGHTTP2_ERR_INVALID_ARGUMENT; } - idx = map_hash(map, key); - mask = (1u << map->hashbits) - 1; + idx = map_index(map, key); + mask = ((size_t)1 << map->hashbits) - 1; for (;;) { - bkt = &map->table[idx]; - - if (bkt->data == NULL || psl > bkt->psl) { + if (psl > map->psl[idx]) { return NGHTTP2_ERR_INVALID_ARGUMENT; } - if (bkt->key == key) { - b = bkt; + if (map->keys[idx] == key) { + dest = idx; idx = (idx + 1) & mask; for (;;) { - bkt = &map->table[idx]; - if (bkt->data == NULL || bkt->psl == 0) { - b->data = NULL; + kpsl = map->psl[idx]; + if (kpsl <= 1) { + map->psl[dest] = 0; break; } - --bkt->psl; - *b = *bkt; - b = bkt; + map_set_entry(map, dest, map->keys[idx], map->data[idx], kpsl - 1); + + dest = idx; idx = (idx + 1) & mask; } @@ -307,7 +356,7 @@ void nghttp2_map_clear(nghttp2_map *map) { return; } - memset(map->table, 0, sizeof(*map->table) * (1u << map->hashbits)); + memset(map->psl, 0, sizeof(*map->psl) * ((size_t)1 << map->hashbits)); map->size = 0; } diff --git a/deps/nghttp2/lib/nghttp2_map.h b/deps/nghttp2/lib/nghttp2_map.h index e45685bce717..c47b279345de 100644 --- a/deps/nghttp2/lib/nghttp2_map.h +++ b/deps/nghttp2/lib/nghttp2_map.h @@ -38,16 +38,15 @@ typedef int32_t nghttp2_map_key_type; -typedef struct nghttp2_map_bucket { - uint32_t psl; - nghttp2_map_key_type key; - void *data; -} nghttp2_map_bucket; - typedef struct nghttp2_map { - nghttp2_map_bucket *table; + nghttp2_map_key_type *keys; + void **data; + /* psl is the Probe Sequence Length. 0 has special meaning that the + element is not stored at i-th position if psl[i] == 0. Because + of this, the actual psl value is psl[i] - 1 if psl[i] > 0. */ + uint8_t *psl; nghttp2_mem *mem; - uint32_t seed; + uint64_t seed; size_t size; size_t hashbits; } nghttp2_map; @@ -55,7 +54,7 @@ typedef struct nghttp2_map { /* * nghttp2_map_init initializes the map |map|. */ -void nghttp2_map_init(nghttp2_map *map, uint32_t seed, nghttp2_mem *mem); +void nghttp2_map_init(nghttp2_map *map, uint64_t seed, nghttp2_mem *mem); /* * nghttp2_map_free deallocates any resources allocated for |map|. diff --git a/deps/nghttp2/lib/nghttp2_outbound_item.c b/deps/nghttp2/lib/nghttp2_outbound_item.c index a9e9f7693eda..fad1ee0a4690 100644 --- a/deps/nghttp2/lib/nghttp2_outbound_item.c +++ b/deps/nghttp2/lib/nghttp2_outbound_item.c @@ -53,6 +53,18 @@ nghttp2_data_provider_wrap_v2(nghttp2_data_provider_wrap *dpw, return dpw; } +int nghttp2_data_provider_wrap_contains_read_callback( + const nghttp2_data_provider_wrap *dpw) { + switch (dpw->version) { + case NGHTTP2_DATA_PROVIDER_V1: + return dpw->data_prd.v1.read_callback != NULL; + case NGHTTP2_DATA_PROVIDER_V2: + return dpw->data_prd.v2.read_callback != NULL; + default: + return 0; + } +} + void nghttp2_outbound_item_init(nghttp2_outbound_item *item) { item->cycle = 0; item->qnext = NULL; diff --git a/deps/nghttp2/lib/nghttp2_outbound_item.h b/deps/nghttp2/lib/nghttp2_outbound_item.h index 6e8e310cc475..9f280e616351 100644 --- a/deps/nghttp2/lib/nghttp2_outbound_item.h +++ b/deps/nghttp2/lib/nghttp2_outbound_item.h @@ -39,10 +39,6 @@ typedef struct nghttp2_data_provider_wrap { int version; union { - struct { - nghttp2_data_source source; - void *read_callback; - }; nghttp2_data_provider v1; nghttp2_data_provider2 v2; } data_prd; @@ -56,6 +52,11 @@ nghttp2_data_provider_wrap * nghttp2_data_provider_wrap_v2(nghttp2_data_provider_wrap *dpw, const nghttp2_data_provider2 *data_prd); +/* nghttp2_data_provider_wrap_contains_read_callback returns nonzero + if |dpw| contains read_callback in either version. */ +int nghttp2_data_provider_wrap_contains_read_callback( + const nghttp2_data_provider_wrap *dpw); + /* struct used for HEADERS and PUSH_PROMISE frame */ typedef struct { nghttp2_data_provider_wrap dpw; @@ -110,6 +111,12 @@ typedef struct { uint8_t flags; } nghttp2_goaway_aux_data; +typedef struct { + /* nonzero if RST_STREAM should be sent even if stream is not + found. */ + uint8_t continue_without_stream; +} nghttp2_rst_stream_aux_data; + /* struct used for extension frame */ typedef struct { /* nonzero if this extension frame is serialized by library @@ -122,6 +129,7 @@ typedef union { nghttp2_data_aux_data data; nghttp2_headers_aux_data headers; nghttp2_goaway_aux_data goaway; + nghttp2_rst_stream_aux_data rst_stream; nghttp2_ext_aux_data ext; } nghttp2_aux_data; diff --git a/deps/nghttp2/lib/nghttp2_session.c b/deps/nghttp2/lib/nghttp2_session.c index 97d7fda1d295..19e0b767c163 100644 --- a/deps/nghttp2/lib/nghttp2_session.c +++ b/deps/nghttp2/lib/nghttp2_session.c @@ -438,7 +438,7 @@ static int session_new(nghttp2_session **session_ptr, size_t max_deflate_dynamic_table_size = NGHTTP2_HD_DEFAULT_MAX_DEFLATE_BUFFER_SIZE; size_t i; - uint32_t map_seed; + uint64_t map_seed; if (mem == NULL) { mem = nghttp2_mem_default(); @@ -1051,7 +1051,6 @@ int nghttp2_session_add_item(nghttp2_session *session, nghttp2_outbound_queue_push(&session->ob_syn, item); item->queued = 1; return 0; - ; } nghttp2_outbound_queue_push(&session->ob_reg, item); @@ -1189,6 +1188,10 @@ int nghttp2_session_add_rst_stream_continue(nghttp2_session *session, frame = &item->frame; nghttp2_frame_rst_stream_init(&frame->rst_stream, stream_id, error_code); + + item->aux_data.rst_stream.continue_without_stream = + (uint8_t)(continue_without_stream != 0); + rv = nghttp2_session_add_item(session, item); if (rv != 0) { nghttp2_frame_rst_stream_free(&frame->rst_stream); @@ -2141,6 +2144,12 @@ static int session_prep_frame(nghttp2_session *session, if (session_is_closing(session)) { return NGHTTP2_ERR_SESSION_CLOSING; } + + if (!item->aux_data.rst_stream.continue_without_stream && + !nghttp2_session_get_stream(session, frame->rst_stream.hd.stream_id)) { + return NGHTTP2_ERR_STREAM_CLOSED; + } + nghttp2_frame_pack_rst_stream(&session->aob.framebufs, &frame->rst_stream); return 0; case NGHTTP2_SETTINGS: { @@ -2584,7 +2593,7 @@ static int session_after_frame_sent1(nghttp2_session *session) { } /* We assume aux_data is a pointer to nghttp2_headers_aux_data */ aux_data = &item->aux_data.headers; - if (aux_data->dpw.data_prd.read_callback) { + if (nghttp2_data_provider_wrap_contains_read_callback(&aux_data->dpw)) { /* nghttp2_submit_data_shared() makes a copy of aux_data->dpw */ rv = nghttp2_submit_data_shared(session, NGHTTP2_FLAG_END_STREAM, @@ -2615,7 +2624,7 @@ static int session_after_frame_sent1(nghttp2_session *session) { } /* We assume aux_data is a pointer to nghttp2_headers_aux_data */ aux_data = &item->aux_data.headers; - if (aux_data->dpw.data_prd.read_callback) { + if (nghttp2_data_provider_wrap_contains_read_callback(&aux_data->dpw)) { rv = nghttp2_submit_data_shared(session, NGHTTP2_FLAG_END_STREAM, frame->hd.stream_id, &aux_data->dpw); if (nghttp2_is_fatal(rv)) { @@ -2795,7 +2804,10 @@ static int session_call_send_data(nghttp2_session *session, aux_data = &item->aux_data.data; rv = session->callbacks.send_data_callback(session, frame, buf->pos, length, - &aux_data->dpw.data_prd.source, + /* This is fine because + of Common Initial + Sequence rule. */ + &aux_data->dpw.data_prd.v2.source, session->user_data); switch (rv) { @@ -2853,8 +2865,12 @@ static nghttp2_ssize nghttp2_session_mem_send_internal(nghttp2_session *session, nghttp2_frame *frame = &item->frame; /* The library is responsible for the transmission of WINDOW_UPDATE frame, so we don't call error callback for - it. */ + it. As for RST_STREAM, if it is not sent due to missing + stream, we also do not call error callback because it may + cause a lot of noises.*/ if (frame->hd.type != NGHTTP2_WINDOW_UPDATE && + (frame->hd.type != NGHTTP2_RST_STREAM || + rv != NGHTTP2_ERR_STREAM_CLOSED) && session->callbacks.on_frame_not_send_callback( session, frame, rv, session->user_data) != 0) { nghttp2_outbound_item_free(item, mem); @@ -3272,7 +3288,9 @@ static int session_call_on_invalid_header(nghttp2_session *session, session, frame, nv->name->base, nv->name->len, nv->value->base, nv->value->len, nv->flags, session->user_data); } else { - return NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE; + /* If both callbacks are not set, the invalid field nv is + ignored. */ + return 0; } if (rv == NGHTTP2_ERR_PAUSE || rv == NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE) { @@ -3357,6 +3375,10 @@ static uint32_t get_error_code_from_lib_error_code(int lib_error_code) { case NGHTTP2_ERR_HTTP_HEADER: case NGHTTP2_ERR_HTTP_MESSAGING: return NGHTTP2_PROTOCOL_ERROR; + case NGHTTP2_ERR_INTERNAL: + return NGHTTP2_INTERNAL_ERROR; + case NGHTTP2_ERR_PUSH_CANCEL: + return NGHTTP2_CANCEL; default: return NGHTTP2_INTERNAL_ERROR; } @@ -3408,7 +3430,7 @@ static int session_handle_invalid_stream2(nghttp2_session *session, if (rv != 0) { return rv; } - if (session->callbacks.on_invalid_frame_recv_callback) { + if (frame && session->callbacks.on_invalid_frame_recv_callback) { if (session->callbacks.on_invalid_frame_recv_callback( session, frame, lib_error_code, session->user_data) != 0) { return NGHTTP2_ERR_CALLBACK_FAILURE; @@ -3495,6 +3517,7 @@ static int session_inflate_handle_invalid_connection(nghttp2_session *session, static int inflate_header_block(nghttp2_session *session, nghttp2_frame *frame, size_t *readlen_ptr, uint8_t *in, size_t inlen, int final, int call_header_cb) { + nghttp2_inbound_frame *iframe = &session->iframe; nghttp2_ssize proclen; int rv; int inflate_flags; @@ -3563,7 +3586,29 @@ static int inflate_header_block(nghttp2_session *session, nghttp2_frame *frame, rv2 = session_call_on_invalid_header(session, frame, &nv); if (rv2 == NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE) { - rv = NGHTTP2_ERR_HTTP_HEADER; + DEBUGF("recv: HTTP error: type=%u, id=%d, header %.*s: %.*s\n", + frame->hd.type, frame->hd.stream_id, (int)nv.name->len, + nv.name->base, (int)nv.value->len, nv.value->base); + + rv = session_call_error_callback( + session, NGHTTP2_ERR_HTTP_HEADER, + "Invalid HTTP header field was received: frame type: " + "%u, stream: %d, name: [%.*s], value: [%.*s]", + frame->hd.type, frame->hd.stream_id, (int)nv.name->len, + nv.name->base, (int)nv.value->len, nv.value->base); + + if (nghttp2_is_fatal(rv)) { + return rv; + } + + rv = session_handle_invalid_stream2( + session, subject_stream->stream_id, frame, + NGHTTP2_ERR_HTTP_HEADER); + if (nghttp2_is_fatal(rv)) { + return rv; + } + + return NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE; } else { if (rv2 != 0) { return rv2; @@ -3609,6 +3654,16 @@ static int inflate_header_block(nghttp2_session *session, nghttp2_frame *frame, if (nghttp2_is_fatal(rv)) { return rv; } + + rv = session_update_glitch_ratelim(session); + if (rv != 0) { + return rv; + } + + if (iframe->state == NGHTTP2_IB_IGN_ALL) { + return 0; + } + return NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE; } } @@ -3678,6 +3733,7 @@ static int session_end_stream_headers_received(nghttp2_session *session, static int session_after_header_block_received(nghttp2_session *session) { int rv = 0; nghttp2_frame *frame = &session->iframe.frame; + nghttp2_inbound_frame *iframe = &session->iframe; nghttp2_stream *stream; /* We don't call on_frame_recv_callback if stream has been closed @@ -3736,12 +3792,22 @@ static int session_after_header_block_received(nghttp2_session *session) { return rv; } + rv = session_update_glitch_ratelim(session); + if (rv != 0) { + return rv; + } + + if (iframe->state == NGHTTP2_IB_IGN_ALL) { + return 0; + } + if (frame->hd.type == NGHTTP2_HEADERS && (frame->hd.flags & NGHTTP2_FLAG_END_STREAM)) { nghttp2_stream_shutdown(stream, NGHTTP2_SHUT_RD); /* Don't call nghttp2_session_close_stream_if_shut_rdwr because RST_STREAM has been submitted. */ } + return 0; } } @@ -4078,8 +4144,7 @@ static int update_remote_initial_window_size_func(void *entry, void *ptr) { rv = nghttp2_stream_update_remote_initial_window_size( stream, arg->new_window_size, arg->old_window_size); if (rv != 0) { - return nghttp2_session_add_rst_stream(arg->session, stream->stream_id, - NGHTTP2_FLOW_CONTROL_ERROR); + return NGHTTP2_ERR_FLOW_CONTROL; } /* If window size gets positive, push deferred DATA frame to @@ -4105,6 +4170,8 @@ static int update_remote_initial_window_size_func(void *entry, void *ptr) { * * NGHTTP2_ERR_NOMEM * Out of memory. + * NGHTTP2_ERR_FLOW_CONTROL + * Window size gets out of range. */ static int session_update_remote_initial_window_size(nghttp2_session *session, @@ -4128,8 +4195,7 @@ static int update_local_initial_window_size_func(void *entry, void *ptr) { rv = nghttp2_stream_update_local_initial_window_size( stream, arg->new_window_size, arg->old_window_size); if (rv != 0) { - return nghttp2_session_add_rst_stream(arg->session, stream->stream_id, - NGHTTP2_FLOW_CONTROL_ERROR); + return NGHTTP2_ERR_FLOW_CONTROL; } if (stream->window_update_queued) { @@ -4163,6 +4229,8 @@ static int update_local_initial_window_size_func(void *entry, void *ptr) { * * NGHTTP2_ERR_NOMEM * Out of memory. + * NGHTTP2_ERR_FLOW_CONTROL + * Window size gets out of range. */ static int session_update_local_initial_window_size(nghttp2_session *session, @@ -4549,9 +4617,9 @@ int nghttp2_session_on_push_promise_received(nghttp2_session *session, session->max_incoming_reserved_streams) { /* Currently, client does not retain closed stream, so we don't check NGHTTP2_SHUT_RD condition here. */ - - rv = nghttp2_session_add_rst_stream( - session, frame->push_promise.promised_stream_id, NGHTTP2_CANCEL); + rv = session_handle_invalid_stream2(session, + frame->push_promise.promised_stream_id, + NULL, NGHTTP2_ERR_PUSH_CANCEL); if (rv != 0) { return rv; } @@ -4708,8 +4776,9 @@ static int session_on_stream_window_update_received(nghttp2_session *session, } if (NGHTTP2_MAX_WINDOW_SIZE - frame->window_update.window_size_increment < stream->remote_window_size) { - return session_handle_invalid_stream(session, frame, - NGHTTP2_ERR_FLOW_CONTROL); + return session_handle_invalid_connection( + session, frame, NGHTTP2_ERR_FLOW_CONTROL, + "WINDOW_UPDATE: window size overflow"); } stream->remote_window_size += frame->window_update.window_size_increment; @@ -4925,6 +4994,7 @@ int nghttp2_session_on_data_received(nghttp2_session *session, nghttp2_frame *frame) { int rv = 0; nghttp2_stream *stream; + nghttp2_inbound_frame *iframe = &session->iframe; /* We don't call on_frame_recv_callback if stream has been closed already or being closed. */ @@ -4939,15 +5009,26 @@ int nghttp2_session_on_data_received(nghttp2_session *session, if (session_enforce_http_messaging(session) && (frame->hd.flags & NGHTTP2_FLAG_END_STREAM)) { if (nghttp2_http_on_remote_end_stream(stream) != 0) { - rv = nghttp2_session_add_rst_stream(session, stream->stream_id, - NGHTTP2_PROTOCOL_ERROR); + rv = session_handle_invalid_stream2(session, stream->stream_id, frame, + NGHTTP2_ERR_HTTP_MESSAGING); if (nghttp2_is_fatal(rv)) { return rv; } + rv = session_update_glitch_ratelim(session); + if (rv != 0) { + return rv; + } + + if (iframe->state == NGHTTP2_IB_IGN_ALL) { + return 0; + } + nghttp2_stream_shutdown(stream, NGHTTP2_SHUT_RD); + /* Don't call nghttp2_session_close_stream_if_shut_rdwr because RST_STREAM has been submitted. */ + return 0; } } @@ -5006,8 +5087,8 @@ int nghttp2_session_update_recv_stream_window_size(nghttp2_session *session, rv = adjust_recv_window_size(&stream->recv_window_size, delta_size, stream->local_window_size); if (rv != 0) { - return nghttp2_session_add_rst_stream(session, stream->stream_id, - NGHTTP2_FLOW_CONTROL_ERROR); + return nghttp2_session_terminate_session(session, + NGHTTP2_FLOW_CONTROL_ERROR); } /* We don't have to send WINDOW_UPDATE if the data received is the last chunk in the incoming stream. */ @@ -5469,6 +5550,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, busy = 1; rv = session_on_data_received_fail_fast(session); + if (nghttp2_is_fatal(rv)) { + return rv; + } + if (iframe->state == NGHTTP2_IB_IGN_ALL) { return (nghttp2_ssize)inlen; } @@ -5476,23 +5561,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, DEBUGF("recv: DATA not allowed stream_id=%d\n", iframe->frame.hd.stream_id); - rv = session_update_glitch_ratelim(session); - if (rv != 0) { - return rv; - } - - if (iframe->state == NGHTTP2_IB_IGN_ALL) { - return (nghttp2_ssize)inlen; - } - iframe->state = NGHTTP2_IB_IGN_DATA; break; } - if (nghttp2_is_fatal(rv)) { - return rv; - } - rv = inbound_frame_handle_pad(iframe, &iframe->frame.hd); if (rv < 0) { rv = nghttp2_session_terminate_session_with_reason( @@ -5576,6 +5648,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, return rv; } + if (iframe->state == NGHTTP2_IB_IGN_ALL) { + return (nghttp2_ssize)inlen; + } + on_begin_frame_called = 1; rv = session_process_headers_frame(session); @@ -5590,8 +5666,8 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, } if (rv == NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE) { - rv = nghttp2_session_add_rst_stream( - session, iframe->frame.hd.stream_id, NGHTTP2_INTERNAL_ERROR); + rv = session_handle_invalid_stream2( + session, iframe->frame.hd.stream_id, NULL, NGHTTP2_ERR_INTERNAL); if (nghttp2_is_fatal(rv)) { return rv; } @@ -6044,6 +6120,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, if (nghttp2_is_fatal(rv)) { return rv; } + + if (iframe->state == NGHTTP2_IB_IGN_ALL) { + return (nghttp2_ssize)inlen; + } } } @@ -6107,8 +6187,8 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, } if (rv == NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE) { - rv = nghttp2_session_add_rst_stream( - session, iframe->frame.hd.stream_id, NGHTTP2_INTERNAL_ERROR); + rv = session_handle_invalid_stream2( + session, iframe->frame.hd.stream_id, NULL, NGHTTP2_ERR_INTERNAL); if (nghttp2_is_fatal(rv)) { return rv; } @@ -6191,9 +6271,9 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, } if (rv == NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE) { - rv = nghttp2_session_add_rst_stream( - session, iframe->frame.push_promise.promised_stream_id, - NGHTTP2_INTERNAL_ERROR); + rv = session_handle_invalid_stream2( + session, iframe->frame.push_promise.promised_stream_id, NULL, + NGHTTP2_ERR_INTERNAL); if (nghttp2_is_fatal(rv)) { return rv; } @@ -6296,6 +6376,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, return rv; } + if (iframe->state == NGHTTP2_IB_IGN_ALL) { + return (nghttp2_ssize)inlen; + } + session_inbound_frame_reset(session); break; @@ -6371,12 +6455,12 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, iframe->payloadleft -= hd_proclen; /* Use promised stream ID for PUSH_PROMISE */ - rv = nghttp2_session_add_rst_stream( + rv = session_handle_invalid_stream2( session, iframe->frame.hd.type == NGHTTP2_PUSH_PROMISE ? iframe->frame.push_promise.promised_stream_id : iframe->frame.hd.stream_id, - NGHTTP2_INTERNAL_ERROR); + NULL, NGHTTP2_ERR_INTERNAL); if (nghttp2_is_fatal(rv)) { return rv; } @@ -6423,6 +6507,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, if (nghttp2_is_fatal(rv)) { return rv; } + + if (iframe->state == NGHTTP2_IB_IGN_ALL) { + return (nghttp2_ssize)inlen; + } } session_inbound_frame_reset(session); @@ -6598,6 +6686,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, if (nghttp2_is_fatal(rv)) { return rv; } + + if (iframe->state == NGHTTP2_IB_IGN_ALL) { + return (nghttp2_ssize)inlen; + } } else { iframe->state = NGHTTP2_IB_IGN_HEADER_BLOCK; } @@ -6648,6 +6740,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, if (nghttp2_is_fatal(rv)) { return rv; } + + if (iframe->state == NGHTTP2_IB_IGN_ALL) { + return (nghttp2_ssize)inlen; + } } busy = 1; @@ -6720,6 +6816,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, return rv; } + if (iframe->state == NGHTTP2_IB_IGN_ALL) { + return (nghttp2_ssize)inlen; + } + data_readlen = inbound_frame_effective_readlen(iframe, iframe->payloadleft, readlen); @@ -6763,13 +6863,25 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, } } - rv = nghttp2_session_add_rst_stream( - session, iframe->frame.hd.stream_id, NGHTTP2_PROTOCOL_ERROR); + rv = session_handle_invalid_stream2( + session, iframe->frame.hd.stream_id, &iframe->frame, + NGHTTP2_ERR_PROTO); if (nghttp2_is_fatal(rv)) { return rv; } + + rv = session_update_glitch_ratelim(session); + if (rv != 0) { + return rv; + } + + if (iframe->state == NGHTTP2_IB_IGN_ALL) { + return (nghttp2_ssize)inlen; + } + busy = 1; iframe->state = NGHTTP2_IB_IGN_DATA; + break; } } @@ -6777,13 +6889,17 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, rv = session->callbacks.on_data_chunk_recv_callback( session, iframe->frame.hd.flags, iframe->frame.hd.stream_id, in - readlen, (size_t)data_readlen, session->user_data); - if (rv == NGHTTP2_ERR_PAUSE) { - return (nghttp2_ssize)(in - first); - } - if (nghttp2_is_fatal(rv)) { return NGHTTP2_ERR_CALLBACK_FAILURE; } + + if (iframe->state == NGHTTP2_IB_IGN_ALL) { + return (nghttp2_ssize)inlen; + } + + if (rv == NGHTTP2_ERR_PAUSE) { + return (nghttp2_ssize)(in - first); + } } } } @@ -6797,6 +6913,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, return rv; } + if (iframe->state == NGHTTP2_IB_IGN_ALL) { + return (nghttp2_ssize)inlen; + } + session_inbound_frame_reset(session); break; @@ -6863,6 +6983,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, return rv; } + if (iframe->state == NGHTTP2_IB_IGN_ALL) { + return (nghttp2_ssize)inlen; + } + if (rv != 0) { busy = 1; @@ -6881,6 +7005,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, return rv; } + if (iframe->state == NGHTTP2_IB_IGN_ALL) { + return (nghttp2_ssize)inlen; + } + session_inbound_frame_reset(session); break; @@ -6909,6 +7037,10 @@ nghttp2_ssize nghttp2_session_mem_recv2(nghttp2_session *session, return rv; } + if (iframe->state == NGHTTP2_IB_IGN_ALL) { + return (nghttp2_ssize)inlen; + } + session_inbound_frame_reset(session); break; @@ -7372,13 +7504,13 @@ int nghttp2_session_pack_data(nghttp2_session *session, nghttp2_bufs *bufs, case NGHTTP2_DATA_PROVIDER_V1: payloadlen = (nghttp2_ssize)aux_data->dpw.data_prd.v1.read_callback( session, frame->hd.stream_id, buf->pos, datamax, &data_flags, - &aux_data->dpw.data_prd.source, session->user_data); + &aux_data->dpw.data_prd.v1.source, session->user_data); break; case NGHTTP2_DATA_PROVIDER_V2: payloadlen = aux_data->dpw.data_prd.v2.read_callback( session, frame->hd.stream_id, buf->pos, datamax, &data_flags, - &aux_data->dpw.data_prd.source, session->user_data); + &aux_data->dpw.data_prd.v2.source, session->user_data); break; default: diff --git a/deps/nghttp2/lib/nghttp2_session.h b/deps/nghttp2/lib/nghttp2_session.h index edbef80d3971..cab30687c075 100644 --- a/deps/nghttp2/lib/nghttp2_session.h +++ b/deps/nghttp2/lib/nghttp2_session.h @@ -107,8 +107,8 @@ typedef struct { #define NGHTTP2_DEFAULT_STREAM_RESET_RATE 33 /* The default values for glitch rate limiter. */ -#define NGHTTP2_DEFAULT_GLITCH_BURST 1000 -#define NGHTTP2_DEFAULT_GLITCH_RATE 33 +#define NGHTTP2_DEFAULT_GLITCH_BURST 10000 +#define NGHTTP2_DEFAULT_GLITCH_RATE 330 /* The default max number of CONTINUATION frames following an incoming HEADER frame. */ diff --git a/deps/nghttp2/lib/nghttp2_submit.c b/deps/nghttp2/lib/nghttp2_submit.c index 8a90f714e4a4..d6bcae9deaf5 100644 --- a/deps/nghttp2/lib/nghttp2_submit.c +++ b/deps/nghttp2/lib/nghttp2_submit.c @@ -57,7 +57,7 @@ static int32_t submit_headers_shared(nghttp2_session *session, uint8_t flags, nghttp2_outbound_item_init(item); - if (dpw != NULL && dpw->data_prd.read_callback != NULL) { + if (dpw != NULL && nghttp2_data_provider_wrap_contains_read_callback(dpw)) { item->aux_data.headers.dpw = *dpw; } @@ -649,7 +649,7 @@ int nghttp2_submit_priority_update(nghttp2_session *session, uint8_t flags, static uint8_t set_request_flags(const nghttp2_data_provider_wrap *dpw) { uint8_t flags = NGHTTP2_FLAG_NONE; - if (dpw == NULL || dpw->data_prd.read_callback == NULL) { + if (dpw == NULL || !nghttp2_data_provider_wrap_contains_read_callback(dpw)) { flags |= NGHTTP2_FLAG_END_STREAM; } @@ -700,7 +700,7 @@ int32_t nghttp2_submit_request2(nghttp2_session *session, static uint8_t set_response_flags(const nghttp2_data_provider_wrap *dpw) { uint8_t flags = NGHTTP2_FLAG_NONE; - if (dpw == NULL || dpw->data_prd.read_callback == NULL) { + if (dpw == NULL || !nghttp2_data_provider_wrap_contains_read_callback(dpw)) { flags |= NGHTTP2_FLAG_END_STREAM; } return flags; diff --git a/deps/openssl/config/archs/BSD-x86/asm/configdata.pm b/deps/openssl/config/archs/BSD-x86/asm/configdata.pm index ebcc78c024f2..bd750960f6b3 100644 --- a/deps/openssl/config/archs/BSD-x86/asm/configdata.pm +++ b/deps/openssl/config/archs/BSD-x86/asm/configdata.pm @@ -171,7 +171,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -233,7 +233,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -286,11 +286,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "BSD-x86", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1851,6 +1851,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9510,6 +9513,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12148,7 +12156,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12186,7 +12195,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22067,6 +22077,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22581,6 +22595,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23909,6 +23927,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31640,6 +31659,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32518,6 +32540,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/BSD-x86/asm/crypto/buildinf.h b/deps/openssl/config/archs/BSD-x86/asm/crypto/buildinf.h index 99d3f77c501a..83e78c4590cb 100644 --- a/deps/openssl/config/archs/BSD-x86/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/BSD-x86/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: BSD-x86" -#define DATE "built on: Tue Apr 7 19:05:06 2026 UTC" +#define DATE "built on: Tue Jun 9 13:41:00 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/BSD-x86/asm/include/openssl/opensslv.h b/deps/openssl/config/archs/BSD-x86/asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/BSD-x86/asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/BSD-x86/asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/BSD-x86/asm/include/openssl/ssl.h b/deps/openssl/config/archs/BSD-x86/asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/BSD-x86/asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/BSD-x86/asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/BSD-x86/asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/BSD-x86/asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/BSD-x86/asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/BSD-x86/asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/BSD-x86/asm_avx2/configdata.pm b/deps/openssl/config/archs/BSD-x86/asm_avx2/configdata.pm index 887af11925a0..e9b7549abed6 100644 --- a/deps/openssl/config/archs/BSD-x86/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/BSD-x86/asm_avx2/configdata.pm @@ -171,7 +171,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -233,7 +233,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -286,11 +286,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "BSD-x86", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1851,6 +1851,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9510,6 +9513,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12148,7 +12156,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12186,7 +12195,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22067,6 +22077,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22581,6 +22595,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23909,6 +23927,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31640,6 +31659,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32518,6 +32540,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/buildinf.h index e86d72158d72..bbeffb99eae3 100644 --- a/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: BSD-x86" -#define DATE "built on: Tue Apr 7 19:05:23 2026 UTC" +#define DATE "built on: Tue Jun 9 13:41:17 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/BSD-x86/asm_avx2/include/openssl/opensslv.h b/deps/openssl/config/archs/BSD-x86/asm_avx2/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/BSD-x86/asm_avx2/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/BSD-x86/asm_avx2/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/BSD-x86/asm_avx2/include/openssl/ssl.h b/deps/openssl/config/archs/BSD-x86/asm_avx2/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/BSD-x86/asm_avx2/include/openssl/ssl.h +++ b/deps/openssl/config/archs/BSD-x86/asm_avx2/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/BSD-x86/asm_avx2/include/openssl/x509_acert.h b/deps/openssl/config/archs/BSD-x86/asm_avx2/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/BSD-x86/asm_avx2/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/BSD-x86/asm_avx2/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/BSD-x86/no-asm/configdata.pm b/deps/openssl/config/archs/BSD-x86/no-asm/configdata.pm index 1a536897cfb6..b4fe5a2d1240 100644 --- a/deps/openssl/config/archs/BSD-x86/no-asm/configdata.pm +++ b/deps/openssl/config/archs/BSD-x86/no-asm/configdata.pm @@ -169,7 +169,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -232,7 +232,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-asm no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -286,11 +286,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "BSD-x86", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1852,6 +1852,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9452,6 +9455,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12068,7 +12076,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12106,7 +12115,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -21984,6 +21994,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22498,6 +22512,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23826,6 +23844,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31469,6 +31488,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32347,6 +32369,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/BSD-x86/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/BSD-x86/no-asm/crypto/buildinf.h index 4a478e9d240c..f412cff99b12 100644 --- a/deps/openssl/config/archs/BSD-x86/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/BSD-x86/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: BSD-x86" -#define DATE "built on: Tue Apr 7 19:05:40 2026 UTC" +#define DATE "built on: Tue Jun 9 13:41:33 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/BSD-x86/no-asm/include/openssl/opensslv.h b/deps/openssl/config/archs/BSD-x86/no-asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/BSD-x86/no-asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/BSD-x86/no-asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/BSD-x86/no-asm/include/openssl/ssl.h b/deps/openssl/config/archs/BSD-x86/no-asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/BSD-x86/no-asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/BSD-x86/no-asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/BSD-x86/no-asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/BSD-x86/no-asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/BSD-x86/no-asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/BSD-x86/no-asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/configdata.pm b/deps/openssl/config/archs/BSD-x86_64/asm/configdata.pm index f5c6dd504e6c..38e54764b02b 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/configdata.pm +++ b/deps/openssl/config/archs/BSD-x86_64/asm/configdata.pm @@ -171,7 +171,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -233,7 +233,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -286,11 +286,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "BSD-x86_64", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1852,6 +1852,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9517,6 +9520,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12205,7 +12213,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12243,7 +12252,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22124,6 +22134,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22638,6 +22652,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23966,6 +23984,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31857,6 +31876,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32735,6 +32757,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/buildinf.h b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/buildinf.h index fe7cab5b3a01..174efa380584 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/BSD-x86_64/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: BSD-x86_64" -#define DATE "built on: Tue Apr 7 19:05:56 2026 UTC" +#define DATE "built on: Tue Jun 9 13:41:48 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/include/openssl/opensslv.h b/deps/openssl/config/archs/BSD-x86_64/asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/BSD-x86_64/asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/include/openssl/ssl.h b/deps/openssl/config/archs/BSD-x86_64/asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/BSD-x86_64/asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/BSD-x86_64/asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/BSD-x86_64/asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/BSD-x86_64/asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/configdata.pm b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/configdata.pm index 478035f0b82b..950bafce9b0a 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/configdata.pm @@ -171,7 +171,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -233,7 +233,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -286,11 +286,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "BSD-x86_64", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1852,6 +1852,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9517,6 +9520,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12205,7 +12213,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12243,7 +12252,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22124,6 +22134,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22638,6 +22652,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23966,6 +23984,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31857,6 +31876,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32735,6 +32757,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/buildinf.h index aebef2827610..c0f9d0f45254 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: BSD-x86_64" -#define DATE "built on: Tue Apr 7 19:06:20 2026 UTC" +#define DATE "built on: Tue Jun 9 13:42:10 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/openssl/opensslv.h b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/openssl/ssl.h b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/openssl/ssl.h +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/openssl/x509_acert.h b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/BSD-x86_64/no-asm/configdata.pm b/deps/openssl/config/archs/BSD-x86_64/no-asm/configdata.pm index 334ad17fa234..b02716db57aa 100644 --- a/deps/openssl/config/archs/BSD-x86_64/no-asm/configdata.pm +++ b/deps/openssl/config/archs/BSD-x86_64/no-asm/configdata.pm @@ -169,7 +169,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -232,7 +232,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-asm no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -286,11 +286,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "BSD-x86_64", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1853,6 +1853,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9453,6 +9456,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12069,7 +12077,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12107,7 +12116,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -21985,6 +21995,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22499,6 +22513,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23827,6 +23845,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31470,6 +31489,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32348,6 +32370,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/BSD-x86_64/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/BSD-x86_64/no-asm/crypto/buildinf.h index 5f424e6b0461..9d468e2e572d 100644 --- a/deps/openssl/config/archs/BSD-x86_64/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/BSD-x86_64/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: BSD-x86_64" -#define DATE "built on: Tue Apr 7 19:06:40 2026 UTC" +#define DATE "built on: Tue Jun 9 13:42:29 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/BSD-x86_64/no-asm/include/openssl/opensslv.h b/deps/openssl/config/archs/BSD-x86_64/no-asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/BSD-x86_64/no-asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/BSD-x86_64/no-asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/BSD-x86_64/no-asm/include/openssl/ssl.h b/deps/openssl/config/archs/BSD-x86_64/no-asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/BSD-x86_64/no-asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/BSD-x86_64/no-asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/BSD-x86_64/no-asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/BSD-x86_64/no-asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/BSD-x86_64/no-asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/BSD-x86_64/no-asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/VC-WIN32/asm/configdata.pm b/deps/openssl/config/archs/VC-WIN32/asm/configdata.pm index e60dc8712c15..622939933592 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm/configdata.pm +++ b/deps/openssl/config/archs/VC-WIN32/asm/configdata.pm @@ -179,7 +179,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -244,7 +244,7 @@ our %config = ( ], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -297,11 +297,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "VC-WIN32", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "lib", @@ -316,7 +316,7 @@ our %target = ( "LDFLAGS" => "/nologo /debug", "MT" => "mt", "MTFLAGS" => "-nologo", - "RANLIB" => "CODE(0x55f511b27e00)", + "RANLIB" => "CODE(0x55e7c2c5f858)", "RC" => "rc", "_conf_fname_int" => [ "Configurations/00-base-templates.conf", @@ -1896,6 +1896,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9558,6 +9561,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12198,7 +12206,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12236,7 +12245,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22142,6 +22152,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22656,6 +22670,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23984,6 +24002,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31733,6 +31752,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32612,6 +32634,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/VC-WIN32/asm/crypto/buildinf.h b/deps/openssl/config/archs/VC-WIN32/asm/crypto/buildinf.h index ff9a3575364f..229f18334328 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/VC-WIN32/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: " -#define DATE "built on: Tue Apr 7 19:19:01 2026 UTC" +#define DATE "built on: Tue Jun 9 13:54:16 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/VC-WIN32/asm/include/openssl/opensslv.h b/deps/openssl/config/archs/VC-WIN32/asm/include/openssl/opensslv.h index f55a17e73bb2..2ffd28f17e80 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/VC-WIN32/asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/VC-WIN32/asm/include/openssl/ssl.h b/deps/openssl/config/archs/VC-WIN32/asm/include/openssl/ssl.h index ac4d319c28fc..0e7eb9dfb947 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/VC-WIN32/asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/VC-WIN32/asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/VC-WIN32/asm/include/openssl/x509_acert.h index 74c2dbb8daff..b5ebb38aee6b 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/VC-WIN32/asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/VC-WIN32/asm_avx2/configdata.pm b/deps/openssl/config/archs/VC-WIN32/asm_avx2/configdata.pm index 3b583a1604fd..888f7e00b7dd 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/VC-WIN32/asm_avx2/configdata.pm @@ -179,7 +179,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -244,7 +244,7 @@ our %config = ( ], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -297,11 +297,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "VC-WIN32", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "lib", @@ -316,7 +316,7 @@ our %target = ( "LDFLAGS" => "/nologo /debug", "MT" => "mt", "MTFLAGS" => "-nologo", - "RANLIB" => "CODE(0x55d87aeabb20)", + "RANLIB" => "CODE(0x558ec8331428)", "RC" => "rc", "_conf_fname_int" => [ "Configurations/00-base-templates.conf", @@ -1896,6 +1896,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9558,6 +9561,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12198,7 +12206,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12236,7 +12245,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22142,6 +22152,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22656,6 +22670,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23984,6 +24002,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31733,6 +31752,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32612,6 +32634,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/buildinf.h index b2f63d363189..8f4480ca6a5a 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: " -#define DATE "built on: Tue Apr 7 19:19:16 2026 UTC" +#define DATE "built on: Tue Jun 9 13:54:31 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/openssl/opensslv.h b/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/openssl/opensslv.h index f55a17e73bb2..2ffd28f17e80 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/openssl/ssl.h b/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/openssl/ssl.h index ac4d319c28fc..0e7eb9dfb947 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/openssl/ssl.h +++ b/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/openssl/x509_acert.h b/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/openssl/x509_acert.h index 74c2dbb8daff..b5ebb38aee6b 100644 --- a/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/VC-WIN32/no-asm/configdata.pm b/deps/openssl/config/archs/VC-WIN32/no-asm/configdata.pm index 1a6e3cf8c294..0787c0940449 100644 --- a/deps/openssl/config/archs/VC-WIN32/no-asm/configdata.pm +++ b/deps/openssl/config/archs/VC-WIN32/no-asm/configdata.pm @@ -177,7 +177,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -243,7 +243,7 @@ our %config = ( ], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-asm no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -297,11 +297,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "VC-WIN32", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "lib", @@ -316,7 +316,7 @@ our %target = ( "LDFLAGS" => "/nologo /debug", "MT" => "mt", "MTFLAGS" => "-nologo", - "RANLIB" => "CODE(0x55edcbaf5480)", + "RANLIB" => "CODE(0x563fa480ed90)", "RC" => "rc", "_conf_fname_int" => [ "Configurations/00-base-templates.conf", @@ -1897,6 +1897,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9500,6 +9503,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12118,7 +12126,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12156,7 +12165,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22059,6 +22069,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22573,6 +22587,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23901,6 +23919,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31562,6 +31581,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32441,6 +32463,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/VC-WIN32/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/VC-WIN32/no-asm/crypto/buildinf.h index ff9ca9189277..0770ff218139 100644 --- a/deps/openssl/config/archs/VC-WIN32/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/VC-WIN32/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: " -#define DATE "built on: Tue Apr 7 19:19:30 2026 UTC" +#define DATE "built on: Tue Jun 9 13:54:45 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/VC-WIN32/no-asm/include/openssl/opensslv.h b/deps/openssl/config/archs/VC-WIN32/no-asm/include/openssl/opensslv.h index f55a17e73bb2..2ffd28f17e80 100644 --- a/deps/openssl/config/archs/VC-WIN32/no-asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/VC-WIN32/no-asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/VC-WIN32/no-asm/include/openssl/ssl.h b/deps/openssl/config/archs/VC-WIN32/no-asm/include/openssl/ssl.h index ac4d319c28fc..0e7eb9dfb947 100644 --- a/deps/openssl/config/archs/VC-WIN32/no-asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/VC-WIN32/no-asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/VC-WIN32/no-asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/VC-WIN32/no-asm/include/openssl/x509_acert.h index 74c2dbb8daff..b5ebb38aee6b 100644 --- a/deps/openssl/config/archs/VC-WIN32/no-asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/VC-WIN32/no-asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/configdata.pm b/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/configdata.pm index adb06078140f..03796efd7548 100644 --- a/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/configdata.pm +++ b/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/configdata.pm @@ -177,7 +177,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -241,7 +241,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-asm no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -295,11 +295,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "VC-WIN64-ARM", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "lib", @@ -312,7 +312,7 @@ our %target = ( "LDFLAGS" => "/nologo /debug", "MT" => "mt", "MTFLAGS" => "-nologo", - "RANLIB" => "CODE(0x561c37957ce0)", + "RANLIB" => "CODE(0x557702d9b300)", "RC" => "rc", "_conf_fname_int" => [ "Configurations/00-base-templates.conf", @@ -1889,6 +1889,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9492,6 +9495,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12110,7 +12118,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12148,7 +12157,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22051,6 +22061,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22565,6 +22579,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23893,6 +23911,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31554,6 +31573,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32433,6 +32455,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/crypto/buildinf.h index b6a6162def62..c45a9348f28b 100644 --- a/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: VC-WIN64-ARM" -#define DATE "built on: Tue Apr 7 19:19:44 2026 UTC" +#define DATE "built on: Tue Jun 9 13:54:58 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/openssl/opensslv.h b/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/openssl/opensslv.h index f55a17e73bb2..2ffd28f17e80 100644 --- a/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/openssl/ssl.h b/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/openssl/ssl.h index ac4d319c28fc..0e7eb9dfb947 100644 --- a/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/openssl/x509_acert.h index 74c2dbb8daff..b5ebb38aee6b 100644 --- a/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/configdata.pm b/deps/openssl/config/archs/VC-WIN64A/asm/configdata.pm index 98c8ba4d9af9..65fc2d00ace6 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/configdata.pm +++ b/deps/openssl/config/archs/VC-WIN64A/asm/configdata.pm @@ -181,7 +181,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -246,7 +246,7 @@ our %config = ( ], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -299,11 +299,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "VC-WIN64A", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "lib", @@ -318,7 +318,7 @@ our %target = ( "LDFLAGS" => "/nologo /debug", "MT" => "mt", "MTFLAGS" => "-nologo", - "RANLIB" => "CODE(0x556ba0b03270)", + "RANLIB" => "CODE(0x558980ea4db8)", "RC" => "rc", "_conf_fname_int" => [ "Configurations/00-base-templates.conf", @@ -1899,6 +1899,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9567,6 +9570,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12247,7 +12255,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12285,7 +12294,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22191,6 +22201,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22705,6 +22719,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -24033,6 +24051,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31942,6 +31961,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32821,6 +32843,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/buildinf.h b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/buildinf.h index 5cfa6f62379b..bb0800288660 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/VC-WIN64A/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: " -#define DATE "built on: Tue Apr 7 19:18:02 2026 UTC" +#define DATE "built on: Tue Jun 9 13:53:23 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/include/openssl/opensslv.h b/deps/openssl/config/archs/VC-WIN64A/asm/include/openssl/opensslv.h index f55a17e73bb2..2ffd28f17e80 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/VC-WIN64A/asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/include/openssl/ssl.h b/deps/openssl/config/archs/VC-WIN64A/asm/include/openssl/ssl.h index ac4d319c28fc..0e7eb9dfb947 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/VC-WIN64A/asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/VC-WIN64A/asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/VC-WIN64A/asm/include/openssl/x509_acert.h index 74c2dbb8daff..b5ebb38aee6b 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/VC-WIN64A/asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/configdata.pm b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/configdata.pm index 3d067b6fdbac..6dcb1cb5e3a8 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/configdata.pm @@ -181,7 +181,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -246,7 +246,7 @@ our %config = ( ], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -299,11 +299,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "VC-WIN64A", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "lib", @@ -318,7 +318,7 @@ our %target = ( "LDFLAGS" => "/nologo /debug", "MT" => "mt", "MTFLAGS" => "-nologo", - "RANLIB" => "CODE(0x558ad9c80070)", + "RANLIB" => "CODE(0x559fdcf2f078)", "RC" => "rc", "_conf_fname_int" => [ "Configurations/00-base-templates.conf", @@ -1899,6 +1899,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9567,6 +9570,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12247,7 +12255,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12285,7 +12294,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22191,6 +22201,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22705,6 +22719,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -24033,6 +24051,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31942,6 +31961,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32821,6 +32843,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/buildinf.h index 886119aa21e0..367b947b852e 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: " -#define DATE "built on: Tue Apr 7 19:18:25 2026 UTC" +#define DATE "built on: Tue Jun 9 13:53:43 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/openssl/opensslv.h b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/openssl/opensslv.h index f55a17e73bb2..2ffd28f17e80 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/openssl/ssl.h b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/openssl/ssl.h index ac4d319c28fc..0e7eb9dfb947 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/openssl/ssl.h +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/openssl/x509_acert.h b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/openssl/x509_acert.h index 74c2dbb8daff..b5ebb38aee6b 100644 --- a/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/VC-WIN64A/no-asm/configdata.pm b/deps/openssl/config/archs/VC-WIN64A/no-asm/configdata.pm index c82d9c98a155..3efb5f52231a 100644 --- a/deps/openssl/config/archs/VC-WIN64A/no-asm/configdata.pm +++ b/deps/openssl/config/archs/VC-WIN64A/no-asm/configdata.pm @@ -179,7 +179,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -245,7 +245,7 @@ our %config = ( ], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-asm no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -299,11 +299,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "VC-WIN64A", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "lib", @@ -318,7 +318,7 @@ our %target = ( "LDFLAGS" => "/nologo /debug", "MT" => "mt", "MTFLAGS" => "-nologo", - "RANLIB" => "CODE(0x55ae81cdc6d0)", + "RANLIB" => "CODE(0x5641b5beb5e0)", "RC" => "rc", "_conf_fname_int" => [ "Configurations/00-base-templates.conf", @@ -1900,6 +1900,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9503,6 +9506,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12121,7 +12129,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12159,7 +12168,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22062,6 +22072,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22576,6 +22590,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23904,6 +23922,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31565,6 +31584,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32444,6 +32466,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/VC-WIN64A/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/VC-WIN64A/no-asm/crypto/buildinf.h index 4381a47b97f4..fb6a1a832f5f 100644 --- a/deps/openssl/config/archs/VC-WIN64A/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/VC-WIN64A/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: " -#define DATE "built on: Tue Apr 7 19:18:47 2026 UTC" +#define DATE "built on: Tue Jun 9 13:54:03 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/VC-WIN64A/no-asm/include/openssl/opensslv.h b/deps/openssl/config/archs/VC-WIN64A/no-asm/include/openssl/opensslv.h index f55a17e73bb2..2ffd28f17e80 100644 --- a/deps/openssl/config/archs/VC-WIN64A/no-asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/VC-WIN64A/no-asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/VC-WIN64A/no-asm/include/openssl/ssl.h b/deps/openssl/config/archs/VC-WIN64A/no-asm/include/openssl/ssl.h index ac4d319c28fc..0e7eb9dfb947 100644 --- a/deps/openssl/config/archs/VC-WIN64A/no-asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/VC-WIN64A/no-asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/VC-WIN64A/no-asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/VC-WIN64A/no-asm/include/openssl/x509_acert.h index 74c2dbb8daff..b5ebb38aee6b 100644 --- a/deps/openssl/config/archs/VC-WIN64A/no-asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/VC-WIN64A/no-asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/aix64-gcc-as/asm/configdata.pm b/deps/openssl/config/archs/aix64-gcc-as/asm/configdata.pm index b28acdc98d8d..b3f469236b82 100644 --- a/deps/openssl/config/archs/aix64-gcc-as/asm/configdata.pm +++ b/deps/openssl/config/archs/aix64-gcc-as/asm/configdata.pm @@ -171,7 +171,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -236,7 +236,7 @@ our %config = ( ], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -289,11 +289,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "aix64-gcc-as", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar -X64", @@ -1855,6 +1855,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9493,6 +9496,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12148,7 +12156,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12186,7 +12195,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22067,6 +22077,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22581,6 +22595,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23909,6 +23927,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31708,6 +31727,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32586,6 +32608,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/aix64-gcc-as/asm/crypto/buildinf.h b/deps/openssl/config/archs/aix64-gcc-as/asm/crypto/buildinf.h index 2ca2d52d9c77..e32a5a2c259a 100644 --- a/deps/openssl/config/archs/aix64-gcc-as/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/aix64-gcc-as/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: aix64-gcc-as" -#define DATE "built on: Tue Apr 7 19:04:17 2026 UTC" +#define DATE "built on: Tue Jun 9 13:40:13 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/aix64-gcc-as/asm/include/openssl/opensslv.h b/deps/openssl/config/archs/aix64-gcc-as/asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/aix64-gcc-as/asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/aix64-gcc-as/asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/aix64-gcc-as/asm/include/openssl/ssl.h b/deps/openssl/config/archs/aix64-gcc-as/asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/aix64-gcc-as/asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/aix64-gcc-as/asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/aix64-gcc-as/asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/aix64-gcc-as/asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/aix64-gcc-as/asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/aix64-gcc-as/asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/configdata.pm b/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/configdata.pm index 3df7335fbc3a..6fd054c09cb8 100644 --- a/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/configdata.pm @@ -171,7 +171,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -236,7 +236,7 @@ our %config = ( ], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -289,11 +289,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "aix64-gcc-as", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar -X64", @@ -1855,6 +1855,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9493,6 +9496,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12148,7 +12156,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12186,7 +12195,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22067,6 +22077,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22581,6 +22595,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23909,6 +23927,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31708,6 +31727,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32586,6 +32608,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/crypto/buildinf.h index f2a8312f30e0..9b2c62e56dac 100644 --- a/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: aix64-gcc-as" -#define DATE "built on: Tue Apr 7 19:04:33 2026 UTC" +#define DATE "built on: Tue Jun 9 13:40:29 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/include/openssl/opensslv.h b/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/include/openssl/ssl.h b/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/include/openssl/ssl.h +++ b/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/include/openssl/x509_acert.h b/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/aix64-gcc-as/no-asm/configdata.pm b/deps/openssl/config/archs/aix64-gcc-as/no-asm/configdata.pm index ff833db0fd86..22706faea1cc 100644 --- a/deps/openssl/config/archs/aix64-gcc-as/no-asm/configdata.pm +++ b/deps/openssl/config/archs/aix64-gcc-as/no-asm/configdata.pm @@ -169,7 +169,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -235,7 +235,7 @@ our %config = ( ], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-asm no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -289,11 +289,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "aix64-gcc-as", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar -X64", @@ -1856,6 +1856,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9456,6 +9459,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12071,7 +12079,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12109,7 +12118,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -21987,6 +21997,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22501,6 +22515,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23829,6 +23847,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31468,6 +31487,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32346,6 +32368,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/aix64-gcc-as/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/aix64-gcc-as/no-asm/crypto/buildinf.h index 991de4416541..52d44b7e70ee 100644 --- a/deps/openssl/config/archs/aix64-gcc-as/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/aix64-gcc-as/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: aix64-gcc-as" -#define DATE "built on: Tue Apr 7 19:04:50 2026 UTC" +#define DATE "built on: Tue Jun 9 13:40:45 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/aix64-gcc-as/no-asm/include/openssl/opensslv.h b/deps/openssl/config/archs/aix64-gcc-as/no-asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/aix64-gcc-as/no-asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/aix64-gcc-as/no-asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/aix64-gcc-as/no-asm/include/openssl/ssl.h b/deps/openssl/config/archs/aix64-gcc-as/no-asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/aix64-gcc-as/no-asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/aix64-gcc-as/no-asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/aix64-gcc-as/no-asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/aix64-gcc-as/no-asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/aix64-gcc-as/no-asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/aix64-gcc-as/no-asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm/configdata.pm b/deps/openssl/config/archs/darwin-i386-cc/asm/configdata.pm index d703d0ebfdd8..214eb33b95a8 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm/configdata.pm +++ b/deps/openssl/config/archs/darwin-i386-cc/asm/configdata.pm @@ -171,7 +171,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -236,7 +236,7 @@ our %config = ( ], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -289,11 +289,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "darwin-i386-cc", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1854,6 +1854,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9505,6 +9508,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12141,7 +12149,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12179,7 +12188,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22032,6 +22042,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22546,6 +22560,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23874,6 +23892,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31599,6 +31618,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32475,6 +32497,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/buildinf.h b/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/buildinf.h index 8ac5a1b3f510..907460877625 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: darwin-i386-cc" -#define DATE "built on: Tue Apr 7 19:07:55 2026 UTC" +#define DATE "built on: Tue Jun 9 13:43:40 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm/include/openssl/opensslv.h b/deps/openssl/config/archs/darwin-i386-cc/asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/darwin-i386-cc/asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm/include/openssl/ssl.h b/deps/openssl/config/archs/darwin-i386-cc/asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/darwin-i386-cc/asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/darwin-i386-cc/asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/darwin-i386-cc/asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/configdata.pm b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/configdata.pm index 1b8ef6c2a993..aac61cd40c7f 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/configdata.pm @@ -171,7 +171,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -236,7 +236,7 @@ our %config = ( ], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -289,11 +289,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "darwin-i386-cc", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1854,6 +1854,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9505,6 +9508,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12141,7 +12149,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12179,7 +12188,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22032,6 +22042,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22546,6 +22560,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23874,6 +23892,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31599,6 +31618,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32475,6 +32497,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/buildinf.h index 16f692200e0a..6221eef93646 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: darwin-i386-cc" -#define DATE "built on: Tue Apr 7 19:08:12 2026 UTC" +#define DATE "built on: Tue Jun 9 13:43:56 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/openssl/opensslv.h b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/openssl/ssl.h b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/openssl/ssl.h +++ b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/openssl/x509_acert.h b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/darwin-i386-cc/no-asm/configdata.pm b/deps/openssl/config/archs/darwin-i386-cc/no-asm/configdata.pm index 854c9aa62ea9..9e60a3ebb9eb 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/no-asm/configdata.pm +++ b/deps/openssl/config/archs/darwin-i386-cc/no-asm/configdata.pm @@ -169,7 +169,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -235,7 +235,7 @@ our %config = ( ], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-asm no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -289,11 +289,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "darwin-i386-cc", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1855,6 +1855,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9447,6 +9450,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12061,7 +12069,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12099,7 +12108,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -21949,6 +21959,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22463,6 +22477,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23791,6 +23809,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31428,6 +31447,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32304,6 +32326,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/darwin-i386-cc/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/darwin-i386-cc/no-asm/crypto/buildinf.h index 013907ee15de..45bbc7e9c330 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/darwin-i386-cc/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: darwin-i386-cc" -#define DATE "built on: Tue Apr 7 19:08:28 2026 UTC" +#define DATE "built on: Tue Jun 9 13:44:12 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/openssl/opensslv.h b/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/openssl/ssl.h b/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/darwin64-arm64-cc/asm/configdata.pm b/deps/openssl/config/archs/darwin64-arm64-cc/asm/configdata.pm index 00d1fba6f036..9130bfc22ae4 100644 --- a/deps/openssl/config/archs/darwin64-arm64-cc/asm/configdata.pm +++ b/deps/openssl/config/archs/darwin64-arm64-cc/asm/configdata.pm @@ -171,7 +171,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -236,7 +236,7 @@ our %config = ( ], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -289,11 +289,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "darwin64-arm64-cc", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1854,6 +1854,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9495,6 +9498,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12148,7 +12156,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12186,7 +12195,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22141,6 +22151,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22655,6 +22669,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23983,6 +24001,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31776,6 +31795,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32652,6 +32674,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/darwin64-arm64-cc/asm/crypto/buildinf.h b/deps/openssl/config/archs/darwin64-arm64-cc/asm/crypto/buildinf.h index 7d0987ff1e6f..377b7634216f 100644 --- a/deps/openssl/config/archs/darwin64-arm64-cc/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/darwin64-arm64-cc/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: darwin64-arm64-cc" -#define DATE "built on: Tue Apr 7 19:08:44 2026 UTC" +#define DATE "built on: Tue Jun 9 13:44:27 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/darwin64-arm64-cc/asm/include/openssl/opensslv.h b/deps/openssl/config/archs/darwin64-arm64-cc/asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/darwin64-arm64-cc/asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/darwin64-arm64-cc/asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/darwin64-arm64-cc/asm/include/openssl/ssl.h b/deps/openssl/config/archs/darwin64-arm64-cc/asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/darwin64-arm64-cc/asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/darwin64-arm64-cc/asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/darwin64-arm64-cc/asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/darwin64-arm64-cc/asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/darwin64-arm64-cc/asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/darwin64-arm64-cc/asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/configdata.pm b/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/configdata.pm index c363099c8847..cec7756b473a 100644 --- a/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/configdata.pm @@ -171,7 +171,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -236,7 +236,7 @@ our %config = ( ], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -289,11 +289,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "darwin64-arm64-cc", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1854,6 +1854,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9495,6 +9498,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12148,7 +12156,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12186,7 +12195,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22141,6 +22151,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22655,6 +22669,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23983,6 +24001,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31776,6 +31795,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32652,6 +32674,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/crypto/buildinf.h index 69cf1be7d69f..cb74149bc291 100644 --- a/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: darwin64-arm64-cc" -#define DATE "built on: Tue Apr 7 19:09:01 2026 UTC" +#define DATE "built on: Tue Jun 9 13:44:43 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/include/openssl/opensslv.h b/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/include/openssl/ssl.h b/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/include/openssl/ssl.h +++ b/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/include/openssl/x509_acert.h b/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/configdata.pm b/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/configdata.pm index 36936786584d..a5e982f73ed0 100644 --- a/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/configdata.pm +++ b/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/configdata.pm @@ -169,7 +169,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -235,7 +235,7 @@ our %config = ( ], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-asm no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -289,11 +289,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "darwin64-arm64-cc", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1855,6 +1855,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9447,6 +9450,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12061,7 +12069,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12099,7 +12108,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -21949,6 +21959,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22463,6 +22477,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23791,6 +23809,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31428,6 +31447,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32304,6 +32326,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/crypto/buildinf.h index 04be5237ab34..81e5ca4c5004 100644 --- a/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: darwin64-arm64-cc" -#define DATE "built on: Tue Apr 7 19:09:18 2026 UTC" +#define DATE "built on: Tue Jun 9 13:44:59 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/include/openssl/opensslv.h b/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/include/openssl/ssl.h b/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/configdata.pm b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/configdata.pm index 33e55bc9e96b..db5a2e5d8b1d 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/configdata.pm +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/configdata.pm @@ -171,7 +171,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -236,7 +236,7 @@ our %config = ( ], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -289,11 +289,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "darwin64-x86_64-cc", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1854,6 +1854,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9511,6 +9514,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12197,7 +12205,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12235,7 +12244,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22088,6 +22098,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22602,6 +22616,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23930,6 +23948,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31815,6 +31834,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32691,6 +32713,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/buildinf.h b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/buildinf.h index 49ec3dc29ac3..b7930fb848a8 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: darwin64-x86_64-cc" -#define DATE "built on: Tue Apr 7 19:06:56 2026 UTC" +#define DATE "built on: Tue Jun 9 13:42:44 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/openssl/opensslv.h b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/openssl/ssl.h b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/configdata.pm b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/configdata.pm index 0f0ed82ad1fb..f26518b9e993 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/configdata.pm @@ -171,7 +171,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -236,7 +236,7 @@ our %config = ( ], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -289,11 +289,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "darwin64-x86_64-cc", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1854,6 +1854,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9511,6 +9514,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12197,7 +12205,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12235,7 +12244,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22088,6 +22098,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22602,6 +22616,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23930,6 +23948,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31815,6 +31834,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32691,6 +32713,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h index 59934514dafd..0b51db6c1eb7 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: darwin64-x86_64-cc" -#define DATE "built on: Tue Apr 7 19:07:20 2026 UTC" +#define DATE "built on: Tue Jun 9 13:43:06 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/opensslv.h b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/ssl.h b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/ssl.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/x509_acert.h b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/configdata.pm b/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/configdata.pm index 1c6145780507..3a7dc5574517 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/configdata.pm +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/configdata.pm @@ -169,7 +169,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -235,7 +235,7 @@ our %config = ( ], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-asm no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -289,11 +289,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "darwin64-x86_64-cc", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1855,6 +1855,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9447,6 +9450,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12061,7 +12069,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12099,7 +12108,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -21949,6 +21959,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22463,6 +22477,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23791,6 +23809,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31428,6 +31447,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32304,6 +32326,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/crypto/buildinf.h index d0a6ef3027ce..2d28b30c9256 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: darwin64-x86_64-cc" -#define DATE "built on: Tue Apr 7 19:07:40 2026 UTC" +#define DATE "built on: Tue Jun 9 13:43:25 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/openssl/opensslv.h b/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/openssl/ssl.h b/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux-aarch64/asm/configdata.pm b/deps/openssl/config/archs/linux-aarch64/asm/configdata.pm index ad05893bc0b4..6653c6799b77 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm/configdata.pm +++ b/deps/openssl/config/archs/linux-aarch64/asm/configdata.pm @@ -174,7 +174,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -237,7 +237,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux-aarch64", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1860,6 +1860,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9509,6 +9512,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12163,7 +12171,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12201,7 +12210,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22184,6 +22194,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22698,6 +22712,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -24026,6 +24044,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31821,6 +31840,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32699,6 +32721,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux-aarch64/asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-aarch64/asm/crypto/buildinf.h index ed7cb59ade0a..82957105dee3 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-aarch64/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-aarch64" -#define DATE "built on: Tue Apr 7 19:09:33 2026 UTC" +#define DATE "built on: Tue Jun 9 13:45:14 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-aarch64/asm/include/openssl/opensslv.h b/deps/openssl/config/archs/linux-aarch64/asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux-aarch64/asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux-aarch64/asm/include/openssl/ssl.h b/deps/openssl/config/archs/linux-aarch64/asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux-aarch64/asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux-aarch64/asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux-aarch64/asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux-aarch64/asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux-aarch64/asm_avx2/configdata.pm b/deps/openssl/config/archs/linux-aarch64/asm_avx2/configdata.pm index f66045efd18d..65fb4bf41fff 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/linux-aarch64/asm_avx2/configdata.pm @@ -174,7 +174,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -237,7 +237,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux-aarch64", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1860,6 +1860,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9509,6 +9512,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12163,7 +12171,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12201,7 +12210,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22184,6 +22194,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22698,6 +22712,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -24026,6 +24044,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31821,6 +31840,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32699,6 +32721,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/buildinf.h index 6704a8202dca..be7fe9fba06a 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-aarch64" -#define DATE "built on: Tue Apr 7 19:09:51 2026 UTC" +#define DATE "built on: Tue Jun 9 13:45:31 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/openssl/opensslv.h b/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/openssl/ssl.h b/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux-aarch64/no-asm/configdata.pm b/deps/openssl/config/archs/linux-aarch64/no-asm/configdata.pm index bc5e6efdca38..507a376831cf 100644 --- a/deps/openssl/config/archs/linux-aarch64/no-asm/configdata.pm +++ b/deps/openssl/config/archs/linux-aarch64/no-asm/configdata.pm @@ -172,7 +172,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -236,7 +236,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-asm no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux-aarch64", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1861,6 +1861,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9461,6 +9464,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12076,7 +12084,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12114,7 +12123,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -21992,6 +22002,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22506,6 +22520,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23834,6 +23852,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31473,6 +31492,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32351,6 +32373,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux-aarch64/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-aarch64/no-asm/crypto/buildinf.h index d0c32d9ef1c5..f1a12815e9d6 100644 --- a/deps/openssl/config/archs/linux-aarch64/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-aarch64/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-aarch64" -#define DATE "built on: Tue Apr 7 19:10:08 2026 UTC" +#define DATE "built on: Tue Jun 9 13:45:47 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-aarch64/no-asm/include/openssl/opensslv.h b/deps/openssl/config/archs/linux-aarch64/no-asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux-aarch64/no-asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux-aarch64/no-asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux-aarch64/no-asm/include/openssl/ssl.h b/deps/openssl/config/archs/linux-aarch64/no-asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux-aarch64/no-asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux-aarch64/no-asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux-aarch64/no-asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux-aarch64/no-asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux-aarch64/no-asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux-aarch64/no-asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux-armv4/asm/configdata.pm b/deps/openssl/config/archs/linux-armv4/asm/configdata.pm index cc72c7448efd..1a660d04d0c3 100644 --- a/deps/openssl/config/archs/linux-armv4/asm/configdata.pm +++ b/deps/openssl/config/archs/linux-armv4/asm/configdata.pm @@ -174,7 +174,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -237,7 +237,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux-armv4", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1860,6 +1860,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9501,6 +9504,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12141,7 +12149,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12179,7 +12188,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22144,6 +22154,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22658,6 +22672,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23986,6 +24004,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31725,6 +31744,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32603,6 +32625,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux-armv4/asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-armv4/asm/crypto/buildinf.h index 8d75df033ba2..514f4af8ca7d 100644 --- a/deps/openssl/config/archs/linux-armv4/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-armv4/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-armv4" -#define DATE "built on: Tue Apr 7 19:10:23 2026 UTC" +#define DATE "built on: Tue Jun 9 13:46:02 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-armv4/asm/include/openssl/opensslv.h b/deps/openssl/config/archs/linux-armv4/asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux-armv4/asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux-armv4/asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux-armv4/asm/include/openssl/ssl.h b/deps/openssl/config/archs/linux-armv4/asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux-armv4/asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux-armv4/asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux-armv4/asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux-armv4/asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux-armv4/asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux-armv4/asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux-armv4/asm_avx2/configdata.pm b/deps/openssl/config/archs/linux-armv4/asm_avx2/configdata.pm index 4ec442fe263c..a84b683c6974 100644 --- a/deps/openssl/config/archs/linux-armv4/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/linux-armv4/asm_avx2/configdata.pm @@ -174,7 +174,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -237,7 +237,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux-armv4", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1860,6 +1860,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9501,6 +9504,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12141,7 +12149,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12179,7 +12188,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22144,6 +22154,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22658,6 +22672,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23986,6 +24004,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31725,6 +31744,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32603,6 +32625,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/buildinf.h index 32be2e735c23..cb47442519cd 100644 --- a/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-armv4" -#define DATE "built on: Tue Apr 7 19:10:40 2026 UTC" +#define DATE "built on: Tue Jun 9 13:46:18 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-armv4/asm_avx2/include/openssl/opensslv.h b/deps/openssl/config/archs/linux-armv4/asm_avx2/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux-armv4/asm_avx2/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux-armv4/asm_avx2/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux-armv4/asm_avx2/include/openssl/ssl.h b/deps/openssl/config/archs/linux-armv4/asm_avx2/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux-armv4/asm_avx2/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux-armv4/asm_avx2/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux-armv4/asm_avx2/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux-armv4/asm_avx2/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux-armv4/asm_avx2/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux-armv4/asm_avx2/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux-armv4/no-asm/configdata.pm b/deps/openssl/config/archs/linux-armv4/no-asm/configdata.pm index 1bb6e5264afe..27fcd3ae06c3 100644 --- a/deps/openssl/config/archs/linux-armv4/no-asm/configdata.pm +++ b/deps/openssl/config/archs/linux-armv4/no-asm/configdata.pm @@ -172,7 +172,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -236,7 +236,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-asm no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux-armv4", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1861,6 +1861,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9461,6 +9464,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12076,7 +12084,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12114,7 +12123,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -21992,6 +22002,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22506,6 +22520,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23834,6 +23852,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31473,6 +31492,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32351,6 +32373,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux-armv4/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-armv4/no-asm/crypto/buildinf.h index c018dd20913f..3a9b3ad1526c 100644 --- a/deps/openssl/config/archs/linux-armv4/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-armv4/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-armv4" -#define DATE "built on: Tue Apr 7 19:10:56 2026 UTC" +#define DATE "built on: Tue Jun 9 13:46:34 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-armv4/no-asm/include/openssl/opensslv.h b/deps/openssl/config/archs/linux-armv4/no-asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux-armv4/no-asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux-armv4/no-asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux-armv4/no-asm/include/openssl/ssl.h b/deps/openssl/config/archs/linux-armv4/no-asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux-armv4/no-asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux-armv4/no-asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux-armv4/no-asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux-armv4/no-asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux-armv4/no-asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux-armv4/no-asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux-elf/asm/configdata.pm b/deps/openssl/config/archs/linux-elf/asm/configdata.pm index 13574e29c8c5..f7a66df824a2 100644 --- a/deps/openssl/config/archs/linux-elf/asm/configdata.pm +++ b/deps/openssl/config/archs/linux-elf/asm/configdata.pm @@ -174,7 +174,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -237,7 +237,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux-elf", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1859,6 +1859,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9518,6 +9521,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12155,7 +12163,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12193,7 +12202,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22074,6 +22084,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22588,6 +22602,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23916,6 +23934,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31643,6 +31662,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32521,6 +32543,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux-elf/asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-elf/asm/crypto/buildinf.h index bbe435884385..0b3c2aecb66c 100644 --- a/deps/openssl/config/archs/linux-elf/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-elf/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-elf" -#define DATE "built on: Tue Apr 7 19:11:12 2026 UTC" +#define DATE "built on: Tue Jun 9 13:46:49 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-elf/asm/include/openssl/opensslv.h b/deps/openssl/config/archs/linux-elf/asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux-elf/asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux-elf/asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux-elf/asm/include/openssl/ssl.h b/deps/openssl/config/archs/linux-elf/asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux-elf/asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux-elf/asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux-elf/asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux-elf/asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux-elf/asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux-elf/asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux-elf/asm_avx2/configdata.pm b/deps/openssl/config/archs/linux-elf/asm_avx2/configdata.pm index 8c4b6db94485..d810a73e9c48 100644 --- a/deps/openssl/config/archs/linux-elf/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/linux-elf/asm_avx2/configdata.pm @@ -174,7 +174,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -237,7 +237,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux-elf", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1859,6 +1859,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9518,6 +9521,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12155,7 +12163,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12193,7 +12202,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22074,6 +22084,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22588,6 +22602,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23916,6 +23934,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31643,6 +31662,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32521,6 +32543,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/buildinf.h index bef00a47824d..b63df9201c7e 100644 --- a/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-elf" -#define DATE "built on: Tue Apr 7 19:11:29 2026 UTC" +#define DATE "built on: Tue Jun 9 13:47:05 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-elf/asm_avx2/include/openssl/opensslv.h b/deps/openssl/config/archs/linux-elf/asm_avx2/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux-elf/asm_avx2/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux-elf/asm_avx2/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux-elf/asm_avx2/include/openssl/ssl.h b/deps/openssl/config/archs/linux-elf/asm_avx2/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux-elf/asm_avx2/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux-elf/asm_avx2/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux-elf/asm_avx2/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux-elf/asm_avx2/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux-elf/asm_avx2/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux-elf/asm_avx2/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux-elf/no-asm/configdata.pm b/deps/openssl/config/archs/linux-elf/no-asm/configdata.pm index 421a6bdf43bf..41d35cf4b817 100644 --- a/deps/openssl/config/archs/linux-elf/no-asm/configdata.pm +++ b/deps/openssl/config/archs/linux-elf/no-asm/configdata.pm @@ -172,7 +172,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -236,7 +236,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-asm no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux-elf", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1860,6 +1860,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9460,6 +9463,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12075,7 +12083,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12113,7 +12122,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -21991,6 +22001,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22505,6 +22519,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23833,6 +23851,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31472,6 +31491,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32350,6 +32372,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux-elf/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-elf/no-asm/crypto/buildinf.h index 88ded8dd83be..c76b3dd509ae 100644 --- a/deps/openssl/config/archs/linux-elf/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-elf/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-elf" -#define DATE "built on: Tue Apr 7 19:11:45 2026 UTC" +#define DATE "built on: Tue Jun 9 13:47:21 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-elf/no-asm/include/openssl/opensslv.h b/deps/openssl/config/archs/linux-elf/no-asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux-elf/no-asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux-elf/no-asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux-elf/no-asm/include/openssl/ssl.h b/deps/openssl/config/archs/linux-elf/no-asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux-elf/no-asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux-elf/no-asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux-elf/no-asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux-elf/no-asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux-elf/no-asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux-elf/no-asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux-ppc64le/asm/configdata.pm b/deps/openssl/config/archs/linux-ppc64le/asm/configdata.pm index 2315a51465a2..616f916f3d4b 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm/configdata.pm +++ b/deps/openssl/config/archs/linux-ppc64le/asm/configdata.pm @@ -174,7 +174,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -237,7 +237,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux-ppc64le", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1860,6 +1860,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9498,6 +9501,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12156,7 +12164,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12194,7 +12203,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22075,6 +22085,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22589,6 +22603,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23917,6 +23935,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31728,6 +31747,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32606,6 +32628,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux-ppc64le/asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-ppc64le/asm/crypto/buildinf.h index 849e97f9b895..26a6ddd0e8d0 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-ppc64le/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-ppc64le" -#define DATE "built on: Tue Apr 7 19:13:01 2026 UTC" +#define DATE "built on: Tue Jun 9 13:48:33 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-ppc64le/asm/crypto/chacha/chachap10-ppc.s b/deps/openssl/config/archs/linux-ppc64le/asm/crypto/chacha/chachap10-ppc.s index dc098ec4d67f..024641d35827 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm/crypto/chacha/chachap10-ppc.s +++ b/deps/openssl/config/archs/linux-ppc64le/asm/crypto/chacha/chachap10-ppc.s @@ -408,7 +408,7 @@ ChaCha20_ctr32_vsx_p10: ChaCha20_ctr32_vsx_8x: .localentry ChaCha20_ctr32_vsx_8x,0 - stdu 1,-256(1) + stdu 1,-424(1) mflr 0 li 10,127 li 11,143 @@ -427,9 +427,30 @@ ChaCha20_ctr32_vsx_8x: addi 11,11,32 stvx 30,10,1 stvx 31,11,1 + stfd 14,256(1) + stfd 15,264(1) + stfd 16,272(1) + stfd 17,280(1) + stfd 18,288(1) + stfd 19,296(1) + stfd 20,304(1) + stfd 21,312(1) + stfd 22,320(1) + stfd 23,328(1) + stfd 24,336(1) + stfd 25,344(1) + + li 10,375 + li 11,391 + stvx 20,10,1 + addi 10,10,32 + stvx 21,11,1 + addi 11,11,32 + stvx 22,10,1 + stvx 23,11,1 stw 12,252(1) li 12,-4096+63 - std 0, 272(1) + std 0, 440(1) or 12,12,12 bl .Lconsts @@ -1134,9 +1155,30 @@ ChaCha20_ctr32_vsx_8x: .Ldone_vsx_8x: lwz 12,252(1) + lfd 14,256(1) + lfd 15,264(1) + lfd 16,272(1) + lfd 17,280(1) + lfd 18,288(1) + lfd 19,296(1) + lfd 20,304(1) + lfd 21,312(1) + lfd 22,320(1) + lfd 23,328(1) + lfd 24,336(1) + lfd 25,344(1) + + li 10,375 + li 11,391 + lvx 20,10,1 + addi 10,10,32 + lvx 21,11,1 + addi 11,11,32 + lvx 22,10,1 + lvx 23,11,1 li 10,127 li 11,143 - ld 0, 272(1) + ld 0, 440(1) or 12,12,12 lvx 24,10,1 addi 10,10,32 @@ -1153,7 +1195,7 @@ ChaCha20_ctr32_vsx_8x: lvx 30,10,1 lvx 31,11,1 mtlr 0 - addi 1,1,256 + addi 1,1,424 blr .align 4 diff --git a/deps/openssl/config/archs/linux-ppc64le/asm/include/openssl/opensslv.h b/deps/openssl/config/archs/linux-ppc64le/asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux-ppc64le/asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux-ppc64le/asm/include/openssl/ssl.h b/deps/openssl/config/archs/linux-ppc64le/asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux-ppc64le/asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux-ppc64le/asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux-ppc64le/asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux-ppc64le/asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/configdata.pm b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/configdata.pm index 2c4f33a5a738..012728153b2d 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/configdata.pm @@ -174,7 +174,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -237,7 +237,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux-ppc64le", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1860,6 +1860,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9498,6 +9501,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12156,7 +12164,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12194,7 +12203,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22075,6 +22085,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22589,6 +22603,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23917,6 +23935,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31728,6 +31747,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32606,6 +32628,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/crypto/buildinf.h index 7aacaefda5bd..6c7d6236bacf 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-ppc64le" -#define DATE "built on: Tue Apr 7 19:13:18 2026 UTC" +#define DATE "built on: Tue Jun 9 13:48:49 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/crypto/chacha/chachap10-ppc.s b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/crypto/chacha/chachap10-ppc.s index dc098ec4d67f..024641d35827 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/crypto/chacha/chachap10-ppc.s +++ b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/crypto/chacha/chachap10-ppc.s @@ -408,7 +408,7 @@ ChaCha20_ctr32_vsx_p10: ChaCha20_ctr32_vsx_8x: .localentry ChaCha20_ctr32_vsx_8x,0 - stdu 1,-256(1) + stdu 1,-424(1) mflr 0 li 10,127 li 11,143 @@ -427,9 +427,30 @@ ChaCha20_ctr32_vsx_8x: addi 11,11,32 stvx 30,10,1 stvx 31,11,1 + stfd 14,256(1) + stfd 15,264(1) + stfd 16,272(1) + stfd 17,280(1) + stfd 18,288(1) + stfd 19,296(1) + stfd 20,304(1) + stfd 21,312(1) + stfd 22,320(1) + stfd 23,328(1) + stfd 24,336(1) + stfd 25,344(1) + + li 10,375 + li 11,391 + stvx 20,10,1 + addi 10,10,32 + stvx 21,11,1 + addi 11,11,32 + stvx 22,10,1 + stvx 23,11,1 stw 12,252(1) li 12,-4096+63 - std 0, 272(1) + std 0, 440(1) or 12,12,12 bl .Lconsts @@ -1134,9 +1155,30 @@ ChaCha20_ctr32_vsx_8x: .Ldone_vsx_8x: lwz 12,252(1) + lfd 14,256(1) + lfd 15,264(1) + lfd 16,272(1) + lfd 17,280(1) + lfd 18,288(1) + lfd 19,296(1) + lfd 20,304(1) + lfd 21,312(1) + lfd 22,320(1) + lfd 23,328(1) + lfd 24,336(1) + lfd 25,344(1) + + li 10,375 + li 11,391 + lvx 20,10,1 + addi 10,10,32 + lvx 21,11,1 + addi 11,11,32 + lvx 22,10,1 + lvx 23,11,1 li 10,127 li 11,143 - ld 0, 272(1) + ld 0, 440(1) or 12,12,12 lvx 24,10,1 addi 10,10,32 @@ -1153,7 +1195,7 @@ ChaCha20_ctr32_vsx_8x: lvx 30,10,1 lvx 31,11,1 mtlr 0 - addi 1,1,256 + addi 1,1,424 blr .align 4 diff --git a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/openssl/opensslv.h b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/openssl/ssl.h b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux-ppc64le/no-asm/configdata.pm b/deps/openssl/config/archs/linux-ppc64le/no-asm/configdata.pm index 738b1aee30c5..2d400c2ed115 100644 --- a/deps/openssl/config/archs/linux-ppc64le/no-asm/configdata.pm +++ b/deps/openssl/config/archs/linux-ppc64le/no-asm/configdata.pm @@ -172,7 +172,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -236,7 +236,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-asm no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux-ppc64le", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1861,6 +1861,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9461,6 +9464,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12076,7 +12084,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12114,7 +12123,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -21992,6 +22002,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22506,6 +22520,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23834,6 +23852,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31473,6 +31492,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32351,6 +32373,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux-ppc64le/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-ppc64le/no-asm/crypto/buildinf.h index 4a97d7b93071..5210fe4f0fa5 100644 --- a/deps/openssl/config/archs/linux-ppc64le/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-ppc64le/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-ppc64le" -#define DATE "built on: Tue Apr 7 19:13:35 2026 UTC" +#define DATE "built on: Tue Jun 9 13:49:05 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-ppc64le/no-asm/include/openssl/opensslv.h b/deps/openssl/config/archs/linux-ppc64le/no-asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux-ppc64le/no-asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux-ppc64le/no-asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux-ppc64le/no-asm/include/openssl/ssl.h b/deps/openssl/config/archs/linux-ppc64le/no-asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux-ppc64le/no-asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux-ppc64le/no-asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux-ppc64le/no-asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux-ppc64le/no-asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux-ppc64le/no-asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux-ppc64le/no-asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux-x86_64/asm/configdata.pm b/deps/openssl/config/archs/linux-x86_64/asm/configdata.pm index 30a197bb9b32..62f57d3ea3ba 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/configdata.pm +++ b/deps/openssl/config/archs/linux-x86_64/asm/configdata.pm @@ -174,7 +174,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -237,7 +237,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux-x86_64", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1861,6 +1861,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9526,6 +9529,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12213,7 +12221,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12251,7 +12260,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22132,6 +22142,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22646,6 +22660,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23974,6 +23992,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31861,6 +31880,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32739,6 +32761,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux-x86_64/asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-x86_64/asm/crypto/buildinf.h index 1152ba3b6caa..2e7e96d6ccb1 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-x86_64/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-x86_64" -#define DATE "built on: Tue Apr 7 19:12:01 2026 UTC" +#define DATE "built on: Tue Jun 9 13:47:37 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-x86_64/asm/include/openssl/opensslv.h b/deps/openssl/config/archs/linux-x86_64/asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux-x86_64/asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux-x86_64/asm/include/openssl/ssl.h b/deps/openssl/config/archs/linux-x86_64/asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux-x86_64/asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux-x86_64/asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux-x86_64/asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux-x86_64/asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/configdata.pm b/deps/openssl/config/archs/linux-x86_64/asm_avx2/configdata.pm index dfca30ea1d04..5f65dd44d9ef 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/configdata.pm @@ -174,7 +174,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -237,7 +237,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux-x86_64", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1861,6 +1861,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9526,6 +9529,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12213,7 +12221,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12251,7 +12260,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22132,6 +22142,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22646,6 +22660,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23974,6 +23992,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31861,6 +31880,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32739,6 +32761,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/buildinf.h index eae5790f199f..cec70baefc3c 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-x86_64" -#define DATE "built on: Tue Apr 7 19:12:25 2026 UTC" +#define DATE "built on: Tue Jun 9 13:47:59 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/openssl/opensslv.h b/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/openssl/ssl.h b/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux-x86_64/no-asm/configdata.pm b/deps/openssl/config/archs/linux-x86_64/no-asm/configdata.pm index 161cd9cce0e0..2b65efaba32f 100644 --- a/deps/openssl/config/archs/linux-x86_64/no-asm/configdata.pm +++ b/deps/openssl/config/archs/linux-x86_64/no-asm/configdata.pm @@ -172,7 +172,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -236,7 +236,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-asm no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux-x86_64", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1862,6 +1862,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9462,6 +9465,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12077,7 +12085,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12115,7 +12124,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -21993,6 +22003,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22507,6 +22521,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23835,6 +23853,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31474,6 +31493,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32352,6 +32374,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux-x86_64/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux-x86_64/no-asm/crypto/buildinf.h index bda8e7b06883..88913471e224 100644 --- a/deps/openssl/config/archs/linux-x86_64/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux-x86_64/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux-x86_64" -#define DATE "built on: Tue Apr 7 19:12:45 2026 UTC" +#define DATE "built on: Tue Jun 9 13:48:18 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux-x86_64/no-asm/include/openssl/opensslv.h b/deps/openssl/config/archs/linux-x86_64/no-asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux-x86_64/no-asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux-x86_64/no-asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux-x86_64/no-asm/include/openssl/ssl.h b/deps/openssl/config/archs/linux-x86_64/no-asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux-x86_64/no-asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux-x86_64/no-asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux-x86_64/no-asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux-x86_64/no-asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux-x86_64/no-asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux-x86_64/no-asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux32-s390x/asm/configdata.pm b/deps/openssl/config/archs/linux32-s390x/asm/configdata.pm index 8c5575cac107..caf0472b685f 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm/configdata.pm +++ b/deps/openssl/config/archs/linux32-s390x/asm/configdata.pm @@ -174,7 +174,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -237,7 +237,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux32-s390x", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1860,6 +1860,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9508,6 +9511,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12139,7 +12147,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12177,7 +12186,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22112,6 +22122,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22626,6 +22640,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23954,6 +23972,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31657,6 +31676,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32535,6 +32557,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux32-s390x/asm/crypto/buildinf.h b/deps/openssl/config/archs/linux32-s390x/asm/crypto/buildinf.h index 6e95e0608cf6..4f2e83eca8e1 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux32-s390x/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux32-s390x" -#define DATE "built on: Tue Apr 7 19:13:50 2026 UTC" +#define DATE "built on: Tue Jun 9 13:49:20 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux32-s390x/asm/include/openssl/opensslv.h b/deps/openssl/config/archs/linux32-s390x/asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux32-s390x/asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux32-s390x/asm/include/openssl/ssl.h b/deps/openssl/config/archs/linux32-s390x/asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux32-s390x/asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux32-s390x/asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux32-s390x/asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux32-s390x/asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux32-s390x/asm_avx2/configdata.pm b/deps/openssl/config/archs/linux32-s390x/asm_avx2/configdata.pm index ca37890f34b1..2db43c5a7798 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/linux32-s390x/asm_avx2/configdata.pm @@ -174,7 +174,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -237,7 +237,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux32-s390x", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1860,6 +1860,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9508,6 +9511,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12139,7 +12147,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12177,7 +12186,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22112,6 +22122,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22626,6 +22640,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23954,6 +23972,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31657,6 +31676,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32535,6 +32557,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/buildinf.h index 2c916502dc85..7cbc7ca061fb 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux32-s390x" -#define DATE "built on: Tue Apr 7 19:14:07 2026 UTC" +#define DATE "built on: Tue Jun 9 13:49:36 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/openssl/opensslv.h b/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/openssl/ssl.h b/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux32-s390x/no-asm/configdata.pm b/deps/openssl/config/archs/linux32-s390x/no-asm/configdata.pm index b876da237379..40f4ee322e9f 100644 --- a/deps/openssl/config/archs/linux32-s390x/no-asm/configdata.pm +++ b/deps/openssl/config/archs/linux32-s390x/no-asm/configdata.pm @@ -172,7 +172,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -236,7 +236,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-asm no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux32-s390x", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1861,6 +1861,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9461,6 +9464,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12076,7 +12084,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12114,7 +12123,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -21992,6 +22002,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22506,6 +22520,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23834,6 +23852,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31473,6 +31492,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32351,6 +32373,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux32-s390x/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux32-s390x/no-asm/crypto/buildinf.h index aef67784a3ef..3f33a5ecb195 100644 --- a/deps/openssl/config/archs/linux32-s390x/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux32-s390x/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux32-s390x" -#define DATE "built on: Tue Apr 7 19:14:23 2026 UTC" +#define DATE "built on: Tue Jun 9 13:49:52 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux32-s390x/no-asm/include/openssl/opensslv.h b/deps/openssl/config/archs/linux32-s390x/no-asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux32-s390x/no-asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux32-s390x/no-asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux32-s390x/no-asm/include/openssl/ssl.h b/deps/openssl/config/archs/linux32-s390x/no-asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux32-s390x/no-asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux32-s390x/no-asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux32-s390x/no-asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux32-s390x/no-asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux32-s390x/no-asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux32-s390x/no-asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/configdata.pm b/deps/openssl/config/archs/linux64-loongarch64/no-asm/configdata.pm index fe5d525e1901..d3d53c25c9de 100644 --- a/deps/openssl/config/archs/linux64-loongarch64/no-asm/configdata.pm +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/configdata.pm @@ -172,7 +172,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -236,7 +236,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-asm no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux64-loongarch64", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1861,6 +1861,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9461,6 +9464,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12076,7 +12084,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12114,7 +12123,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -21992,6 +22002,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22506,6 +22520,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23834,6 +23852,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31473,6 +31492,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32351,6 +32373,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/crypto/buildinf.h index 3db64da9d0ca..d928a8c172a9 100644 --- a/deps/openssl/config/archs/linux64-loongarch64/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux64-loongarch64" -#define DATE "built on: Tue Apr 7 19:20:14 2026 UTC" +#define DATE "built on: Tue Jun 9 13:55:26 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/opensslv.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ssl.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux64-mips64/asm/configdata.pm b/deps/openssl/config/archs/linux64-mips64/asm/configdata.pm index 4b790af3772d..98c469dbe5cd 100644 --- a/deps/openssl/config/archs/linux64-mips64/asm/configdata.pm +++ b/deps/openssl/config/archs/linux64-mips64/asm/configdata.pm @@ -177,7 +177,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -240,7 +240,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -293,11 +293,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux64-mips64", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1864,6 +1864,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9486,6 +9489,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12110,7 +12118,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12148,7 +12157,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22068,6 +22078,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22582,6 +22596,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23910,6 +23928,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31585,6 +31604,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32463,6 +32485,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux64-mips64/asm/crypto/buildinf.h b/deps/openssl/config/archs/linux64-mips64/asm/crypto/buildinf.h index d54d57c2f715..c9d5e8f7fb5a 100644 --- a/deps/openssl/config/archs/linux64-mips64/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux64-mips64/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux64-mips64" -#define DATE "built on: Tue Apr 7 19:15:27 2026 UTC" +#define DATE "built on: Tue Jun 9 13:50:54 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/opensslv.h b/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/ssl.h b/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux64-mips64/asm_avx2/configdata.pm b/deps/openssl/config/archs/linux64-mips64/asm_avx2/configdata.pm index 3b4b2b857bfe..3ff8c16edc54 100644 --- a/deps/openssl/config/archs/linux64-mips64/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/linux64-mips64/asm_avx2/configdata.pm @@ -177,7 +177,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -240,7 +240,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -293,11 +293,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux64-mips64", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1864,6 +1864,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9486,6 +9489,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12110,7 +12118,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12148,7 +12157,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22068,6 +22078,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22582,6 +22596,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23910,6 +23928,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31585,6 +31604,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32463,6 +32485,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux64-mips64/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/linux64-mips64/asm_avx2/crypto/buildinf.h index 9779ee7a814f..0d9116ce047d 100644 --- a/deps/openssl/config/archs/linux64-mips64/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux64-mips64/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux64-mips64" -#define DATE "built on: Tue Apr 7 19:15:43 2026 UTC" +#define DATE "built on: Tue Jun 9 13:51:09 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/openssl/opensslv.h b/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/openssl/ssl.h b/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux64-mips64/no-asm/configdata.pm b/deps/openssl/config/archs/linux64-mips64/no-asm/configdata.pm index d5b7b30c41aa..5fbd45d99688 100644 --- a/deps/openssl/config/archs/linux64-mips64/no-asm/configdata.pm +++ b/deps/openssl/config/archs/linux64-mips64/no-asm/configdata.pm @@ -172,7 +172,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -236,7 +236,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-asm no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux64-mips64", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1862,6 +1862,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9462,6 +9465,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12077,7 +12085,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12115,7 +12124,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -21993,6 +22003,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22507,6 +22521,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23835,6 +23853,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31474,6 +31493,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32352,6 +32374,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/buildinf.h index c4c71d7b32d9..ee2af5fc9d1f 100644 --- a/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux64-mips64" -#define DATE "built on: Tue Apr 7 19:15:58 2026 UTC" +#define DATE "built on: Tue Jun 9 13:51:24 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/opensslv.h b/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/ssl.h b/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux64-riscv64/no-asm/configdata.pm b/deps/openssl/config/archs/linux64-riscv64/no-asm/configdata.pm index af3f3bcea803..63f5f2116a33 100644 --- a/deps/openssl/config/archs/linux64-riscv64/no-asm/configdata.pm +++ b/deps/openssl/config/archs/linux64-riscv64/no-asm/configdata.pm @@ -172,7 +172,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -236,7 +236,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-asm no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux64-riscv64", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1861,6 +1861,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9461,6 +9464,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12076,7 +12084,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12114,7 +12123,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -21992,6 +22002,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22506,6 +22520,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23834,6 +23852,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31473,6 +31492,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32351,6 +32373,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux64-riscv64/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux64-riscv64/no-asm/crypto/buildinf.h index 2c36ef23b4cd..3a66aa3545f2 100644 --- a/deps/openssl/config/archs/linux64-riscv64/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux64-riscv64/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux64-riscv64" -#define DATE "built on: Tue Apr 7 19:19:58 2026 UTC" +#define DATE "built on: Tue Jun 9 13:55:11 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux64-riscv64/no-asm/include/openssl/opensslv.h b/deps/openssl/config/archs/linux64-riscv64/no-asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux64-riscv64/no-asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux64-riscv64/no-asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux64-riscv64/no-asm/include/openssl/ssl.h b/deps/openssl/config/archs/linux64-riscv64/no-asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux64-riscv64/no-asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux64-riscv64/no-asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux64-riscv64/no-asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux64-riscv64/no-asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux64-riscv64/no-asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux64-riscv64/no-asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux64-s390x/asm/configdata.pm b/deps/openssl/config/archs/linux64-s390x/asm/configdata.pm index 06e8c7652995..03439cf7df2e 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm/configdata.pm +++ b/deps/openssl/config/archs/linux64-s390x/asm/configdata.pm @@ -174,7 +174,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -237,7 +237,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux64-s390x", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1861,6 +1861,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9513,6 +9516,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12158,7 +12166,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12196,7 +12205,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22131,6 +22141,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22645,6 +22659,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23973,6 +23991,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31692,6 +31711,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32570,6 +32592,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux64-s390x/asm/crypto/buildinf.h b/deps/openssl/config/archs/linux64-s390x/asm/crypto/buildinf.h index f81422913ea9..d7a932bfc178 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux64-s390x/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux64-s390x" -#define DATE "built on: Tue Apr 7 19:14:39 2026 UTC" +#define DATE "built on: Tue Jun 9 13:50:07 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux64-s390x/asm/include/openssl/opensslv.h b/deps/openssl/config/archs/linux64-s390x/asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux64-s390x/asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux64-s390x/asm/include/openssl/ssl.h b/deps/openssl/config/archs/linux64-s390x/asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux64-s390x/asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux64-s390x/asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux64-s390x/asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux64-s390x/asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux64-s390x/asm_avx2/configdata.pm b/deps/openssl/config/archs/linux64-s390x/asm_avx2/configdata.pm index 3cfdb76ad1e5..2635c4984902 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/linux64-s390x/asm_avx2/configdata.pm @@ -174,7 +174,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -237,7 +237,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux64-s390x", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1861,6 +1861,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9513,6 +9516,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12158,7 +12166,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12196,7 +12205,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22131,6 +22141,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22645,6 +22659,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23973,6 +23991,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31692,6 +31711,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32570,6 +32592,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/buildinf.h index 6794cfbc32a7..29cf512556fd 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux64-s390x" -#define DATE "built on: Tue Apr 7 19:14:55 2026 UTC" +#define DATE "built on: Tue Jun 9 13:50:23 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/openssl/opensslv.h b/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/openssl/ssl.h b/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/linux64-s390x/no-asm/configdata.pm b/deps/openssl/config/archs/linux64-s390x/no-asm/configdata.pm index 9bae12b922d1..8a386c880146 100644 --- a/deps/openssl/config/archs/linux64-s390x/no-asm/configdata.pm +++ b/deps/openssl/config/archs/linux64-s390x/no-asm/configdata.pm @@ -172,7 +172,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -236,7 +236,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-asm no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -290,11 +290,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned char", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "linux64-s390x", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1862,6 +1862,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9462,6 +9465,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12077,7 +12085,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12115,7 +12124,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -21993,6 +22003,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22507,6 +22521,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23835,6 +23853,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31474,6 +31493,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32352,6 +32374,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/linux64-s390x/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux64-s390x/no-asm/crypto/buildinf.h index 0723b8ef27b8..a6ecbf250117 100644 --- a/deps/openssl/config/archs/linux64-s390x/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/linux64-s390x/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: linux64-s390x" -#define DATE "built on: Tue Apr 7 19:15:12 2026 UTC" +#define DATE "built on: Tue Jun 9 13:50:39 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/linux64-s390x/no-asm/include/openssl/opensslv.h b/deps/openssl/config/archs/linux64-s390x/no-asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/linux64-s390x/no-asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/linux64-s390x/no-asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/linux64-s390x/no-asm/include/openssl/ssl.h b/deps/openssl/config/archs/linux64-s390x/no-asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/linux64-s390x/no-asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/linux64-s390x/no-asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/linux64-s390x/no-asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/linux64-s390x/no-asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/linux64-s390x/no-asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/linux64-s390x/no-asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm/configdata.pm b/deps/openssl/config/archs/solaris-x86-gcc/asm/configdata.pm index 32a4356bfb7f..ba3f77327b0f 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm/configdata.pm +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm/configdata.pm @@ -171,7 +171,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -234,7 +234,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -287,11 +287,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "solaris-x86-gcc", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1852,6 +1852,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9511,6 +9514,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12148,7 +12156,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12186,7 +12195,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22067,6 +22077,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22581,6 +22595,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23909,6 +23927,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31636,6 +31655,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32514,6 +32536,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/buildinf.h b/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/buildinf.h index 671cf388f22c..70224fd8ed72 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: solaris-x86-gcc" -#define DATE "built on: Tue Apr 7 19:16:14 2026 UTC" +#define DATE "built on: Tue Jun 9 13:51:39 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm/include/openssl/opensslv.h b/deps/openssl/config/archs/solaris-x86-gcc/asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm/include/openssl/ssl.h b/deps/openssl/config/archs/solaris-x86-gcc/asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/solaris-x86-gcc/asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/configdata.pm b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/configdata.pm index 13ef5f37c44d..f2b42006bda9 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/configdata.pm @@ -171,7 +171,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -234,7 +234,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -287,11 +287,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "solaris-x86-gcc", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1852,6 +1852,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9511,6 +9514,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12148,7 +12156,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12186,7 +12195,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22067,6 +22077,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22581,6 +22595,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23909,6 +23927,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31636,6 +31655,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32514,6 +32536,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/buildinf.h index 149b97bb1898..320636347b50 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: solaris-x86-gcc" -#define DATE "built on: Tue Apr 7 19:16:31 2026 UTC" +#define DATE "built on: Tue Jun 9 13:51:55 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/openssl/opensslv.h b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/openssl/ssl.h b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/openssl/ssl.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/openssl/x509_acert.h b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/solaris-x86-gcc/no-asm/configdata.pm b/deps/openssl/config/archs/solaris-x86-gcc/no-asm/configdata.pm index f4a38e5189ef..0715fda811f4 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/no-asm/configdata.pm +++ b/deps/openssl/config/archs/solaris-x86-gcc/no-asm/configdata.pm @@ -169,7 +169,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -233,7 +233,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-asm no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -287,11 +287,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "solaris-x86-gcc", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1853,6 +1853,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9453,6 +9456,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12068,7 +12076,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12106,7 +12115,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -21984,6 +21994,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22498,6 +22512,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23826,6 +23844,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31465,6 +31484,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32343,6 +32365,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/solaris-x86-gcc/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/solaris-x86-gcc/no-asm/crypto/buildinf.h index 8603f5bcac88..585880aeee05 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: solaris-x86-gcc" -#define DATE "built on: Tue Apr 7 19:16:47 2026 UTC" +#define DATE "built on: Tue Jun 9 13:52:11 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/openssl/opensslv.h b/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/openssl/ssl.h b/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/configdata.pm b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/configdata.pm index be12619c8df7..36eb2453ca8c 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/configdata.pm +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/configdata.pm @@ -171,7 +171,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -234,7 +234,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -287,11 +287,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "solaris64-x86_64-gcc", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1853,6 +1853,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9518,6 +9521,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12205,7 +12213,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12243,7 +12252,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22124,6 +22134,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22638,6 +22652,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23966,6 +23984,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31853,6 +31872,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32731,6 +32753,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/buildinf.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/buildinf.h index e6240eb6ac4a..6817188757d1 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: solaris64-x86_64-gcc" -#define DATE "built on: Tue Apr 7 19:17:03 2026 UTC" +#define DATE "built on: Tue Jun 9 13:52:27 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/openssl/opensslv.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/openssl/ssl.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/configdata.pm b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/configdata.pm index c6adc6a40a55..587a86ba1740 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/configdata.pm +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/configdata.pm @@ -171,7 +171,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -234,7 +234,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -287,11 +287,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "solaris64-x86_64-gcc", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1853,6 +1853,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9518,6 +9521,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12205,7 +12213,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12243,7 +12252,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -22124,6 +22134,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22638,6 +22652,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23966,6 +23984,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31853,6 +31872,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32731,6 +32753,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/buildinf.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/buildinf.h index 4c5673adf73e..e3204a870bd5 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/buildinf.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: solaris64-x86_64-gcc" -#define DATE "built on: Tue Apr 7 19:17:27 2026 UTC" +#define DATE "built on: Tue Jun 9 13:52:49 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/opensslv.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/ssl.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/ssl.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/x509_acert.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/configdata.pm b/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/configdata.pm index 6f8d2b4595ae..a7675cb85b06 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/configdata.pm +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/configdata.pm @@ -169,7 +169,7 @@ our %config = ( ], "dynamic_engines" => "0", "ex_libs" => [], - "full_version" => "3.5.6", + "full_version" => "3.5.7", "includes" => [], "lflags" => [], "lib_defines" => [ @@ -233,7 +233,7 @@ our %config = ( "openssl_sys_defines" => [], "openssldir" => "", "options" => "enable-ssl-trace enable-fips no-afalgeng no-asan no-asm no-brotli no-brotli-dynamic no-buildtest-c++ no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fips-jitter no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-jitter no-ktls no-loadereng no-md2 no-msan no-pie no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic", - "patch" => "6", + "patch" => "7", "perl_archname" => "x86_64-linux-gnu-thread-multi", "perl_cmd" => "/usr/bin/perl", "perl_version" => "5.34.0", @@ -287,11 +287,11 @@ our %config = ( "prerelease" => "", "processor" => "", "rc4_int" => "unsigned int", - "release_date" => "7 Apr 2026", + "release_date" => "9 Jun 2026", "shlib_version" => "3", "sourcedir" => ".", "target" => "solaris64-x86_64-gcc", - "version" => "3.5.6" + "version" => "3.5.7" ); our %target = ( "AR" => "ar", @@ -1854,6 +1854,9 @@ our %unified_info = ( "test/tls13groupselection_test" => { "noinst" => "1" }, + "test/tls13ticket_test" => { + "noinst" => "1" + }, "test/trace_api_test" => { "noinst" => "1" }, @@ -9454,6 +9457,11 @@ our %unified_info = ( "libssl", "test/libtestutil.a" ], + "test/tls13ticket_test" => [ + "libcrypto", + "libssl", + "test/libtestutil.a" + ], "test/trace_api_test" => [ "libcrypto.a", "test/libtestutil.a" @@ -12069,7 +12077,8 @@ our %unified_info = ( "test/helpers/sslbuffertest-bin-ssltestlib.o", "test/helpers/sslcorrupttest-bin-ssltestlib.o", "test/helpers/tls13ccstest-bin-ssltestlib.o", - "test/helpers/tls13groupselection_test-bin-ssltestlib.o" + "test/helpers/tls13groupselection_test-bin-ssltestlib.o", + "test/helpers/tls13ticket_test-bin-ssltestlib.o" ], "products" => { "bin" => [ @@ -12107,7 +12116,8 @@ our %unified_info = ( "test/sslbuffertest", "test/sslcorrupttest", "test/tls13ccstest", - "test/tls13groupselection_test" + "test/tls13groupselection_test", + "test/tls13ticket_test" ] } }, @@ -21985,6 +21995,10 @@ our %unified_info = ( ".", "include" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + ".", + "include" + ], "test/hexstr_test" => [ ".", "include", @@ -22499,6 +22513,10 @@ our %unified_info = ( "include", "apps/include" ], + "test/tls13ticket_test" => [ + "include", + "apps/include" + ], "test/trace_api_test" => [ ".", "include", @@ -23827,6 +23845,7 @@ our %unified_info = ( "test/tls13ccstest", "test/tls13encryptiontest", "test/tls13groupselection_test", + "test/tls13ticket_test", "test/trace_api_test", "test/uitest", "test/upcallstest", @@ -31466,6 +31485,9 @@ our %unified_info = ( "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [ "test/helpers/ssltestlib.c" ], + "test/helpers/tls13ticket_test-bin-ssltestlib.o" => [ + "test/helpers/ssltestlib.c" + ], "test/hexstr_test" => [ "test/hexstr_test-bin-hexstr_test.o" ], @@ -32344,6 +32366,13 @@ our %unified_info = ( "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [ "test/tls13groupselection_test.c" ], + "test/tls13ticket_test" => [ + "test/helpers/tls13ticket_test-bin-ssltestlib.o", + "test/tls13ticket_test-bin-tls13tickettest.o" + ], + "test/tls13ticket_test-bin-tls13tickettest.o" => [ + "test/tls13tickettest.c" + ], "test/trace_api_test" => [ "test/trace_api_test-bin-trace_api_test.o" ], diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/crypto/buildinf.h index 354518243e27..f1f11cc3e375 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/crypto/buildinf.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/crypto/buildinf.h @@ -11,7 +11,7 @@ */ #define PLATFORM "platform: solaris64-x86_64-gcc" -#define DATE "built on: Tue Apr 7 19:17:47 2026 UTC" +#define DATE "built on: Tue Jun 9 13:53:08 2026 UTC" /* * Generate compiler_flags as an array of individual characters. This is a diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/openssl/opensslv.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/openssl/opensslv.h index 299ba102298f..8e9329bcc0dd 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/openssl/opensslv.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/openssl/opensslv.h @@ -34,7 +34,7 @@ extern "C" { # define OPENSSL_VERSION_MINOR 5 /* clang-format on */ /* clang-format off */ -# define OPENSSL_VERSION_PATCH 6 +# define OPENSSL_VERSION_PATCH 7 /* clang-format on */ /* @@ -87,10 +87,10 @@ extern "C" { * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ /* clang-format off */ -# define OPENSSL_VERSION_STR "3.5.6" +# define OPENSSL_VERSION_STR "3.5.7" /* clang-format on */ /* clang-format off */ -# define OPENSSL_FULL_VERSION_STR "3.5.6" +# define OPENSSL_FULL_VERSION_STR "3.5.7" /* clang-format on */ /* @@ -99,7 +99,7 @@ extern "C" { * These strings are defined separately to allow them to be parsable. */ /* clang-format off */ -# define OPENSSL_RELEASE_DATE "7 Apr 2026" +# define OPENSSL_RELEASE_DATE "9 Jun 2026" /* clang-format on */ /* @@ -107,7 +107,7 @@ extern "C" { */ /* clang-format off */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.6 7 Apr 2026" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.5.7 9 Jun 2026" /* clang-format on */ /* clang-format off */ diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/openssl/ssl.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/openssl/ssl.h index 8d581c772412..eaeeea7d10b4 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/openssl/ssl.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/openssl/ssl.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/ssl.h.in * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2598,7 +2598,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/openssl/x509_acert.h b/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/openssl/x509_acert.h index f235c08ff369..ed45c1e9184b 100644 --- a/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/openssl/x509_acert.h +++ b/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/openssl/x509_acert.h @@ -2,7 +2,7 @@ * WARNING: do not edit! * Generated by Makefile from include/openssl/x509_acert.h.in * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -22,6 +22,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -301,4 +305,8 @@ SKM_DEFINE_STACK_OF_INTERNAL(OSSL_ISSUER_SERIAL, OSSL_ISSUER_SERIAL, OSSL_ISSUER /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/openssl/CHANGES.md b/deps/openssl/openssl/CHANGES.md index 380840deb712..c1c29eb55f04 100644 --- a/deps/openssl/openssl/CHANGES.md +++ b/deps/openssl/openssl/CHANGES.md @@ -28,6 +28,303 @@ OpenSSL Releases OpenSSL 3.5 ----------- +### Changes between 3.5.6 and 3.5.7 [9 Jun 2026] + + * Fixed heap use-after-free in `PKCS7_verify()`. + + Severity: High + + Issue summary: A specially crafted PKCS#7 or S/MIME signed message could + trigger a use-after-free during PKCS#7 signature verification. + + Impact summary: A use-after-free may result in process crashes, heap + corruption, or, potentially, remote code execution. + + Reported by: Thai Duong (Calif.io in collaboration with Claude + and Anthropic Research). + + ([CVE-2026-45447]) + + *Igor Ustinov* + + * Fixed CMS `AuthEnvelopedData` processing may accept forged messages. + + Severity: Moderate + + Issue Summary: Cryptographic Message Services (CMS) processing fails + to perform sufficient input validation on the cipher and tag length fields + of `AuthEnvelopedData` containers, leading to various potential compromises. + + Impact Summary: Attackers making use of these vulnerabilities may achieve + key-equivalent functionality for a given CMS recipient and/or bypass + integrity validation for a given message. + + Reported by: Asim Viladi Oglu Manizada, Alex Gaynor (Anthropic), + Ying Dong, and Haiyang Huang. + + ([CVE-2026-34182]) + + *Neil Horman* + + * Fixed unbounded memory growth in the QUIC `PATH_CHALLENGE` handler. + + Severity: Moderate + + Issue summary: Remote peer may exhaust heap memory of the QUIC server + or client by flooding it with packets containing `PATH_CHALLENGE` frames. + + Impact summary: A malicious remote peer can cause an unbounded memory + allocation which can lead to an abnormal termination of the application + acting as a QUIC client or server and a Denial of Service. + + Reported by: Abhinav Agarwal. + + ([CVE-2026-34183]) + + *Abhinav Agarwal and Alexandr Nedvedicky* + + * Fixed NULL pointer dereference in QUIC server initial packet handling. + + Severity: Moderate + + Issue summary: Receiving a QUIC initial packet with an invalid token + may trigger a NULL pointer dereference in the OpenSSL QUIC server + with address validation disabled. + + Impact summary: NULL pointer dereference typically causes abnormal + termination of the affected QUIC server process and a Denial of Service. + + Reported by: Sunwoo Lee (KENTECH), Hyuk Lim (KENTECH), + and Seunghyun Yoon (KENTECH). + + ([CVE-2026-42764]) + + *Sunwoo Lee (KENTECH), Hyuk Lim (KENTECH), and Seunghyun Yoon (KENTECH)* + + * Fixed AES-OCB IV ignored on `EVP_Cipher()` path. + + Severity: Moderate + + Issue summary: When an application drives an AES-OCB context through + the public `EVP_Cipher()` one-shot interface, the application-supplied + initialisation vector (IV) is silently discarded. + + Impact summary: Every message encrypted under the same key uses the same + effective nonce regardless of the IV supplied by the caller, resulting + in `(key, nonce)` reuse and loss of confidentiality. If the same code path + is used to compute the authentication tag, the tag depends only + on the `(key, IV)` pair and not on the plaintext or ciphertext, allowing + universal forgery of arbitrary ciphertext from a single captured message. + + Reported by: Alex Gaynor (Anthropic). + + ([CVE-2026-45445]) + + *Viktor Dukhovni* + + * Fixed possible heap buffer overflow in ASN.1 multibyte string conversion. + + Severity: Low + + Issue summary: A signed integer overflow when sizing the destination + buffer for Unicode output in `ASN1_mbstring_ncopy()` can lead to a heap + buffer overflow. + + Impact summary: A heap buffer overflow may lead to a crash or possibly + attacker controlled code execution or other undefined behaviour. + + Reported by: Zehua Qiao and Jinwen He. + + ([CVE-2026-7383]) + + *Viktor Dukhovni* + + * Fixed out-of-bounds read in CMS password-based decryption. + + Severity: Low + + Issue summary: When CMS password-based decryption ([RFC 3211]/PWRI key + unwrap) processes attacker-supplied CMS data, an attacker-chosen stream-mode + KEK cipher can trigger a heap out-of-bounds read in `kek_unwrap_key()`. + + Impact summary: A heap buffer over-read may trigger a crash, which leads + to Denial of Service for an application if the input buffer ends at a memory + page boundary and the following page is unmapped. There is no information + disclosure, as the over-read bytes are not revealed to the attacker. + + Reported by: Bhabani Sankar Das and Haruki Oyama (Waseda University). + + ([CVE-2026-9076]) + + *Nikola Pajkovský* + + * Fixed heap buffer over-read in ASN.1 content parsing. + + Severity: Low + + Issue summary: Parsing a crafted DER-encoded ASN.1 structure with a primitive + element whose content exceeds 2 gigabytes in length may cause a heap buffer + over-read on 64-bit Unix and Unix-like platforms. + + Impact summary: The heap buffer over-read may crash the application (Denial + of Service) or to load into the decoded ASN.1 object contents of memory + beyond the end of the input buffer. More typically, such ASN.1 elements + would instead be truncated. + + Reported by: Frank Buss. + + ([CVE-2026-34180]) + + *Viktor Dukhovni* + + * Fixed PKCS#12 files with PBMAC1 are accepted with short HMAC keys. + + Severity: Low + + Issue Summary: The PKCS#12 file processing fails to perform sufficient input + validation for files that use Password-Based Message Authentication Code 1 + (PBMAC1) integrity mechanism allowing a certificate and private key forgery. + + Impact Summary: An attacker impersonating a user can cause a service reading + PKCS#12 files to accept forged certificates and private keys with a 1 in 256 + probability. + + Reported by: Pavol Žáčik (Red Hat) and Alex Gaynor (Anthropic). + + ([CVE-2026-34181]) + + *Alicja Kario (Red Hat)* + + * Fixed possible NULL dereference in password-dased CMS decryption. + + Severity: Low + + Issue summary: A specially crafted password-encrypted CMS message + could trigger a NULL pointer dereference during CMS decryption. + + Impact summary: This NULL pointer dereference could lead to an application + crash and a Denial of Service. + + Reported by: Mayank Jangid, Kushal Khemka, Hari Priandana, + Bhabani Sankar Das, and Qifan Zhang (Palo Alto Networks). + + ([CVE-2026-42766]) + + *Igor Ustinov* + + * Fixed NULL pointer dereference in CRMF `EncryptedValue` decryption. + + Severity: Low + + Issue summary: An attacker-controlled CMP (Certificate Management Protocol) + server could trigger a NULL pointer dereference in a CMP client application. + + Impact summary: A NULL pointer dereference could cause a crash + of the application and a Denial of Service. + + Reported by: Zhanpeng Liu (Tencent Xuanwu Lab), + Guannan Wang (Tencent Xuanwu Lab), and Guancheng Li (Tencent Xuanwu Lab). + + ([CVE-2026-42767]) + + *Igor Ustinov* + + * Fixed multi-`RecipientInfo` Bleichenbacher Oracle in `CMS_decrypt()` + and `PKCS7_decrypt()`. + + Severity: Low + + Issue summary: The `CMS_decrypt()` and `PKCS7_decrypt()` functions + are vulnerable to Bleichenbacher-style attack when an attacker is able + to provide CMS or S/MIME messages and observe the error code + and/or decryption output. + + Impact summary: The Bleichenbacher-style attack allows an attacker to use + the victim's vulnerable application as a way to decrypt or sign messages + with the victim's private RSA key. + + Reported by: Alex Gaynor (Anthropic). + + ([CVE-2026-42768]) + + *Dmitry Belyavskiy (Red Hat) and Alicja Kario (Red Hat)* + + * Fixed trust anchor substitution via `cert`/`issuer` typo in CMP + `rootCaKeyUpdate`. + + Severity: Low + + Issue Summary: An error in the callback used to verify the certificate + provided in a Root CA key update Certificate Management Protocol (CMP) + message response rendered the certificate validation ineffectual, + which could lead to escalation of credentials from the Registration + Authority (RA) level to the root Certification Authority (root CA) level. + + Impact Summary: The Registration Authority could replace the root CA + certificate for the CMP clients with an arbitrary root CA certificate. + + Reported by: Alex Gaynor (Anthropic). + + ([CVE-2026-42769]) + + *Alex Gaynor (Anthropic) and Bob Beck* + + * Fixed FFC-DH peer validation uses attacker-supplied `q`. + + Severity: Low + + Issue summary: When `EVP_PKEY_derive_set_peer()` is called with a DHX (X9.42) + peer key, the peer key is not properly checked for the subgroup membership. + + Impact summary: A malicious peer which presents an X9.42 key carrying + the victim's `p` and `g` parameters, a forged `q = r` (a small prime factor + of the cofactor `(p − 1)/q_local`), and a public value `Y` of order `r` can + recover the victim's private key after a small number of key exchange + attempts. + + Reported by: Alex Gaynor (Anthropic). + + ([CVE-2026-42770]) + + *Alex Gaynor (Anthropic), Viktor Dukhovni, and Norbert Pócs* + + * Fixed incorrect tag processing for empty messages in AES-GCM-SIV + and AES-SIV modes. + + Severity: Low + + Issue summary: The implementations of AES-SIV ([RFC 5297]) and AES-GCM-SIV + ([RFC 8452]) mishandle the authentication of AAD (Additional Authenticated + Data) with an empty ciphertext, allowing forgery of such messages. + + Impact summary: An attacker can forge empty messages with arbitrary AAD + to the victim's application using these ciphers. + + Reported by: Alex Gaynor (Anthropic). + + ([CVE-2026-45446]) + + *Dmitry Belyavskiy (Red Hat)* + + * Fixed TLS 1.3 server not sending `NewSessionTicket` message + after ciphersuite mismatch. + + + *Daniel Kubec* + + * Implemented validation of the minimal length of PSK identity + being of at least one byte long, as required per [RFC 8446]. + + + *Matt Caswell* + + * Fixed usage of stale application buffer pointer by kTLS implementation + after incomplete writes when `SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER` is set, + that led to invalid memory reads and sending of incorrect data. + + + *Ilya Maximets* + ### Changes between 3.5.5 and 3.5.6 [7 Apr 2026] * Fixed incorrect failure handling in RSA KEM RSASVE encapsulation. @@ -21961,6 +22258,8 @@ ndif [CVE-2025-69420]: https://openssl-library.org/news/vulnerabilities/#CVE-2025-69420 [CVE-2025-69421]: https://openssl-library.org/news/vulnerabilities/#CVE-2025-69421 [CVE-2026-2673]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-2673 +[CVE-2026-7383]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-7383 +[CVE-2026-9076]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-9076 [CVE-2026-22795]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-22795 [CVE-2026-22796]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-22796 [CVE-2026-28387]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-28387 @@ -21969,5 +22268,22 @@ ndif [CVE-2026-28390]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-28390 [CVE-2026-31789]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-31789 [CVE-2026-31790]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-31790 +[CVE-2026-34180]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-34180 +[CVE-2026-34181]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-34181 +[CVE-2026-34182]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-34182 +[CVE-2026-34183]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-34183 +[CVE-2026-42764]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42764 +[CVE-2026-42766]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42766 +[CVE-2026-42767]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42767 +[CVE-2026-42768]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42768 +[CVE-2026-42769]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42769 +[CVE-2026-42770]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42770 +[CVE-2026-45445]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-45445 +[CVE-2026-45446]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-45446 +[CVE-2026-45447]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-45447 [ESV]: https://csrc.nist.gov/Projects/cryptographic-module-validation-program/entropy-validations [RFC 2578 (STD 58), section 3.5]: https://datatracker.ietf.org/doc/html/rfc2578#section-3.5 +[RFC 3211]: https://datatracker.ietf.org/doc/html/rfc3211 +[RFC 5297]: https://datatracker.ietf.org/doc/html/rfc5297 +[RFC 8446]: https://datatracker.ietf.org/doc/html/rfc8446 +[RFC 8452]: https://datatracker.ietf.org/doc/html/rfc8452 diff --git a/deps/openssl/openssl/Configurations/README.md b/deps/openssl/openssl/Configurations/README.md index 83bcc960626b..b07e75829645 100644 --- a/deps/openssl/openssl/Configurations/README.md +++ b/deps/openssl/openssl/Configurations/README.md @@ -502,7 +502,7 @@ The build-file template is processed with the perl module Text::Template, using `{-` and `-}` as delimiters that enclose the perl code fragments that generate configuration-dependent content. Those perl fragments have access to all the hash variables from -configdata.pem. +configdata.pm. The build-file template is expected to define at least the following perl functions in a perl code fragment enclosed with `{-` and `-}`. diff --git a/deps/openssl/openssl/Configure b/deps/openssl/openssl/Configure index 499585438a16..1b020faadb01 100755 --- a/deps/openssl/openssl/Configure +++ b/deps/openssl/openssl/Configure @@ -1,6 +1,6 @@ #! /usr/bin/env perl # -*- mode: perl; -*- -# Copyright 2016-2025 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2026 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the Apache License 2.0 (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -221,16 +221,9 @@ our $BSDthreads="-pthread -D_THREAD_SAFE -D_REENTRANT"; # # API compatibility name to version number mapping. # -my $apitable = { - # This table expresses when API additions or changes can occur. - # The numbering used changes from 3.0 and on because we updated - # (solidified) our version numbering scheme at that point. - - # From 3.0 and on, we internalise the given version number in decimal - # as MAJOR * 10000 + MINOR * 100 + 0 - "3.0.0" => 30000, - "3.0" => 30000, +# This table expresses when API additions or changes can occur +my $apitable = { # Note that before 3.0, we didn't have the same version number scheme. # Still, the numbering we use here covers what we need. "1.1.1" => 10101, @@ -241,6 +234,18 @@ my $apitable = { "0.9.8" => 908, }; +# From 3.0 and on, we internalise the given version number in decimal +# as MAJOR * 10000 + MINOR * 100 + 0 +my @post30_versions = ([3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5], + ); + +# The numbering used changes from 3.0 and on because we updated +# (solidified) our version numbering scheme at that point. +foreach (@post30_versions) { + my ($x, $y) = @{$_}; + $apitable->{"$x.$y.0"} = $apitable->{"$x.$y"} = $x * 10000 + $y * 100; +} + # For OpenSSL::config::get_platform my %guess_opts = (); diff --git a/deps/openssl/openssl/NEWS.md b/deps/openssl/openssl/NEWS.md index 07f78ae2af17..04d0bd72c7f5 100644 --- a/deps/openssl/openssl/NEWS.md +++ b/deps/openssl/openssl/NEWS.md @@ -23,10 +23,65 @@ OpenSSL Releases OpenSSL 3.5 ----------- +### Major changes between OpenSSL 3.5.6 and OpenSSL 3.5.7 [9 Jun 2026] + +OpenSSL 3.5.7 is a security patch release. The most severe CVE fixed +in this release is High. + +This release incorporates the following bug fixes and mitigations: + + * Fixed heap use-after-free in `PKCS7_verify()`. + ([CVE-2026-45447]) + + * Fixed CMS `AuthEnvelopedData` processing may accept forged messages. + ([CVE-2026-34182]) + + * Fixed unbounded memory growth in the QUIC `PATH_CHALLENGE` handler. + ([CVE-2026-34183]) + + * Fixed NULL pointer dereference in QUIC server initial packet handling. + ([CVE-2026-42764]) + + * Fixed AES-OCB IV ignored on `EVP_Cipher()` path. + ([CVE-2026-45445]) + + * Fixed possible heap buffer overflow in ASN.1 multibyte string conversion. + ([CVE-2026-7383]) + + * Fixed out-of-bounds read in CMS password-based decryption. + ([CVE-2026-9076]) + + * Fixed heap buffer over-read in ASN.1 content parsing. + ([CVE-2026-34180]) + + * Fixed PKCS#12 files with PBMAC1 are accepted with short HMAC keys. + ([CVE-2026-34181]) + + * Fixed possible NULL dereference in password-dased CMS decryption. + ([CVE-2026-42766]) + + * Fixed NULL pointer dereference in CRMF `EncryptedValue` decryption. + ([CVE-2026-42767]) + + * Fixed multi-`RecipientInfo` Bleichenbacher Oracle in `CMS_decrypt()` + and `PKCS7_decrypt()`. + ([CVE-2026-42768]) + + * Fixed trust anchor substitution via `cert`/`issuer` typo in CMP + `rootCaKeyUpdate`. + ([CVE-2026-42769]) + + * Fixed FFC-DH peer validation uses attacker-supplied `q`. + ([CVE-2026-42770]) + + * Fixed incorrect tag processing for empty messages in AES-GCM-SIV + and AES-SIV modes. + ([CVE-2026-45446]) + ### Major changes between OpenSSL 3.5.5 and OpenSSL 3.5.6 [7 Apr 2026] OpenSSL 3.5.6 is a security patch release. The most severe CVE fixed in this -release is Medium. +release is Moderate. This release incorporates the following bug fixes and mitigations: @@ -2210,6 +2265,8 @@ OpenSSL 0.9.x [CVE-2025-69420]: https://openssl-library.org/news/vulnerabilities/#CVE-2025-69420 [CVE-2025-69421]: https://openssl-library.org/news/vulnerabilities/#CVE-2025-69421 [CVE-2026-2673]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-2673 +[CVE-2026-7383]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-7383 +[CVE-2026-9076]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-9076 [CVE-2026-22795]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-22795 [CVE-2026-22796]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-22796 [CVE-2026-28387]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-28387 @@ -2218,6 +2275,19 @@ OpenSSL 0.9.x [CVE-2026-28390]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-28390 [CVE-2026-31789]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-31789 [CVE-2026-31790]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-31790 +[CVE-2026-34180]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-34180 +[CVE-2026-34181]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-34181 +[CVE-2026-34182]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-34182 +[CVE-2026-34183]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-34183 +[CVE-2026-42764]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42764 +[CVE-2026-42766]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42766 +[CVE-2026-42767]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42767 +[CVE-2026-42768]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42768 +[CVE-2026-42769]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42769 +[CVE-2026-42770]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42770 +[CVE-2026-45445]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-45445 +[CVE-2026-45446]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-45446 +[CVE-2026-45447]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-45447 [ESV]: https://csrc.nist.gov/Projects/cryptographic-module-validation-program/entropy-validations [OpenSSL Guide]: https://www.openssl.org/docs/manmaster/man7/ossl-guide-introduction.html [README-QUIC.md]: ./README-QUIC.md diff --git a/deps/openssl/openssl/VERSION.dat b/deps/openssl/openssl/VERSION.dat index d3c75677c466..a297eee91e17 100644 --- a/deps/openssl/openssl/VERSION.dat +++ b/deps/openssl/openssl/VERSION.dat @@ -1,7 +1,7 @@ MAJOR=3 MINOR=5 -PATCH=6 +PATCH=7 PRE_RELEASE_TAG= BUILD_METADATA= -RELEASE_DATE="7 Apr 2026" +RELEASE_DATE="9 Jun 2026" SHLIB_VERSION=3 diff --git a/deps/openssl/openssl/apps/enc.c b/deps/openssl/openssl/apps/enc.c index 2dd839358231..1b186cd245cd 100644 --- a/deps/openssl/openssl/apps/enc.c +++ b/deps/openssl/openssl/apps/enc.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -716,7 +716,7 @@ int enc_main(int argc, char **argv) skey = EVP_SKEY_import(app_get0_libctx(), EVP_SKEYMGMT_get0_name(mgmt), app_get0_propq(), OSSL_SKEYMGMT_SELECT_ALL, params); - OSSL_PARAM_free(params); + app_params_free(params); if (skey == NULL) { BIO_printf(bio_err, "Error creating opaque key object for skeymgmt %s\n", skeymgmt ? skeymgmt : EVP_CIPHER_name(cipher)); diff --git a/deps/openssl/openssl/apps/lib/apps.c b/deps/openssl/openssl/apps/lib/apps.c index bc2e1c123a75..e5a2b162b4ef 100644 --- a/deps/openssl/openssl/apps/lib/apps.c +++ b/deps/openssl/openssl/apps/lib/apps.c @@ -1057,9 +1057,12 @@ int load_key_certs_crls(const char *uri, int format, int maybe_stdin, if (ok) pcert = NULL; } else if (pcerts != NULL) { - ok = X509_add_cert(*pcerts, - OSSL_STORE_INFO_get1_CERT(info), - X509_ADD_FLAG_DEFAULT); + X509 *cert = OSSL_STORE_INFO_get1_CERT(info); + + ok = cert != NULL + && X509_add_cert(*pcerts, cert, X509_ADD_FLAG_DEFAULT); + if (!ok) + X509_free(cert); } ncerts += ok; break; @@ -1069,7 +1072,11 @@ int load_key_certs_crls(const char *uri, int format, int maybe_stdin, if (ok) pcrl = NULL; } else if (pcrls != NULL) { - ok = sk_X509_CRL_push(*pcrls, OSSL_STORE_INFO_get1_CRL(info)); + X509_CRL *crl = OSSL_STORE_INFO_get1_CRL(info); + + ok = crl != NULL && sk_X509_CRL_push(*pcrls, crl); + if (!ok) + X509_CRL_free(crl); } ncrls += ok; break; diff --git a/deps/openssl/openssl/apps/lib/cmp_mock_srv.c b/deps/openssl/openssl/apps/lib/cmp_mock_srv.c index cf21e8277887..09b69ff4cf59 100644 --- a/deps/openssl/openssl/apps/lib/cmp_mock_srv.c +++ b/deps/openssl/openssl/apps/lib/cmp_mock_srv.c @@ -345,6 +345,7 @@ static OSSL_CMP_PKISI *process_cert_request(OSSL_CMP_SRV_CTX *srv_ctx, STACK_OF(ASN1_UTF8STRING) *strs; ASN1_UTF8STRING *str; const char *data; + int len; if (OBJ_obj2nid(obj) == NID_id_it_certProfile) { if (!OSSL_CMP_ITAV_get0_certProfile(itav, &strs)) @@ -359,7 +360,8 @@ static OSSL_CMP_PKISI *process_cert_request(OSSL_CMP_SRV_CTX *srv_ctx, ERR_raise(ERR_LIB_CMP, ERR_R_PASSED_INVALID_ARGUMENT); return NULL; } - if (strcmp(data, "profile1") != 0) { + if (((len = ASN1_STRING_length(str)) != (int)sizeof("profile1") - 1) + || memcmp(data, "profile1", len) != 0) { ERR_raise(ERR_LIB_CMP, CMP_R_UNEXPECTED_CERTPROFILE); return NULL; } diff --git a/deps/openssl/openssl/apps/list.c b/deps/openssl/openssl/apps/list.c index 757400b36215..faf92306052c 100644 --- a/deps/openssl/openssl/apps/list.c +++ b/deps/openssl/openssl/apps/list.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -1490,6 +1490,9 @@ static void list_disabled(void) #ifdef OPENSSL_NO_DSA BIO_puts(bio_out, "DSA\n"); #endif +#ifdef OPENSSL_NO_SIPHASH + BIO_puts(bio_out, "SIPHASH\n"); +#endif #if defined(OPENSSL_NO_DTLS) BIO_puts(bio_out, "DTLS\n"); #endif diff --git a/deps/openssl/openssl/apps/s_client.c b/deps/openssl/openssl/apps/s_client.c index d356359a97ef..9b88d6dfbc86 100644 --- a/deps/openssl/openssl/apps/s_client.c +++ b/deps/openssl/openssl/apps/s_client.c @@ -2549,7 +2549,7 @@ int s_client_main(int argc, char **argv) "xmlns='jabber:%s' to='%s' version='1.0'>", starttls_proto == PROTO_XMPP ? "client" : "server", protohost ? protohost : host); - seen = BIO_read(sbio, mbuf, BUFSIZZ); + seen = BIO_read(sbio, mbuf, BUFSIZZ - 1); if (seen < 0) { BIO_printf(bio_err, "BIO_read failed\n"); goto end; @@ -2558,7 +2558,7 @@ int s_client_main(int argc, char **argv) while (!strstr(mbuf, ""); - seen = BIO_read(sbio, sbuf, BUFSIZZ); + seen = BIO_read(sbio, sbuf, BUFSIZZ - 1); if (seen < 0) { BIO_printf(bio_err, "BIO_read failed\n"); goto shut; @@ -2793,7 +2793,7 @@ int s_client_main(int argc, char **argv) "Didn't find STARTTLS in server response," " trying anyway...\n"); BIO_printf(sbio, "STARTTLS\r\n"); - mbuf_len = BIO_read(sbio, mbuf, BUFSIZZ); + mbuf_len = BIO_read(sbio, mbuf, BUFSIZZ - 1); if (mbuf_len < 0) { BIO_printf(bio_err, "BIO_read failed\n"); goto end; @@ -2834,7 +2834,7 @@ int s_client_main(int argc, char **argv) "Didn't find STARTTLS in server response," " trying anyway...\n"); BIO_printf(sbio, "STARTTLS\r\n"); - mbuf_len = BIO_read(sbio, mbuf, BUFSIZZ); + mbuf_len = BIO_read(sbio, mbuf, BUFSIZZ - 1); if (mbuf_len < 0) { BIO_printf(bio_err, "BIO_read failed\n"); goto end; @@ -3307,7 +3307,7 @@ int s_client_main(int argc, char **argv) if (crlf) { int j, lf_num; - i = raw_read_stdin(cbuf, BUFSIZZ / 2); + i = raw_read_stdin(cbuf, (BUFSIZZ - 1) / 2); lf_num = 0; /* both loops are skipped when i <= 0 */ for (j = 0; j < i; j++) @@ -3323,7 +3323,7 @@ int s_client_main(int argc, char **argv) } assert(lf_num == 0); } else - i = raw_read_stdin(cbuf, BUFSIZZ); + i = raw_read_stdin(cbuf, BUFSIZZ - 1); #if !defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_MSDOS) if (i == 0) at_eof = 1; diff --git a/deps/openssl/openssl/apps/skeyutl.c b/deps/openssl/openssl/apps/skeyutl.c index 2404a8e8aa28..8f81ea15fc14 100644 --- a/deps/openssl/openssl/apps/skeyutl.c +++ b/deps/openssl/openssl/apps/skeyutl.c @@ -1,5 +1,5 @@ /* - * Copyright 2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2025-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -106,7 +106,7 @@ int skeyutl_main(int argc, char **argv) skey = EVP_SKEY_generate(app_get0_libctx(), skeymgmt ? skeymgmt : EVP_CIPHER_name(cipher), app_get0_propq(), params); - OSSL_PARAM_free(params); + app_params_free(params); if (skey == NULL) { BIO_printf(bio_err, "Error creating opaque key for skeymgmt %s\n", skeymgmt ? skeymgmt : EVP_CIPHER_name(cipher)); diff --git a/deps/openssl/openssl/apps/speed.c b/deps/openssl/openssl/apps/speed.c index a8d7cb14f579..6cf9748902c2 100644 --- a/deps/openssl/openssl/apps/speed.c +++ b/deps/openssl/openssl/apps/speed.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -3138,8 +3138,9 @@ int speed_main(int argc, char **argv) exit(1); } - if (!EVP_CIPHER_CTX_ctrl(loopargs[k].ctx, EVP_CTRL_AEAD_GET_TAG, - TAG_LEN, &loopargs[k].tag)) { + if (EVP_CIPHER_CTX_ctrl(loopargs[k].ctx, EVP_CTRL_AEAD_GET_TAG, + TAG_LEN, &loopargs[k].tag) + <= 0) { BIO_printf(bio_err, "\nFailed to get the tag\n"); dofail(); exit(1); diff --git a/deps/openssl/openssl/apps/testdsa.h b/deps/openssl/openssl/apps/testdsa.h index e8d04bb31e8a..31f8e74a9cfb 100644 --- a/deps/openssl/openssl/apps/testdsa.h +++ b/deps/openssl/openssl/apps/testdsa.h @@ -1,5 +1,5 @@ /* - * Copyright 1998-2021 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1998-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -13,274 +13,48 @@ EVP_PKEY *get_dsa(int); static unsigned char dsa512_priv[] = { - 0x65, - 0xe5, - 0xc7, - 0x38, - 0x60, - 0x24, - 0xb5, - 0x89, - 0xd4, - 0x9c, - 0xeb, - 0x4c, - 0x9c, - 0x1d, - 0x7a, - 0x22, - 0xbd, - 0xd1, - 0xc2, - 0xd2, + 0x65, 0xe5, 0xc7, 0x38, 0x60, 0x24, 0xb5, 0x89, 0xd4, 0x9c, + 0xeb, 0x4c, 0x9c, 0x1d, 0x7a, 0x22, 0xbd, 0xd1, 0xc2, 0xd2 }; static unsigned char dsa512_pub[] = { - 0x00, - 0x95, - 0xa7, - 0x0d, - 0xec, - 0x93, - 0x68, - 0xba, - 0x5f, - 0xf7, - 0x5f, - 0x07, - 0xf2, - 0x3b, - 0xad, - 0x6b, - 0x01, - 0xdc, - 0xbe, - 0xec, - 0xde, - 0x04, - 0x7a, - 0x3a, - 0x27, - 0xb3, - 0xec, - 0x49, - 0xfd, - 0x08, - 0x43, - 0x3d, - 0x7e, - 0xa8, - 0x2c, - 0x5e, - 0x7b, - 0xbb, - 0xfc, - 0xf4, - 0x6e, - 0xeb, - 0x6c, - 0xb0, - 0x6e, - 0xf8, - 0x02, - 0x12, - 0x8c, - 0x38, - 0x5d, - 0x83, - 0x56, - 0x7d, - 0xee, - 0x53, - 0x05, - 0x3e, - 0x24, - 0x84, - 0xbe, - 0xba, - 0x0a, - 0x6b, - 0xc8, + 0x00, 0x95, 0xa7, 0x0d, 0xec, 0x93, 0x68, 0xba, 0x5f, 0xf7, + 0x5f, 0x07, 0xf2, 0x3b, 0xad, 0x6b, 0x01, 0xdc, 0xbe, 0xec, + 0xde, 0x04, 0x7a, 0x3a, 0x27, 0xb3, 0xec, 0x49, 0xfd, 0x08, + 0x43, 0x3d, 0x7e, 0xa8, 0x2c, 0x5e, 0x7b, 0xbb, 0xfc, 0xf4, + 0x6e, 0xeb, 0x6c, 0xb0, 0x6e, 0xf8, 0x02, 0x12, 0x8c, 0x38, + 0x5d, 0x83, 0x56, 0x7d, 0xee, 0x53, 0x05, 0x3e, 0x24, 0x84, + 0xbe, 0xba, 0x0a, 0x6b, 0xc8 }; static unsigned char dsa512_p[] = { - 0x9D, - 0x1B, - 0x69, - 0x8E, - 0x26, - 0xDB, - 0xF2, - 0x2B, - 0x11, - 0x70, - 0x19, - 0x86, - 0xF6, - 0x19, - 0xC8, - 0xF8, - 0x19, - 0xF2, - 0x18, - 0x53, - 0x94, - 0x46, - 0x06, - 0xD0, - 0x62, - 0x50, - 0x33, - 0x4B, - 0x02, - 0x3C, - 0x52, - 0x30, - 0x03, - 0x8B, - 0x3B, - 0xF9, - 0x5F, - 0xD1, - 0x24, - 0x06, - 0x4F, - 0x7B, - 0x4C, - 0xBA, - 0xAA, - 0x40, - 0x9B, - 0xFD, - 0x96, - 0xE4, - 0x37, - 0x33, - 0xBB, - 0x2D, - 0x5A, - 0xD7, - 0x5A, - 0x11, - 0x40, - 0x66, - 0xA2, - 0x76, - 0x7D, - 0x31, + 0x9D, 0x1B, 0x69, 0x8E, 0x26, 0xDB, 0xF2, 0x2B, 0x11, 0x70, + 0x19, 0x86, 0xF6, 0x19, 0xC8, 0xF8, 0x19, 0xF2, 0x18, 0x53, + 0x94, 0x46, 0x06, 0xD0, 0x62, 0x50, 0x33, 0x4B, 0x02, 0x3C, + 0x52, 0x30, 0x03, 0x8B, 0x3B, 0xF9, 0x5F, 0xD1, 0x24, 0x06, + 0x4F, 0x7B, 0x4C, 0xBA, 0xAA, 0x40, 0x9B, 0xFD, 0x96, 0xE4, + 0x37, 0x33, 0xBB, 0x2D, 0x5A, 0xD7, 0x5A, 0x11, 0x40, 0x66, + 0xA2, 0x76, 0x7D, 0x31 }; static unsigned char dsa512_q[] = { - 0xFB, - 0x53, - 0xEF, - 0x50, - 0xB4, - 0x40, - 0x92, - 0x31, - 0x56, - 0x86, - 0x53, - 0x7A, - 0xE8, - 0x8B, - 0x22, - 0x9A, - 0x49, - 0xFB, - 0x71, - 0x8F, + 0xFB, 0x53, 0xEF, 0x50, 0xB4, 0x40, 0x92, 0x31, 0x56, 0x86, + 0x53, 0x7A, 0xE8, 0x8B, 0x22, 0x9A, 0x49, 0xFB, 0x71, 0x8F }; static unsigned char dsa512_g[] = { - 0x83, - 0x3E, - 0x88, - 0xE5, - 0xC5, - 0x89, - 0x73, - 0xCE, - 0x3B, - 0x6C, - 0x01, - 0x49, - 0xBF, - 0xB3, - 0xC7, - 0x9F, - 0x0A, - 0xEA, - 0x44, - 0x91, - 0xE5, - 0x30, - 0xAA, - 0xD9, - 0xBE, - 0x5B, - 0x5F, - 0xB7, - 0x10, - 0xD7, - 0x89, - 0xB7, - 0x8E, - 0x74, - 0xFB, - 0xCF, - 0x29, - 0x1E, - 0xEB, - 0xA8, - 0x2C, - 0x54, - 0x51, - 0xB8, - 0x10, - 0xDE, - 0xA0, - 0xCE, - 0x2F, - 0xCC, - 0x24, - 0x6B, - 0x90, - 0x77, - 0xDE, - 0xA2, - 0x68, - 0xA6, - 0x52, - 0x12, - 0xA2, - 0x03, - 0x9D, - 0x20, + 0x83, 0x3E, 0x88, 0xE5, 0xC5, 0x89, 0x73, 0xCE, 0x3B, 0x6C, + 0x01, 0x49, 0xBF, 0xB3, 0xC7, 0x9F, 0x0A, 0xEA, 0x44, 0x91, + 0xE5, 0x30, 0xAA, 0xD9, 0xBE, 0x5B, 0x5F, 0xB7, 0x10, 0xD7, + 0x89, 0xB7, 0x8E, 0x74, 0xFB, 0xCF, 0x29, 0x1E, 0xEB, 0xA8, + 0x2C, 0x54, 0x51, 0xB8, 0x10, 0xDE, 0xA0, 0xCE, 0x2F, 0xCC, + 0x24, 0x6B, 0x90, 0x77, 0xDE, 0xA2, 0x68, 0xA6, 0x52, 0x12, + 0xA2, 0x03, 0x9D, 0x20 }; static unsigned char dsa1024_priv[] = { - 0x7d, - 0x21, - 0xda, - 0xbb, - 0x62, - 0x15, - 0x47, - 0x36, - 0x07, - 0x67, - 0x12, - 0xe8, - 0x8c, - 0xaa, - 0x1c, - 0xcd, - 0x38, - 0x12, - 0x61, - 0x18, + 0x7d, 0x21, 0xda, 0xbb, 0x62, 0x15, 0x47, 0x36, 0x07, 0x67, + 0x12, 0xe8, 0x8c, 0xaa, 0x1c, 0xcd, 0x38, 0x12, 0x61, 0x18 }; static unsigned char dsa1024_pub[] = { @@ -298,1111 +72,137 @@ static unsigned char dsa1024_pub[] = { }; static unsigned char dsa1024_p[] = { - 0xA7, - 0x3F, - 0x6E, - 0x85, - 0xBF, - 0x41, - 0x6A, - 0x29, - 0x7D, - 0xF0, - 0x9F, - 0x47, - 0x19, - 0x30, - 0x90, - 0x9A, - 0x09, - 0x1D, - 0xDA, - 0x6A, - 0x33, - 0x1E, - 0xC5, - 0x3D, - 0x86, - 0x96, - 0xB3, - 0x15, - 0xE0, - 0x53, - 0x2E, - 0x8F, - 0xE0, - 0x59, - 0x82, - 0x73, - 0x90, - 0x3E, - 0x75, - 0x31, - 0x99, - 0x47, - 0x7A, - 0x52, - 0xFB, - 0x85, - 0xE4, - 0xD9, - 0xA6, - 0x7B, - 0x38, - 0x9B, - 0x68, - 0x8A, - 0x84, - 0x9B, - 0x87, - 0xC6, - 0x1E, - 0xB5, - 0x7E, - 0x86, - 0x4B, - 0x53, - 0x5B, - 0x59, - 0xCF, - 0x71, - 0x65, - 0x19, - 0x88, - 0x6E, - 0xCE, - 0x66, - 0xAE, - 0x6B, - 0x88, - 0x36, - 0xFB, - 0xEC, - 0x28, - 0xDC, - 0xC2, - 0xD7, - 0xA5, - 0xBB, - 0xE5, - 0x2C, - 0x39, - 0x26, - 0x4B, - 0xDA, - 0x9A, - 0x70, - 0x18, - 0x95, - 0x37, - 0x95, - 0x10, - 0x56, - 0x23, - 0xF6, - 0x15, - 0xED, - 0xBA, - 0x04, - 0x5E, - 0xDE, - 0x39, - 0x4F, - 0xFD, - 0xB7, - 0x43, - 0x1F, - 0xB5, - 0xA4, - 0x65, - 0x6F, - 0xCD, - 0x80, - 0x11, - 0xE4, - 0x70, - 0x95, - 0x5B, - 0x50, - 0xCD, - 0x49, + 0xA7, 0x3F, 0x6E, 0x85, 0xBF, 0x41, 0x6A, 0x29, 0x7D, 0xF0, + 0x9F, 0x47, 0x19, 0x30, 0x90, 0x9A, 0x09, 0x1D, 0xDA, 0x6A, + 0x33, 0x1E, 0xC5, 0x3D, 0x86, 0x96, 0xB3, 0x15, 0xE0, 0x53, + 0x2E, 0x8F, 0xE0, 0x59, 0x82, 0x73, 0x90, 0x3E, 0x75, 0x31, + 0x99, 0x47, 0x7A, 0x52, 0xFB, 0x85, 0xE4, 0xD9, 0xA6, 0x7B, + 0x38, 0x9B, 0x68, 0x8A, 0x84, 0x9B, 0x87, 0xC6, 0x1E, 0xB5, + 0x7E, 0x86, 0x4B, 0x53, 0x5B, 0x59, 0xCF, 0x71, 0x65, 0x19, + 0x88, 0x6E, 0xCE, 0x66, 0xAE, 0x6B, 0x88, 0x36, 0xFB, 0xEC, + 0x28, 0xDC, 0xC2, 0xD7, 0xA5, 0xBB, 0xE5, 0x2C, 0x39, 0x26, + 0x4B, 0xDA, 0x9A, 0x70, 0x18, 0x95, 0x37, 0x95, 0x10, 0x56, + 0x23, 0xF6, 0x15, 0xED, 0xBA, 0x04, 0x5E, 0xDE, 0x39, 0x4F, + 0xFD, 0xB7, 0x43, 0x1F, 0xB5, 0xA4, 0x65, 0x6F, 0xCD, 0x80, + 0x11, 0xE4, 0x70, 0x95, 0x5B, 0x50, 0xCD, 0x49 }; static unsigned char dsa1024_q[] = { - 0xF7, - 0x07, - 0x31, - 0xED, - 0xFA, - 0x6C, - 0x06, - 0x03, - 0xD5, - 0x85, - 0x8A, - 0x1C, - 0xAC, - 0x9C, - 0x65, - 0xE7, - 0x50, - 0x66, - 0x65, - 0x6F, + 0xF7, 0x07, 0x31, 0xED, 0xFA, 0x6C, 0x06, 0x03, 0xD5, 0x85, + 0x8A, 0x1C, 0xAC, 0x9C, 0x65, 0xE7, 0x50, 0x66, 0x65, 0x6F }; static unsigned char dsa1024_g[] = { - 0x4D, - 0xDF, - 0x4C, - 0x03, - 0xA6, - 0x91, - 0x8A, - 0xF5, - 0x19, - 0x6F, - 0x50, - 0x46, - 0x25, - 0x99, - 0xE5, - 0x68, - 0x6F, - 0x30, - 0xE3, - 0x69, - 0xE1, - 0xE5, - 0xB3, - 0x5D, - 0x98, - 0xBB, - 0x28, - 0x86, - 0x48, - 0xFC, - 0xDE, - 0x99, - 0x04, - 0x3F, - 0x5F, - 0x88, - 0x0C, - 0x9C, - 0x73, - 0x24, - 0x0D, - 0x20, - 0x5D, - 0xB9, - 0x2A, - 0x9A, - 0x3F, - 0x18, - 0x96, - 0x27, - 0xE4, - 0x62, - 0x87, - 0xC1, - 0x7B, - 0x74, - 0x62, - 0x53, - 0xFC, - 0x61, - 0x27, - 0xA8, - 0x7A, - 0x91, - 0x09, - 0x9D, - 0xB6, - 0xF1, - 0x4D, - 0x9C, - 0x54, - 0x0F, - 0x58, - 0x06, - 0xEE, - 0x49, - 0x74, - 0x07, - 0xCE, - 0x55, - 0x7E, - 0x23, - 0xCE, - 0x16, - 0xF6, - 0xCA, - 0xDC, - 0x5A, - 0x61, - 0x01, - 0x7E, - 0xC9, - 0x71, - 0xB5, - 0x4D, - 0xF6, - 0xDC, - 0x34, - 0x29, - 0x87, - 0x68, - 0xF6, - 0x5E, - 0x20, - 0x93, - 0xB3, - 0xDB, - 0xF5, - 0xE4, - 0x09, - 0x6C, - 0x41, - 0x17, - 0x95, - 0x92, - 0xEB, - 0x01, - 0xB5, - 0x73, - 0xA5, - 0x6A, - 0x7E, - 0xD8, - 0x32, - 0xED, - 0x0E, - 0x02, - 0xB8, + 0x4D, 0xDF, 0x4C, 0x03, 0xA6, 0x91, 0x8A, 0xF5, 0x19, 0x6F, + 0x50, 0x46, 0x25, 0x99, 0xE5, 0x68, 0x6F, 0x30, 0xE3, 0x69, + 0xE1, 0xE5, 0xB3, 0x5D, 0x98, 0xBB, 0x28, 0x86, 0x48, 0xFC, + 0xDE, 0x99, 0x04, 0x3F, 0x5F, 0x88, 0x0C, 0x9C, 0x73, 0x24, + 0x0D, 0x20, 0x5D, 0xB9, 0x2A, 0x9A, 0x3F, 0x18, 0x96, 0x27, + 0xE4, 0x62, 0x87, 0xC1, 0x7B, 0x74, 0x62, 0x53, 0xFC, 0x61, + 0x27, 0xA8, 0x7A, 0x91, 0x09, 0x9D, 0xB6, 0xF1, 0x4D, 0x9C, + 0x54, 0x0F, 0x58, 0x06, 0xEE, 0x49, 0x74, 0x07, 0xCE, 0x55, + 0x7E, 0x23, 0xCE, 0x16, 0xF6, 0xCA, 0xDC, 0x5A, 0x61, 0x01, + 0x7E, 0xC9, 0x71, 0xB5, 0x4D, 0xF6, 0xDC, 0x34, 0x29, 0x87, + 0x68, 0xF6, 0x5E, 0x20, 0x93, 0xB3, 0xDB, 0xF5, 0xE4, 0x09, + 0x6C, 0x41, 0x17, 0x95, 0x92, 0xEB, 0x01, 0xB5, 0x73, 0xA5, + 0x6A, 0x7E, 0xD8, 0x32, 0xED, 0x0E, 0x02, 0xB8 }; static unsigned char dsa2048_priv[] = { - 0x32, - 0x67, - 0x92, - 0xf6, - 0xc4, - 0xe2, - 0xe2, - 0xe8, - 0xa0, - 0x8b, - 0x6b, - 0x45, - 0x0c, - 0x8a, - 0x76, - 0xb0, - 0xee, - 0xcf, - 0x91, - 0xa7, + 0x32, 0x67, 0x92, 0xf6, 0xc4, 0xe2, 0xe2, 0xe8, 0xa0, 0x8b, + 0x6b, 0x45, 0x0c, 0x8a, 0x76, 0xb0, 0xee, 0xcf, 0x91, 0xa7 }; static unsigned char dsa2048_pub[] = { - 0x17, - 0x8f, - 0xa8, - 0x11, - 0x84, - 0x92, - 0xec, - 0x83, - 0x47, - 0xc7, - 0x6a, - 0xb0, - 0x92, - 0xaf, - 0x5a, - 0x20, - 0x37, - 0xa3, - 0x64, - 0x79, - 0xd2, - 0xd0, - 0x3d, - 0xcd, - 0xe0, - 0x61, - 0x88, - 0x88, - 0x21, - 0xcc, - 0x74, - 0x5d, - 0xce, - 0x4c, - 0x51, - 0x47, - 0xf0, - 0xc5, - 0x5c, - 0x4c, - 0x82, - 0x7a, - 0xaf, - 0x72, - 0xad, - 0xb9, - 0xe0, - 0x53, - 0xf2, - 0x78, - 0xb7, - 0xf0, - 0xb5, - 0x48, - 0x7f, - 0x8a, - 0x3a, - 0x18, - 0xd1, - 0x9f, - 0x8b, - 0x7d, - 0xa5, - 0x47, - 0xb7, - 0x95, - 0xab, - 0x98, - 0xf8, - 0x7b, - 0x74, - 0x50, - 0x56, - 0x8e, - 0x57, - 0xf0, - 0xee, - 0xf5, - 0xb7, - 0xba, - 0xab, - 0x85, - 0x86, - 0xf9, - 0x2b, - 0xef, - 0x41, - 0x56, - 0xa0, - 0xa4, - 0x9f, - 0xb7, - 0x38, - 0x00, - 0x46, - 0x0a, - 0xa6, - 0xf1, - 0xfc, - 0x1f, - 0xd8, - 0x4e, - 0x85, - 0x44, - 0x92, - 0x43, - 0x21, - 0x5d, - 0x6e, - 0xcc, - 0xc2, - 0xcb, - 0x26, - 0x31, - 0x0d, - 0x21, - 0xc4, - 0xbd, - 0x8d, - 0x24, - 0xbc, - 0xd9, - 0x18, - 0x19, - 0xd7, - 0xdc, - 0xf1, - 0xe7, - 0x93, - 0x50, - 0x48, - 0x03, - 0x2c, - 0xae, - 0x2e, - 0xe7, - 0x49, - 0x88, - 0x5f, - 0x93, - 0x57, - 0x27, - 0x99, - 0x36, - 0xb4, - 0x20, - 0xab, - 0xfc, - 0xa7, - 0x2b, - 0xf2, - 0xd9, - 0x98, - 0xd7, - 0xd4, - 0x34, - 0x9d, - 0x96, - 0x50, - 0x58, - 0x9a, - 0xea, - 0x54, - 0xf3, - 0xee, - 0xf5, - 0x63, - 0x14, - 0xee, - 0x85, - 0x83, - 0x74, - 0x76, - 0xe1, - 0x52, - 0x95, - 0xc3, - 0xf7, - 0xeb, - 0x04, - 0x04, - 0x7b, - 0xa7, - 0x28, - 0x1b, - 0xcc, - 0xea, - 0x4a, - 0x4e, - 0x84, - 0xda, - 0xd8, - 0x9c, - 0x79, - 0xd8, - 0x9b, - 0x66, - 0x89, - 0x2f, - 0xcf, - 0xac, - 0xd7, - 0x79, - 0xf9, - 0xa9, - 0xd8, - 0x45, - 0x13, - 0x78, - 0xb9, - 0x00, - 0x14, - 0xc9, - 0x7e, - 0x22, - 0x51, - 0x86, - 0x67, - 0xb0, - 0x9f, - 0x26, - 0x11, - 0x23, - 0xc8, - 0x38, - 0xd7, - 0x70, - 0x1d, - 0x15, - 0x8e, - 0x4d, - 0x4f, - 0x95, - 0x97, - 0x40, - 0xa1, - 0xc2, - 0x7e, - 0x01, - 0x18, - 0x72, - 0xf4, - 0x10, - 0xe6, - 0x8d, - 0x52, - 0x16, - 0x7f, - 0xf2, - 0xc9, - 0xf8, - 0x33, - 0x8b, - 0x33, - 0xb7, - 0xce, + 0x17, 0x8f, 0xa8, 0x11, 0x84, 0x92, 0xec, 0x83, 0x47, 0xc7, + 0x6a, 0xb0, 0x92, 0xaf, 0x5a, 0x20, 0x37, 0xa3, 0x64, 0x79, + 0xd2, 0xd0, 0x3d, 0xcd, 0xe0, 0x61, 0x88, 0x88, 0x21, 0xcc, + 0x74, 0x5d, 0xce, 0x4c, 0x51, 0x47, 0xf0, 0xc5, 0x5c, 0x4c, + 0x82, 0x7a, 0xaf, 0x72, 0xad, 0xb9, 0xe0, 0x53, 0xf2, 0x78, + 0xb7, 0xf0, 0xb5, 0x48, 0x7f, 0x8a, 0x3a, 0x18, 0xd1, 0x9f, + 0x8b, 0x7d, 0xa5, 0x47, 0xb7, 0x95, 0xab, 0x98, 0xf8, 0x7b, + 0x74, 0x50, 0x56, 0x8e, 0x57, 0xf0, 0xee, 0xf5, 0xb7, 0xba, + 0xab, 0x85, 0x86, 0xf9, 0x2b, 0xef, 0x41, 0x56, 0xa0, 0xa4, + 0x9f, 0xb7, 0x38, 0x00, 0x46, 0x0a, 0xa6, 0xf1, 0xfc, 0x1f, + 0xd8, 0x4e, 0x85, 0x44, 0x92, 0x43, 0x21, 0x5d, 0x6e, 0xcc, + 0xc2, 0xcb, 0x26, 0x31, 0x0d, 0x21, 0xc4, 0xbd, 0x8d, 0x24, + 0xbc, 0xd9, 0x18, 0x19, 0xd7, 0xdc, 0xf1, 0xe7, 0x93, 0x50, + 0x48, 0x03, 0x2c, 0xae, 0x2e, 0xe7, 0x49, 0x88, 0x5f, 0x93, + 0x57, 0x27, 0x99, 0x36, 0xb4, 0x20, 0xab, 0xfc, 0xa7, 0x2b, + 0xf2, 0xd9, 0x98, 0xd7, 0xd4, 0x34, 0x9d, 0x96, 0x50, 0x58, + 0x9a, 0xea, 0x54, 0xf3, 0xee, 0xf5, 0x63, 0x14, 0xee, 0x85, + 0x83, 0x74, 0x76, 0xe1, 0x52, 0x95, 0xc3, 0xf7, 0xeb, 0x04, + 0x04, 0x7b, 0xa7, 0x28, 0x1b, 0xcc, 0xea, 0x4a, 0x4e, 0x84, + 0xda, 0xd8, 0x9c, 0x79, 0xd8, 0x9b, 0x66, 0x89, 0x2f, 0xcf, + 0xac, 0xd7, 0x79, 0xf9, 0xa9, 0xd8, 0x45, 0x13, 0x78, 0xb9, + 0x00, 0x14, 0xc9, 0x7e, 0x22, 0x51, 0x86, 0x67, 0xb0, 0x9f, + 0x26, 0x11, 0x23, 0xc8, 0x38, 0xd7, 0x70, 0x1d, 0x15, 0x8e, + 0x4d, 0x4f, 0x95, 0x97, 0x40, 0xa1, 0xc2, 0x7e, 0x01, 0x18, + 0x72, 0xf4, 0x10, 0xe6, 0x8d, 0x52, 0x16, 0x7f, 0xf2, 0xc9, + 0xf8, 0x33, 0x8b, 0x33, 0xb7, 0xce }; static unsigned char dsa2048_p[] = { - 0xA0, - 0x25, - 0xFA, - 0xAD, - 0xF4, - 0x8E, - 0xB9, - 0xE5, - 0x99, - 0xF3, - 0x5D, - 0x6F, - 0x4F, - 0x83, - 0x34, - 0xE2, - 0x7E, - 0xCF, - 0x6F, - 0xBF, - 0x30, - 0xAF, - 0x6F, - 0x81, - 0xEB, - 0xF8, - 0xC4, - 0x13, - 0xD9, - 0xA0, - 0x5D, - 0x8B, - 0x5C, - 0x8E, - 0xDC, - 0xC2, - 0x1D, - 0x0B, - 0x41, - 0x32, - 0xB0, - 0x1F, - 0xFE, - 0xEF, - 0x0C, - 0xC2, - 0xA2, - 0x7E, - 0x68, - 0x5C, - 0x28, - 0x21, - 0xE9, - 0xF5, - 0xB1, - 0x58, - 0x12, - 0x63, - 0x4C, - 0x19, - 0x4E, - 0xFF, - 0x02, - 0x4B, - 0x92, - 0xED, - 0xD2, - 0x07, - 0x11, - 0x4D, - 0x8C, - 0x58, - 0x16, - 0x5C, - 0x55, - 0x8E, - 0xAD, - 0xA3, - 0x67, - 0x7D, - 0xB9, - 0x86, - 0x6E, - 0x0B, - 0xE6, - 0x54, - 0x6F, - 0x40, - 0xAE, - 0x0E, - 0x67, - 0x4C, - 0xF9, - 0x12, - 0x5B, - 0x3C, - 0x08, - 0x7A, - 0xF7, - 0xFC, - 0x67, - 0x86, - 0x69, - 0xE7, - 0x0A, - 0x94, - 0x40, - 0xBF, - 0x8B, - 0x76, - 0xFE, - 0x26, - 0xD1, - 0xF2, - 0xA1, - 0x1A, - 0x84, - 0xA1, - 0x43, - 0x56, - 0x28, - 0xBC, - 0x9A, - 0x5F, - 0xD7, - 0x3B, - 0x69, - 0x89, - 0x8A, - 0x36, - 0x2C, - 0x51, - 0xDF, - 0x12, - 0x77, - 0x2F, - 0x57, - 0x7B, - 0xA0, - 0xAA, - 0xDD, - 0x7F, - 0xA1, - 0x62, - 0x3B, - 0x40, - 0x7B, - 0x68, - 0x1A, - 0x8F, - 0x0D, - 0x38, - 0xBB, - 0x21, - 0x5D, - 0x18, - 0xFC, - 0x0F, - 0x46, - 0xF7, - 0xA3, - 0xB0, - 0x1D, - 0x23, - 0xC3, - 0xD2, - 0xC7, - 0x72, - 0x51, - 0x18, - 0xDF, - 0x46, - 0x95, - 0x79, - 0xD9, - 0xBD, - 0xB5, - 0x19, - 0x02, - 0x2C, - 0x87, - 0xDC, - 0xE7, - 0x57, - 0x82, - 0x7E, - 0xF1, - 0x8B, - 0x06, - 0x3D, - 0x00, - 0xA5, - 0x7B, - 0x6B, - 0x26, - 0x27, - 0x91, - 0x0F, - 0x6A, - 0x77, - 0xE4, - 0xD5, - 0x04, - 0xE4, - 0x12, - 0x2C, - 0x42, - 0xFF, - 0xD2, - 0x88, - 0xBB, - 0xD3, - 0x92, - 0xA0, - 0xF9, - 0xC8, - 0x51, - 0x64, - 0x14, - 0x5C, - 0xD8, - 0xF9, - 0x6C, - 0x47, - 0x82, - 0xB4, - 0x1C, - 0x7F, - 0x09, - 0xB8, - 0xF0, - 0x25, - 0x83, - 0x1D, - 0x3F, - 0x3F, - 0x05, - 0xB3, - 0x21, - 0x0A, - 0x5D, - 0xA7, - 0xD8, - 0x54, - 0xC3, - 0x65, - 0x7D, - 0xC3, - 0xB0, - 0x1D, - 0xBF, - 0xAE, - 0xF8, - 0x68, - 0xCF, - 0x9B, + 0xA0, 0x25, 0xFA, 0xAD, 0xF4, 0x8E, 0xB9, 0xE5, 0x99, 0xF3, + 0x5D, 0x6F, 0x4F, 0x83, 0x34, 0xE2, 0x7E, 0xCF, 0x6F, 0xBF, + 0x30, 0xAF, 0x6F, 0x81, 0xEB, 0xF8, 0xC4, 0x13, 0xD9, 0xA0, + 0x5D, 0x8B, 0x5C, 0x8E, 0xDC, 0xC2, 0x1D, 0x0B, 0x41, 0x32, + 0xB0, 0x1F, 0xFE, 0xEF, 0x0C, 0xC2, 0xA2, 0x7E, 0x68, 0x5C, + 0x28, 0x21, 0xE9, 0xF5, 0xB1, 0x58, 0x12, 0x63, 0x4C, 0x19, + 0x4E, 0xFF, 0x02, 0x4B, 0x92, 0xED, 0xD2, 0x07, 0x11, 0x4D, + 0x8C, 0x58, 0x16, 0x5C, 0x55, 0x8E, 0xAD, 0xA3, 0x67, 0x7D, + 0xB9, 0x86, 0x6E, 0x0B, 0xE6, 0x54, 0x6F, 0x40, 0xAE, 0x0E, + 0x67, 0x4C, 0xF9, 0x12, 0x5B, 0x3C, 0x08, 0x7A, 0xF7, 0xFC, + 0x67, 0x86, 0x69, 0xE7, 0x0A, 0x94, 0x40, 0xBF, 0x8B, 0x76, + 0xFE, 0x26, 0xD1, 0xF2, 0xA1, 0x1A, 0x84, 0xA1, 0x43, 0x56, + 0x28, 0xBC, 0x9A, 0x5F, 0xD7, 0x3B, 0x69, 0x89, 0x8A, 0x36, + 0x2C, 0x51, 0xDF, 0x12, 0x77, 0x2F, 0x57, 0x7B, 0xA0, 0xAA, + 0xDD, 0x7F, 0xA1, 0x62, 0x3B, 0x40, 0x7B, 0x68, 0x1A, 0x8F, + 0x0D, 0x38, 0xBB, 0x21, 0x5D, 0x18, 0xFC, 0x0F, 0x46, 0xF7, + 0xA3, 0xB0, 0x1D, 0x23, 0xC3, 0xD2, 0xC7, 0x72, 0x51, 0x18, + 0xDF, 0x46, 0x95, 0x79, 0xD9, 0xBD, 0xB5, 0x19, 0x02, 0x2C, + 0x87, 0xDC, 0xE7, 0x57, 0x82, 0x7E, 0xF1, 0x8B, 0x06, 0x3D, + 0x00, 0xA5, 0x7B, 0x6B, 0x26, 0x27, 0x91, 0x0F, 0x6A, 0x77, + 0xE4, 0xD5, 0x04, 0xE4, 0x12, 0x2C, 0x42, 0xFF, 0xD2, 0x88, + 0xBB, 0xD3, 0x92, 0xA0, 0xF9, 0xC8, 0x51, 0x64, 0x14, 0x5C, + 0xD8, 0xF9, 0x6C, 0x47, 0x82, 0xB4, 0x1C, 0x7F, 0x09, 0xB8, + 0xF0, 0x25, 0x83, 0x1D, 0x3F, 0x3F, 0x05, 0xB3, 0x21, 0x0A, + 0x5D, 0xA7, 0xD8, 0x54, 0xC3, 0x65, 0x7D, 0xC3, 0xB0, 0x1D, + 0xBF, 0xAE, 0xF8, 0x68, 0xCF, 0x9B }; static unsigned char dsa2048_q[] = { - 0x97, - 0xE7, - 0x33, - 0x4D, - 0xD3, - 0x94, - 0x3E, - 0x0B, - 0xDB, - 0x62, - 0x74, - 0xC6, - 0xA1, - 0x08, - 0xDD, - 0x19, - 0xA3, - 0x75, - 0x17, - 0x1B, + 0x97, 0xE7, 0x33, 0x4D, 0xD3, 0x94, 0x3E, 0x0B, 0xDB, 0x62, + 0x74, 0xC6, 0xA1, 0x08, 0xDD, 0x19, 0xA3, 0x75, 0x17, 0x1B }; static unsigned char dsa2048_g[] = { - 0x2C, - 0x78, - 0x16, - 0x59, - 0x34, - 0x63, - 0xF4, - 0xF3, - 0x92, - 0xFC, - 0xB5, - 0xA5, - 0x4F, - 0x13, - 0xDE, - 0x2F, - 0x1C, - 0xA4, - 0x3C, - 0xAE, - 0xAD, - 0x38, - 0x3F, - 0x7E, - 0x90, - 0xBF, - 0x96, - 0xA6, - 0xAE, - 0x25, - 0x90, - 0x72, - 0xF5, - 0x8E, - 0x80, - 0x0C, - 0x39, - 0x1C, - 0xD9, - 0xEC, - 0xBA, - 0x90, - 0x5B, - 0x3A, - 0xE8, - 0x58, - 0x6C, - 0x9E, - 0x30, - 0x42, - 0x37, - 0x02, - 0x31, - 0x82, - 0xBC, - 0x6A, - 0xDF, - 0x6A, - 0x09, - 0x29, - 0xE3, - 0xC0, - 0x46, - 0xD1, - 0xCB, - 0x85, - 0xEC, - 0x0C, - 0x30, - 0x5E, - 0xEA, - 0xC8, - 0x39, - 0x8E, - 0x22, - 0x9F, - 0x22, - 0x10, - 0xD2, - 0x34, - 0x61, - 0x68, - 0x37, - 0x3D, - 0x2E, - 0x4A, - 0x5B, - 0x9A, - 0xF5, - 0xC1, - 0x48, - 0xC6, - 0xF6, - 0xDC, - 0x63, - 0x1A, - 0xD3, - 0x96, - 0x64, - 0xBA, - 0x34, - 0xC9, - 0xD1, - 0xA0, - 0xD1, - 0xAE, - 0x6C, - 0x2F, - 0x48, - 0x17, - 0x93, - 0x14, - 0x43, - 0xED, - 0xF0, - 0x21, - 0x30, - 0x19, - 0xC3, - 0x1B, - 0x5F, - 0xDE, - 0xA3, - 0xF0, - 0x70, - 0x78, - 0x18, - 0xE1, - 0xA8, - 0xE4, - 0xEE, - 0x2E, - 0x00, - 0xA5, - 0xE4, - 0xB3, - 0x17, - 0xC8, - 0x0C, - 0x7D, - 0x6E, - 0x42, - 0xDC, - 0xB7, - 0x46, - 0x00, - 0x36, - 0x4D, - 0xD4, - 0x46, - 0xAA, - 0x3D, - 0x3C, - 0x46, - 0x89, - 0x40, - 0xBF, - 0x1D, - 0x84, - 0x77, - 0x0A, - 0x75, - 0xF3, - 0x87, - 0x1D, - 0x08, - 0x4C, - 0xA6, - 0xD1, - 0xA9, - 0x1C, - 0x1E, - 0x12, - 0x1E, - 0xE1, - 0xC7, - 0x30, - 0x28, - 0x76, - 0xA5, - 0x7F, - 0x6C, - 0x85, - 0x96, - 0x2B, - 0x6F, - 0xDB, - 0x80, - 0x66, - 0x26, - 0xAE, - 0xF5, - 0x93, - 0xC7, - 0x8E, - 0xAE, - 0x9A, - 0xED, - 0xE4, - 0xCA, - 0x04, - 0xEA, - 0x3B, - 0x72, - 0xEF, - 0xDC, - 0x87, - 0xED, - 0x0D, - 0xA5, - 0x4C, - 0x4A, - 0xDD, - 0x71, - 0x22, - 0x64, - 0x59, - 0x69, - 0x4E, - 0x8E, - 0xBF, - 0x43, - 0xDC, - 0xAB, - 0x8E, - 0x66, - 0xBB, - 0x01, - 0xB6, - 0xF4, - 0xE7, - 0xFD, - 0xD2, - 0xAD, - 0x9F, - 0x36, - 0xC1, - 0xA0, - 0x29, - 0x99, - 0xD1, - 0x96, - 0x70, - 0x59, - 0x06, - 0x78, - 0x35, - 0xBD, - 0x65, - 0x55, - 0x52, - 0x9E, - 0xF8, - 0xB2, - 0xE5, - 0x38, + 0x2C, 0x78, 0x16, 0x59, 0x34, 0x63, 0xF4, 0xF3, 0x92, 0xFC, + 0xB5, 0xA5, 0x4F, 0x13, 0xDE, 0x2F, 0x1C, 0xA4, 0x3C, 0xAE, + 0xAD, 0x38, 0x3F, 0x7E, 0x90, 0xBF, 0x96, 0xA6, 0xAE, 0x25, + 0x90, 0x72, 0xF5, 0x8E, 0x80, 0x0C, 0x39, 0x1C, 0xD9, 0xEC, + 0xBA, 0x90, 0x5B, 0x3A, 0xE8, 0x58, 0x6C, 0x9E, 0x30, 0x42, + 0x37, 0x02, 0x31, 0x82, 0xBC, 0x6A, 0xDF, 0x6A, 0x09, 0x29, + 0xE3, 0xC0, 0x46, 0xD1, 0xCB, 0x85, 0xEC, 0x0C, 0x30, 0x5E, + 0xEA, 0xC8, 0x39, 0x8E, 0x22, 0x9F, 0x22, 0x10, 0xD2, 0x34, + 0x61, 0x68, 0x37, 0x3D, 0x2E, 0x4A, 0x5B, 0x9A, 0xF5, 0xC1, + 0x48, 0xC6, 0xF6, 0xDC, 0x63, 0x1A, 0xD3, 0x96, 0x64, 0xBA, + 0x34, 0xC9, 0xD1, 0xA0, 0xD1, 0xAE, 0x6C, 0x2F, 0x48, 0x17, + 0x93, 0x14, 0x43, 0xED, 0xF0, 0x21, 0x30, 0x19, 0xC3, 0x1B, + 0x5F, 0xDE, 0xA3, 0xF0, 0x70, 0x78, 0x18, 0xE1, 0xA8, 0xE4, + 0xEE, 0x2E, 0x00, 0xA5, 0xE4, 0xB3, 0x17, 0xC8, 0x0C, 0x7D, + 0x6E, 0x42, 0xDC, 0xB7, 0x46, 0x00, 0x36, 0x4D, 0xD4, 0x46, + 0xAA, 0x3D, 0x3C, 0x46, 0x89, 0x40, 0xBF, 0x1D, 0x84, 0x77, + 0x0A, 0x75, 0xF3, 0x87, 0x1D, 0x08, 0x4C, 0xA6, 0xD1, 0xA9, + 0x1C, 0x1E, 0x12, 0x1E, 0xE1, 0xC7, 0x30, 0x28, 0x76, 0xA5, + 0x7F, 0x6C, 0x85, 0x96, 0x2B, 0x6F, 0xDB, 0x80, 0x66, 0x26, + 0xAE, 0xF5, 0x93, 0xC7, 0x8E, 0xAE, 0x9A, 0xED, 0xE4, 0xCA, + 0x04, 0xEA, 0x3B, 0x72, 0xEF, 0xDC, 0x87, 0xED, 0x0D, 0xA5, + 0x4C, 0x4A, 0xDD, 0x71, 0x22, 0x64, 0x59, 0x69, 0x4E, 0x8E, + 0xBF, 0x43, 0xDC, 0xAB, 0x8E, 0x66, 0xBB, 0x01, 0xB6, 0xF4, + 0xE7, 0xFD, 0xD2, 0xAD, 0x9F, 0x36, 0xC1, 0xA0, 0x29, 0x99, + 0xD1, 0x96, 0x70, 0x59, 0x06, 0x78, 0x35, 0xBD, 0x65, 0x55, + 0x52, 0x9E, 0xF8, 0xB2, 0xE5, 0x38 }; typedef struct testdsa_st { diff --git a/deps/openssl/openssl/apps/testrsa.h b/deps/openssl/openssl/apps/testrsa.h index db9221e8aaa4..5117bc175eb6 100644 --- a/deps/openssl/openssl/apps/testrsa.h +++ b/deps/openssl/openssl/apps/testrsa.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -8,2129 +8,225 @@ */ static unsigned char test512[] = { - 0x30, - 0x82, - 0x01, - 0x3a, - 0x02, - 0x01, - 0x00, - 0x02, - 0x41, - 0x00, - 0xd6, - 0x33, - 0xb9, - 0xc8, - 0xfb, - 0x4f, - 0x3c, - 0x7d, - 0xc0, - 0x01, - 0x86, - 0xd0, - 0xe7, - 0xa0, - 0x55, - 0xf2, - 0x95, - 0x93, - 0xcc, - 0x4f, - 0xb7, - 0x5b, - 0x67, - 0x5b, - 0x94, - 0x68, - 0xc9, - 0x34, - 0x15, - 0xde, - 0xa5, - 0x2e, - 0x1c, - 0x33, - 0xc2, - 0x6e, - 0xfc, - 0x34, - 0x5e, - 0x71, - 0x13, - 0xb7, - 0xd6, - 0xee, - 0xd8, - 0xa5, - 0x65, - 0x05, - 0x72, - 0x87, - 0xa8, - 0xb0, - 0x77, - 0xfe, - 0x57, - 0xf5, - 0xfc, - 0x5f, - 0x55, - 0x83, - 0x87, - 0xdd, - 0x57, - 0x49, - 0x02, - 0x03, - 0x01, - 0x00, - 0x01, - 0x02, - 0x41, - 0x00, - 0xa7, - 0xf7, - 0x91, - 0xc5, - 0x0f, - 0x84, - 0x57, - 0xdc, - 0x07, - 0xf7, - 0x6a, - 0x7f, - 0x60, - 0x52, - 0xb3, - 0x72, - 0xf1, - 0x66, - 0x1f, - 0x7d, - 0x97, - 0x3b, - 0x9e, - 0xb6, - 0x0a, - 0x8f, - 0x8c, - 0xcf, - 0x42, - 0x23, - 0x00, - 0x04, - 0xd4, - 0x28, - 0x0e, - 0x1c, - 0x90, - 0xc4, - 0x11, - 0x25, - 0x25, - 0xa5, - 0x93, - 0xa5, - 0x2f, - 0x70, - 0x02, - 0xdf, - 0x81, - 0x9c, - 0x49, - 0x03, - 0xa0, - 0xf8, - 0x6d, - 0x54, - 0x2e, - 0x26, - 0xde, - 0xaa, - 0x85, - 0x59, - 0xa8, - 0x31, - 0x02, - 0x21, - 0x00, - 0xeb, - 0x47, - 0xd7, - 0x3b, - 0xf6, - 0xc3, - 0xdd, - 0x5a, - 0x46, - 0xc5, - 0xb9, - 0x2b, - 0x9a, - 0xa0, - 0x09, - 0x8f, - 0xa6, - 0xfb, - 0xf3, - 0x78, - 0x7a, - 0x33, - 0x70, - 0x9d, - 0x0f, - 0x42, - 0x6b, - 0x13, - 0x68, - 0x24, - 0xd3, - 0x15, - 0x02, - 0x21, - 0x00, - 0xe9, - 0x10, - 0xb0, - 0xb3, - 0x0d, - 0xe2, - 0x82, - 0x68, - 0x77, - 0x8a, - 0x6e, - 0x7c, - 0xda, - 0xbc, - 0x3e, - 0x53, - 0x83, - 0xfb, - 0xd6, - 0x22, - 0xe7, - 0xb5, - 0xae, - 0x6e, - 0x80, - 0xda, - 0x00, - 0x55, - 0x97, - 0xc1, - 0xd0, - 0x65, - 0x02, - 0x20, - 0x4c, - 0xf8, - 0x73, - 0xb1, - 0x6a, - 0x49, - 0x29, - 0x61, - 0x1f, - 0x46, - 0x10, - 0x0d, - 0xf3, - 0xc7, - 0xe7, - 0x58, - 0xd7, - 0x88, - 0x15, - 0x5e, - 0x94, - 0x9b, - 0xbf, - 0x7b, - 0xa2, - 0x42, - 0x58, - 0x45, - 0x41, - 0x0c, - 0xcb, - 0x01, - 0x02, - 0x20, - 0x12, - 0x11, - 0xba, - 0x31, - 0x57, - 0x9d, - 0x3d, - 0x11, - 0x0e, - 0x5b, - 0x8c, - 0x2f, - 0x5f, - 0xe2, - 0x02, - 0x4f, - 0x05, - 0x47, - 0x8c, - 0x15, - 0x8e, - 0xb3, - 0x56, - 0x3f, - 0xb8, - 0xfb, - 0xad, - 0xd4, - 0xf4, - 0xfc, - 0x10, - 0xc5, - 0x02, - 0x20, - 0x18, - 0xa1, - 0x29, - 0x99, - 0x5b, - 0xd9, - 0xc8, - 0xd4, - 0xfc, - 0x49, - 0x7a, - 0x2a, - 0x21, - 0x2c, - 0x49, - 0xe4, - 0x4f, - 0xeb, - 0xef, - 0x51, - 0xf1, - 0xab, - 0x6d, - 0xfb, - 0x4b, - 0x14, - 0xe9, - 0x4b, - 0x52, - 0xb5, - 0x82, - 0x2c, + 0x30, 0x82, 0x01, 0x3a, 0x02, 0x01, 0x00, 0x02, 0x41, 0x00, + 0xd6, 0x33, 0xb9, 0xc8, 0xfb, 0x4f, 0x3c, 0x7d, 0xc0, 0x01, + 0x86, 0xd0, 0xe7, 0xa0, 0x55, 0xf2, 0x95, 0x93, 0xcc, 0x4f, + 0xb7, 0x5b, 0x67, 0x5b, 0x94, 0x68, 0xc9, 0x34, 0x15, 0xde, + 0xa5, 0x2e, 0x1c, 0x33, 0xc2, 0x6e, 0xfc, 0x34, 0x5e, 0x71, + 0x13, 0xb7, 0xd6, 0xee, 0xd8, 0xa5, 0x65, 0x05, 0x72, 0x87, + 0xa8, 0xb0, 0x77, 0xfe, 0x57, 0xf5, 0xfc, 0x5f, 0x55, 0x83, + 0x87, 0xdd, 0x57, 0x49, 0x02, 0x03, 0x01, 0x00, 0x01, 0x02, + 0x41, 0x00, 0xa7, 0xf7, 0x91, 0xc5, 0x0f, 0x84, 0x57, 0xdc, + 0x07, 0xf7, 0x6a, 0x7f, 0x60, 0x52, 0xb3, 0x72, 0xf1, 0x66, + 0x1f, 0x7d, 0x97, 0x3b, 0x9e, 0xb6, 0x0a, 0x8f, 0x8c, 0xcf, + 0x42, 0x23, 0x00, 0x04, 0xd4, 0x28, 0x0e, 0x1c, 0x90, 0xc4, + 0x11, 0x25, 0x25, 0xa5, 0x93, 0xa5, 0x2f, 0x70, 0x02, 0xdf, + 0x81, 0x9c, 0x49, 0x03, 0xa0, 0xf8, 0x6d, 0x54, 0x2e, 0x26, + 0xde, 0xaa, 0x85, 0x59, 0xa8, 0x31, 0x02, 0x21, 0x00, 0xeb, + 0x47, 0xd7, 0x3b, 0xf6, 0xc3, 0xdd, 0x5a, 0x46, 0xc5, 0xb9, + 0x2b, 0x9a, 0xa0, 0x09, 0x8f, 0xa6, 0xfb, 0xf3, 0x78, 0x7a, + 0x33, 0x70, 0x9d, 0x0f, 0x42, 0x6b, 0x13, 0x68, 0x24, 0xd3, + 0x15, 0x02, 0x21, 0x00, 0xe9, 0x10, 0xb0, 0xb3, 0x0d, 0xe2, + 0x82, 0x68, 0x77, 0x8a, 0x6e, 0x7c, 0xda, 0xbc, 0x3e, 0x53, + 0x83, 0xfb, 0xd6, 0x22, 0xe7, 0xb5, 0xae, 0x6e, 0x80, 0xda, + 0x00, 0x55, 0x97, 0xc1, 0xd0, 0x65, 0x02, 0x20, 0x4c, 0xf8, + 0x73, 0xb1, 0x6a, 0x49, 0x29, 0x61, 0x1f, 0x46, 0x10, 0x0d, + 0xf3, 0xc7, 0xe7, 0x58, 0xd7, 0x88, 0x15, 0x5e, 0x94, 0x9b, + 0xbf, 0x7b, 0xa2, 0x42, 0x58, 0x45, 0x41, 0x0c, 0xcb, 0x01, + 0x02, 0x20, 0x12, 0x11, 0xba, 0x31, 0x57, 0x9d, 0x3d, 0x11, + 0x0e, 0x5b, 0x8c, 0x2f, 0x5f, 0xe2, 0x02, 0x4f, 0x05, 0x47, + 0x8c, 0x15, 0x8e, 0xb3, 0x56, 0x3f, 0xb8, 0xfb, 0xad, 0xd4, + 0xf4, 0xfc, 0x10, 0xc5, 0x02, 0x20, 0x18, 0xa1, 0x29, 0x99, + 0x5b, 0xd9, 0xc8, 0xd4, 0xfc, 0x49, 0x7a, 0x2a, 0x21, 0x2c, + 0x49, 0xe4, 0x4f, 0xeb, 0xef, 0x51, 0xf1, 0xab, 0x6d, 0xfb, + 0x4b, 0x14, 0xe9, 0x4b, 0x52, 0xb5, 0x82, 0x2c }; static unsigned char test1024[] = { - 0x30, - 0x82, - 0x02, - 0x5c, - 0x02, - 0x01, - 0x00, - 0x02, - 0x81, - 0x81, - 0x00, - 0xdc, - 0x98, - 0x43, - 0xe8, - 0x3d, - 0x43, - 0x5b, - 0xe4, - 0x05, - 0xcd, - 0xd0, - 0xa9, - 0x3e, - 0xcb, - 0x83, - 0x75, - 0xf6, - 0xb5, - 0xa5, - 0x9f, - 0x6b, - 0xe9, - 0x34, - 0x41, - 0x29, - 0x18, - 0xfa, - 0x6a, - 0x55, - 0x4d, - 0x70, - 0xfc, - 0xec, - 0xae, - 0x87, - 0x38, - 0x0a, - 0x20, - 0xa9, - 0xc0, - 0x45, - 0x77, - 0x6e, - 0x57, - 0x60, - 0x57, - 0xf4, - 0xed, - 0x96, - 0x22, - 0xcb, - 0x8f, - 0xe1, - 0x33, - 0x3a, - 0x17, - 0x1f, - 0xed, - 0x37, - 0xa5, - 0x6f, - 0xeb, - 0xa6, - 0xbc, - 0x12, - 0x80, - 0x1d, - 0x53, - 0xbd, - 0x70, - 0xeb, - 0x21, - 0x76, - 0x3e, - 0xc9, - 0x2f, - 0x1a, - 0x45, - 0x24, - 0x82, - 0xff, - 0xcd, - 0x59, - 0x32, - 0x06, - 0x2e, - 0x12, - 0x3b, - 0x23, - 0x78, - 0xed, - 0x12, - 0x3d, - 0xe0, - 0x8d, - 0xf9, - 0x67, - 0x4f, - 0x37, - 0x4e, - 0x47, - 0x02, - 0x4c, - 0x2d, - 0xc0, - 0x4f, - 0x1f, - 0xb3, - 0x94, - 0xe1, - 0x41, - 0x2e, - 0x2d, - 0x90, - 0x10, - 0xfc, - 0x82, - 0x91, - 0x8b, - 0x0f, - 0x22, - 0xd4, - 0xf2, - 0xfc, - 0x2c, - 0xab, - 0x53, - 0x55, - 0x02, - 0x03, - 0x01, - 0x00, - 0x01, - 0x02, - 0x81, - 0x80, - 0x2b, - 0xcc, - 0x3f, - 0x8f, - 0x58, - 0xba, - 0x8b, - 0x00, - 0x16, - 0xf6, - 0xea, - 0x3a, - 0xf0, - 0x30, - 0xd0, - 0x05, - 0x17, - 0xda, - 0xb0, - 0xeb, - 0x9a, - 0x2d, - 0x4f, - 0x26, - 0xb0, - 0xd6, - 0x38, - 0xc1, - 0xeb, - 0xf5, - 0xd8, - 0x3d, - 0x1f, - 0x70, - 0xf7, - 0x7f, - 0xf4, - 0xe2, - 0xcf, - 0x51, - 0x51, - 0x79, - 0x88, - 0xfa, - 0xe8, - 0x32, - 0x0e, - 0x7b, - 0x2d, - 0x97, - 0xf2, - 0xfa, - 0xba, - 0x27, - 0xc5, - 0x9c, - 0xd9, - 0xc5, - 0xeb, - 0x8a, - 0x79, - 0x52, - 0x3c, - 0x64, - 0x34, - 0x7d, - 0xc2, - 0xcf, - 0x28, - 0xc7, - 0x4e, - 0xd5, - 0x43, - 0x0b, - 0xd1, - 0xa6, - 0xca, - 0x6d, - 0x03, - 0x2d, - 0x72, - 0x23, - 0xbc, - 0x6d, - 0x05, - 0xfa, - 0x16, - 0x09, - 0x2f, - 0x2e, - 0x5c, - 0xb6, - 0xee, - 0x74, - 0xdd, - 0xd2, - 0x48, - 0x8e, - 0x36, - 0x0c, - 0x06, - 0x3d, - 0x4d, - 0xe5, - 0x10, - 0x82, - 0xeb, - 0x6a, - 0xf3, - 0x4b, - 0x9f, - 0xd6, - 0xed, - 0x11, - 0xb1, - 0x6e, - 0xec, - 0xf4, - 0xfe, - 0x8e, - 0x75, - 0x94, - 0x20, - 0x2f, - 0xcb, - 0xac, - 0x46, - 0xf1, - 0x02, - 0x41, - 0x00, - 0xf9, - 0x8c, - 0xa3, - 0x85, - 0xb1, - 0xdd, - 0x29, - 0xaf, - 0x65, - 0xc1, - 0x33, - 0xf3, - 0x95, - 0xc5, - 0x52, - 0x68, - 0x0b, - 0xd4, - 0xf1, - 0xe5, - 0x0e, - 0x02, - 0x9f, - 0x4f, - 0xfa, - 0x77, - 0xdc, - 0x46, - 0x9e, - 0xc7, - 0xa6, - 0xe4, - 0x16, - 0x29, - 0xda, - 0xb0, - 0x07, - 0xcf, - 0x5b, - 0xa9, - 0x12, - 0x8a, - 0xdd, - 0x63, - 0x0a, - 0xde, - 0x2e, - 0x8c, - 0x66, - 0x8b, - 0x8c, - 0xdc, - 0x19, - 0xa3, - 0x7e, - 0xf4, - 0x3b, - 0xd0, - 0x1a, - 0x8c, - 0xa4, - 0xc2, - 0xe1, - 0xd3, - 0x02, - 0x41, - 0x00, - 0xe2, - 0x4c, - 0x05, - 0xf2, - 0x04, - 0x86, - 0x4e, - 0x61, - 0x43, - 0xdb, - 0xb0, - 0xb9, - 0x96, - 0x86, - 0x52, - 0x2c, - 0xca, - 0x8d, - 0x7b, - 0xab, - 0x0b, - 0x13, - 0x0d, - 0x7e, - 0x38, - 0x5b, - 0xe2, - 0x2e, - 0x7b, - 0x0e, - 0xe7, - 0x19, - 0x99, - 0x38, - 0xe7, - 0xf2, - 0x21, - 0xbd, - 0x85, - 0x85, - 0xe3, - 0xfd, - 0x28, - 0x77, - 0x20, - 0x31, - 0x71, - 0x2c, - 0xd0, - 0xff, - 0xfb, - 0x2e, - 0xaf, - 0x85, - 0xb4, - 0x86, - 0xca, - 0xf3, - 0xbb, - 0xca, - 0xaa, - 0x0f, - 0x95, - 0x37, - 0x02, - 0x40, - 0x0e, - 0x41, - 0x9a, - 0x95, - 0xe8, - 0xb3, - 0x59, - 0xce, - 0x4b, - 0x61, - 0xde, - 0x35, - 0xec, - 0x38, - 0x79, - 0x9c, - 0xb8, - 0x10, - 0x52, - 0x41, - 0x63, - 0xab, - 0x82, - 0xae, - 0x6f, - 0x00, - 0xa9, - 0xf4, - 0xde, - 0xdd, - 0x49, - 0x0b, - 0x7e, - 0xb8, - 0xa5, - 0x65, - 0xa9, - 0x0c, - 0x8f, - 0x8f, - 0xf9, - 0x1f, - 0x35, - 0xc6, - 0x92, - 0xb8, - 0x5e, - 0xb0, - 0x66, - 0xab, - 0x52, - 0x40, - 0xc0, - 0xb6, - 0x36, - 0x6a, - 0x7d, - 0x80, - 0x46, - 0x04, - 0x02, - 0xe5, - 0x9f, - 0x41, - 0x02, - 0x41, - 0x00, - 0xc0, - 0xad, - 0xcc, - 0x4e, - 0x21, - 0xee, - 0x1d, - 0x24, - 0x91, - 0xfb, - 0xa7, - 0x80, - 0x8d, - 0x9a, - 0xb6, - 0xb3, - 0x2e, - 0x8f, - 0xc2, - 0xe1, - 0x82, - 0xdf, - 0x69, - 0x18, - 0xb4, - 0x71, - 0xff, - 0xa6, - 0x65, - 0xde, - 0xed, - 0x84, - 0x8d, - 0x42, - 0xb7, - 0xb3, - 0x21, - 0x69, - 0x56, - 0x1c, - 0x07, - 0x60, - 0x51, - 0x29, - 0x04, - 0xff, - 0x34, - 0x06, - 0xdd, - 0xb9, - 0x67, - 0x2c, - 0x7c, - 0x04, - 0x93, - 0x0e, - 0x46, - 0x15, - 0xbb, - 0x2a, - 0xb7, - 0x1b, - 0xe7, - 0x87, - 0x02, - 0x40, - 0x78, - 0xda, - 0x5d, - 0x07, - 0x51, - 0x0c, - 0x16, - 0x7a, - 0x9f, - 0x29, - 0x20, - 0x84, - 0x0d, - 0x42, - 0xfa, - 0xd7, - 0x00, - 0xd8, - 0x77, - 0x7e, - 0xb0, - 0xb0, - 0x6b, - 0xd6, - 0x5b, - 0x53, - 0xb8, - 0x9b, - 0x7a, - 0xcd, - 0xc7, - 0x2b, - 0xb8, - 0x6a, - 0x63, - 0xa9, - 0xfb, - 0x6f, - 0xa4, - 0x72, - 0xbf, - 0x4c, - 0x5d, - 0x00, - 0x14, - 0xba, - 0xfa, - 0x59, - 0x88, - 0xed, - 0xe4, - 0xe0, - 0x8c, - 0xa2, - 0xec, - 0x14, - 0x7e, - 0x2d, - 0xe2, - 0xf0, - 0x46, - 0x49, - 0x95, - 0x45, + 0x30, 0x82, 0x02, 0x5c, 0x02, 0x01, 0x00, 0x02, 0x81, 0x81, + 0x00, 0xdc, 0x98, 0x43, 0xe8, 0x3d, 0x43, 0x5b, 0xe4, 0x05, + 0xcd, 0xd0, 0xa9, 0x3e, 0xcb, 0x83, 0x75, 0xf6, 0xb5, 0xa5, + 0x9f, 0x6b, 0xe9, 0x34, 0x41, 0x29, 0x18, 0xfa, 0x6a, 0x55, + 0x4d, 0x70, 0xfc, 0xec, 0xae, 0x87, 0x38, 0x0a, 0x20, 0xa9, + 0xc0, 0x45, 0x77, 0x6e, 0x57, 0x60, 0x57, 0xf4, 0xed, 0x96, + 0x22, 0xcb, 0x8f, 0xe1, 0x33, 0x3a, 0x17, 0x1f, 0xed, 0x37, + 0xa5, 0x6f, 0xeb, 0xa6, 0xbc, 0x12, 0x80, 0x1d, 0x53, 0xbd, + 0x70, 0xeb, 0x21, 0x76, 0x3e, 0xc9, 0x2f, 0x1a, 0x45, 0x24, + 0x82, 0xff, 0xcd, 0x59, 0x32, 0x06, 0x2e, 0x12, 0x3b, 0x23, + 0x78, 0xed, 0x12, 0x3d, 0xe0, 0x8d, 0xf9, 0x67, 0x4f, 0x37, + 0x4e, 0x47, 0x02, 0x4c, 0x2d, 0xc0, 0x4f, 0x1f, 0xb3, 0x94, + 0xe1, 0x41, 0x2e, 0x2d, 0x90, 0x10, 0xfc, 0x82, 0x91, 0x8b, + 0x0f, 0x22, 0xd4, 0xf2, 0xfc, 0x2c, 0xab, 0x53, 0x55, 0x02, + 0x03, 0x01, 0x00, 0x01, 0x02, 0x81, 0x80, 0x2b, 0xcc, 0x3f, + 0x8f, 0x58, 0xba, 0x8b, 0x00, 0x16, 0xf6, 0xea, 0x3a, 0xf0, + 0x30, 0xd0, 0x05, 0x17, 0xda, 0xb0, 0xeb, 0x9a, 0x2d, 0x4f, + 0x26, 0xb0, 0xd6, 0x38, 0xc1, 0xeb, 0xf5, 0xd8, 0x3d, 0x1f, + 0x70, 0xf7, 0x7f, 0xf4, 0xe2, 0xcf, 0x51, 0x51, 0x79, 0x88, + 0xfa, 0xe8, 0x32, 0x0e, 0x7b, 0x2d, 0x97, 0xf2, 0xfa, 0xba, + 0x27, 0xc5, 0x9c, 0xd9, 0xc5, 0xeb, 0x8a, 0x79, 0x52, 0x3c, + 0x64, 0x34, 0x7d, 0xc2, 0xcf, 0x28, 0xc7, 0x4e, 0xd5, 0x43, + 0x0b, 0xd1, 0xa6, 0xca, 0x6d, 0x03, 0x2d, 0x72, 0x23, 0xbc, + 0x6d, 0x05, 0xfa, 0x16, 0x09, 0x2f, 0x2e, 0x5c, 0xb6, 0xee, + 0x74, 0xdd, 0xd2, 0x48, 0x8e, 0x36, 0x0c, 0x06, 0x3d, 0x4d, + 0xe5, 0x10, 0x82, 0xeb, 0x6a, 0xf3, 0x4b, 0x9f, 0xd6, 0xed, + 0x11, 0xb1, 0x6e, 0xec, 0xf4, 0xfe, 0x8e, 0x75, 0x94, 0x20, + 0x2f, 0xcb, 0xac, 0x46, 0xf1, 0x02, 0x41, 0x00, 0xf9, 0x8c, + 0xa3, 0x85, 0xb1, 0xdd, 0x29, 0xaf, 0x65, 0xc1, 0x33, 0xf3, + 0x95, 0xc5, 0x52, 0x68, 0x0b, 0xd4, 0xf1, 0xe5, 0x0e, 0x02, + 0x9f, 0x4f, 0xfa, 0x77, 0xdc, 0x46, 0x9e, 0xc7, 0xa6, 0xe4, + 0x16, 0x29, 0xda, 0xb0, 0x07, 0xcf, 0x5b, 0xa9, 0x12, 0x8a, + 0xdd, 0x63, 0x0a, 0xde, 0x2e, 0x8c, 0x66, 0x8b, 0x8c, 0xdc, + 0x19, 0xa3, 0x7e, 0xf4, 0x3b, 0xd0, 0x1a, 0x8c, 0xa4, 0xc2, + 0xe1, 0xd3, 0x02, 0x41, 0x00, 0xe2, 0x4c, 0x05, 0xf2, 0x04, + 0x86, 0x4e, 0x61, 0x43, 0xdb, 0xb0, 0xb9, 0x96, 0x86, 0x52, + 0x2c, 0xca, 0x8d, 0x7b, 0xab, 0x0b, 0x13, 0x0d, 0x7e, 0x38, + 0x5b, 0xe2, 0x2e, 0x7b, 0x0e, 0xe7, 0x19, 0x99, 0x38, 0xe7, + 0xf2, 0x21, 0xbd, 0x85, 0x85, 0xe3, 0xfd, 0x28, 0x77, 0x20, + 0x31, 0x71, 0x2c, 0xd0, 0xff, 0xfb, 0x2e, 0xaf, 0x85, 0xb4, + 0x86, 0xca, 0xf3, 0xbb, 0xca, 0xaa, 0x0f, 0x95, 0x37, 0x02, + 0x40, 0x0e, 0x41, 0x9a, 0x95, 0xe8, 0xb3, 0x59, 0xce, 0x4b, + 0x61, 0xde, 0x35, 0xec, 0x38, 0x79, 0x9c, 0xb8, 0x10, 0x52, + 0x41, 0x63, 0xab, 0x82, 0xae, 0x6f, 0x00, 0xa9, 0xf4, 0xde, + 0xdd, 0x49, 0x0b, 0x7e, 0xb8, 0xa5, 0x65, 0xa9, 0x0c, 0x8f, + 0x8f, 0xf9, 0x1f, 0x35, 0xc6, 0x92, 0xb8, 0x5e, 0xb0, 0x66, + 0xab, 0x52, 0x40, 0xc0, 0xb6, 0x36, 0x6a, 0x7d, 0x80, 0x46, + 0x04, 0x02, 0xe5, 0x9f, 0x41, 0x02, 0x41, 0x00, 0xc0, 0xad, + 0xcc, 0x4e, 0x21, 0xee, 0x1d, 0x24, 0x91, 0xfb, 0xa7, 0x80, + 0x8d, 0x9a, 0xb6, 0xb3, 0x2e, 0x8f, 0xc2, 0xe1, 0x82, 0xdf, + 0x69, 0x18, 0xb4, 0x71, 0xff, 0xa6, 0x65, 0xde, 0xed, 0x84, + 0x8d, 0x42, 0xb7, 0xb3, 0x21, 0x69, 0x56, 0x1c, 0x07, 0x60, + 0x51, 0x29, 0x04, 0xff, 0x34, 0x06, 0xdd, 0xb9, 0x67, 0x2c, + 0x7c, 0x04, 0x93, 0x0e, 0x46, 0x15, 0xbb, 0x2a, 0xb7, 0x1b, + 0xe7, 0x87, 0x02, 0x40, 0x78, 0xda, 0x5d, 0x07, 0x51, 0x0c, + 0x16, 0x7a, 0x9f, 0x29, 0x20, 0x84, 0x0d, 0x42, 0xfa, 0xd7, + 0x00, 0xd8, 0x77, 0x7e, 0xb0, 0xb0, 0x6b, 0xd6, 0x5b, 0x53, + 0xb8, 0x9b, 0x7a, 0xcd, 0xc7, 0x2b, 0xb8, 0x6a, 0x63, 0xa9, + 0xfb, 0x6f, 0xa4, 0x72, 0xbf, 0x4c, 0x5d, 0x00, 0x14, 0xba, + 0xfa, 0x59, 0x88, 0xed, 0xe4, 0xe0, 0x8c, 0xa2, 0xec, 0x14, + 0x7e, 0x2d, 0xe2, 0xf0, 0x46, 0x49, 0x95, 0x45 }; static unsigned char test2048[] = { - 0x30, - 0x82, - 0x04, - 0xa3, - 0x02, - 0x01, - 0x00, - 0x02, - 0x82, - 0x01, - 0x01, - 0x00, - 0xc0, - 0xc0, - 0xce, - 0x3e, - 0x3c, - 0x53, - 0x67, - 0x3f, - 0x4f, - 0xc5, - 0x2f, - 0xa4, - 0xc2, - 0x5a, - 0x2f, - 0x58, - 0xfd, - 0x27, - 0x52, - 0x6a, - 0xe8, - 0xcf, - 0x4a, - 0x73, - 0x47, - 0x8d, - 0x25, - 0x0f, - 0x5f, - 0x03, - 0x26, - 0x78, - 0xef, - 0xf0, - 0x22, - 0x12, - 0xd3, - 0xde, - 0x47, - 0xb2, - 0x1c, - 0x0b, - 0x38, - 0x63, - 0x1a, - 0x6c, - 0x85, - 0x7a, - 0x80, - 0xc6, - 0x8f, - 0xa0, - 0x41, - 0xaf, - 0x62, - 0xc4, - 0x67, - 0x32, - 0x88, - 0xf8, - 0xa6, - 0x9c, - 0xf5, - 0x23, - 0x1d, - 0xe4, - 0xac, - 0x3f, - 0x29, - 0xf9, - 0xec, - 0xe1, - 0x8b, - 0x26, - 0x03, - 0x2c, - 0xb2, - 0xab, - 0xf3, - 0x7d, - 0xb5, - 0xca, - 0x49, - 0xc0, - 0x8f, - 0x1c, - 0xdf, - 0x33, - 0x3a, - 0x60, - 0xda, - 0x3c, - 0xb0, - 0x16, - 0xf8, - 0xa9, - 0x12, - 0x8f, - 0x64, - 0xac, - 0x23, - 0x0c, - 0x69, - 0x64, - 0x97, - 0x5d, - 0x99, - 0xd4, - 0x09, - 0x83, - 0x9b, - 0x61, - 0xd3, - 0xac, - 0xf0, - 0xde, - 0xdd, - 0x5e, - 0x9f, - 0x44, - 0x94, - 0xdb, - 0x3a, - 0x4d, - 0x97, - 0xe8, - 0x52, - 0x29, - 0xf7, - 0xdb, - 0x94, - 0x07, - 0x45, - 0x90, - 0x78, - 0x1e, - 0x31, - 0x0b, - 0x80, - 0xf7, - 0x57, - 0xad, - 0x1c, - 0x79, - 0xc5, - 0xcb, - 0x32, - 0xb0, - 0xce, - 0xcd, - 0x74, - 0xb3, - 0xe2, - 0x94, - 0xc5, - 0x78, - 0x2f, - 0x34, - 0x1a, - 0x45, - 0xf7, - 0x8c, - 0x52, - 0xa5, - 0xbc, - 0x8d, - 0xec, - 0xd1, - 0x2f, - 0x31, - 0x3b, - 0xf0, - 0x49, - 0x59, - 0x5e, - 0x88, - 0x9d, - 0x15, - 0x92, - 0x35, - 0x32, - 0xc1, - 0xe7, - 0x61, - 0xec, - 0x50, - 0x48, - 0x7c, - 0xba, - 0x05, - 0xf9, - 0xf8, - 0xf8, - 0xa7, - 0x8c, - 0x83, - 0xe8, - 0x66, - 0x5b, - 0xeb, - 0xfe, - 0xd8, - 0x4f, - 0xdd, - 0x6d, - 0x36, - 0xc0, - 0xb2, - 0x90, - 0x0f, - 0xb8, - 0x52, - 0xf9, - 0x04, - 0x9b, - 0x40, - 0x2c, - 0x27, - 0xd6, - 0x36, - 0x8e, - 0xc2, - 0x1b, - 0x44, - 0xf3, - 0x92, - 0xd5, - 0x15, - 0x9e, - 0x9a, - 0xbc, - 0xf3, - 0x7d, - 0x03, - 0xd7, - 0x02, - 0x14, - 0x20, - 0xe9, - 0x10, - 0x92, - 0xfd, - 0xf9, - 0xfc, - 0x8f, - 0xe5, - 0x18, - 0xe1, - 0x95, - 0xcc, - 0x9e, - 0x60, - 0xa6, - 0xfa, - 0x38, - 0x4d, - 0x02, - 0x03, - 0x01, - 0x00, - 0x01, - 0x02, - 0x82, - 0x01, - 0x00, - 0x00, - 0xc3, - 0xc3, - 0x0d, - 0xb4, - 0x27, - 0x90, - 0x8d, - 0x4b, - 0xbf, - 0xb8, - 0x84, - 0xaa, - 0xd0, - 0xb8, - 0xc7, - 0x5d, - 0x99, - 0xbe, - 0x55, - 0xf6, - 0x3e, - 0x7c, - 0x49, - 0x20, - 0xcb, - 0x8a, - 0x8e, - 0x19, - 0x0e, - 0x66, - 0x24, - 0xac, - 0xaf, - 0x03, - 0x33, - 0x97, - 0xeb, - 0x95, - 0xd5, - 0x3b, - 0x0f, - 0x40, - 0x56, - 0x04, - 0x50, - 0xd1, - 0xe6, - 0xbe, - 0x84, - 0x0b, - 0x25, - 0xd3, - 0x9c, - 0xe2, - 0x83, - 0x6c, - 0xf5, - 0x62, - 0x5d, - 0xba, - 0x2b, - 0x7d, - 0x3d, - 0x7a, - 0x6c, - 0xe1, - 0xd2, - 0x0e, - 0x54, - 0x93, - 0x80, - 0x01, - 0x91, - 0x51, - 0x09, - 0xe8, - 0x5b, - 0x8e, - 0x47, - 0xbd, - 0x64, - 0xe4, - 0x0e, - 0x03, - 0x83, - 0x55, - 0xcf, - 0x5a, - 0x37, - 0xf0, - 0x25, - 0xb5, - 0x7d, - 0x21, - 0xd7, - 0x69, - 0xdf, - 0x6f, - 0xc2, - 0xcf, - 0x10, - 0xc9, - 0x8a, - 0x40, - 0x9f, - 0x7a, - 0x70, - 0xc0, - 0xe8, - 0xe8, - 0xc0, - 0xe6, - 0x9a, - 0x15, - 0x0a, - 0x8d, - 0x4e, - 0x46, - 0xcb, - 0x7a, - 0xdb, - 0xb3, - 0xcb, - 0x83, - 0x02, - 0xc4, - 0xf0, - 0xab, - 0xeb, - 0x02, - 0x01, - 0x0e, - 0x23, - 0xfc, - 0x1d, - 0xc4, - 0xbd, - 0xd4, - 0xaa, - 0x5d, - 0x31, - 0x46, - 0x99, - 0xce, - 0x9e, - 0xf8, - 0x04, - 0x75, - 0x10, - 0x67, - 0xc4, - 0x53, - 0x47, - 0x44, - 0xfa, - 0xc2, - 0x25, - 0x73, - 0x7e, - 0xd0, - 0x8e, - 0x59, - 0xd1, - 0xb2, - 0x5a, - 0xf4, - 0xc7, - 0x18, - 0x92, - 0x2f, - 0x39, - 0xab, - 0xcd, - 0xa3, - 0xb5, - 0xc2, - 0xb9, - 0xc7, - 0xb9, - 0x1b, - 0x9f, - 0x48, - 0xfa, - 0x13, - 0xc6, - 0x98, - 0x4d, - 0xca, - 0x84, - 0x9c, - 0x06, - 0xca, - 0xe7, - 0x89, - 0x01, - 0x04, - 0xc4, - 0x6c, - 0xfd, - 0x29, - 0x59, - 0x35, - 0xe7, - 0xf3, - 0xdd, - 0xce, - 0x64, - 0x59, - 0xbf, - 0x21, - 0x13, - 0xa9, - 0x9f, - 0x0e, - 0xc5, - 0xff, - 0xbd, - 0x33, - 0x00, - 0xec, - 0xac, - 0x6b, - 0x11, - 0xef, - 0x51, - 0x5e, - 0xad, - 0x07, - 0x15, - 0xde, - 0xb8, - 0x5f, - 0xc6, - 0xb9, - 0xa3, - 0x22, - 0x65, - 0x46, - 0x83, - 0x14, - 0xdf, - 0xd0, - 0xf1, - 0x44, - 0x8a, - 0xe1, - 0x9c, - 0x23, - 0x33, - 0xb4, - 0x97, - 0x33, - 0xe6, - 0x6b, - 0x81, - 0x02, - 0x81, - 0x81, - 0x00, - 0xec, - 0x12, - 0xa7, - 0x59, - 0x74, - 0x6a, - 0xde, - 0x3e, - 0xad, - 0xd8, - 0x36, - 0x80, - 0x50, - 0xa2, - 0xd5, - 0x21, - 0x81, - 0x07, - 0xf1, - 0xd0, - 0x91, - 0xf2, - 0x6c, - 0x12, - 0x2f, - 0x9d, - 0x1a, - 0x26, - 0xf8, - 0x30, - 0x65, - 0xdf, - 0xe8, - 0xc0, - 0x9b, - 0x6a, - 0x30, - 0x98, - 0x82, - 0x87, - 0xec, - 0xa2, - 0x56, - 0x87, - 0x62, - 0x6f, - 0xe7, - 0x9f, - 0xf6, - 0x56, - 0xe6, - 0x71, - 0x8f, - 0x49, - 0x86, - 0x93, - 0x5a, - 0x4d, - 0x34, - 0x58, - 0xfe, - 0xd9, - 0x04, - 0x13, - 0xaf, - 0x79, - 0xb7, - 0xad, - 0x11, - 0xd1, - 0x30, - 0x9a, - 0x14, - 0x06, - 0xa0, - 0xfa, - 0xb7, - 0x55, - 0xdc, - 0x6c, - 0x5a, - 0x4c, - 0x2c, - 0x59, - 0x56, - 0xf6, - 0xe8, - 0x9d, - 0xaf, - 0x0a, - 0x78, - 0x99, - 0x06, - 0x06, - 0x9e, - 0xe7, - 0x9c, - 0x51, - 0x55, - 0x43, - 0xfc, - 0x3b, - 0x6c, - 0x0b, - 0xbf, - 0x2d, - 0x41, - 0xa7, - 0xaf, - 0xb7, - 0xe0, - 0xe8, - 0x28, - 0x18, - 0xb4, - 0x13, - 0xd1, - 0xe6, - 0x97, - 0xd0, - 0x9f, - 0x6a, - 0x80, - 0xca, - 0xdd, - 0x1a, - 0x7e, - 0x15, - 0x02, - 0x81, - 0x81, - 0x00, - 0xd1, - 0x06, - 0x0c, - 0x1f, - 0xe3, - 0xd0, - 0xab, - 0xd6, - 0xca, - 0x7c, - 0xbc, - 0x7d, - 0x13, - 0x35, - 0xce, - 0x27, - 0xcd, - 0xd8, - 0x49, - 0x51, - 0x63, - 0x64, - 0x0f, - 0xca, - 0x06, - 0x12, - 0xfc, - 0x07, - 0x3e, - 0xaf, - 0x61, - 0x6d, - 0xe2, - 0x53, - 0x39, - 0x27, - 0xae, - 0xc3, - 0x11, - 0x9e, - 0x94, - 0x01, - 0x4f, - 0xe3, - 0xf3, - 0x67, - 0xf9, - 0x77, - 0xf9, - 0xe7, - 0x95, - 0x3a, - 0x6f, - 0xe2, - 0x20, - 0x73, - 0x3e, - 0xa4, - 0x7a, - 0x28, - 0xd4, - 0x61, - 0x97, - 0xf6, - 0x17, - 0xa0, - 0x23, - 0x10, - 0x2b, - 0xce, - 0x84, - 0x57, - 0x7e, - 0x25, - 0x1f, - 0xf4, - 0xa8, - 0x54, - 0xd2, - 0x65, - 0x94, - 0xcc, - 0x95, - 0x0a, - 0xab, - 0x30, - 0xc1, - 0x59, - 0x1f, - 0x61, - 0x8e, - 0xb9, - 0x6b, - 0xd7, - 0x4e, - 0xb9, - 0x83, - 0x43, - 0x79, - 0x85, - 0x11, - 0xbc, - 0x0f, - 0xae, - 0x25, - 0x20, - 0x05, - 0xbc, - 0xd2, - 0x48, - 0xa1, - 0x68, - 0x09, - 0x84, - 0xf6, - 0x12, - 0x9a, - 0x66, - 0xb9, - 0x2b, - 0xbb, - 0x76, - 0x03, - 0x17, - 0x46, - 0x4e, - 0x97, - 0x59, - 0x02, - 0x81, - 0x80, - 0x09, - 0x4c, - 0xfa, - 0xd6, - 0xe5, - 0x65, - 0x48, - 0x78, - 0x43, - 0xb5, - 0x1f, - 0x00, - 0x93, - 0x2c, - 0xb7, - 0x24, - 0xe8, - 0xc6, - 0x7d, - 0x5a, - 0x70, - 0x45, - 0x92, - 0xc8, - 0x6c, - 0xa3, - 0xcd, - 0xe1, - 0xf7, - 0x29, - 0x40, - 0xfa, - 0x3f, - 0x5b, - 0x47, - 0x44, - 0x39, - 0xc1, - 0xe8, - 0x72, - 0x9e, - 0x7a, - 0x0e, - 0xda, - 0xaa, - 0xa0, - 0x2a, - 0x09, - 0xfd, - 0x54, - 0x93, - 0x23, - 0xaa, - 0x37, - 0x85, - 0x5b, - 0xcc, - 0xd4, - 0xf9, - 0xd8, - 0xff, - 0xc1, - 0x61, - 0x0d, - 0xbd, - 0x7e, - 0x18, - 0x24, - 0x73, - 0x6d, - 0x40, - 0x72, - 0xf1, - 0x93, - 0x09, - 0x48, - 0x97, - 0x6c, - 0x84, - 0x90, - 0xa8, - 0x46, - 0x14, - 0x01, - 0x39, - 0x11, - 0xe5, - 0x3c, - 0x41, - 0x27, - 0x32, - 0x75, - 0x24, - 0xed, - 0xa1, - 0xd9, - 0x12, - 0x29, - 0x8a, - 0x28, - 0x71, - 0x89, - 0x8d, - 0xca, - 0x30, - 0xb0, - 0x01, - 0xc4, - 0x2f, - 0x82, - 0x19, - 0x14, - 0x4c, - 0x70, - 0x1c, - 0xb8, - 0x23, - 0x2e, - 0xe8, - 0x90, - 0x49, - 0x97, - 0x92, - 0x97, - 0x6b, - 0x7a, - 0x9d, - 0xb9, - 0x02, - 0x81, - 0x80, - 0x0f, - 0x0e, - 0xa1, - 0x76, - 0xf6, - 0xa1, - 0x44, - 0x8f, - 0xaf, - 0x7c, - 0x76, - 0xd3, - 0x87, - 0xbb, - 0xbb, - 0x83, - 0x10, - 0x88, - 0x01, - 0x18, - 0x14, - 0xd1, - 0xd3, - 0x75, - 0x59, - 0x24, - 0xaa, - 0xf5, - 0x16, - 0xa5, - 0xe9, - 0x9d, - 0xd1, - 0xcc, - 0xee, - 0xf4, - 0x15, - 0xd9, - 0xc5, - 0x7e, - 0x27, - 0xe9, - 0x44, - 0x49, - 0x06, - 0x72, - 0xb9, - 0xfc, - 0xd3, - 0x8a, - 0xc4, - 0x2c, - 0x36, - 0x7d, - 0x12, - 0x9b, - 0x5a, - 0xaa, - 0xdc, - 0x85, - 0xee, - 0x6e, - 0xad, - 0x54, - 0xb3, - 0xf4, - 0xfc, - 0x31, - 0xa1, - 0x06, - 0x3a, - 0x70, - 0x57, - 0x0c, - 0xf3, - 0x95, - 0x5b, - 0x3e, - 0xe8, - 0xfd, - 0x1a, - 0x4f, - 0xf6, - 0x78, - 0x93, - 0x46, - 0x6a, - 0xd7, - 0x31, - 0xb4, - 0x84, - 0x64, - 0x85, - 0x09, - 0x38, - 0x89, - 0x92, - 0x94, - 0x1c, - 0xbf, - 0xe2, - 0x3c, - 0x2a, - 0xe0, - 0xff, - 0x99, - 0xa3, - 0xf0, - 0x2b, - 0x31, - 0xc2, - 0x36, - 0xcd, - 0x60, - 0xbf, - 0x9d, - 0x2d, - 0x74, - 0x32, - 0xe8, - 0x9c, - 0x93, - 0x6e, - 0xbb, - 0x91, - 0x7b, - 0xfd, - 0xd9, - 0x02, - 0x81, - 0x81, - 0x00, - 0xa2, - 0x71, - 0x25, - 0x38, - 0xeb, - 0x2a, - 0xe9, - 0x37, - 0xcd, - 0xfe, - 0x44, - 0xce, - 0x90, - 0x3f, - 0x52, - 0x87, - 0x84, - 0x52, - 0x1b, - 0xae, - 0x8d, - 0x22, - 0x94, - 0xce, - 0x38, - 0xe6, - 0x04, - 0x88, - 0x76, - 0x85, - 0x9a, - 0xd3, - 0x14, - 0x09, - 0xe5, - 0x69, - 0x9a, - 0xff, - 0x58, - 0x92, - 0x02, - 0x6a, - 0x7d, - 0x7c, - 0x1e, - 0x2c, - 0xfd, - 0xa8, - 0xca, - 0x32, - 0x14, - 0x4f, - 0x0d, - 0x84, - 0x0d, - 0x37, - 0x43, - 0xbf, - 0xe4, - 0x5d, - 0x12, - 0xc8, - 0x24, - 0x91, - 0x27, - 0x8d, - 0x46, - 0xd9, - 0x54, - 0x53, - 0xe7, - 0x62, - 0x71, - 0xa8, - 0x2b, - 0x71, - 0x41, - 0x8d, - 0x75, - 0xf8, - 0x3a, - 0xa0, - 0x61, - 0x29, - 0x46, - 0xa6, - 0xe5, - 0x82, - 0xfa, - 0x3a, - 0xd9, - 0x08, - 0xfa, - 0xfc, - 0x63, - 0xfd, - 0x6b, - 0x30, - 0xbc, - 0xf4, - 0x4e, - 0x9e, - 0x8c, - 0x25, - 0x0c, - 0xb6, - 0x55, - 0xe7, - 0x3c, - 0xd4, - 0x4e, - 0x0b, - 0xfd, - 0x8b, - 0xc3, - 0x0e, - 0x1d, - 0x9c, - 0x44, - 0x57, - 0x8f, - 0x1f, - 0x86, - 0xf7, - 0xd5, - 0x1b, - 0xe4, - 0x95, + 0x30, 0x82, 0x04, 0xa3, 0x02, 0x01, 0x00, 0x02, 0x82, 0x01, + 0x01, 0x00, 0xc0, 0xc0, 0xce, 0x3e, 0x3c, 0x53, 0x67, 0x3f, + 0x4f, 0xc5, 0x2f, 0xa4, 0xc2, 0x5a, 0x2f, 0x58, 0xfd, 0x27, + 0x52, 0x6a, 0xe8, 0xcf, 0x4a, 0x73, 0x47, 0x8d, 0x25, 0x0f, + 0x5f, 0x03, 0x26, 0x78, 0xef, 0xf0, 0x22, 0x12, 0xd3, 0xde, + 0x47, 0xb2, 0x1c, 0x0b, 0x38, 0x63, 0x1a, 0x6c, 0x85, 0x7a, + 0x80, 0xc6, 0x8f, 0xa0, 0x41, 0xaf, 0x62, 0xc4, 0x67, 0x32, + 0x88, 0xf8, 0xa6, 0x9c, 0xf5, 0x23, 0x1d, 0xe4, 0xac, 0x3f, + 0x29, 0xf9, 0xec, 0xe1, 0x8b, 0x26, 0x03, 0x2c, 0xb2, 0xab, + 0xf3, 0x7d, 0xb5, 0xca, 0x49, 0xc0, 0x8f, 0x1c, 0xdf, 0x33, + 0x3a, 0x60, 0xda, 0x3c, 0xb0, 0x16, 0xf8, 0xa9, 0x12, 0x8f, + 0x64, 0xac, 0x23, 0x0c, 0x69, 0x64, 0x97, 0x5d, 0x99, 0xd4, + 0x09, 0x83, 0x9b, 0x61, 0xd3, 0xac, 0xf0, 0xde, 0xdd, 0x5e, + 0x9f, 0x44, 0x94, 0xdb, 0x3a, 0x4d, 0x97, 0xe8, 0x52, 0x29, + 0xf7, 0xdb, 0x94, 0x07, 0x45, 0x90, 0x78, 0x1e, 0x31, 0x0b, + 0x80, 0xf7, 0x57, 0xad, 0x1c, 0x79, 0xc5, 0xcb, 0x32, 0xb0, + 0xce, 0xcd, 0x74, 0xb3, 0xe2, 0x94, 0xc5, 0x78, 0x2f, 0x34, + 0x1a, 0x45, 0xf7, 0x8c, 0x52, 0xa5, 0xbc, 0x8d, 0xec, 0xd1, + 0x2f, 0x31, 0x3b, 0xf0, 0x49, 0x59, 0x5e, 0x88, 0x9d, 0x15, + 0x92, 0x35, 0x32, 0xc1, 0xe7, 0x61, 0xec, 0x50, 0x48, 0x7c, + 0xba, 0x05, 0xf9, 0xf8, 0xf8, 0xa7, 0x8c, 0x83, 0xe8, 0x66, + 0x5b, 0xeb, 0xfe, 0xd8, 0x4f, 0xdd, 0x6d, 0x36, 0xc0, 0xb2, + 0x90, 0x0f, 0xb8, 0x52, 0xf9, 0x04, 0x9b, 0x40, 0x2c, 0x27, + 0xd6, 0x36, 0x8e, 0xc2, 0x1b, 0x44, 0xf3, 0x92, 0xd5, 0x15, + 0x9e, 0x9a, 0xbc, 0xf3, 0x7d, 0x03, 0xd7, 0x02, 0x14, 0x20, + 0xe9, 0x10, 0x92, 0xfd, 0xf9, 0xfc, 0x8f, 0xe5, 0x18, 0xe1, + 0x95, 0xcc, 0x9e, 0x60, 0xa6, 0xfa, 0x38, 0x4d, 0x02, 0x03, + 0x01, 0x00, 0x01, 0x02, 0x82, 0x01, 0x00, 0x00, 0xc3, 0xc3, + 0x0d, 0xb4, 0x27, 0x90, 0x8d, 0x4b, 0xbf, 0xb8, 0x84, 0xaa, + 0xd0, 0xb8, 0xc7, 0x5d, 0x99, 0xbe, 0x55, 0xf6, 0x3e, 0x7c, + 0x49, 0x20, 0xcb, 0x8a, 0x8e, 0x19, 0x0e, 0x66, 0x24, 0xac, + 0xaf, 0x03, 0x33, 0x97, 0xeb, 0x95, 0xd5, 0x3b, 0x0f, 0x40, + 0x56, 0x04, 0x50, 0xd1, 0xe6, 0xbe, 0x84, 0x0b, 0x25, 0xd3, + 0x9c, 0xe2, 0x83, 0x6c, 0xf5, 0x62, 0x5d, 0xba, 0x2b, 0x7d, + 0x3d, 0x7a, 0x6c, 0xe1, 0xd2, 0x0e, 0x54, 0x93, 0x80, 0x01, + 0x91, 0x51, 0x09, 0xe8, 0x5b, 0x8e, 0x47, 0xbd, 0x64, 0xe4, + 0x0e, 0x03, 0x83, 0x55, 0xcf, 0x5a, 0x37, 0xf0, 0x25, 0xb5, + 0x7d, 0x21, 0xd7, 0x69, 0xdf, 0x6f, 0xc2, 0xcf, 0x10, 0xc9, + 0x8a, 0x40, 0x9f, 0x7a, 0x70, 0xc0, 0xe8, 0xe8, 0xc0, 0xe6, + 0x9a, 0x15, 0x0a, 0x8d, 0x4e, 0x46, 0xcb, 0x7a, 0xdb, 0xb3, + 0xcb, 0x83, 0x02, 0xc4, 0xf0, 0xab, 0xeb, 0x02, 0x01, 0x0e, + 0x23, 0xfc, 0x1d, 0xc4, 0xbd, 0xd4, 0xaa, 0x5d, 0x31, 0x46, + 0x99, 0xce, 0x9e, 0xf8, 0x04, 0x75, 0x10, 0x67, 0xc4, 0x53, + 0x47, 0x44, 0xfa, 0xc2, 0x25, 0x73, 0x7e, 0xd0, 0x8e, 0x59, + 0xd1, 0xb2, 0x5a, 0xf4, 0xc7, 0x18, 0x92, 0x2f, 0x39, 0xab, + 0xcd, 0xa3, 0xb5, 0xc2, 0xb9, 0xc7, 0xb9, 0x1b, 0x9f, 0x48, + 0xfa, 0x13, 0xc6, 0x98, 0x4d, 0xca, 0x84, 0x9c, 0x06, 0xca, + 0xe7, 0x89, 0x01, 0x04, 0xc4, 0x6c, 0xfd, 0x29, 0x59, 0x35, + 0xe7, 0xf3, 0xdd, 0xce, 0x64, 0x59, 0xbf, 0x21, 0x13, 0xa9, + 0x9f, 0x0e, 0xc5, 0xff, 0xbd, 0x33, 0x00, 0xec, 0xac, 0x6b, + 0x11, 0xef, 0x51, 0x5e, 0xad, 0x07, 0x15, 0xde, 0xb8, 0x5f, + 0xc6, 0xb9, 0xa3, 0x22, 0x65, 0x46, 0x83, 0x14, 0xdf, 0xd0, + 0xf1, 0x44, 0x8a, 0xe1, 0x9c, 0x23, 0x33, 0xb4, 0x97, 0x33, + 0xe6, 0x6b, 0x81, 0x02, 0x81, 0x81, 0x00, 0xec, 0x12, 0xa7, + 0x59, 0x74, 0x6a, 0xde, 0x3e, 0xad, 0xd8, 0x36, 0x80, 0x50, + 0xa2, 0xd5, 0x21, 0x81, 0x07, 0xf1, 0xd0, 0x91, 0xf2, 0x6c, + 0x12, 0x2f, 0x9d, 0x1a, 0x26, 0xf8, 0x30, 0x65, 0xdf, 0xe8, + 0xc0, 0x9b, 0x6a, 0x30, 0x98, 0x82, 0x87, 0xec, 0xa2, 0x56, + 0x87, 0x62, 0x6f, 0xe7, 0x9f, 0xf6, 0x56, 0xe6, 0x71, 0x8f, + 0x49, 0x86, 0x93, 0x5a, 0x4d, 0x34, 0x58, 0xfe, 0xd9, 0x04, + 0x13, 0xaf, 0x79, 0xb7, 0xad, 0x11, 0xd1, 0x30, 0x9a, 0x14, + 0x06, 0xa0, 0xfa, 0xb7, 0x55, 0xdc, 0x6c, 0x5a, 0x4c, 0x2c, + 0x59, 0x56, 0xf6, 0xe8, 0x9d, 0xaf, 0x0a, 0x78, 0x99, 0x06, + 0x06, 0x9e, 0xe7, 0x9c, 0x51, 0x55, 0x43, 0xfc, 0x3b, 0x6c, + 0x0b, 0xbf, 0x2d, 0x41, 0xa7, 0xaf, 0xb7, 0xe0, 0xe8, 0x28, + 0x18, 0xb4, 0x13, 0xd1, 0xe6, 0x97, 0xd0, 0x9f, 0x6a, 0x80, + 0xca, 0xdd, 0x1a, 0x7e, 0x15, 0x02, 0x81, 0x81, 0x00, 0xd1, + 0x06, 0x0c, 0x1f, 0xe3, 0xd0, 0xab, 0xd6, 0xca, 0x7c, 0xbc, + 0x7d, 0x13, 0x35, 0xce, 0x27, 0xcd, 0xd8, 0x49, 0x51, 0x63, + 0x64, 0x0f, 0xca, 0x06, 0x12, 0xfc, 0x07, 0x3e, 0xaf, 0x61, + 0x6d, 0xe2, 0x53, 0x39, 0x27, 0xae, 0xc3, 0x11, 0x9e, 0x94, + 0x01, 0x4f, 0xe3, 0xf3, 0x67, 0xf9, 0x77, 0xf9, 0xe7, 0x95, + 0x3a, 0x6f, 0xe2, 0x20, 0x73, 0x3e, 0xa4, 0x7a, 0x28, 0xd4, + 0x61, 0x97, 0xf6, 0x17, 0xa0, 0x23, 0x10, 0x2b, 0xce, 0x84, + 0x57, 0x7e, 0x25, 0x1f, 0xf4, 0xa8, 0x54, 0xd2, 0x65, 0x94, + 0xcc, 0x95, 0x0a, 0xab, 0x30, 0xc1, 0x59, 0x1f, 0x61, 0x8e, + 0xb9, 0x6b, 0xd7, 0x4e, 0xb9, 0x83, 0x43, 0x79, 0x85, 0x11, + 0xbc, 0x0f, 0xae, 0x25, 0x20, 0x05, 0xbc, 0xd2, 0x48, 0xa1, + 0x68, 0x09, 0x84, 0xf6, 0x12, 0x9a, 0x66, 0xb9, 0x2b, 0xbb, + 0x76, 0x03, 0x17, 0x46, 0x4e, 0x97, 0x59, 0x02, 0x81, 0x80, + 0x09, 0x4c, 0xfa, 0xd6, 0xe5, 0x65, 0x48, 0x78, 0x43, 0xb5, + 0x1f, 0x00, 0x93, 0x2c, 0xb7, 0x24, 0xe8, 0xc6, 0x7d, 0x5a, + 0x70, 0x45, 0x92, 0xc8, 0x6c, 0xa3, 0xcd, 0xe1, 0xf7, 0x29, + 0x40, 0xfa, 0x3f, 0x5b, 0x47, 0x44, 0x39, 0xc1, 0xe8, 0x72, + 0x9e, 0x7a, 0x0e, 0xda, 0xaa, 0xa0, 0x2a, 0x09, 0xfd, 0x54, + 0x93, 0x23, 0xaa, 0x37, 0x85, 0x5b, 0xcc, 0xd4, 0xf9, 0xd8, + 0xff, 0xc1, 0x61, 0x0d, 0xbd, 0x7e, 0x18, 0x24, 0x73, 0x6d, + 0x40, 0x72, 0xf1, 0x93, 0x09, 0x48, 0x97, 0x6c, 0x84, 0x90, + 0xa8, 0x46, 0x14, 0x01, 0x39, 0x11, 0xe5, 0x3c, 0x41, 0x27, + 0x32, 0x75, 0x24, 0xed, 0xa1, 0xd9, 0x12, 0x29, 0x8a, 0x28, + 0x71, 0x89, 0x8d, 0xca, 0x30, 0xb0, 0x01, 0xc4, 0x2f, 0x82, + 0x19, 0x14, 0x4c, 0x70, 0x1c, 0xb8, 0x23, 0x2e, 0xe8, 0x90, + 0x49, 0x97, 0x92, 0x97, 0x6b, 0x7a, 0x9d, 0xb9, 0x02, 0x81, + 0x80, 0x0f, 0x0e, 0xa1, 0x76, 0xf6, 0xa1, 0x44, 0x8f, 0xaf, + 0x7c, 0x76, 0xd3, 0x87, 0xbb, 0xbb, 0x83, 0x10, 0x88, 0x01, + 0x18, 0x14, 0xd1, 0xd3, 0x75, 0x59, 0x24, 0xaa, 0xf5, 0x16, + 0xa5, 0xe9, 0x9d, 0xd1, 0xcc, 0xee, 0xf4, 0x15, 0xd9, 0xc5, + 0x7e, 0x27, 0xe9, 0x44, 0x49, 0x06, 0x72, 0xb9, 0xfc, 0xd3, + 0x8a, 0xc4, 0x2c, 0x36, 0x7d, 0x12, 0x9b, 0x5a, 0xaa, 0xdc, + 0x85, 0xee, 0x6e, 0xad, 0x54, 0xb3, 0xf4, 0xfc, 0x31, 0xa1, + 0x06, 0x3a, 0x70, 0x57, 0x0c, 0xf3, 0x95, 0x5b, 0x3e, 0xe8, + 0xfd, 0x1a, 0x4f, 0xf6, 0x78, 0x93, 0x46, 0x6a, 0xd7, 0x31, + 0xb4, 0x84, 0x64, 0x85, 0x09, 0x38, 0x89, 0x92, 0x94, 0x1c, + 0xbf, 0xe2, 0x3c, 0x2a, 0xe0, 0xff, 0x99, 0xa3, 0xf0, 0x2b, + 0x31, 0xc2, 0x36, 0xcd, 0x60, 0xbf, 0x9d, 0x2d, 0x74, 0x32, + 0xe8, 0x9c, 0x93, 0x6e, 0xbb, 0x91, 0x7b, 0xfd, 0xd9, 0x02, + 0x81, 0x81, 0x00, 0xa2, 0x71, 0x25, 0x38, 0xeb, 0x2a, 0xe9, + 0x37, 0xcd, 0xfe, 0x44, 0xce, 0x90, 0x3f, 0x52, 0x87, 0x84, + 0x52, 0x1b, 0xae, 0x8d, 0x22, 0x94, 0xce, 0x38, 0xe6, 0x04, + 0x88, 0x76, 0x85, 0x9a, 0xd3, 0x14, 0x09, 0xe5, 0x69, 0x9a, + 0xff, 0x58, 0x92, 0x02, 0x6a, 0x7d, 0x7c, 0x1e, 0x2c, 0xfd, + 0xa8, 0xca, 0x32, 0x14, 0x4f, 0x0d, 0x84, 0x0d, 0x37, 0x43, + 0xbf, 0xe4, 0x5d, 0x12, 0xc8, 0x24, 0x91, 0x27, 0x8d, 0x46, + 0xd9, 0x54, 0x53, 0xe7, 0x62, 0x71, 0xa8, 0x2b, 0x71, 0x41, + 0x8d, 0x75, 0xf8, 0x3a, 0xa0, 0x61, 0x29, 0x46, 0xa6, 0xe5, + 0x82, 0xfa, 0x3a, 0xd9, 0x08, 0xfa, 0xfc, 0x63, 0xfd, 0x6b, + 0x30, 0xbc, 0xf4, 0x4e, 0x9e, 0x8c, 0x25, 0x0c, 0xb6, 0x55, + 0xe7, 0x3c, 0xd4, 0x4e, 0x0b, 0xfd, 0x8b, 0xc3, 0x0e, 0x1d, + 0x9c, 0x44, 0x57, 0x8f, 0x1f, 0x86, 0xf7, 0xd5, 0x1b, 0xe4, + 0x95 }; static unsigned char test3072[] = { @@ -2314,2355 +410,241 @@ static unsigned char test3072[] = { }; static unsigned char test4096[] = { - 0x30, - 0x82, - 0x09, - 0x29, - 0x02, - 0x01, - 0x00, - 0x02, - 0x82, - 0x02, - 0x01, - 0x00, - 0xc0, - 0x71, - 0xac, - 0x1a, - 0x13, - 0x88, - 0x82, - 0x43, - 0x3b, - 0x51, - 0x57, - 0x71, - 0x8d, - 0xb6, - 0x2b, - 0x82, - 0x65, - 0x21, - 0x53, - 0x5f, - 0x28, - 0x29, - 0x4f, - 0x8d, - 0x7c, - 0x8a, - 0xb9, - 0x44, - 0xb3, - 0x28, - 0x41, - 0x4f, - 0xd3, - 0xfa, - 0x6a, - 0xf8, - 0xb9, - 0x28, - 0x50, - 0x39, - 0x67, - 0x53, - 0x2c, - 0x3c, - 0xd7, - 0xcb, - 0x96, - 0x41, - 0x40, - 0x32, - 0xbb, - 0xeb, - 0x70, - 0xae, - 0x1f, - 0xb0, - 0x65, - 0xf7, - 0x3a, - 0xd9, - 0x22, - 0xfd, - 0x10, - 0xae, - 0xbd, - 0x02, - 0xe2, - 0xdd, - 0xf3, - 0xc2, - 0x79, - 0x3c, - 0xc6, - 0xfc, - 0x75, - 0xbb, - 0xaf, - 0x4e, - 0x3a, - 0x36, - 0xc2, - 0x4f, - 0xea, - 0x25, - 0xdf, - 0x13, - 0x16, - 0x4b, - 0x20, - 0xfe, - 0x4b, - 0x69, - 0x16, - 0xc4, - 0x7f, - 0x1a, - 0x43, - 0xa6, - 0x17, - 0x1b, - 0xb9, - 0x0a, - 0xf3, - 0x09, - 0x86, - 0x28, - 0x89, - 0xcf, - 0x2c, - 0xd0, - 0xd4, - 0x81, - 0xaf, - 0xc6, - 0x6d, - 0xe6, - 0x21, - 0x8d, - 0xee, - 0xef, - 0xea, - 0xdc, - 0xb7, - 0xc6, - 0x3b, - 0x63, - 0x9f, - 0x0e, - 0xad, - 0x89, - 0x78, - 0x23, - 0x18, - 0xbf, - 0x70, - 0x7e, - 0x84, - 0xe0, - 0x37, - 0xec, - 0xdb, - 0x8e, - 0x9c, - 0x3e, - 0x6a, - 0x19, - 0xcc, - 0x99, - 0x72, - 0xe6, - 0xb5, - 0x7d, - 0x6d, - 0xfa, - 0xe5, - 0xd3, - 0xe4, - 0x90, - 0xb5, - 0xb2, - 0xb2, - 0x12, - 0x70, - 0x4e, - 0xca, - 0xf8, - 0x10, - 0xf8, - 0xa3, - 0x14, - 0xc2, - 0x48, - 0x19, - 0xeb, - 0x60, - 0x99, - 0xbb, - 0x2a, - 0x1f, - 0xb1, - 0x7a, - 0xb1, - 0x3d, - 0x24, - 0xfb, - 0xa0, - 0x29, - 0xda, - 0xbd, - 0x1b, - 0xd7, - 0xa4, - 0xbf, - 0xef, - 0x60, - 0x2d, - 0x22, - 0xca, - 0x65, - 0x98, - 0xf1, - 0xc4, - 0xe1, - 0xc9, - 0x02, - 0x6b, - 0x16, - 0x28, - 0x2f, - 0xa1, - 0xaa, - 0x79, - 0x00, - 0xda, - 0xdc, - 0x7c, - 0x43, - 0xf7, - 0x42, - 0x3c, - 0xa0, - 0xef, - 0x68, - 0xf7, - 0xdf, - 0xb9, - 0x69, - 0xfb, - 0x8e, - 0x01, - 0xed, - 0x01, - 0x42, - 0xb5, - 0x4e, - 0x57, - 0xa6, - 0x26, - 0xb8, - 0xd0, - 0x7b, - 0x56, - 0x6d, - 0x03, - 0xc6, - 0x40, - 0x8c, - 0x8c, - 0x2a, - 0x55, - 0xd7, - 0x9c, - 0x35, - 0x00, - 0x94, - 0x93, - 0xec, - 0x03, - 0xeb, - 0x22, - 0xef, - 0x77, - 0xbb, - 0x79, - 0x13, - 0x3f, - 0x15, - 0xa1, - 0x8f, - 0xca, - 0xdf, - 0xfd, - 0xd3, - 0xb8, - 0xe1, - 0xd4, - 0xcc, - 0x09, - 0x3f, - 0x3c, - 0x2c, - 0xdb, - 0xd1, - 0x49, - 0x7f, - 0x38, - 0x07, - 0x83, - 0x6d, - 0xeb, - 0x08, - 0x66, - 0xe9, - 0x06, - 0x44, - 0x12, - 0xac, - 0x95, - 0x22, - 0x90, - 0x23, - 0x67, - 0xd4, - 0x08, - 0xcc, - 0xf4, - 0xb7, - 0xdc, - 0xcc, - 0x87, - 0xd4, - 0xac, - 0x69, - 0x35, - 0x4c, - 0xb5, - 0x39, - 0x36, - 0xcd, - 0xa4, - 0xd2, - 0x95, - 0xca, - 0x0d, - 0xc5, - 0xda, - 0xc2, - 0xc5, - 0x22, - 0x32, - 0x28, - 0x08, - 0xe3, - 0xd2, - 0x8b, - 0x38, - 0x30, - 0xdc, - 0x8c, - 0x75, - 0x4f, - 0x6a, - 0xec, - 0x7a, - 0xac, - 0x16, - 0x3e, - 0xa8, - 0xd4, - 0x6a, - 0x45, - 0xe1, - 0xa8, - 0x4f, - 0x2e, - 0x80, - 0x34, - 0xaa, - 0x54, - 0x1b, - 0x02, - 0x95, - 0x7d, - 0x8a, - 0x6d, - 0xcc, - 0x79, - 0xca, - 0xf2, - 0xa4, - 0x2e, - 0x8d, - 0xfb, - 0xfe, - 0x15, - 0x51, - 0x10, - 0x0e, - 0x4d, - 0x88, - 0xb1, - 0xc7, - 0xf4, - 0x79, - 0xdb, - 0xf0, - 0xb4, - 0x56, - 0x44, - 0x37, - 0xca, - 0x5a, - 0xc1, - 0x8c, - 0x48, - 0xac, - 0xae, - 0x48, - 0x80, - 0x83, - 0x01, - 0x3f, - 0xde, - 0xd9, - 0xd3, - 0x2c, - 0x51, - 0x46, - 0xb1, - 0x41, - 0xb6, - 0xc6, - 0x91, - 0x72, - 0xf9, - 0x83, - 0x55, - 0x1b, - 0x8c, - 0xba, - 0xf3, - 0x73, - 0xe5, - 0x2c, - 0x74, - 0x50, - 0x3a, - 0xbe, - 0xc5, - 0x2f, - 0xa7, - 0xb2, - 0x6d, - 0x8c, - 0x9e, - 0x13, - 0x77, - 0xa3, - 0x13, - 0xcd, - 0x6d, - 0x8c, - 0x45, - 0xe1, - 0xfc, - 0x0b, - 0xb7, - 0x69, - 0xe9, - 0x27, - 0xbc, - 0x65, - 0xc3, - 0xfa, - 0x9b, - 0xd0, - 0xef, - 0xfe, - 0xe8, - 0x1f, - 0xb3, - 0x5e, - 0x34, - 0xf4, - 0x8c, - 0xea, - 0xfc, - 0xd3, - 0x81, - 0xbf, - 0x3d, - 0x30, - 0xb2, - 0xb4, - 0x01, - 0xe8, - 0x43, - 0x0f, - 0xba, - 0x02, - 0x23, - 0x42, - 0x76, - 0x82, - 0x31, - 0x73, - 0x91, - 0xed, - 0x07, - 0x46, - 0x61, - 0x0d, - 0x39, - 0x83, - 0x40, - 0xce, - 0x7a, - 0xd4, - 0xdb, - 0x80, - 0x2c, - 0x1f, - 0x0d, - 0xd1, - 0x34, - 0xd4, - 0x92, - 0xe3, - 0xd4, - 0xf1, - 0xc2, - 0x01, - 0x02, - 0x03, - 0x01, - 0x00, - 0x01, - 0x02, - 0x82, - 0x02, - 0x01, - 0x00, - 0x97, - 0x6c, - 0xda, - 0x6e, - 0xea, - 0x4f, - 0xcf, - 0xaf, - 0xf7, - 0x4c, - 0xd9, - 0xf1, - 0x90, - 0x00, - 0x77, - 0xdb, - 0xf2, - 0x97, - 0x76, - 0x72, - 0xb9, - 0xb7, - 0x47, - 0xd1, - 0x9c, - 0xdd, - 0xcb, - 0x4a, - 0x33, - 0x6e, - 0xc9, - 0x75, - 0x76, - 0xe6, - 0xe4, - 0xa5, - 0x31, - 0x8c, - 0x77, - 0x13, - 0xb4, - 0x29, - 0xcd, - 0xf5, - 0x52, - 0x17, - 0xef, - 0xf3, - 0x08, - 0x00, - 0xe3, - 0xbd, - 0x2e, - 0xbc, - 0xd4, - 0x52, - 0x88, - 0xe9, - 0x30, - 0x75, - 0x0b, - 0x02, - 0xf5, - 0xcd, - 0x89, - 0x0c, - 0x6c, - 0x57, - 0x19, - 0x27, - 0x3d, - 0x1e, - 0x85, - 0xb4, - 0xc1, - 0x2f, - 0x1d, - 0x92, - 0x00, - 0x5c, - 0x76, - 0x29, - 0x4b, - 0xa4, - 0xe1, - 0x12, - 0xb3, - 0xc8, - 0x09, - 0xfe, - 0x0e, - 0x78, - 0x72, - 0x61, - 0xcb, - 0x61, - 0x6f, - 0x39, - 0x91, - 0x95, - 0x4e, - 0xd5, - 0x3e, - 0xc7, - 0x8f, - 0xb8, - 0xf6, - 0x36, - 0xfe, - 0x9c, - 0x93, - 0x9a, - 0x38, - 0x25, - 0x7a, - 0xf4, - 0x4a, - 0x12, - 0xd4, - 0xa0, - 0x13, - 0xbd, - 0xf9, - 0x1d, - 0x12, - 0x3e, - 0x21, - 0x39, - 0xfb, - 0x72, - 0xe0, - 0x05, - 0x3d, - 0xc3, - 0xe5, - 0x50, - 0xa8, - 0x5d, - 0x85, - 0xa3, - 0xea, - 0x5f, - 0x1c, - 0xb2, - 0x3f, - 0xea, - 0x6d, - 0x03, - 0x91, - 0x55, - 0xd8, - 0x19, - 0x0a, - 0x21, - 0x12, - 0x16, - 0xd9, - 0x12, - 0xc4, - 0xe6, - 0x07, - 0x18, - 0x5b, - 0x26, - 0xa4, - 0xae, - 0xed, - 0x2b, - 0xb7, - 0xa6, - 0xed, - 0xf8, - 0xad, - 0xec, - 0x77, - 0xe6, - 0x7f, - 0x4f, - 0x76, - 0x00, - 0xc0, - 0xfa, - 0x15, - 0x92, - 0xb4, - 0x2c, - 0x22, - 0xc2, - 0xeb, - 0x6a, - 0xad, - 0x14, - 0x05, - 0xb2, - 0xe5, - 0x8a, - 0x9e, - 0x85, - 0x83, - 0xcc, - 0x04, - 0xf1, - 0x56, - 0x78, - 0x44, - 0x5e, - 0xde, - 0xe0, - 0x60, - 0x1a, - 0x65, - 0x79, - 0x31, - 0x23, - 0x05, - 0xbb, - 0x01, - 0xff, - 0xdd, - 0x2e, - 0xb7, - 0xb3, - 0xaa, - 0x74, - 0xe0, - 0xa5, - 0x94, - 0xaf, - 0x4b, - 0xde, - 0x58, - 0x0f, - 0x55, - 0xde, - 0x33, - 0xf6, - 0xe3, - 0xd6, - 0x34, - 0x36, - 0x57, - 0xd6, - 0x79, - 0x91, - 0x2e, - 0xbe, - 0x3b, - 0xd9, - 0x4e, - 0xb6, - 0x9d, - 0x21, - 0x5c, - 0xd3, - 0x48, - 0x14, - 0x7f, - 0x4a, - 0xc4, - 0x60, - 0xa9, - 0x29, - 0xf8, - 0x53, - 0x7f, - 0x88, - 0x11, - 0x2d, - 0xb5, - 0xc5, - 0x2d, - 0x6f, - 0xee, - 0x85, - 0x0b, - 0xf7, - 0x8d, - 0x9a, - 0xbe, - 0xb0, - 0x42, - 0xf2, - 0x2e, - 0x71, - 0xaf, - 0x19, - 0x31, - 0x6d, - 0xec, - 0xcd, - 0x6f, - 0x2b, - 0x23, - 0xdf, - 0xb4, - 0x40, - 0xaf, - 0x2c, - 0x0a, - 0xc3, - 0x1b, - 0x7d, - 0x7d, - 0x03, - 0x1d, - 0x4b, - 0xf3, - 0xb5, - 0xe0, - 0x85, - 0xd8, - 0xdf, - 0x91, - 0x6b, - 0x0a, - 0x69, - 0xf7, - 0xf2, - 0x69, - 0x66, - 0x5b, - 0xf1, - 0xcf, - 0x46, - 0x7d, - 0xe9, - 0x70, - 0xfa, - 0x6d, - 0x7e, - 0x75, - 0x4e, - 0xa9, - 0x77, - 0xe6, - 0x8c, - 0x02, - 0xf7, - 0x14, - 0x4d, - 0xa5, - 0x41, - 0x8f, - 0x3f, - 0xc1, - 0x62, - 0x1e, - 0x71, - 0x5e, - 0x38, - 0xb4, - 0xd6, - 0xe6, - 0xe1, - 0x4b, - 0xc2, - 0x2c, - 0x30, - 0x83, - 0x81, - 0x6f, - 0x49, - 0x2e, - 0x96, - 0xe6, - 0xc9, - 0x9a, - 0xf7, - 0x5d, - 0x09, - 0xa0, - 0x55, - 0x02, - 0xa5, - 0x3a, - 0x25, - 0x23, - 0xd0, - 0x92, - 0xc3, - 0xa3, - 0xe3, - 0x0e, - 0x12, - 0x2f, - 0x4d, - 0xef, - 0xf3, - 0x55, - 0x5a, - 0xbe, - 0xe6, - 0x19, - 0x86, - 0x31, - 0xab, - 0x75, - 0x9a, - 0xd3, - 0xf0, - 0x2c, - 0xc5, - 0x41, - 0x92, - 0xd9, - 0x1f, - 0x5f, - 0x11, - 0x8c, - 0x75, - 0x1c, - 0x63, - 0xd0, - 0x02, - 0x80, - 0x2c, - 0x68, - 0xcb, - 0x93, - 0xfb, - 0x51, - 0x73, - 0x49, - 0xb4, - 0x60, - 0xda, - 0xe2, - 0x26, - 0xaf, - 0xa9, - 0x46, - 0x12, - 0xb8, - 0xec, - 0x50, - 0xdd, - 0x12, - 0x06, - 0x5f, - 0xce, - 0x59, - 0xe6, - 0xf6, - 0x1c, - 0xe0, - 0x54, - 0x10, - 0xad, - 0xf6, - 0xcd, - 0x98, - 0xcc, - 0x0f, - 0xfb, - 0xcb, - 0x41, - 0x14, - 0x9d, - 0xed, - 0xe4, - 0xb4, - 0x74, - 0x5f, - 0x09, - 0x60, - 0xc7, - 0x12, - 0xf6, - 0x7b, - 0x3c, - 0x8f, - 0xa7, - 0x20, - 0xbc, - 0xe4, - 0xb1, - 0xef, - 0xeb, - 0xa4, - 0x93, - 0xc5, - 0x06, - 0xca, - 0x9a, - 0x27, - 0x9d, - 0x87, - 0xf3, - 0xde, - 0xca, - 0xe5, - 0xe7, - 0xf6, - 0x1c, - 0x01, - 0x65, - 0x5b, - 0xfb, - 0x19, - 0x79, - 0x6e, - 0x08, - 0x26, - 0xc5, - 0xc8, - 0x28, - 0x0e, - 0xb6, - 0x3b, - 0x07, - 0x08, - 0xc1, - 0x02, - 0x82, - 0x01, - 0x01, - 0x00, - 0xe8, - 0x1c, - 0x73, - 0xa6, - 0xb8, - 0xe0, - 0x0e, - 0x6d, - 0x8d, - 0x1b, - 0xb9, - 0x53, - 0xed, - 0x58, - 0x94, - 0xe6, - 0x1d, - 0x60, - 0x14, - 0x5c, - 0x76, - 0x43, - 0xc4, - 0x58, - 0x19, - 0xc4, - 0x24, - 0xe8, - 0xbc, - 0x1b, - 0x3b, - 0x0b, - 0x13, - 0x24, - 0x45, - 0x54, - 0x0e, - 0xcc, - 0x37, - 0xf0, - 0xe0, - 0x63, - 0x7d, - 0xc3, - 0xf7, - 0xfb, - 0x81, - 0x74, - 0x81, - 0xc4, - 0x0f, - 0x1a, - 0x21, - 0x48, - 0xaf, - 0xce, - 0xc1, - 0xc4, - 0x94, - 0x18, - 0x06, - 0x44, - 0x8d, - 0xd3, - 0xd2, - 0x22, - 0x2d, - 0x2d, - 0x3e, - 0x5a, - 0x31, - 0xdc, - 0x95, - 0x8e, - 0xf4, - 0x41, - 0xfc, - 0x58, - 0xc9, - 0x40, - 0x92, - 0x17, - 0x5f, - 0xe3, - 0xda, - 0xac, - 0x9e, - 0x3f, - 0x1c, - 0x2a, - 0x6b, - 0x58, - 0x5f, - 0x48, - 0x78, - 0x20, - 0xb1, - 0xaf, - 0x24, - 0x9b, - 0x3c, - 0x20, - 0x8b, - 0x93, - 0x25, - 0x9e, - 0xe6, - 0x6b, - 0xbc, - 0x13, - 0x42, - 0x14, - 0x6c, - 0x36, - 0x31, - 0xff, - 0x7a, - 0xd1, - 0xc1, - 0x1a, - 0x26, - 0x14, - 0x7f, - 0xa9, - 0x76, - 0xa7, - 0x0c, - 0xf8, - 0xcc, - 0xed, - 0x07, - 0x6a, - 0xd2, - 0xdf, - 0x62, - 0xee, - 0x0a, - 0x7c, - 0x84, - 0xcb, - 0x49, - 0x90, - 0xb2, - 0x03, - 0x0d, - 0xa2, - 0x82, - 0x06, - 0x77, - 0xf1, - 0xcd, - 0x67, - 0xf2, - 0x47, - 0x21, - 0x02, - 0x3f, - 0x43, - 0x21, - 0xf0, - 0x46, - 0x30, - 0x62, - 0x51, - 0x72, - 0xb1, - 0xe7, - 0x48, - 0xc6, - 0x67, - 0x12, - 0xcd, - 0x9e, - 0xd6, - 0x15, - 0xe5, - 0x21, - 0xed, - 0xfa, - 0x8f, - 0x30, - 0xa6, - 0x41, - 0xfe, - 0xb6, - 0xfa, - 0x8f, - 0x34, - 0x14, - 0x19, - 0xe8, - 0x11, - 0xf7, - 0xa5, - 0x77, - 0x3e, - 0xb7, - 0xf9, - 0x39, - 0x07, - 0x8c, - 0x67, - 0x2a, - 0xab, - 0x7b, - 0x08, - 0xf8, - 0xb0, - 0x06, - 0xa8, - 0xea, - 0x2f, - 0x8f, - 0xfa, - 0xcc, - 0xcc, - 0x40, - 0xce, - 0xf3, - 0x70, - 0x4f, - 0x3f, - 0x7f, - 0xe2, - 0x0c, - 0xea, - 0x76, - 0x4a, - 0x35, - 0x4e, - 0x47, - 0xad, - 0x2b, - 0xa7, - 0x97, - 0x5d, - 0x74, - 0x43, - 0x97, - 0x90, - 0xd2, - 0xfb, - 0xd9, - 0xf9, - 0x96, - 0x01, - 0x33, - 0x05, - 0xed, - 0x7b, - 0x03, - 0x05, - 0xad, - 0xf8, - 0x49, - 0x03, - 0x02, - 0x82, - 0x01, - 0x01, - 0x00, - 0xd4, - 0x40, - 0x17, - 0x66, - 0x10, - 0x92, - 0x95, - 0xc8, - 0xec, - 0x62, - 0xa9, - 0x7a, - 0xcb, - 0x93, - 0x8e, - 0xe6, - 0x53, - 0xd4, - 0x80, - 0x48, - 0x27, - 0x4b, - 0x41, - 0xce, - 0x61, - 0xdf, - 0xbf, - 0x94, - 0xa4, - 0x3d, - 0x71, - 0x03, - 0x0b, - 0xed, - 0x25, - 0x71, - 0x98, - 0xa4, - 0xd6, - 0xd5, - 0x4a, - 0x57, - 0xf5, - 0x6c, - 0x1b, - 0xda, - 0x21, - 0x7d, - 0x35, - 0x45, - 0xb3, - 0xf3, - 0x6a, - 0xd9, - 0xd3, - 0x43, - 0xe8, - 0x5c, - 0x54, - 0x1c, - 0x83, - 0x1b, - 0xb4, - 0x5f, - 0xf2, - 0x97, - 0x24, - 0x2e, - 0xdc, - 0x40, - 0xde, - 0x92, - 0x23, - 0x59, - 0x8e, - 0xbc, - 0xd2, - 0xa1, - 0xf2, - 0xe0, - 0x4c, - 0xdd, - 0x0b, - 0xd1, - 0xe7, - 0xae, - 0x65, - 0xbc, - 0xb5, - 0xf5, - 0x5b, - 0x98, - 0xe9, - 0xd7, - 0xc2, - 0xb7, - 0x0e, - 0x55, - 0x71, - 0x0e, - 0x3c, - 0x0a, - 0x24, - 0x6b, - 0xa6, - 0xe6, - 0x14, - 0x61, - 0x11, - 0xfd, - 0x33, - 0x42, - 0x99, - 0x2b, - 0x84, - 0x77, - 0x74, - 0x92, - 0x91, - 0xf5, - 0x79, - 0x79, - 0xcf, - 0xad, - 0x8e, - 0x04, - 0xef, - 0x80, - 0x1e, - 0x57, - 0xf4, - 0x14, - 0xf5, - 0x35, - 0x09, - 0x74, - 0xb2, - 0x13, - 0x71, - 0x58, - 0x6b, - 0xea, - 0x32, - 0x5d, - 0xf3, - 0xd3, - 0x76, - 0x48, - 0x39, - 0x10, - 0x23, - 0x84, - 0x9d, - 0xbe, - 0x92, - 0x77, - 0x4a, - 0xed, - 0x70, - 0x3e, - 0x1a, - 0xa2, - 0x6c, - 0xb3, - 0x81, - 0x00, - 0xc3, - 0xc9, - 0xe4, - 0x52, - 0xc8, - 0x24, - 0x88, - 0x0c, - 0x41, - 0xad, - 0x87, - 0x5a, - 0xea, - 0xa3, - 0x7a, - 0x85, - 0x1c, - 0x5e, - 0x31, - 0x7f, - 0xc3, - 0x35, - 0xc6, - 0xfa, - 0x10, - 0xc8, - 0x75, - 0x10, - 0xc4, - 0x96, - 0x99, - 0xe7, - 0xfe, - 0x01, - 0xb4, - 0x74, - 0xdb, - 0xb4, - 0x11, - 0xc3, - 0xc8, - 0x8c, - 0xf6, - 0xf7, - 0x3b, - 0x66, - 0x50, - 0xfc, - 0xdb, - 0xeb, - 0xca, - 0x47, - 0x85, - 0x89, - 0xe1, - 0x65, - 0xd9, - 0x62, - 0x34, - 0x3c, - 0x70, - 0xd8, - 0x2e, - 0xb4, - 0x2f, - 0x65, - 0x3c, - 0x4a, - 0xa6, - 0x2a, - 0xe7, - 0xc7, - 0xd8, - 0x41, - 0x8f, - 0x8a, - 0x43, - 0xbf, - 0x42, - 0xf2, - 0x4d, - 0xbc, - 0xfc, - 0x9e, - 0x27, - 0x95, - 0xfb, - 0x75, - 0xff, - 0xab, - 0x02, - 0x82, - 0x01, - 0x00, - 0x41, - 0x2f, - 0x44, - 0x57, - 0x6d, - 0x12, - 0x17, - 0x5b, - 0x32, - 0xc6, - 0xb7, - 0x6c, - 0x57, - 0x7a, - 0x8a, - 0x0e, - 0x79, - 0xef, - 0x72, - 0xa8, - 0x68, - 0xda, - 0x2d, - 0x38, - 0xe4, - 0xbb, - 0x8d, - 0xf6, - 0x02, - 0x65, - 0xcf, - 0x56, - 0x13, - 0xe1, - 0x1a, - 0xcb, - 0x39, - 0x80, - 0xa6, - 0xb1, - 0x32, - 0x03, - 0x1e, - 0xdd, - 0xbb, - 0x35, - 0xd9, - 0xac, - 0x43, - 0x89, - 0x31, - 0x08, - 0x90, - 0x92, - 0x5e, - 0x35, - 0x3d, - 0x7b, - 0x9c, - 0x6f, - 0x86, - 0xcb, - 0x17, - 0xdd, - 0x85, - 0xe4, - 0xed, - 0x35, - 0x08, - 0x8e, - 0xc1, - 0xf4, - 0x05, - 0xd8, - 0x68, - 0xc6, - 0x63, - 0x3c, - 0xf7, - 0xff, - 0xf7, - 0x47, - 0x33, - 0x39, - 0xc5, - 0x3e, - 0xb7, - 0x0e, - 0x58, - 0x35, - 0x9d, - 0x81, - 0xea, - 0xf8, - 0x6a, - 0x2c, - 0x1c, - 0x5a, - 0x68, - 0x78, - 0x64, - 0x11, - 0x6b, - 0xc1, - 0x3e, - 0x4e, - 0x7a, - 0xbd, - 0x84, - 0xcb, - 0x0f, - 0xc2, - 0xb6, - 0x85, - 0x1d, - 0xd3, - 0x76, - 0xc5, - 0x93, - 0x6a, - 0x69, - 0x89, - 0x56, - 0x34, - 0xdc, - 0x4a, - 0x9b, - 0xbc, - 0xff, - 0xa8, - 0x0d, - 0x6e, - 0x35, - 0x9c, - 0x60, - 0xa7, - 0x23, - 0x30, - 0xc7, - 0x06, - 0x64, - 0x39, - 0x8b, - 0x94, - 0x89, - 0xee, - 0xba, - 0x7f, - 0x60, - 0x8d, - 0xfa, - 0xb6, - 0x97, - 0x76, - 0xdc, - 0x51, - 0x4a, - 0x3c, - 0xeb, - 0x3a, - 0x14, - 0x2c, - 0x20, - 0x60, - 0x69, - 0x4a, - 0x86, - 0xfe, - 0x8c, - 0x21, - 0x84, - 0x49, - 0x54, - 0xb3, - 0x20, - 0xe1, - 0x01, - 0x7f, - 0x58, - 0xdf, - 0x7f, - 0xb5, - 0x21, - 0x51, - 0x8c, - 0x47, - 0x9f, - 0x91, - 0xeb, - 0x97, - 0x3e, - 0xf2, - 0x54, - 0xcf, - 0x16, - 0x46, - 0xf9, - 0xd9, - 0xb6, - 0xe7, - 0x64, - 0xc9, - 0xd0, - 0x54, - 0xea, - 0x2f, - 0xa1, - 0xcf, - 0xa5, - 0x7f, - 0x28, - 0x8d, - 0x84, - 0xec, - 0xd5, - 0x39, - 0x03, - 0x76, - 0x5b, - 0x2d, - 0x8e, - 0x43, - 0xf2, - 0x01, - 0x24, - 0xc9, - 0x6f, - 0xc0, - 0xf5, - 0x69, - 0x6f, - 0x7d, - 0xb5, - 0x85, - 0xd2, - 0x5f, - 0x7f, - 0x78, - 0x40, - 0x07, - 0x7f, - 0x09, - 0x15, - 0xb5, - 0x1f, - 0x28, - 0x65, - 0x10, - 0xe4, - 0x19, - 0xa8, - 0xc6, - 0x9e, - 0x8d, - 0xdc, - 0xcb, - 0x02, - 0x82, - 0x01, - 0x00, - 0x13, - 0x01, - 0xee, - 0x56, - 0x80, - 0x93, - 0x70, - 0x00, - 0x7f, - 0x52, - 0xd2, - 0x94, - 0xa1, - 0x98, - 0x84, - 0x4a, - 0x92, - 0x25, - 0x4c, - 0x9b, - 0xa9, - 0x91, - 0x2e, - 0xc2, - 0x79, - 0xb7, - 0x5c, - 0xe3, - 0xc5, - 0xd5, - 0x8e, - 0xc2, - 0x54, - 0x16, - 0x17, - 0xad, - 0x55, - 0x9b, - 0x25, - 0x76, - 0x12, - 0x63, - 0x50, - 0x22, - 0x2f, - 0x58, - 0x58, - 0x79, - 0x6b, - 0x04, - 0xe3, - 0xf9, - 0x9f, - 0x8f, - 0x04, - 0x41, - 0x67, - 0x94, - 0xa5, - 0x1f, - 0xac, - 0x8a, - 0x15, - 0x9c, - 0x26, - 0x10, - 0x6c, - 0xf8, - 0x19, - 0x57, - 0x61, - 0xd7, - 0x3a, - 0x7d, - 0x31, - 0xb0, - 0x2d, - 0x38, - 0xbd, - 0x94, - 0x62, - 0xad, - 0xc4, - 0xfa, - 0x36, - 0x42, - 0x42, - 0xf0, - 0x24, - 0x67, - 0x65, - 0x9d, - 0x8b, - 0x0b, - 0x7c, - 0x6f, - 0x82, - 0x44, - 0x1a, - 0x8c, - 0xc8, - 0xc9, - 0xab, - 0xbb, - 0x4c, - 0x45, - 0xfc, - 0x7b, - 0x38, - 0xee, - 0x30, - 0xe1, - 0xfc, - 0xef, - 0x8d, - 0xbc, - 0x58, - 0xdf, - 0x2b, - 0x5d, - 0x0d, - 0x54, - 0xe0, - 0x49, - 0x4d, - 0x97, - 0x99, - 0x8f, - 0x22, - 0xa8, - 0x83, - 0xbe, - 0x40, - 0xbb, - 0x50, - 0x2e, - 0x78, - 0x28, - 0x0f, - 0x95, - 0x78, - 0x8c, - 0x8f, - 0x98, - 0x24, - 0x56, - 0xc2, - 0x97, - 0xf3, - 0x2c, - 0x43, - 0xd2, - 0x03, - 0x82, - 0x66, - 0x81, - 0x72, - 0x5f, - 0x53, - 0x16, - 0xec, - 0xb1, - 0xb1, - 0x04, - 0x5e, - 0x40, - 0x20, - 0x48, - 0x7b, - 0x3f, - 0x02, - 0x97, - 0x6a, - 0xeb, - 0x96, - 0x12, - 0x21, - 0x35, - 0xfe, - 0x1f, - 0x47, - 0xc0, - 0x95, - 0xea, - 0xc5, - 0x8a, - 0x08, - 0x84, - 0x4f, - 0x5e, - 0x63, - 0x94, - 0x60, - 0x0f, - 0x71, - 0x5b, - 0x7f, - 0x4a, - 0xec, - 0x4f, - 0x60, - 0xc6, - 0xba, - 0x4a, - 0x24, - 0xf1, - 0x20, - 0x8b, - 0xa7, - 0x2e, - 0x3a, - 0xce, - 0x8d, - 0xe0, - 0x27, - 0x1d, - 0xb5, - 0x8e, - 0xb4, - 0x21, - 0xc5, - 0xe2, - 0xa6, - 0x16, - 0x0a, - 0x51, - 0x83, - 0x55, - 0x88, - 0xd1, - 0x30, - 0x11, - 0x63, - 0xd5, - 0xd7, - 0x8d, - 0xae, - 0x16, - 0x12, - 0x82, - 0xc4, - 0x85, - 0x00, - 0x4e, - 0x27, - 0x83, - 0xa5, - 0x7c, - 0x90, - 0x2e, - 0xe5, - 0xa2, - 0xa3, - 0xd3, - 0x4c, - 0x63, - 0x02, - 0x82, - 0x01, - 0x01, - 0x00, - 0x86, - 0x08, - 0x98, - 0x98, - 0xa5, - 0x00, - 0x05, - 0x39, - 0x77, - 0xd9, - 0x66, - 0xb3, - 0xcf, - 0xca, - 0xa0, - 0x71, - 0xb3, - 0x50, - 0xce, - 0x3d, - 0xb1, - 0x93, - 0x95, - 0x35, - 0xc4, - 0xd4, - 0x2e, - 0x90, - 0xdf, - 0x0f, - 0xfc, - 0x60, - 0xc1, - 0x94, - 0x68, - 0x61, - 0x43, - 0xca, - 0x9a, - 0x23, - 0x4a, - 0x1e, - 0x45, - 0x72, - 0x99, - 0xb5, - 0x1e, - 0x61, - 0x8d, - 0x77, - 0x0f, - 0xa0, - 0xbb, - 0xd7, - 0x77, - 0xb4, - 0x2a, - 0x15, - 0x11, - 0x88, - 0x2d, - 0xb3, - 0x56, - 0x61, - 0x5e, - 0x6a, - 0xed, - 0xa4, - 0x46, - 0x4a, - 0x3f, - 0x50, - 0x11, - 0xd6, - 0xba, - 0xb6, - 0xd7, - 0x95, - 0x65, - 0x53, - 0xc3, - 0xa1, - 0x8f, - 0xe0, - 0xa3, - 0xf5, - 0x1c, - 0xfd, - 0xaf, - 0x6e, - 0x43, - 0xd7, - 0x17, - 0xa7, - 0xd3, - 0x81, - 0x1b, - 0xa4, - 0xdf, - 0xe0, - 0x97, - 0x8a, - 0x46, - 0x03, - 0xd3, - 0x46, - 0x0e, - 0x83, - 0x48, - 0x4e, - 0xd2, - 0x02, - 0xcb, - 0xc0, - 0xad, - 0x79, - 0x95, - 0x8c, - 0x96, - 0xba, - 0x40, - 0x34, - 0x11, - 0x71, - 0x5e, - 0xe9, - 0x11, - 0xf9, - 0xc5, - 0x4a, - 0x5e, - 0x91, - 0x9d, - 0xf5, - 0x92, - 0x4f, - 0xeb, - 0xc6, - 0x70, - 0x02, - 0x2d, - 0x3d, - 0x04, - 0xaa, - 0xe9, - 0x3a, - 0x8e, - 0xd5, - 0xa8, - 0xad, - 0xf7, - 0xce, - 0x0d, - 0x16, - 0xb2, - 0xec, - 0x0a, - 0x9c, - 0xf5, - 0x94, - 0x39, - 0xb9, - 0x8a, - 0xfc, - 0x1e, - 0xf9, - 0xcc, - 0xf2, - 0x5f, - 0x21, - 0x31, - 0x74, - 0x72, - 0x6b, - 0x64, - 0xae, - 0x35, - 0x61, - 0x8d, - 0x0d, - 0xcb, - 0xe7, - 0xda, - 0x39, - 0xca, - 0xf3, - 0x21, - 0x66, - 0x0b, - 0x95, - 0xd7, - 0x0a, - 0x7c, - 0xca, - 0xa1, - 0xa9, - 0x5a, - 0xe8, - 0xac, - 0xe0, - 0x71, - 0x54, - 0xaf, - 0x28, - 0xcf, - 0xd5, - 0x70, - 0x89, - 0xe0, - 0xf3, - 0x9e, - 0x43, - 0x6c, - 0x8d, - 0x7b, - 0x99, - 0x01, - 0x68, - 0x4d, - 0xa1, - 0x45, - 0x46, - 0x0c, - 0x43, - 0xbc, - 0xcc, - 0x2c, - 0xdd, - 0xc5, - 0x46, - 0xc8, - 0x4e, - 0x0e, - 0xbe, - 0xed, - 0xb9, - 0x26, - 0xab, - 0x2e, - 0xdb, - 0xeb, - 0x8f, - 0xff, - 0xdb, - 0xb0, - 0xc6, - 0x55, - 0xaf, - 0xf8, - 0x2a, - 0x91, - 0x9d, - 0x50, - 0x44, - 0x21, - 0x17, + 0x30, 0x82, 0x09, 0x29, 0x02, 0x01, 0x00, 0x02, 0x82, 0x02, + 0x01, 0x00, 0xc0, 0x71, 0xac, 0x1a, 0x13, 0x88, 0x82, 0x43, + 0x3b, 0x51, 0x57, 0x71, 0x8d, 0xb6, 0x2b, 0x82, 0x65, 0x21, + 0x53, 0x5f, 0x28, 0x29, 0x4f, 0x8d, 0x7c, 0x8a, 0xb9, 0x44, + 0xb3, 0x28, 0x41, 0x4f, 0xd3, 0xfa, 0x6a, 0xf8, 0xb9, 0x28, + 0x50, 0x39, 0x67, 0x53, 0x2c, 0x3c, 0xd7, 0xcb, 0x96, 0x41, + 0x40, 0x32, 0xbb, 0xeb, 0x70, 0xae, 0x1f, 0xb0, 0x65, 0xf7, + 0x3a, 0xd9, 0x22, 0xfd, 0x10, 0xae, 0xbd, 0x02, 0xe2, 0xdd, + 0xf3, 0xc2, 0x79, 0x3c, 0xc6, 0xfc, 0x75, 0xbb, 0xaf, 0x4e, + 0x3a, 0x36, 0xc2, 0x4f, 0xea, 0x25, 0xdf, 0x13, 0x16, 0x4b, + 0x20, 0xfe, 0x4b, 0x69, 0x16, 0xc4, 0x7f, 0x1a, 0x43, 0xa6, + 0x17, 0x1b, 0xb9, 0x0a, 0xf3, 0x09, 0x86, 0x28, 0x89, 0xcf, + 0x2c, 0xd0, 0xd4, 0x81, 0xaf, 0xc6, 0x6d, 0xe6, 0x21, 0x8d, + 0xee, 0xef, 0xea, 0xdc, 0xb7, 0xc6, 0x3b, 0x63, 0x9f, 0x0e, + 0xad, 0x89, 0x78, 0x23, 0x18, 0xbf, 0x70, 0x7e, 0x84, 0xe0, + 0x37, 0xec, 0xdb, 0x8e, 0x9c, 0x3e, 0x6a, 0x19, 0xcc, 0x99, + 0x72, 0xe6, 0xb5, 0x7d, 0x6d, 0xfa, 0xe5, 0xd3, 0xe4, 0x90, + 0xb5, 0xb2, 0xb2, 0x12, 0x70, 0x4e, 0xca, 0xf8, 0x10, 0xf8, + 0xa3, 0x14, 0xc2, 0x48, 0x19, 0xeb, 0x60, 0x99, 0xbb, 0x2a, + 0x1f, 0xb1, 0x7a, 0xb1, 0x3d, 0x24, 0xfb, 0xa0, 0x29, 0xda, + 0xbd, 0x1b, 0xd7, 0xa4, 0xbf, 0xef, 0x60, 0x2d, 0x22, 0xca, + 0x65, 0x98, 0xf1, 0xc4, 0xe1, 0xc9, 0x02, 0x6b, 0x16, 0x28, + 0x2f, 0xa1, 0xaa, 0x79, 0x00, 0xda, 0xdc, 0x7c, 0x43, 0xf7, + 0x42, 0x3c, 0xa0, 0xef, 0x68, 0xf7, 0xdf, 0xb9, 0x69, 0xfb, + 0x8e, 0x01, 0xed, 0x01, 0x42, 0xb5, 0x4e, 0x57, 0xa6, 0x26, + 0xb8, 0xd0, 0x7b, 0x56, 0x6d, 0x03, 0xc6, 0x40, 0x8c, 0x8c, + 0x2a, 0x55, 0xd7, 0x9c, 0x35, 0x00, 0x94, 0x93, 0xec, 0x03, + 0xeb, 0x22, 0xef, 0x77, 0xbb, 0x79, 0x13, 0x3f, 0x15, 0xa1, + 0x8f, 0xca, 0xdf, 0xfd, 0xd3, 0xb8, 0xe1, 0xd4, 0xcc, 0x09, + 0x3f, 0x3c, 0x2c, 0xdb, 0xd1, 0x49, 0x7f, 0x38, 0x07, 0x83, + 0x6d, 0xeb, 0x08, 0x66, 0xe9, 0x06, 0x44, 0x12, 0xac, 0x95, + 0x22, 0x90, 0x23, 0x67, 0xd4, 0x08, 0xcc, 0xf4, 0xb7, 0xdc, + 0xcc, 0x87, 0xd4, 0xac, 0x69, 0x35, 0x4c, 0xb5, 0x39, 0x36, + 0xcd, 0xa4, 0xd2, 0x95, 0xca, 0x0d, 0xc5, 0xda, 0xc2, 0xc5, + 0x22, 0x32, 0x28, 0x08, 0xe3, 0xd2, 0x8b, 0x38, 0x30, 0xdc, + 0x8c, 0x75, 0x4f, 0x6a, 0xec, 0x7a, 0xac, 0x16, 0x3e, 0xa8, + 0xd4, 0x6a, 0x45, 0xe1, 0xa8, 0x4f, 0x2e, 0x80, 0x34, 0xaa, + 0x54, 0x1b, 0x02, 0x95, 0x7d, 0x8a, 0x6d, 0xcc, 0x79, 0xca, + 0xf2, 0xa4, 0x2e, 0x8d, 0xfb, 0xfe, 0x15, 0x51, 0x10, 0x0e, + 0x4d, 0x88, 0xb1, 0xc7, 0xf4, 0x79, 0xdb, 0xf0, 0xb4, 0x56, + 0x44, 0x37, 0xca, 0x5a, 0xc1, 0x8c, 0x48, 0xac, 0xae, 0x48, + 0x80, 0x83, 0x01, 0x3f, 0xde, 0xd9, 0xd3, 0x2c, 0x51, 0x46, + 0xb1, 0x41, 0xb6, 0xc6, 0x91, 0x72, 0xf9, 0x83, 0x55, 0x1b, + 0x8c, 0xba, 0xf3, 0x73, 0xe5, 0x2c, 0x74, 0x50, 0x3a, 0xbe, + 0xc5, 0x2f, 0xa7, 0xb2, 0x6d, 0x8c, 0x9e, 0x13, 0x77, 0xa3, + 0x13, 0xcd, 0x6d, 0x8c, 0x45, 0xe1, 0xfc, 0x0b, 0xb7, 0x69, + 0xe9, 0x27, 0xbc, 0x65, 0xc3, 0xfa, 0x9b, 0xd0, 0xef, 0xfe, + 0xe8, 0x1f, 0xb3, 0x5e, 0x34, 0xf4, 0x8c, 0xea, 0xfc, 0xd3, + 0x81, 0xbf, 0x3d, 0x30, 0xb2, 0xb4, 0x01, 0xe8, 0x43, 0x0f, + 0xba, 0x02, 0x23, 0x42, 0x76, 0x82, 0x31, 0x73, 0x91, 0xed, + 0x07, 0x46, 0x61, 0x0d, 0x39, 0x83, 0x40, 0xce, 0x7a, 0xd4, + 0xdb, 0x80, 0x2c, 0x1f, 0x0d, 0xd1, 0x34, 0xd4, 0x92, 0xe3, + 0xd4, 0xf1, 0xc2, 0x01, 0x02, 0x03, 0x01, 0x00, 0x01, 0x02, + 0x82, 0x02, 0x01, 0x00, 0x97, 0x6c, 0xda, 0x6e, 0xea, 0x4f, + 0xcf, 0xaf, 0xf7, 0x4c, 0xd9, 0xf1, 0x90, 0x00, 0x77, 0xdb, + 0xf2, 0x97, 0x76, 0x72, 0xb9, 0xb7, 0x47, 0xd1, 0x9c, 0xdd, + 0xcb, 0x4a, 0x33, 0x6e, 0xc9, 0x75, 0x76, 0xe6, 0xe4, 0xa5, + 0x31, 0x8c, 0x77, 0x13, 0xb4, 0x29, 0xcd, 0xf5, 0x52, 0x17, + 0xef, 0xf3, 0x08, 0x00, 0xe3, 0xbd, 0x2e, 0xbc, 0xd4, 0x52, + 0x88, 0xe9, 0x30, 0x75, 0x0b, 0x02, 0xf5, 0xcd, 0x89, 0x0c, + 0x6c, 0x57, 0x19, 0x27, 0x3d, 0x1e, 0x85, 0xb4, 0xc1, 0x2f, + 0x1d, 0x92, 0x00, 0x5c, 0x76, 0x29, 0x4b, 0xa4, 0xe1, 0x12, + 0xb3, 0xc8, 0x09, 0xfe, 0x0e, 0x78, 0x72, 0x61, 0xcb, 0x61, + 0x6f, 0x39, 0x91, 0x95, 0x4e, 0xd5, 0x3e, 0xc7, 0x8f, 0xb8, + 0xf6, 0x36, 0xfe, 0x9c, 0x93, 0x9a, 0x38, 0x25, 0x7a, 0xf4, + 0x4a, 0x12, 0xd4, 0xa0, 0x13, 0xbd, 0xf9, 0x1d, 0x12, 0x3e, + 0x21, 0x39, 0xfb, 0x72, 0xe0, 0x05, 0x3d, 0xc3, 0xe5, 0x50, + 0xa8, 0x5d, 0x85, 0xa3, 0xea, 0x5f, 0x1c, 0xb2, 0x3f, 0xea, + 0x6d, 0x03, 0x91, 0x55, 0xd8, 0x19, 0x0a, 0x21, 0x12, 0x16, + 0xd9, 0x12, 0xc4, 0xe6, 0x07, 0x18, 0x5b, 0x26, 0xa4, 0xae, + 0xed, 0x2b, 0xb7, 0xa6, 0xed, 0xf8, 0xad, 0xec, 0x77, 0xe6, + 0x7f, 0x4f, 0x76, 0x00, 0xc0, 0xfa, 0x15, 0x92, 0xb4, 0x2c, + 0x22, 0xc2, 0xeb, 0x6a, 0xad, 0x14, 0x05, 0xb2, 0xe5, 0x8a, + 0x9e, 0x85, 0x83, 0xcc, 0x04, 0xf1, 0x56, 0x78, 0x44, 0x5e, + 0xde, 0xe0, 0x60, 0x1a, 0x65, 0x79, 0x31, 0x23, 0x05, 0xbb, + 0x01, 0xff, 0xdd, 0x2e, 0xb7, 0xb3, 0xaa, 0x74, 0xe0, 0xa5, + 0x94, 0xaf, 0x4b, 0xde, 0x58, 0x0f, 0x55, 0xde, 0x33, 0xf6, + 0xe3, 0xd6, 0x34, 0x36, 0x57, 0xd6, 0x79, 0x91, 0x2e, 0xbe, + 0x3b, 0xd9, 0x4e, 0xb6, 0x9d, 0x21, 0x5c, 0xd3, 0x48, 0x14, + 0x7f, 0x4a, 0xc4, 0x60, 0xa9, 0x29, 0xf8, 0x53, 0x7f, 0x88, + 0x11, 0x2d, 0xb5, 0xc5, 0x2d, 0x6f, 0xee, 0x85, 0x0b, 0xf7, + 0x8d, 0x9a, 0xbe, 0xb0, 0x42, 0xf2, 0x2e, 0x71, 0xaf, 0x19, + 0x31, 0x6d, 0xec, 0xcd, 0x6f, 0x2b, 0x23, 0xdf, 0xb4, 0x40, + 0xaf, 0x2c, 0x0a, 0xc3, 0x1b, 0x7d, 0x7d, 0x03, 0x1d, 0x4b, + 0xf3, 0xb5, 0xe0, 0x85, 0xd8, 0xdf, 0x91, 0x6b, 0x0a, 0x69, + 0xf7, 0xf2, 0x69, 0x66, 0x5b, 0xf1, 0xcf, 0x46, 0x7d, 0xe9, + 0x70, 0xfa, 0x6d, 0x7e, 0x75, 0x4e, 0xa9, 0x77, 0xe6, 0x8c, + 0x02, 0xf7, 0x14, 0x4d, 0xa5, 0x41, 0x8f, 0x3f, 0xc1, 0x62, + 0x1e, 0x71, 0x5e, 0x38, 0xb4, 0xd6, 0xe6, 0xe1, 0x4b, 0xc2, + 0x2c, 0x30, 0x83, 0x81, 0x6f, 0x49, 0x2e, 0x96, 0xe6, 0xc9, + 0x9a, 0xf7, 0x5d, 0x09, 0xa0, 0x55, 0x02, 0xa5, 0x3a, 0x25, + 0x23, 0xd0, 0x92, 0xc3, 0xa3, 0xe3, 0x0e, 0x12, 0x2f, 0x4d, + 0xef, 0xf3, 0x55, 0x5a, 0xbe, 0xe6, 0x19, 0x86, 0x31, 0xab, + 0x75, 0x9a, 0xd3, 0xf0, 0x2c, 0xc5, 0x41, 0x92, 0xd9, 0x1f, + 0x5f, 0x11, 0x8c, 0x75, 0x1c, 0x63, 0xd0, 0x02, 0x80, 0x2c, + 0x68, 0xcb, 0x93, 0xfb, 0x51, 0x73, 0x49, 0xb4, 0x60, 0xda, + 0xe2, 0x26, 0xaf, 0xa9, 0x46, 0x12, 0xb8, 0xec, 0x50, 0xdd, + 0x12, 0x06, 0x5f, 0xce, 0x59, 0xe6, 0xf6, 0x1c, 0xe0, 0x54, + 0x10, 0xad, 0xf6, 0xcd, 0x98, 0xcc, 0x0f, 0xfb, 0xcb, 0x41, + 0x14, 0x9d, 0xed, 0xe4, 0xb4, 0x74, 0x5f, 0x09, 0x60, 0xc7, + 0x12, 0xf6, 0x7b, 0x3c, 0x8f, 0xa7, 0x20, 0xbc, 0xe4, 0xb1, + 0xef, 0xeb, 0xa4, 0x93, 0xc5, 0x06, 0xca, 0x9a, 0x27, 0x9d, + 0x87, 0xf3, 0xde, 0xca, 0xe5, 0xe7, 0xf6, 0x1c, 0x01, 0x65, + 0x5b, 0xfb, 0x19, 0x79, 0x6e, 0x08, 0x26, 0xc5, 0xc8, 0x28, + 0x0e, 0xb6, 0x3b, 0x07, 0x08, 0xc1, 0x02, 0x82, 0x01, 0x01, + 0x00, 0xe8, 0x1c, 0x73, 0xa6, 0xb8, 0xe0, 0x0e, 0x6d, 0x8d, + 0x1b, 0xb9, 0x53, 0xed, 0x58, 0x94, 0xe6, 0x1d, 0x60, 0x14, + 0x5c, 0x76, 0x43, 0xc4, 0x58, 0x19, 0xc4, 0x24, 0xe8, 0xbc, + 0x1b, 0x3b, 0x0b, 0x13, 0x24, 0x45, 0x54, 0x0e, 0xcc, 0x37, + 0xf0, 0xe0, 0x63, 0x7d, 0xc3, 0xf7, 0xfb, 0x81, 0x74, 0x81, + 0xc4, 0x0f, 0x1a, 0x21, 0x48, 0xaf, 0xce, 0xc1, 0xc4, 0x94, + 0x18, 0x06, 0x44, 0x8d, 0xd3, 0xd2, 0x22, 0x2d, 0x2d, 0x3e, + 0x5a, 0x31, 0xdc, 0x95, 0x8e, 0xf4, 0x41, 0xfc, 0x58, 0xc9, + 0x40, 0x92, 0x17, 0x5f, 0xe3, 0xda, 0xac, 0x9e, 0x3f, 0x1c, + 0x2a, 0x6b, 0x58, 0x5f, 0x48, 0x78, 0x20, 0xb1, 0xaf, 0x24, + 0x9b, 0x3c, 0x20, 0x8b, 0x93, 0x25, 0x9e, 0xe6, 0x6b, 0xbc, + 0x13, 0x42, 0x14, 0x6c, 0x36, 0x31, 0xff, 0x7a, 0xd1, 0xc1, + 0x1a, 0x26, 0x14, 0x7f, 0xa9, 0x76, 0xa7, 0x0c, 0xf8, 0xcc, + 0xed, 0x07, 0x6a, 0xd2, 0xdf, 0x62, 0xee, 0x0a, 0x7c, 0x84, + 0xcb, 0x49, 0x90, 0xb2, 0x03, 0x0d, 0xa2, 0x82, 0x06, 0x77, + 0xf1, 0xcd, 0x67, 0xf2, 0x47, 0x21, 0x02, 0x3f, 0x43, 0x21, + 0xf0, 0x46, 0x30, 0x62, 0x51, 0x72, 0xb1, 0xe7, 0x48, 0xc6, + 0x67, 0x12, 0xcd, 0x9e, 0xd6, 0x15, 0xe5, 0x21, 0xed, 0xfa, + 0x8f, 0x30, 0xa6, 0x41, 0xfe, 0xb6, 0xfa, 0x8f, 0x34, 0x14, + 0x19, 0xe8, 0x11, 0xf7, 0xa5, 0x77, 0x3e, 0xb7, 0xf9, 0x39, + 0x07, 0x8c, 0x67, 0x2a, 0xab, 0x7b, 0x08, 0xf8, 0xb0, 0x06, + 0xa8, 0xea, 0x2f, 0x8f, 0xfa, 0xcc, 0xcc, 0x40, 0xce, 0xf3, + 0x70, 0x4f, 0x3f, 0x7f, 0xe2, 0x0c, 0xea, 0x76, 0x4a, 0x35, + 0x4e, 0x47, 0xad, 0x2b, 0xa7, 0x97, 0x5d, 0x74, 0x43, 0x97, + 0x90, 0xd2, 0xfb, 0xd9, 0xf9, 0x96, 0x01, 0x33, 0x05, 0xed, + 0x7b, 0x03, 0x05, 0xad, 0xf8, 0x49, 0x03, 0x02, 0x82, 0x01, + 0x01, 0x00, 0xd4, 0x40, 0x17, 0x66, 0x10, 0x92, 0x95, 0xc8, + 0xec, 0x62, 0xa9, 0x7a, 0xcb, 0x93, 0x8e, 0xe6, 0x53, 0xd4, + 0x80, 0x48, 0x27, 0x4b, 0x41, 0xce, 0x61, 0xdf, 0xbf, 0x94, + 0xa4, 0x3d, 0x71, 0x03, 0x0b, 0xed, 0x25, 0x71, 0x98, 0xa4, + 0xd6, 0xd5, 0x4a, 0x57, 0xf5, 0x6c, 0x1b, 0xda, 0x21, 0x7d, + 0x35, 0x45, 0xb3, 0xf3, 0x6a, 0xd9, 0xd3, 0x43, 0xe8, 0x5c, + 0x54, 0x1c, 0x83, 0x1b, 0xb4, 0x5f, 0xf2, 0x97, 0x24, 0x2e, + 0xdc, 0x40, 0xde, 0x92, 0x23, 0x59, 0x8e, 0xbc, 0xd2, 0xa1, + 0xf2, 0xe0, 0x4c, 0xdd, 0x0b, 0xd1, 0xe7, 0xae, 0x65, 0xbc, + 0xb5, 0xf5, 0x5b, 0x98, 0xe9, 0xd7, 0xc2, 0xb7, 0x0e, 0x55, + 0x71, 0x0e, 0x3c, 0x0a, 0x24, 0x6b, 0xa6, 0xe6, 0x14, 0x61, + 0x11, 0xfd, 0x33, 0x42, 0x99, 0x2b, 0x84, 0x77, 0x74, 0x92, + 0x91, 0xf5, 0x79, 0x79, 0xcf, 0xad, 0x8e, 0x04, 0xef, 0x80, + 0x1e, 0x57, 0xf4, 0x14, 0xf5, 0x35, 0x09, 0x74, 0xb2, 0x13, + 0x71, 0x58, 0x6b, 0xea, 0x32, 0x5d, 0xf3, 0xd3, 0x76, 0x48, + 0x39, 0x10, 0x23, 0x84, 0x9d, 0xbe, 0x92, 0x77, 0x4a, 0xed, + 0x70, 0x3e, 0x1a, 0xa2, 0x6c, 0xb3, 0x81, 0x00, 0xc3, 0xc9, + 0xe4, 0x52, 0xc8, 0x24, 0x88, 0x0c, 0x41, 0xad, 0x87, 0x5a, + 0xea, 0xa3, 0x7a, 0x85, 0x1c, 0x5e, 0x31, 0x7f, 0xc3, 0x35, + 0xc6, 0xfa, 0x10, 0xc8, 0x75, 0x10, 0xc4, 0x96, 0x99, 0xe7, + 0xfe, 0x01, 0xb4, 0x74, 0xdb, 0xb4, 0x11, 0xc3, 0xc8, 0x8c, + 0xf6, 0xf7, 0x3b, 0x66, 0x50, 0xfc, 0xdb, 0xeb, 0xca, 0x47, + 0x85, 0x89, 0xe1, 0x65, 0xd9, 0x62, 0x34, 0x3c, 0x70, 0xd8, + 0x2e, 0xb4, 0x2f, 0x65, 0x3c, 0x4a, 0xa6, 0x2a, 0xe7, 0xc7, + 0xd8, 0x41, 0x8f, 0x8a, 0x43, 0xbf, 0x42, 0xf2, 0x4d, 0xbc, + 0xfc, 0x9e, 0x27, 0x95, 0xfb, 0x75, 0xff, 0xab, 0x02, 0x82, + 0x01, 0x00, 0x41, 0x2f, 0x44, 0x57, 0x6d, 0x12, 0x17, 0x5b, + 0x32, 0xc6, 0xb7, 0x6c, 0x57, 0x7a, 0x8a, 0x0e, 0x79, 0xef, + 0x72, 0xa8, 0x68, 0xda, 0x2d, 0x38, 0xe4, 0xbb, 0x8d, 0xf6, + 0x02, 0x65, 0xcf, 0x56, 0x13, 0xe1, 0x1a, 0xcb, 0x39, 0x80, + 0xa6, 0xb1, 0x32, 0x03, 0x1e, 0xdd, 0xbb, 0x35, 0xd9, 0xac, + 0x43, 0x89, 0x31, 0x08, 0x90, 0x92, 0x5e, 0x35, 0x3d, 0x7b, + 0x9c, 0x6f, 0x86, 0xcb, 0x17, 0xdd, 0x85, 0xe4, 0xed, 0x35, + 0x08, 0x8e, 0xc1, 0xf4, 0x05, 0xd8, 0x68, 0xc6, 0x63, 0x3c, + 0xf7, 0xff, 0xf7, 0x47, 0x33, 0x39, 0xc5, 0x3e, 0xb7, 0x0e, + 0x58, 0x35, 0x9d, 0x81, 0xea, 0xf8, 0x6a, 0x2c, 0x1c, 0x5a, + 0x68, 0x78, 0x64, 0x11, 0x6b, 0xc1, 0x3e, 0x4e, 0x7a, 0xbd, + 0x84, 0xcb, 0x0f, 0xc2, 0xb6, 0x85, 0x1d, 0xd3, 0x76, 0xc5, + 0x93, 0x6a, 0x69, 0x89, 0x56, 0x34, 0xdc, 0x4a, 0x9b, 0xbc, + 0xff, 0xa8, 0x0d, 0x6e, 0x35, 0x9c, 0x60, 0xa7, 0x23, 0x30, + 0xc7, 0x06, 0x64, 0x39, 0x8b, 0x94, 0x89, 0xee, 0xba, 0x7f, + 0x60, 0x8d, 0xfa, 0xb6, 0x97, 0x76, 0xdc, 0x51, 0x4a, 0x3c, + 0xeb, 0x3a, 0x14, 0x2c, 0x20, 0x60, 0x69, 0x4a, 0x86, 0xfe, + 0x8c, 0x21, 0x84, 0x49, 0x54, 0xb3, 0x20, 0xe1, 0x01, 0x7f, + 0x58, 0xdf, 0x7f, 0xb5, 0x21, 0x51, 0x8c, 0x47, 0x9f, 0x91, + 0xeb, 0x97, 0x3e, 0xf2, 0x54, 0xcf, 0x16, 0x46, 0xf9, 0xd9, + 0xb6, 0xe7, 0x64, 0xc9, 0xd0, 0x54, 0xea, 0x2f, 0xa1, 0xcf, + 0xa5, 0x7f, 0x28, 0x8d, 0x84, 0xec, 0xd5, 0x39, 0x03, 0x76, + 0x5b, 0x2d, 0x8e, 0x43, 0xf2, 0x01, 0x24, 0xc9, 0x6f, 0xc0, + 0xf5, 0x69, 0x6f, 0x7d, 0xb5, 0x85, 0xd2, 0x5f, 0x7f, 0x78, + 0x40, 0x07, 0x7f, 0x09, 0x15, 0xb5, 0x1f, 0x28, 0x65, 0x10, + 0xe4, 0x19, 0xa8, 0xc6, 0x9e, 0x8d, 0xdc, 0xcb, 0x02, 0x82, + 0x01, 0x00, 0x13, 0x01, 0xee, 0x56, 0x80, 0x93, 0x70, 0x00, + 0x7f, 0x52, 0xd2, 0x94, 0xa1, 0x98, 0x84, 0x4a, 0x92, 0x25, + 0x4c, 0x9b, 0xa9, 0x91, 0x2e, 0xc2, 0x79, 0xb7, 0x5c, 0xe3, + 0xc5, 0xd5, 0x8e, 0xc2, 0x54, 0x16, 0x17, 0xad, 0x55, 0x9b, + 0x25, 0x76, 0x12, 0x63, 0x50, 0x22, 0x2f, 0x58, 0x58, 0x79, + 0x6b, 0x04, 0xe3, 0xf9, 0x9f, 0x8f, 0x04, 0x41, 0x67, 0x94, + 0xa5, 0x1f, 0xac, 0x8a, 0x15, 0x9c, 0x26, 0x10, 0x6c, 0xf8, + 0x19, 0x57, 0x61, 0xd7, 0x3a, 0x7d, 0x31, 0xb0, 0x2d, 0x38, + 0xbd, 0x94, 0x62, 0xad, 0xc4, 0xfa, 0x36, 0x42, 0x42, 0xf0, + 0x24, 0x67, 0x65, 0x9d, 0x8b, 0x0b, 0x7c, 0x6f, 0x82, 0x44, + 0x1a, 0x8c, 0xc8, 0xc9, 0xab, 0xbb, 0x4c, 0x45, 0xfc, 0x7b, + 0x38, 0xee, 0x30, 0xe1, 0xfc, 0xef, 0x8d, 0xbc, 0x58, 0xdf, + 0x2b, 0x5d, 0x0d, 0x54, 0xe0, 0x49, 0x4d, 0x97, 0x99, 0x8f, + 0x22, 0xa8, 0x83, 0xbe, 0x40, 0xbb, 0x50, 0x2e, 0x78, 0x28, + 0x0f, 0x95, 0x78, 0x8c, 0x8f, 0x98, 0x24, 0x56, 0xc2, 0x97, + 0xf3, 0x2c, 0x43, 0xd2, 0x03, 0x82, 0x66, 0x81, 0x72, 0x5f, + 0x53, 0x16, 0xec, 0xb1, 0xb1, 0x04, 0x5e, 0x40, 0x20, 0x48, + 0x7b, 0x3f, 0x02, 0x97, 0x6a, 0xeb, 0x96, 0x12, 0x21, 0x35, + 0xfe, 0x1f, 0x47, 0xc0, 0x95, 0xea, 0xc5, 0x8a, 0x08, 0x84, + 0x4f, 0x5e, 0x63, 0x94, 0x60, 0x0f, 0x71, 0x5b, 0x7f, 0x4a, + 0xec, 0x4f, 0x60, 0xc6, 0xba, 0x4a, 0x24, 0xf1, 0x20, 0x8b, + 0xa7, 0x2e, 0x3a, 0xce, 0x8d, 0xe0, 0x27, 0x1d, 0xb5, 0x8e, + 0xb4, 0x21, 0xc5, 0xe2, 0xa6, 0x16, 0x0a, 0x51, 0x83, 0x55, + 0x88, 0xd1, 0x30, 0x11, 0x63, 0xd5, 0xd7, 0x8d, 0xae, 0x16, + 0x12, 0x82, 0xc4, 0x85, 0x00, 0x4e, 0x27, 0x83, 0xa5, 0x7c, + 0x90, 0x2e, 0xe5, 0xa2, 0xa3, 0xd3, 0x4c, 0x63, 0x02, 0x82, + 0x01, 0x01, 0x00, 0x86, 0x08, 0x98, 0x98, 0xa5, 0x00, 0x05, + 0x39, 0x77, 0xd9, 0x66, 0xb3, 0xcf, 0xca, 0xa0, 0x71, 0xb3, + 0x50, 0xce, 0x3d, 0xb1, 0x93, 0x95, 0x35, 0xc4, 0xd4, 0x2e, + 0x90, 0xdf, 0x0f, 0xfc, 0x60, 0xc1, 0x94, 0x68, 0x61, 0x43, + 0xca, 0x9a, 0x23, 0x4a, 0x1e, 0x45, 0x72, 0x99, 0xb5, 0x1e, + 0x61, 0x8d, 0x77, 0x0f, 0xa0, 0xbb, 0xd7, 0x77, 0xb4, 0x2a, + 0x15, 0x11, 0x88, 0x2d, 0xb3, 0x56, 0x61, 0x5e, 0x6a, 0xed, + 0xa4, 0x46, 0x4a, 0x3f, 0x50, 0x11, 0xd6, 0xba, 0xb6, 0xd7, + 0x95, 0x65, 0x53, 0xc3, 0xa1, 0x8f, 0xe0, 0xa3, 0xf5, 0x1c, + 0xfd, 0xaf, 0x6e, 0x43, 0xd7, 0x17, 0xa7, 0xd3, 0x81, 0x1b, + 0xa4, 0xdf, 0xe0, 0x97, 0x8a, 0x46, 0x03, 0xd3, 0x46, 0x0e, + 0x83, 0x48, 0x4e, 0xd2, 0x02, 0xcb, 0xc0, 0xad, 0x79, 0x95, + 0x8c, 0x96, 0xba, 0x40, 0x34, 0x11, 0x71, 0x5e, 0xe9, 0x11, + 0xf9, 0xc5, 0x4a, 0x5e, 0x91, 0x9d, 0xf5, 0x92, 0x4f, 0xeb, + 0xc6, 0x70, 0x02, 0x2d, 0x3d, 0x04, 0xaa, 0xe9, 0x3a, 0x8e, + 0xd5, 0xa8, 0xad, 0xf7, 0xce, 0x0d, 0x16, 0xb2, 0xec, 0x0a, + 0x9c, 0xf5, 0x94, 0x39, 0xb9, 0x8a, 0xfc, 0x1e, 0xf9, 0xcc, + 0xf2, 0x5f, 0x21, 0x31, 0x74, 0x72, 0x6b, 0x64, 0xae, 0x35, + 0x61, 0x8d, 0x0d, 0xcb, 0xe7, 0xda, 0x39, 0xca, 0xf3, 0x21, + 0x66, 0x0b, 0x95, 0xd7, 0x0a, 0x7c, 0xca, 0xa1, 0xa9, 0x5a, + 0xe8, 0xac, 0xe0, 0x71, 0x54, 0xaf, 0x28, 0xcf, 0xd5, 0x70, + 0x89, 0xe0, 0xf3, 0x9e, 0x43, 0x6c, 0x8d, 0x7b, 0x99, 0x01, + 0x68, 0x4d, 0xa1, 0x45, 0x46, 0x0c, 0x43, 0xbc, 0xcc, 0x2c, + 0xdd, 0xc5, 0x46, 0xc8, 0x4e, 0x0e, 0xbe, 0xed, 0xb9, 0x26, + 0xab, 0x2e, 0xdb, 0xeb, 0x8f, 0xff, 0xdb, 0xb0, 0xc6, 0x55, + 0xaf, 0xf8, 0x2a, 0x91, 0x9d, 0x50, 0x44, 0x21, 0x17 }; static unsigned char test7680[] = { diff --git a/deps/openssl/openssl/crypto/aes/asm/aesfx-sparcv9.pl b/deps/openssl/openssl/crypto/aes/asm/aesfx-sparcv9.pl index 27233d03af7b..372778e424e7 100644 --- a/deps/openssl/openssl/crypto/aes/asm/aesfx-sparcv9.pl +++ b/deps/openssl/openssl/crypto/aes/asm/aesfx-sparcv9.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2026 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the Apache License 2.0 (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -479,11 +479,16 @@ ldd [$end + 24], %f12 movrz $len, 0, $inc + + brz,pn $len, .Lcbc_enc_skip_load + nop + fmovd $intail, $in0 ldd [$inp - 8], $in1 ! load next input block ldda [$inp]0x82, $intail ! non-faulting load add $inp, $inc, $inp ! inp+=16 +.Lcbc_enc_skip_load: fmovd %f0, %f4 faesencx %f2, %f6, %f0 faesencx %f4, %f8, %f2 @@ -694,11 +699,16 @@ fmovd $in1, $iv1 movrz $len, 0, $inc + + brz,pn $len, .Lcbc_dec_skip_load + nop + fmovd $intail, $in0 ldd [$inp - 8], $in1 ! load next input block ldda [$inp]0x82, $intail ! non-faulting load add $inp, $inc, $inp ! inp+=16 +.Lcbc_dec_skip_load: fmovd %f0, %f4 faesdecx %f2, %f10, %f0 faesdecx %f4, %f12, %f2 @@ -953,11 +963,16 @@ fxor $in1, $rllo, %f8 movrz $len, 0, $inc + + brz,pn $len, .Lctr32_enc_skip_load + nop + fmovd $intail, $in0 ldd [$inp - 8], $in1 ! load next input block ldda [$inp]0x82, $intail ! non-faulting load add $inp, $inc, $inp ! inp+=16 +.Lctr32_enc_skip_load: fmovd %f0, %f4 faesencx %f2, %f10, %f0 faesencx %f4, %f12, %f2 diff --git a/deps/openssl/openssl/crypto/asn1/a_d2i_fp.c b/deps/openssl/openssl/crypto/asn1/a_d2i_fp.c index 82d2f7cc902f..a23dea8ebda2 100644 --- a/deps/openssl/openssl/crypto/asn1/a_d2i_fp.c +++ b/deps/openssl/openssl/crypto/asn1/a_d2i_fp.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -104,7 +104,7 @@ void *ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x) } #endif -#define HEADER_SIZE 8 +#define HEADER_SIZE 2 #define ASN1_CHUNK_INITIAL_SIZE (16 * 1024) int asn1_d2i_read_bio(BIO *in, BUF_MEM **pb) { @@ -138,7 +138,7 @@ int asn1_d2i_read_bio(BIO *in, BUF_MEM **pb) goto err; } i = BIO_read(in, &(b->data[len]), want); - if (i < 0 && diff == 0) { + if (i <= 0) { ERR_raise(ERR_LIB_ASN1, ASN1_R_NOT_ENOUGH_DATA); goto err; } @@ -154,12 +154,65 @@ int asn1_d2i_read_bio(BIO *in, BUF_MEM **pb) } /* else data already loaded */ + /* make sure there is enough data for a complete header */ p = (unsigned char *)&(b->data[off]); q = p; diff = len - off; - if (diff == 0) + if (diff < 2) { + /* Failed sanity check */ + ERR_raise(ERR_LIB_ASN1, ASN1_R_NOT_ENOUGH_DATA); goto err; - inf = ASN1_get_object(&q, &slen, &tag, &xclass, diff); + } + + diff--; + if ((*(q++) & V_ASN1_PRIMITIVE_TAG) == V_ASN1_PRIMITIVE_TAG) { + unsigned int n = 0; + /* Multi-byte tag. See if we have the whole thing yet */ + do { + if (n > 4) { + /* The tag value must fit into int */ + ERR_raise(ERR_LIB_ASN1, ASN1_R_HEADER_TOO_LONG); + goto err; + } + ++n; + diff--; + } while (diff > 0 && *(q++) & 0x80); + + if (diff == 0) { + /* + * End of current data, will need at least 1 more byte for + * length. 2 if the tag is still incomplete + */ + want = q - p + 2; + if (*q & 0x80) { + want++; + } + continue; + } + } + + /* Check the length. This should also work for indefinite length */ + diff--; + if (*q & 0x80) { + unsigned int n = *q & 0x7f; + + if (n > sizeof(long)) { + ERR_raise(ERR_LIB_ASN1, ASN1_R_TOO_LONG); + goto err; + } + if (n > diff) { + want = q - p + n + 1; + continue; + } + } + + /* + * We have a complete header now, assuming we didn't hit EOF. Parse the + * tag and length + */ + q = p; + diff = len - off; + inf = ASN1_get_object(&q, &slen, &tag, &xclass, (int)diff); if (inf & 0x80) { unsigned long e; @@ -169,8 +222,7 @@ int asn1_d2i_read_bio(BIO *in, BUF_MEM **pb) ERR_pop_to_mark(); ERR_set_mark(); } - i = q - p; /* header length */ - off += i; /* end of data */ + off += q - p; /* end of data */ if (inf & 1) { /* no data body so go round again */ diff --git a/deps/openssl/openssl/crypto/asn1/a_mbstr.c b/deps/openssl/openssl/crypto/asn1/a_mbstr.c index 2270e63d51d4..ce5618dfd48b 100644 --- a/deps/openssl/openssl/crypto/asn1/a_mbstr.c +++ b/deps/openssl/openssl/crypto/asn1/a_mbstr.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2021 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -174,11 +174,27 @@ int ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len, break; case MBSTRING_BMP: + if (nchar > INT_MAX / 2) { + ERR_raise(ERR_LIB_ASN1, ASN1_R_STRING_TOO_LONG); + if (free_out) { + ASN1_STRING_free(dest); + *out = NULL; + } + return -1; + } outlen = nchar << 1; cpyfunc = cpy_bmp; break; case MBSTRING_UNIV: + if (nchar > INT_MAX / 4) { + ERR_raise(ERR_LIB_ASN1, ASN1_R_STRING_TOO_LONG); + if (free_out) { + ASN1_STRING_free(dest); + *out = NULL; + } + return -1; + } outlen = nchar << 2; cpyfunc = cpy_univ; break; @@ -186,8 +202,11 @@ int ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len, case MBSTRING_UTF8: outlen = 0; ret = traverse_string(in, len, inform, out_utf8, &outlen); - if (ret < 0) { - ERR_raise(ERR_LIB_ASN1, ASN1_R_INVALID_UTF8STRING); + if (ret < 0) { /* error already raised in out_utf8() */ + if (free_out) { + ASN1_STRING_free(dest); + *out = NULL; + } return -1; } cpyfunc = cpy_utf8; @@ -270,9 +289,15 @@ static int out_utf8(unsigned long value, void *arg) int *outlen, len; len = UTF8_putc(NULL, -1, value); - if (len <= 0) + if (len <= 0) { + ERR_raise(ERR_LIB_ASN1, ASN1_R_INVALID_UTF8STRING); return len; + } outlen = arg; + if (*outlen > INT_MAX - len) { + ERR_raise(ERR_LIB_ASN1, ASN1_R_STRING_TOO_LONG); + return -1; + } *outlen += len; return 1; } diff --git a/deps/openssl/openssl/crypto/asn1/asn1_lib.c b/deps/openssl/openssl/crypto/asn1/asn1_lib.c index ae234bb5ea46..39a6d63f4c98 100644 --- a/deps/openssl/openssl/crypto/asn1/asn1_lib.c +++ b/deps/openssl/openssl/crypto/asn1/asn1_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -129,7 +129,7 @@ static int asn1_get_length(const unsigned char **pp, int *inf, long *rl, *inf = 0; i = *p & 0x7f; if (*p++ & 0x80) { - if (max < i + 1) + if (max < i) return 0; /* Skip leading zeroes */ while (i > 0 && *p == 0) { diff --git a/deps/openssl/openssl/crypto/asn1/asn_mime.c b/deps/openssl/openssl/crypto/asn1/asn_mime.c index 212c34f4bc0f..8007b52d1531 100644 --- a/deps/openssl/openssl/crypto/asn1/asn_mime.c +++ b/deps/openssl/openssl/crypto/asn1/asn_mime.c @@ -1,5 +1,5 @@ /* - * Copyright 2008-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2008-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -665,16 +665,18 @@ static int multi_split(BIO *bio, int flags, const char *bound, STACK_OF(BIO) **r #else 1 #endif - || (flags & SMIME_CRLFEOL) != 0) - BIO_write(bpart, "\r\n", 2); - else - BIO_write(bpart, "\n", 1); + || (flags & SMIME_CRLFEOL) != 0) { + if (BIO_write(bpart, "\r\n", 2) < 2) + goto err; + } else if (BIO_write(bpart, "\n", 1) < 1) + goto err; } eol = next_eol; - if (len > 0) - BIO_write(bpart, linebuf, len); + if (len > 0 && BIO_write(bpart, linebuf, len) < len) + goto err; } } +err: BIO_free(bpart); return 0; } diff --git a/deps/openssl/openssl/crypto/asn1/tasn_dec.c b/deps/openssl/openssl/crypto/asn1/tasn_dec.c index 91c2e524f55b..2916faa931a5 100644 --- a/deps/openssl/openssl/crypto/asn1/tasn_dec.c +++ b/deps/openssl/openssl/crypto/asn1/tasn_dec.c @@ -1,5 +1,5 @@ /* - * Copyright 2000-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -54,7 +54,7 @@ static int asn1_d2i_ex_primitive(ASN1_VALUE **pval, const ASN1_ITEM *it, int tag, int aclass, char opt, ASN1_TLC *ctx); -static int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, +static int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, long len, int utype, char *free_cont, const ASN1_ITEM *it); /* Table to convert tags to bit values, used for MSTRING type */ @@ -855,19 +855,24 @@ static int asn1_d2i_ex_primitive(ASN1_VALUE **pval, /* Translate ASN1 content octets into a structure */ -static int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, +static int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, long len, int utype, char *free_cont, const ASN1_ITEM *it) { ASN1_VALUE **opval = NULL; ASN1_STRING *stmp; ASN1_TYPE *typ = NULL; int ret = 0; + int ilen = (int)len; const ASN1_PRIMITIVE_FUNCS *pf; ASN1_INTEGER **tint; pf = it->funcs; - if (pf && pf->prim_c2i) - return pf->prim_c2i(pval, cont, len, utype, free_cont, it); + if (pf && pf->prim_c2i) { + if (len == (long)ilen) + return pf->prim_c2i(pval, cont, ilen, utype, free_cont, it); + ERR_raise(ERR_LIB_ASN1, ASN1_R_TOO_LONG); + return 0; + } /* If ANY type clear type and set pointer to internal value */ if (it->utype == V_ASN1_ANY) { if (*pval == NULL) { @@ -885,7 +890,8 @@ static int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, } switch (utype) { case V_ASN1_OBJECT: - if (!ossl_c2i_ASN1_OBJECT((ASN1_OBJECT **)pval, &cont, len)) + if (len != (long)ilen + || !ossl_c2i_ASN1_OBJECT((ASN1_OBJECT **)pval, &cont, ilen)) goto err; break; @@ -940,6 +946,10 @@ static int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, case V_ASN1_SET: case V_ASN1_SEQUENCE: default: + if (len != (long)ilen) { + ERR_raise(ERR_LIB_ASN1, ASN1_R_TOO_LONG); + goto err; + } if (utype == V_ASN1_BMPSTRING && (len & 1)) { ERR_raise(ERR_LIB_ASN1, ASN1_R_BMPSTRING_IS_WRONG_LENGTH); goto err; @@ -970,10 +980,10 @@ static int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, } /* If we've already allocated a buffer use it */ if (*free_cont) { - ASN1_STRING_set0(stmp, (unsigned char *)cont /* UGLY CAST! */, len); + ASN1_STRING_set0(stmp, (unsigned char *)cont /* UGLY CAST! */, ilen); *free_cont = 0; } else { - if (!ASN1_STRING_set(stmp, cont, len)) { + if (!ASN1_STRING_set(stmp, cont, ilen)) { ERR_raise(ERR_LIB_ASN1, ERR_R_ASN1_LIB); ASN1_STRING_free(stmp); *pval = NULL; diff --git a/deps/openssl/openssl/crypto/bio/bss_dgram.c b/deps/openssl/openssl/crypto/bio/bss_dgram.c index 42bb0e861afe..968104a06208 100644 --- a/deps/openssl/openssl/crypto/bio/bss_dgram.c +++ b/deps/openssl/openssl/crypto/bio/bss_dgram.c @@ -68,8 +68,8 @@ #undef NO_RECVMMSG #define NO_RECVMMSG #endif -#if defined(_AIX) && !defined(_AIX72) -/* AIX >= 7.2 provides sendmmsg() and recvmmsg(). */ +#if defined(_AIX) +/* AIX header files don't properly expose sendmmsg/recvmmsg declarations */ #undef NO_RECVMMSG #define NO_RECVMMSG #endif diff --git a/deps/openssl/openssl/crypto/bio/bss_dgram_pair.c b/deps/openssl/openssl/crypto/bio/bss_dgram_pair.c index 780fe8d00e50..057f6737474d 100644 --- a/deps/openssl/openssl/crypto/bio/bss_dgram_pair.c +++ b/deps/openssl/openssl/crypto/bio/bss_dgram_pair.c @@ -1,5 +1,5 @@ /* - * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -305,6 +305,7 @@ static int dgram_mem_init(BIO *bio) b = bio->ptr; if (ring_buf_init(&b->rbuf, b->req_buf_len) == 0) { + dgram_pair_free(bio); ERR_raise(ERR_LIB_BIO, ERR_R_BIO_LIB); return 0; } diff --git a/deps/openssl/openssl/crypto/bn/bn_const.c b/deps/openssl/openssl/crypto/bn/bn_const.c index 974868feca8d..07a3a4a7c380 100644 --- a/deps/openssl/openssl/crypto/bn/bn_const.c +++ b/deps/openssl/openssl/crypto/bn/bn_const.c @@ -1,5 +1,5 @@ /* - * Copyright 2005-2021 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2005-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -24,102 +24,16 @@ BIGNUM *BN_get_rfc2409_prime_768(BIGNUM *bn) { static const unsigned char RFC2409_PRIME_768[] = { - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xC9, - 0x0F, - 0xDA, - 0xA2, - 0x21, - 0x68, - 0xC2, - 0x34, - 0xC4, - 0xC6, - 0x62, - 0x8B, - 0x80, - 0xDC, - 0x1C, - 0xD1, - 0x29, - 0x02, - 0x4E, - 0x08, - 0x8A, - 0x67, - 0xCC, - 0x74, - 0x02, - 0x0B, - 0xBE, - 0xA6, - 0x3B, - 0x13, - 0x9B, - 0x22, - 0x51, - 0x4A, - 0x08, - 0x79, - 0x8E, - 0x34, - 0x04, - 0xDD, - 0xEF, - 0x95, - 0x19, - 0xB3, - 0xCD, - 0x3A, - 0x43, - 0x1B, - 0x30, - 0x2B, - 0x0A, - 0x6D, - 0xF2, - 0x5F, - 0x14, - 0x37, - 0x4F, - 0xE1, - 0x35, - 0x6D, - 0x6D, - 0x51, - 0xC2, - 0x45, - 0xE4, - 0x85, - 0xB5, - 0x76, - 0x62, - 0x5E, - 0x7E, - 0xC6, - 0xF4, - 0x4C, - 0x42, - 0xE9, - 0xA6, - 0x3A, - 0x36, - 0x20, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x0F, + 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B, + 0x80, 0xDC, 0x1C, 0xD1, 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, + 0xCC, 0x74, 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, + 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 0xEF, 0x95, + 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 0x30, 0x2B, 0x0A, 0x6D, + 0xF2, 0x5F, 0x14, 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, + 0xC2, 0x45, 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, + 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x3A, 0x36, 0x20, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; return BN_bin2bn(RFC2409_PRIME_768, sizeof(RFC2409_PRIME_768), bn); } @@ -136,134 +50,19 @@ BIGNUM *BN_get_rfc2409_prime_768(BIGNUM *bn) BIGNUM *BN_get_rfc2409_prime_1024(BIGNUM *bn) { static const unsigned char RFC2409_PRIME_1024[] = { - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xC9, - 0x0F, - 0xDA, - 0xA2, - 0x21, - 0x68, - 0xC2, - 0x34, - 0xC4, - 0xC6, - 0x62, - 0x8B, - 0x80, - 0xDC, - 0x1C, - 0xD1, - 0x29, - 0x02, - 0x4E, - 0x08, - 0x8A, - 0x67, - 0xCC, - 0x74, - 0x02, - 0x0B, - 0xBE, - 0xA6, - 0x3B, - 0x13, - 0x9B, - 0x22, - 0x51, - 0x4A, - 0x08, - 0x79, - 0x8E, - 0x34, - 0x04, - 0xDD, - 0xEF, - 0x95, - 0x19, - 0xB3, - 0xCD, - 0x3A, - 0x43, - 0x1B, - 0x30, - 0x2B, - 0x0A, - 0x6D, - 0xF2, - 0x5F, - 0x14, - 0x37, - 0x4F, - 0xE1, - 0x35, - 0x6D, - 0x6D, - 0x51, - 0xC2, - 0x45, - 0xE4, - 0x85, - 0xB5, - 0x76, - 0x62, - 0x5E, - 0x7E, - 0xC6, - 0xF4, - 0x4C, - 0x42, - 0xE9, - 0xA6, - 0x37, - 0xED, - 0x6B, - 0x0B, - 0xFF, - 0x5C, - 0xB6, - 0xF4, - 0x06, - 0xB7, - 0xED, - 0xEE, - 0x38, - 0x6B, - 0xFB, - 0x5A, - 0x89, - 0x9F, - 0xA5, - 0xAE, - 0x9F, - 0x24, - 0x11, - 0x7C, - 0x4B, - 0x1F, - 0xE6, - 0x49, - 0x28, - 0x66, - 0x51, - 0xEC, - 0xE6, - 0x53, - 0x81, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x0F, + 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B, + 0x80, 0xDC, 0x1C, 0xD1, 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67, + 0xCC, 0x74, 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22, + 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 0xEF, 0x95, + 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 0x30, 0x2B, 0x0A, 0x6D, + 0xF2, 0x5F, 0x14, 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51, + 0xC2, 0x45, 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6, + 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF, + 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 0xEE, 0x38, 0x6B, 0xFB, + 0x5A, 0x89, 0x9F, 0xA5, 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B, + 0x1F, 0xE6, 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE6, 0x53, 0x81, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; return BN_bin2bn(RFC2409_PRIME_1024, sizeof(RFC2409_PRIME_1024), bn); } diff --git a/deps/openssl/openssl/crypto/bn/bn_mod.c b/deps/openssl/openssl/crypto/bn/bn_mod.c index 51d5b90a290a..5cee896cd9df 100644 --- a/deps/openssl/openssl/crypto/bn/bn_mod.c +++ b/deps/openssl/openssl/crypto/bn/bn_mod.c @@ -1,5 +1,5 @@ /* - * Copyright 1998-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1998-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -11,24 +11,24 @@ #include "internal/nelem.h" #include "bn_local.h" -int BN_nnmod(BIGNUM *r, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx) +int BN_nnmod(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx) { /* - * like BN_mod, but returns non-negative remainder (i.e., 0 <= r < |d| + * like BN_mod, but returns non-negative remainder (i.e., 0 <= r < |m| * always holds) */ - if (r == d) { + if (r == m) { ERR_raise(ERR_LIB_BN, ERR_R_PASSED_INVALID_ARGUMENT); return 0; } - if (!(BN_mod(r, m, d, ctx))) + if (!(BN_mod(r, a, m, ctx))) return 0; if (!r->neg) return 1; - /* now -|d| < r < 0, so we have to set r := r + |d| */ - return (d->neg ? BN_sub : BN_add)(r, r, d); + /* now -|m| < r < 0, so we have to set r := r + |m| */ + return (m->neg ? BN_sub : BN_add)(r, r, m); } int BN_mod_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, diff --git a/deps/openssl/openssl/crypto/cast/cast_s.h b/deps/openssl/openssl/crypto/cast/cast_s.h index 345b4dd73176..5fc45eff8a4e 100644 --- a/deps/openssl/openssl/crypto/cast/cast_s.h +++ b/deps/openssl/openssl/crypto/cast/cast_s.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -8,2073 +8,281 @@ */ const CAST_LONG CAST_S_table0[256] = { - 0x30fb40d4, - 0x9fa0ff0b, - 0x6beccd2f, - 0x3f258c7a, - 0x1e213f2f, - 0x9c004dd3, - 0x6003e540, - 0xcf9fc949, - 0xbfd4af27, - 0x88bbbdb5, - 0xe2034090, - 0x98d09675, - 0x6e63a0e0, - 0x15c361d2, - 0xc2e7661d, - 0x22d4ff8e, - 0x28683b6f, - 0xc07fd059, - 0xff2379c8, - 0x775f50e2, - 0x43c340d3, - 0xdf2f8656, - 0x887ca41a, - 0xa2d2bd2d, - 0xa1c9e0d6, - 0x346c4819, - 0x61b76d87, - 0x22540f2f, - 0x2abe32e1, - 0xaa54166b, - 0x22568e3a, - 0xa2d341d0, - 0x66db40c8, - 0xa784392f, - 0x004dff2f, - 0x2db9d2de, - 0x97943fac, - 0x4a97c1d8, - 0x527644b7, - 0xb5f437a7, - 0xb82cbaef, - 0xd751d159, - 0x6ff7f0ed, - 0x5a097a1f, - 0x827b68d0, - 0x90ecf52e, - 0x22b0c054, - 0xbc8e5935, - 0x4b6d2f7f, - 0x50bb64a2, - 0xd2664910, - 0xbee5812d, - 0xb7332290, - 0xe93b159f, - 0xb48ee411, - 0x4bff345d, - 0xfd45c240, - 0xad31973f, - 0xc4f6d02e, - 0x55fc8165, - 0xd5b1caad, - 0xa1ac2dae, - 0xa2d4b76d, - 0xc19b0c50, - 0x882240f2, - 0x0c6e4f38, - 0xa4e4bfd7, - 0x4f5ba272, - 0x564c1d2f, - 0xc59c5319, - 0xb949e354, - 0xb04669fe, - 0xb1b6ab8a, - 0xc71358dd, - 0x6385c545, - 0x110f935d, - 0x57538ad5, - 0x6a390493, - 0xe63d37e0, - 0x2a54f6b3, - 0x3a787d5f, - 0x6276a0b5, - 0x19a6fcdf, - 0x7a42206a, - 0x29f9d4d5, - 0xf61b1891, - 0xbb72275e, - 0xaa508167, - 0x38901091, - 0xc6b505eb, - 0x84c7cb8c, - 0x2ad75a0f, - 0x874a1427, - 0xa2d1936b, - 0x2ad286af, - 0xaa56d291, - 0xd7894360, - 0x425c750d, - 0x93b39e26, - 0x187184c9, - 0x6c00b32d, - 0x73e2bb14, - 0xa0bebc3c, - 0x54623779, - 0x64459eab, - 0x3f328b82, - 0x7718cf82, - 0x59a2cea6, - 0x04ee002e, - 0x89fe78e6, - 0x3fab0950, - 0x325ff6c2, - 0x81383f05, - 0x6963c5c8, - 0x76cb5ad6, - 0xd49974c9, - 0xca180dcf, - 0x380782d5, - 0xc7fa5cf6, - 0x8ac31511, - 0x35e79e13, - 0x47da91d0, - 0xf40f9086, - 0xa7e2419e, - 0x31366241, - 0x051ef495, - 0xaa573b04, - 0x4a805d8d, - 0x548300d0, - 0x00322a3c, - 0xbf64cddf, - 0xba57a68e, - 0x75c6372b, - 0x50afd341, - 0xa7c13275, - 0x915a0bf5, - 0x6b54bfab, - 0x2b0b1426, - 0xab4cc9d7, - 0x449ccd82, - 0xf7fbf265, - 0xab85c5f3, - 0x1b55db94, - 0xaad4e324, - 0xcfa4bd3f, - 0x2deaa3e2, - 0x9e204d02, - 0xc8bd25ac, - 0xeadf55b3, - 0xd5bd9e98, - 0xe31231b2, - 0x2ad5ad6c, - 0x954329de, - 0xadbe4528, - 0xd8710f69, - 0xaa51c90f, - 0xaa786bf6, - 0x22513f1e, - 0xaa51a79b, - 0x2ad344cc, - 0x7b5a41f0, - 0xd37cfbad, - 0x1b069505, - 0x41ece491, - 0xb4c332e6, - 0x032268d4, - 0xc9600acc, - 0xce387e6d, - 0xbf6bb16c, - 0x6a70fb78, - 0x0d03d9c9, - 0xd4df39de, - 0xe01063da, - 0x4736f464, - 0x5ad328d8, - 0xb347cc96, - 0x75bb0fc3, - 0x98511bfb, - 0x4ffbcc35, - 0xb58bcf6a, - 0xe11f0abc, - 0xbfc5fe4a, - 0xa70aec10, - 0xac39570a, - 0x3f04442f, - 0x6188b153, - 0xe0397a2e, - 0x5727cb79, - 0x9ceb418f, - 0x1cacd68d, - 0x2ad37c96, - 0x0175cb9d, - 0xc69dff09, - 0xc75b65f0, - 0xd9db40d8, - 0xec0e7779, - 0x4744ead4, - 0xb11c3274, - 0xdd24cb9e, - 0x7e1c54bd, - 0xf01144f9, - 0xd2240eb1, - 0x9675b3fd, - 0xa3ac3755, - 0xd47c27af, - 0x51c85f4d, - 0x56907596, - 0xa5bb15e6, - 0x580304f0, - 0xca042cf1, - 0x011a37ea, - 0x8dbfaadb, - 0x35ba3e4a, - 0x3526ffa0, - 0xc37b4d09, - 0xbc306ed9, - 0x98a52666, - 0x5648f725, - 0xff5e569d, - 0x0ced63d0, - 0x7c63b2cf, - 0x700b45e1, - 0xd5ea50f1, - 0x85a92872, - 0xaf1fbda7, - 0xd4234870, - 0xa7870bf3, - 0x2d3b4d79, - 0x42e04198, - 0x0cd0ede7, - 0x26470db8, - 0xf881814c, - 0x474d6ad7, - 0x7c0c5e5c, - 0xd1231959, - 0x381b7298, - 0xf5d2f4db, - 0xab838653, - 0x6e2f1e23, - 0x83719c9e, - 0xbd91e046, - 0x9a56456e, - 0xdc39200c, - 0x20c8c571, - 0x962bda1c, - 0xe1e696ff, - 0xb141ab08, - 0x7cca89b9, - 0x1a69e783, - 0x02cc4843, - 0xa2f7c579, - 0x429ef47d, - 0x427b169c, - 0x5ac9f049, - 0xdd8f0f00, - 0x5c8165bf, + 0x30fb40d4, 0x9fa0ff0b, 0x6beccd2f, 0x3f258c7a, 0x1e213f2f, 0x9c004dd3, 0x6003e540, 0xcf9fc949, + 0xbfd4af27, 0x88bbbdb5, 0xe2034090, 0x98d09675, 0x6e63a0e0, 0x15c361d2, 0xc2e7661d, 0x22d4ff8e, + 0x28683b6f, 0xc07fd059, 0xff2379c8, 0x775f50e2, 0x43c340d3, 0xdf2f8656, 0x887ca41a, 0xa2d2bd2d, + 0xa1c9e0d6, 0x346c4819, 0x61b76d87, 0x22540f2f, 0x2abe32e1, 0xaa54166b, 0x22568e3a, 0xa2d341d0, + 0x66db40c8, 0xa784392f, 0x004dff2f, 0x2db9d2de, 0x97943fac, 0x4a97c1d8, 0x527644b7, 0xb5f437a7, + 0xb82cbaef, 0xd751d159, 0x6ff7f0ed, 0x5a097a1f, 0x827b68d0, 0x90ecf52e, 0x22b0c054, 0xbc8e5935, + 0x4b6d2f7f, 0x50bb64a2, 0xd2664910, 0xbee5812d, 0xb7332290, 0xe93b159f, 0xb48ee411, 0x4bff345d, + 0xfd45c240, 0xad31973f, 0xc4f6d02e, 0x55fc8165, 0xd5b1caad, 0xa1ac2dae, 0xa2d4b76d, 0xc19b0c50, + 0x882240f2, 0x0c6e4f38, 0xa4e4bfd7, 0x4f5ba272, 0x564c1d2f, 0xc59c5319, 0xb949e354, 0xb04669fe, + 0xb1b6ab8a, 0xc71358dd, 0x6385c545, 0x110f935d, 0x57538ad5, 0x6a390493, 0xe63d37e0, 0x2a54f6b3, + 0x3a787d5f, 0x6276a0b5, 0x19a6fcdf, 0x7a42206a, 0x29f9d4d5, 0xf61b1891, 0xbb72275e, 0xaa508167, + 0x38901091, 0xc6b505eb, 0x84c7cb8c, 0x2ad75a0f, 0x874a1427, 0xa2d1936b, 0x2ad286af, 0xaa56d291, + 0xd7894360, 0x425c750d, 0x93b39e26, 0x187184c9, 0x6c00b32d, 0x73e2bb14, 0xa0bebc3c, 0x54623779, + 0x64459eab, 0x3f328b82, 0x7718cf82, 0x59a2cea6, 0x04ee002e, 0x89fe78e6, 0x3fab0950, 0x325ff6c2, + 0x81383f05, 0x6963c5c8, 0x76cb5ad6, 0xd49974c9, 0xca180dcf, 0x380782d5, 0xc7fa5cf6, 0x8ac31511, + 0x35e79e13, 0x47da91d0, 0xf40f9086, 0xa7e2419e, 0x31366241, 0x051ef495, 0xaa573b04, 0x4a805d8d, + 0x548300d0, 0x00322a3c, 0xbf64cddf, 0xba57a68e, 0x75c6372b, 0x50afd341, 0xa7c13275, 0x915a0bf5, + 0x6b54bfab, 0x2b0b1426, 0xab4cc9d7, 0x449ccd82, 0xf7fbf265, 0xab85c5f3, 0x1b55db94, 0xaad4e324, + 0xcfa4bd3f, 0x2deaa3e2, 0x9e204d02, 0xc8bd25ac, 0xeadf55b3, 0xd5bd9e98, 0xe31231b2, 0x2ad5ad6c, + 0x954329de, 0xadbe4528, 0xd8710f69, 0xaa51c90f, 0xaa786bf6, 0x22513f1e, 0xaa51a79b, 0x2ad344cc, + 0x7b5a41f0, 0xd37cfbad, 0x1b069505, 0x41ece491, 0xb4c332e6, 0x032268d4, 0xc9600acc, 0xce387e6d, + 0xbf6bb16c, 0x6a70fb78, 0x0d03d9c9, 0xd4df39de, 0xe01063da, 0x4736f464, 0x5ad328d8, 0xb347cc96, + 0x75bb0fc3, 0x98511bfb, 0x4ffbcc35, 0xb58bcf6a, 0xe11f0abc, 0xbfc5fe4a, 0xa70aec10, 0xac39570a, + 0x3f04442f, 0x6188b153, 0xe0397a2e, 0x5727cb79, 0x9ceb418f, 0x1cacd68d, 0x2ad37c96, 0x0175cb9d, + 0xc69dff09, 0xc75b65f0, 0xd9db40d8, 0xec0e7779, 0x4744ead4, 0xb11c3274, 0xdd24cb9e, 0x7e1c54bd, + 0xf01144f9, 0xd2240eb1, 0x9675b3fd, 0xa3ac3755, 0xd47c27af, 0x51c85f4d, 0x56907596, 0xa5bb15e6, + 0x580304f0, 0xca042cf1, 0x011a37ea, 0x8dbfaadb, 0x35ba3e4a, 0x3526ffa0, 0xc37b4d09, 0xbc306ed9, + 0x98a52666, 0x5648f725, 0xff5e569d, 0x0ced63d0, 0x7c63b2cf, 0x700b45e1, 0xd5ea50f1, 0x85a92872, + 0xaf1fbda7, 0xd4234870, 0xa7870bf3, 0x2d3b4d79, 0x42e04198, 0x0cd0ede7, 0x26470db8, 0xf881814c, + 0x474d6ad7, 0x7c0c5e5c, 0xd1231959, 0x381b7298, 0xf5d2f4db, 0xab838653, 0x6e2f1e23, 0x83719c9e, + 0xbd91e046, 0x9a56456e, 0xdc39200c, 0x20c8c571, 0x962bda1c, 0xe1e696ff, 0xb141ab08, 0x7cca89b9, + 0x1a69e783, 0x02cc4843, 0xa2f7c579, 0x429ef47d, 0x427b169c, 0x5ac9f049, 0xdd8f0f00, 0x5c8165bf }; const CAST_LONG CAST_S_table1[256] = { - 0x1f201094, - 0xef0ba75b, - 0x69e3cf7e, - 0x393f4380, - 0xfe61cf7a, - 0xeec5207a, - 0x55889c94, - 0x72fc0651, - 0xada7ef79, - 0x4e1d7235, - 0xd55a63ce, - 0xde0436ba, - 0x99c430ef, - 0x5f0c0794, - 0x18dcdb7d, - 0xa1d6eff3, - 0xa0b52f7b, - 0x59e83605, - 0xee15b094, - 0xe9ffd909, - 0xdc440086, - 0xef944459, - 0xba83ccb3, - 0xe0c3cdfb, - 0xd1da4181, - 0x3b092ab1, - 0xf997f1c1, - 0xa5e6cf7b, - 0x01420ddb, - 0xe4e7ef5b, - 0x25a1ff41, - 0xe180f806, - 0x1fc41080, - 0x179bee7a, - 0xd37ac6a9, - 0xfe5830a4, - 0x98de8b7f, - 0x77e83f4e, - 0x79929269, - 0x24fa9f7b, - 0xe113c85b, - 0xacc40083, - 0xd7503525, - 0xf7ea615f, - 0x62143154, - 0x0d554b63, - 0x5d681121, - 0xc866c359, - 0x3d63cf73, - 0xcee234c0, - 0xd4d87e87, - 0x5c672b21, - 0x071f6181, - 0x39f7627f, - 0x361e3084, - 0xe4eb573b, - 0x602f64a4, - 0xd63acd9c, - 0x1bbc4635, - 0x9e81032d, - 0x2701f50c, - 0x99847ab4, - 0xa0e3df79, - 0xba6cf38c, - 0x10843094, - 0x2537a95e, - 0xf46f6ffe, - 0xa1ff3b1f, - 0x208cfb6a, - 0x8f458c74, - 0xd9e0a227, - 0x4ec73a34, - 0xfc884f69, - 0x3e4de8df, - 0xef0e0088, - 0x3559648d, - 0x8a45388c, - 0x1d804366, - 0x721d9bfd, - 0xa58684bb, - 0xe8256333, - 0x844e8212, - 0x128d8098, - 0xfed33fb4, - 0xce280ae1, - 0x27e19ba5, - 0xd5a6c252, - 0xe49754bd, - 0xc5d655dd, - 0xeb667064, - 0x77840b4d, - 0xa1b6a801, - 0x84db26a9, - 0xe0b56714, - 0x21f043b7, - 0xe5d05860, - 0x54f03084, - 0x066ff472, - 0xa31aa153, - 0xdadc4755, - 0xb5625dbf, - 0x68561be6, - 0x83ca6b94, - 0x2d6ed23b, - 0xeccf01db, - 0xa6d3d0ba, - 0xb6803d5c, - 0xaf77a709, - 0x33b4a34c, - 0x397bc8d6, - 0x5ee22b95, - 0x5f0e5304, - 0x81ed6f61, - 0x20e74364, - 0xb45e1378, - 0xde18639b, - 0x881ca122, - 0xb96726d1, - 0x8049a7e8, - 0x22b7da7b, - 0x5e552d25, - 0x5272d237, - 0x79d2951c, - 0xc60d894c, - 0x488cb402, - 0x1ba4fe5b, - 0xa4b09f6b, - 0x1ca815cf, - 0xa20c3005, - 0x8871df63, - 0xb9de2fcb, - 0x0cc6c9e9, - 0x0beeff53, - 0xe3214517, - 0xb4542835, - 0x9f63293c, - 0xee41e729, - 0x6e1d2d7c, - 0x50045286, - 0x1e6685f3, - 0xf33401c6, - 0x30a22c95, - 0x31a70850, - 0x60930f13, - 0x73f98417, - 0xa1269859, - 0xec645c44, - 0x52c877a9, - 0xcdff33a6, - 0xa02b1741, - 0x7cbad9a2, - 0x2180036f, - 0x50d99c08, - 0xcb3f4861, - 0xc26bd765, - 0x64a3f6ab, - 0x80342676, - 0x25a75e7b, - 0xe4e6d1fc, - 0x20c710e6, - 0xcdf0b680, - 0x17844d3b, - 0x31eef84d, - 0x7e0824e4, - 0x2ccb49eb, - 0x846a3bae, - 0x8ff77888, - 0xee5d60f6, - 0x7af75673, - 0x2fdd5cdb, - 0xa11631c1, - 0x30f66f43, - 0xb3faec54, - 0x157fd7fa, - 0xef8579cc, - 0xd152de58, - 0xdb2ffd5e, - 0x8f32ce19, - 0x306af97a, - 0x02f03ef8, - 0x99319ad5, - 0xc242fa0f, - 0xa7e3ebb0, - 0xc68e4906, - 0xb8da230c, - 0x80823028, - 0xdcdef3c8, - 0xd35fb171, - 0x088a1bc8, - 0xbec0c560, - 0x61a3c9e8, - 0xbca8f54d, - 0xc72feffa, - 0x22822e99, - 0x82c570b4, - 0xd8d94e89, - 0x8b1c34bc, - 0x301e16e6, - 0x273be979, - 0xb0ffeaa6, - 0x61d9b8c6, - 0x00b24869, - 0xb7ffce3f, - 0x08dc283b, - 0x43daf65a, - 0xf7e19798, - 0x7619b72f, - 0x8f1c9ba4, - 0xdc8637a0, - 0x16a7d3b1, - 0x9fc393b7, - 0xa7136eeb, - 0xc6bcc63e, - 0x1a513742, - 0xef6828bc, - 0x520365d6, - 0x2d6a77ab, - 0x3527ed4b, - 0x821fd216, - 0x095c6e2e, - 0xdb92f2fb, - 0x5eea29cb, - 0x145892f5, - 0x91584f7f, - 0x5483697b, - 0x2667a8cc, - 0x85196048, - 0x8c4bacea, - 0x833860d4, - 0x0d23e0f9, - 0x6c387e8a, - 0x0ae6d249, - 0xb284600c, - 0xd835731d, - 0xdcb1c647, - 0xac4c56ea, - 0x3ebd81b3, - 0x230eabb0, - 0x6438bc87, - 0xf0b5b1fa, - 0x8f5ea2b3, - 0xfc184642, - 0x0a036b7a, - 0x4fb089bd, - 0x649da589, - 0xa345415e, - 0x5c038323, - 0x3e5d3bb9, - 0x43d79572, - 0x7e6dd07c, - 0x06dfdf1e, - 0x6c6cc4ef, - 0x7160a539, - 0x73bfbe70, - 0x83877605, - 0x4523ecf1, + 0x1f201094, 0xef0ba75b, 0x69e3cf7e, 0x393f4380, 0xfe61cf7a, 0xeec5207a, 0x55889c94, 0x72fc0651, + 0xada7ef79, 0x4e1d7235, 0xd55a63ce, 0xde0436ba, 0x99c430ef, 0x5f0c0794, 0x18dcdb7d, 0xa1d6eff3, + 0xa0b52f7b, 0x59e83605, 0xee15b094, 0xe9ffd909, 0xdc440086, 0xef944459, 0xba83ccb3, 0xe0c3cdfb, + 0xd1da4181, 0x3b092ab1, 0xf997f1c1, 0xa5e6cf7b, 0x01420ddb, 0xe4e7ef5b, 0x25a1ff41, 0xe180f806, + 0x1fc41080, 0x179bee7a, 0xd37ac6a9, 0xfe5830a4, 0x98de8b7f, 0x77e83f4e, 0x79929269, 0x24fa9f7b, + 0xe113c85b, 0xacc40083, 0xd7503525, 0xf7ea615f, 0x62143154, 0x0d554b63, 0x5d681121, 0xc866c359, + 0x3d63cf73, 0xcee234c0, 0xd4d87e87, 0x5c672b21, 0x071f6181, 0x39f7627f, 0x361e3084, 0xe4eb573b, + 0x602f64a4, 0xd63acd9c, 0x1bbc4635, 0x9e81032d, 0x2701f50c, 0x99847ab4, 0xa0e3df79, 0xba6cf38c, + 0x10843094, 0x2537a95e, 0xf46f6ffe, 0xa1ff3b1f, 0x208cfb6a, 0x8f458c74, 0xd9e0a227, 0x4ec73a34, + 0xfc884f69, 0x3e4de8df, 0xef0e0088, 0x3559648d, 0x8a45388c, 0x1d804366, 0x721d9bfd, 0xa58684bb, + 0xe8256333, 0x844e8212, 0x128d8098, 0xfed33fb4, 0xce280ae1, 0x27e19ba5, 0xd5a6c252, 0xe49754bd, + 0xc5d655dd, 0xeb667064, 0x77840b4d, 0xa1b6a801, 0x84db26a9, 0xe0b56714, 0x21f043b7, 0xe5d05860, + 0x54f03084, 0x066ff472, 0xa31aa153, 0xdadc4755, 0xb5625dbf, 0x68561be6, 0x83ca6b94, 0x2d6ed23b, + 0xeccf01db, 0xa6d3d0ba, 0xb6803d5c, 0xaf77a709, 0x33b4a34c, 0x397bc8d6, 0x5ee22b95, 0x5f0e5304, + 0x81ed6f61, 0x20e74364, 0xb45e1378, 0xde18639b, 0x881ca122, 0xb96726d1, 0x8049a7e8, 0x22b7da7b, + 0x5e552d25, 0x5272d237, 0x79d2951c, 0xc60d894c, 0x488cb402, 0x1ba4fe5b, 0xa4b09f6b, 0x1ca815cf, + 0xa20c3005, 0x8871df63, 0xb9de2fcb, 0x0cc6c9e9, 0x0beeff53, 0xe3214517, 0xb4542835, 0x9f63293c, + 0xee41e729, 0x6e1d2d7c, 0x50045286, 0x1e6685f3, 0xf33401c6, 0x30a22c95, 0x31a70850, 0x60930f13, + 0x73f98417, 0xa1269859, 0xec645c44, 0x52c877a9, 0xcdff33a6, 0xa02b1741, 0x7cbad9a2, 0x2180036f, + 0x50d99c08, 0xcb3f4861, 0xc26bd765, 0x64a3f6ab, 0x80342676, 0x25a75e7b, 0xe4e6d1fc, 0x20c710e6, + 0xcdf0b680, 0x17844d3b, 0x31eef84d, 0x7e0824e4, 0x2ccb49eb, 0x846a3bae, 0x8ff77888, 0xee5d60f6, + 0x7af75673, 0x2fdd5cdb, 0xa11631c1, 0x30f66f43, 0xb3faec54, 0x157fd7fa, 0xef8579cc, 0xd152de58, + 0xdb2ffd5e, 0x8f32ce19, 0x306af97a, 0x02f03ef8, 0x99319ad5, 0xc242fa0f, 0xa7e3ebb0, 0xc68e4906, + 0xb8da230c, 0x80823028, 0xdcdef3c8, 0xd35fb171, 0x088a1bc8, 0xbec0c560, 0x61a3c9e8, 0xbca8f54d, + 0xc72feffa, 0x22822e99, 0x82c570b4, 0xd8d94e89, 0x8b1c34bc, 0x301e16e6, 0x273be979, 0xb0ffeaa6, + 0x61d9b8c6, 0x00b24869, 0xb7ffce3f, 0x08dc283b, 0x43daf65a, 0xf7e19798, 0x7619b72f, 0x8f1c9ba4, + 0xdc8637a0, 0x16a7d3b1, 0x9fc393b7, 0xa7136eeb, 0xc6bcc63e, 0x1a513742, 0xef6828bc, 0x520365d6, + 0x2d6a77ab, 0x3527ed4b, 0x821fd216, 0x095c6e2e, 0xdb92f2fb, 0x5eea29cb, 0x145892f5, 0x91584f7f, + 0x5483697b, 0x2667a8cc, 0x85196048, 0x8c4bacea, 0x833860d4, 0x0d23e0f9, 0x6c387e8a, 0x0ae6d249, + 0xb284600c, 0xd835731d, 0xdcb1c647, 0xac4c56ea, 0x3ebd81b3, 0x230eabb0, 0x6438bc87, 0xf0b5b1fa, + 0x8f5ea2b3, 0xfc184642, 0x0a036b7a, 0x4fb089bd, 0x649da589, 0xa345415e, 0x5c038323, 0x3e5d3bb9, + 0x43d79572, 0x7e6dd07c, 0x06dfdf1e, 0x6c6cc4ef, 0x7160a539, 0x73bfbe70, 0x83877605, 0x4523ecf1 }; const CAST_LONG CAST_S_table2[256] = { - 0x8defc240, - 0x25fa5d9f, - 0xeb903dbf, - 0xe810c907, - 0x47607fff, - 0x369fe44b, - 0x8c1fc644, - 0xaececa90, - 0xbeb1f9bf, - 0xeefbcaea, - 0xe8cf1950, - 0x51df07ae, - 0x920e8806, - 0xf0ad0548, - 0xe13c8d83, - 0x927010d5, - 0x11107d9f, - 0x07647db9, - 0xb2e3e4d4, - 0x3d4f285e, - 0xb9afa820, - 0xfade82e0, - 0xa067268b, - 0x8272792e, - 0x553fb2c0, - 0x489ae22b, - 0xd4ef9794, - 0x125e3fbc, - 0x21fffcee, - 0x825b1bfd, - 0x9255c5ed, - 0x1257a240, - 0x4e1a8302, - 0xbae07fff, - 0x528246e7, - 0x8e57140e, - 0x3373f7bf, - 0x8c9f8188, - 0xa6fc4ee8, - 0xc982b5a5, - 0xa8c01db7, - 0x579fc264, - 0x67094f31, - 0xf2bd3f5f, - 0x40fff7c1, - 0x1fb78dfc, - 0x8e6bd2c1, - 0x437be59b, - 0x99b03dbf, - 0xb5dbc64b, - 0x638dc0e6, - 0x55819d99, - 0xa197c81c, - 0x4a012d6e, - 0xc5884a28, - 0xccc36f71, - 0xb843c213, - 0x6c0743f1, - 0x8309893c, - 0x0feddd5f, - 0x2f7fe850, - 0xd7c07f7e, - 0x02507fbf, - 0x5afb9a04, - 0xa747d2d0, - 0x1651192e, - 0xaf70bf3e, - 0x58c31380, - 0x5f98302e, - 0x727cc3c4, - 0x0a0fb402, - 0x0f7fef82, - 0x8c96fdad, - 0x5d2c2aae, - 0x8ee99a49, - 0x50da88b8, - 0x8427f4a0, - 0x1eac5790, - 0x796fb449, - 0x8252dc15, - 0xefbd7d9b, - 0xa672597d, - 0xada840d8, - 0x45f54504, - 0xfa5d7403, - 0xe83ec305, - 0x4f91751a, - 0x925669c2, - 0x23efe941, - 0xa903f12e, - 0x60270df2, - 0x0276e4b6, - 0x94fd6574, - 0x927985b2, - 0x8276dbcb, - 0x02778176, - 0xf8af918d, - 0x4e48f79e, - 0x8f616ddf, - 0xe29d840e, - 0x842f7d83, - 0x340ce5c8, - 0x96bbb682, - 0x93b4b148, - 0xef303cab, - 0x984faf28, - 0x779faf9b, - 0x92dc560d, - 0x224d1e20, - 0x8437aa88, - 0x7d29dc96, - 0x2756d3dc, - 0x8b907cee, - 0xb51fd240, - 0xe7c07ce3, - 0xe566b4a1, - 0xc3e9615e, - 0x3cf8209d, - 0x6094d1e3, - 0xcd9ca341, - 0x5c76460e, - 0x00ea983b, - 0xd4d67881, - 0xfd47572c, - 0xf76cedd9, - 0xbda8229c, - 0x127dadaa, - 0x438a074e, - 0x1f97c090, - 0x081bdb8a, - 0x93a07ebe, - 0xb938ca15, - 0x97b03cff, - 0x3dc2c0f8, - 0x8d1ab2ec, - 0x64380e51, - 0x68cc7bfb, - 0xd90f2788, - 0x12490181, - 0x5de5ffd4, - 0xdd7ef86a, - 0x76a2e214, - 0xb9a40368, - 0x925d958f, - 0x4b39fffa, - 0xba39aee9, - 0xa4ffd30b, - 0xfaf7933b, - 0x6d498623, - 0x193cbcfa, - 0x27627545, - 0x825cf47a, - 0x61bd8ba0, - 0xd11e42d1, - 0xcead04f4, - 0x127ea392, - 0x10428db7, - 0x8272a972, - 0x9270c4a8, - 0x127de50b, - 0x285ba1c8, - 0x3c62f44f, - 0x35c0eaa5, - 0xe805d231, - 0x428929fb, - 0xb4fcdf82, - 0x4fb66a53, - 0x0e7dc15b, - 0x1f081fab, - 0x108618ae, - 0xfcfd086d, - 0xf9ff2889, - 0x694bcc11, - 0x236a5cae, - 0x12deca4d, - 0x2c3f8cc5, - 0xd2d02dfe, - 0xf8ef5896, - 0xe4cf52da, - 0x95155b67, - 0x494a488c, - 0xb9b6a80c, - 0x5c8f82bc, - 0x89d36b45, - 0x3a609437, - 0xec00c9a9, - 0x44715253, - 0x0a874b49, - 0xd773bc40, - 0x7c34671c, - 0x02717ef6, - 0x4feb5536, - 0xa2d02fff, - 0xd2bf60c4, - 0xd43f03c0, - 0x50b4ef6d, - 0x07478cd1, - 0x006e1888, - 0xa2e53f55, - 0xb9e6d4bc, - 0xa2048016, - 0x97573833, - 0xd7207d67, - 0xde0f8f3d, - 0x72f87b33, - 0xabcc4f33, - 0x7688c55d, - 0x7b00a6b0, - 0x947b0001, - 0x570075d2, - 0xf9bb88f8, - 0x8942019e, - 0x4264a5ff, - 0x856302e0, - 0x72dbd92b, - 0xee971b69, - 0x6ea22fde, - 0x5f08ae2b, - 0xaf7a616d, - 0xe5c98767, - 0xcf1febd2, - 0x61efc8c2, - 0xf1ac2571, - 0xcc8239c2, - 0x67214cb8, - 0xb1e583d1, - 0xb7dc3e62, - 0x7f10bdce, - 0xf90a5c38, - 0x0ff0443d, - 0x606e6dc6, - 0x60543a49, - 0x5727c148, - 0x2be98a1d, - 0x8ab41738, - 0x20e1be24, - 0xaf96da0f, - 0x68458425, - 0x99833be5, - 0x600d457d, - 0x282f9350, - 0x8334b362, - 0xd91d1120, - 0x2b6d8da0, - 0x642b1e31, - 0x9c305a00, - 0x52bce688, - 0x1b03588a, - 0xf7baefd5, - 0x4142ed9c, - 0xa4315c11, - 0x83323ec5, - 0xdfef4636, - 0xa133c501, - 0xe9d3531c, - 0xee353783, + 0x8defc240, 0x25fa5d9f, 0xeb903dbf, 0xe810c907, 0x47607fff, 0x369fe44b, 0x8c1fc644, 0xaececa90, + 0xbeb1f9bf, 0xeefbcaea, 0xe8cf1950, 0x51df07ae, 0x920e8806, 0xf0ad0548, 0xe13c8d83, 0x927010d5, + 0x11107d9f, 0x07647db9, 0xb2e3e4d4, 0x3d4f285e, 0xb9afa820, 0xfade82e0, 0xa067268b, 0x8272792e, + 0x553fb2c0, 0x489ae22b, 0xd4ef9794, 0x125e3fbc, 0x21fffcee, 0x825b1bfd, 0x9255c5ed, 0x1257a240, + 0x4e1a8302, 0xbae07fff, 0x528246e7, 0x8e57140e, 0x3373f7bf, 0x8c9f8188, 0xa6fc4ee8, 0xc982b5a5, + 0xa8c01db7, 0x579fc264, 0x67094f31, 0xf2bd3f5f, 0x40fff7c1, 0x1fb78dfc, 0x8e6bd2c1, 0x437be59b, + 0x99b03dbf, 0xb5dbc64b, 0x638dc0e6, 0x55819d99, 0xa197c81c, 0x4a012d6e, 0xc5884a28, 0xccc36f71, + 0xb843c213, 0x6c0743f1, 0x8309893c, 0x0feddd5f, 0x2f7fe850, 0xd7c07f7e, 0x02507fbf, 0x5afb9a04, + 0xa747d2d0, 0x1651192e, 0xaf70bf3e, 0x58c31380, 0x5f98302e, 0x727cc3c4, 0x0a0fb402, 0x0f7fef82, + 0x8c96fdad, 0x5d2c2aae, 0x8ee99a49, 0x50da88b8, 0x8427f4a0, 0x1eac5790, 0x796fb449, 0x8252dc15, + 0xefbd7d9b, 0xa672597d, 0xada840d8, 0x45f54504, 0xfa5d7403, 0xe83ec305, 0x4f91751a, 0x925669c2, + 0x23efe941, 0xa903f12e, 0x60270df2, 0x0276e4b6, 0x94fd6574, 0x927985b2, 0x8276dbcb, 0x02778176, + 0xf8af918d, 0x4e48f79e, 0x8f616ddf, 0xe29d840e, 0x842f7d83, 0x340ce5c8, 0x96bbb682, 0x93b4b148, + 0xef303cab, 0x984faf28, 0x779faf9b, 0x92dc560d, 0x224d1e20, 0x8437aa88, 0x7d29dc96, 0x2756d3dc, + 0x8b907cee, 0xb51fd240, 0xe7c07ce3, 0xe566b4a1, 0xc3e9615e, 0x3cf8209d, 0x6094d1e3, 0xcd9ca341, + 0x5c76460e, 0x00ea983b, 0xd4d67881, 0xfd47572c, 0xf76cedd9, 0xbda8229c, 0x127dadaa, 0x438a074e, + 0x1f97c090, 0x081bdb8a, 0x93a07ebe, 0xb938ca15, 0x97b03cff, 0x3dc2c0f8, 0x8d1ab2ec, 0x64380e51, + 0x68cc7bfb, 0xd90f2788, 0x12490181, 0x5de5ffd4, 0xdd7ef86a, 0x76a2e214, 0xb9a40368, 0x925d958f, + 0x4b39fffa, 0xba39aee9, 0xa4ffd30b, 0xfaf7933b, 0x6d498623, 0x193cbcfa, 0x27627545, 0x825cf47a, + 0x61bd8ba0, 0xd11e42d1, 0xcead04f4, 0x127ea392, 0x10428db7, 0x8272a972, 0x9270c4a8, 0x127de50b, + 0x285ba1c8, 0x3c62f44f, 0x35c0eaa5, 0xe805d231, 0x428929fb, 0xb4fcdf82, 0x4fb66a53, 0x0e7dc15b, + 0x1f081fab, 0x108618ae, 0xfcfd086d, 0xf9ff2889, 0x694bcc11, 0x236a5cae, 0x12deca4d, 0x2c3f8cc5, + 0xd2d02dfe, 0xf8ef5896, 0xe4cf52da, 0x95155b67, 0x494a488c, 0xb9b6a80c, 0x5c8f82bc, 0x89d36b45, + 0x3a609437, 0xec00c9a9, 0x44715253, 0x0a874b49, 0xd773bc40, 0x7c34671c, 0x02717ef6, 0x4feb5536, + 0xa2d02fff, 0xd2bf60c4, 0xd43f03c0, 0x50b4ef6d, 0x07478cd1, 0x006e1888, 0xa2e53f55, 0xb9e6d4bc, + 0xa2048016, 0x97573833, 0xd7207d67, 0xde0f8f3d, 0x72f87b33, 0xabcc4f33, 0x7688c55d, 0x7b00a6b0, + 0x947b0001, 0x570075d2, 0xf9bb88f8, 0x8942019e, 0x4264a5ff, 0x856302e0, 0x72dbd92b, 0xee971b69, + 0x6ea22fde, 0x5f08ae2b, 0xaf7a616d, 0xe5c98767, 0xcf1febd2, 0x61efc8c2, 0xf1ac2571, 0xcc8239c2, + 0x67214cb8, 0xb1e583d1, 0xb7dc3e62, 0x7f10bdce, 0xf90a5c38, 0x0ff0443d, 0x606e6dc6, 0x60543a49, + 0x5727c148, 0x2be98a1d, 0x8ab41738, 0x20e1be24, 0xaf96da0f, 0x68458425, 0x99833be5, 0x600d457d, + 0x282f9350, 0x8334b362, 0xd91d1120, 0x2b6d8da0, 0x642b1e31, 0x9c305a00, 0x52bce688, 0x1b03588a, + 0xf7baefd5, 0x4142ed9c, 0xa4315c11, 0x83323ec5, 0xdfef4636, 0xa133c501, 0xe9d3531c, 0xee353783 }; const CAST_LONG CAST_S_table3[256] = { - 0x9db30420, - 0x1fb6e9de, - 0xa7be7bef, - 0xd273a298, - 0x4a4f7bdb, - 0x64ad8c57, - 0x85510443, - 0xfa020ed1, - 0x7e287aff, - 0xe60fb663, - 0x095f35a1, - 0x79ebf120, - 0xfd059d43, - 0x6497b7b1, - 0xf3641f63, - 0x241e4adf, - 0x28147f5f, - 0x4fa2b8cd, - 0xc9430040, - 0x0cc32220, - 0xfdd30b30, - 0xc0a5374f, - 0x1d2d00d9, - 0x24147b15, - 0xee4d111a, - 0x0fca5167, - 0x71ff904c, - 0x2d195ffe, - 0x1a05645f, - 0x0c13fefe, - 0x081b08ca, - 0x05170121, - 0x80530100, - 0xe83e5efe, - 0xac9af4f8, - 0x7fe72701, - 0xd2b8ee5f, - 0x06df4261, - 0xbb9e9b8a, - 0x7293ea25, - 0xce84ffdf, - 0xf5718801, - 0x3dd64b04, - 0xa26f263b, - 0x7ed48400, - 0x547eebe6, - 0x446d4ca0, - 0x6cf3d6f5, - 0x2649abdf, - 0xaea0c7f5, - 0x36338cc1, - 0x503f7e93, - 0xd3772061, - 0x11b638e1, - 0x72500e03, - 0xf80eb2bb, - 0xabe0502e, - 0xec8d77de, - 0x57971e81, - 0xe14f6746, - 0xc9335400, - 0x6920318f, - 0x081dbb99, - 0xffc304a5, - 0x4d351805, - 0x7f3d5ce3, - 0xa6c866c6, - 0x5d5bcca9, - 0xdaec6fea, - 0x9f926f91, - 0x9f46222f, - 0x3991467d, - 0xa5bf6d8e, - 0x1143c44f, - 0x43958302, - 0xd0214eeb, - 0x022083b8, - 0x3fb6180c, - 0x18f8931e, - 0x281658e6, - 0x26486e3e, - 0x8bd78a70, - 0x7477e4c1, - 0xb506e07c, - 0xf32d0a25, - 0x79098b02, - 0xe4eabb81, - 0x28123b23, - 0x69dead38, - 0x1574ca16, - 0xdf871b62, - 0x211c40b7, - 0xa51a9ef9, - 0x0014377b, - 0x041e8ac8, - 0x09114003, - 0xbd59e4d2, - 0xe3d156d5, - 0x4fe876d5, - 0x2f91a340, - 0x557be8de, - 0x00eae4a7, - 0x0ce5c2ec, - 0x4db4bba6, - 0xe756bdff, - 0xdd3369ac, - 0xec17b035, - 0x06572327, - 0x99afc8b0, - 0x56c8c391, - 0x6b65811c, - 0x5e146119, - 0x6e85cb75, - 0xbe07c002, - 0xc2325577, - 0x893ff4ec, - 0x5bbfc92d, - 0xd0ec3b25, - 0xb7801ab7, - 0x8d6d3b24, - 0x20c763ef, - 0xc366a5fc, - 0x9c382880, - 0x0ace3205, - 0xaac9548a, - 0xeca1d7c7, - 0x041afa32, - 0x1d16625a, - 0x6701902c, - 0x9b757a54, - 0x31d477f7, - 0x9126b031, - 0x36cc6fdb, - 0xc70b8b46, - 0xd9e66a48, - 0x56e55a79, - 0x026a4ceb, - 0x52437eff, - 0x2f8f76b4, - 0x0df980a5, - 0x8674cde3, - 0xedda04eb, - 0x17a9be04, - 0x2c18f4df, - 0xb7747f9d, - 0xab2af7b4, - 0xefc34d20, - 0x2e096b7c, - 0x1741a254, - 0xe5b6a035, - 0x213d42f6, - 0x2c1c7c26, - 0x61c2f50f, - 0x6552daf9, - 0xd2c231f8, - 0x25130f69, - 0xd8167fa2, - 0x0418f2c8, - 0x001a96a6, - 0x0d1526ab, - 0x63315c21, - 0x5e0a72ec, - 0x49bafefd, - 0x187908d9, - 0x8d0dbd86, - 0x311170a7, - 0x3e9b640c, - 0xcc3e10d7, - 0xd5cad3b6, - 0x0caec388, - 0xf73001e1, - 0x6c728aff, - 0x71eae2a1, - 0x1f9af36e, - 0xcfcbd12f, - 0xc1de8417, - 0xac07be6b, - 0xcb44a1d8, - 0x8b9b0f56, - 0x013988c3, - 0xb1c52fca, - 0xb4be31cd, - 0xd8782806, - 0x12a3a4e2, - 0x6f7de532, - 0x58fd7eb6, - 0xd01ee900, - 0x24adffc2, - 0xf4990fc5, - 0x9711aac5, - 0x001d7b95, - 0x82e5e7d2, - 0x109873f6, - 0x00613096, - 0xc32d9521, - 0xada121ff, - 0x29908415, - 0x7fbb977f, - 0xaf9eb3db, - 0x29c9ed2a, - 0x5ce2a465, - 0xa730f32c, - 0xd0aa3fe8, - 0x8a5cc091, - 0xd49e2ce7, - 0x0ce454a9, - 0xd60acd86, - 0x015f1919, - 0x77079103, - 0xdea03af6, - 0x78a8565e, - 0xdee356df, - 0x21f05cbe, - 0x8b75e387, - 0xb3c50651, - 0xb8a5c3ef, - 0xd8eeb6d2, - 0xe523be77, - 0xc2154529, - 0x2f69efdf, - 0xafe67afb, - 0xf470c4b2, - 0xf3e0eb5b, - 0xd6cc9876, - 0x39e4460c, - 0x1fda8538, - 0x1987832f, - 0xca007367, - 0xa99144f8, - 0x296b299e, - 0x492fc295, - 0x9266beab, - 0xb5676e69, - 0x9bd3ddda, - 0xdf7e052f, - 0xdb25701c, - 0x1b5e51ee, - 0xf65324e6, - 0x6afce36c, - 0x0316cc04, - 0x8644213e, - 0xb7dc59d0, - 0x7965291f, - 0xccd6fd43, - 0x41823979, - 0x932bcdf6, - 0xb657c34d, - 0x4edfd282, - 0x7ae5290c, - 0x3cb9536b, - 0x851e20fe, - 0x9833557e, - 0x13ecf0b0, - 0xd3ffb372, - 0x3f85c5c1, - 0x0aef7ed2, + 0x9db30420, 0x1fb6e9de, 0xa7be7bef, 0xd273a298, 0x4a4f7bdb, 0x64ad8c57, 0x85510443, 0xfa020ed1, + 0x7e287aff, 0xe60fb663, 0x095f35a1, 0x79ebf120, 0xfd059d43, 0x6497b7b1, 0xf3641f63, 0x241e4adf, + 0x28147f5f, 0x4fa2b8cd, 0xc9430040, 0x0cc32220, 0xfdd30b30, 0xc0a5374f, 0x1d2d00d9, 0x24147b15, + 0xee4d111a, 0x0fca5167, 0x71ff904c, 0x2d195ffe, 0x1a05645f, 0x0c13fefe, 0x081b08ca, 0x05170121, + 0x80530100, 0xe83e5efe, 0xac9af4f8, 0x7fe72701, 0xd2b8ee5f, 0x06df4261, 0xbb9e9b8a, 0x7293ea25, + 0xce84ffdf, 0xf5718801, 0x3dd64b04, 0xa26f263b, 0x7ed48400, 0x547eebe6, 0x446d4ca0, 0x6cf3d6f5, + 0x2649abdf, 0xaea0c7f5, 0x36338cc1, 0x503f7e93, 0xd3772061, 0x11b638e1, 0x72500e03, 0xf80eb2bb, + 0xabe0502e, 0xec8d77de, 0x57971e81, 0xe14f6746, 0xc9335400, 0x6920318f, 0x081dbb99, 0xffc304a5, + 0x4d351805, 0x7f3d5ce3, 0xa6c866c6, 0x5d5bcca9, 0xdaec6fea, 0x9f926f91, 0x9f46222f, 0x3991467d, + 0xa5bf6d8e, 0x1143c44f, 0x43958302, 0xd0214eeb, 0x022083b8, 0x3fb6180c, 0x18f8931e, 0x281658e6, + 0x26486e3e, 0x8bd78a70, 0x7477e4c1, 0xb506e07c, 0xf32d0a25, 0x79098b02, 0xe4eabb81, 0x28123b23, + 0x69dead38, 0x1574ca16, 0xdf871b62, 0x211c40b7, 0xa51a9ef9, 0x0014377b, 0x041e8ac8, 0x09114003, + 0xbd59e4d2, 0xe3d156d5, 0x4fe876d5, 0x2f91a340, 0x557be8de, 0x00eae4a7, 0x0ce5c2ec, 0x4db4bba6, + 0xe756bdff, 0xdd3369ac, 0xec17b035, 0x06572327, 0x99afc8b0, 0x56c8c391, 0x6b65811c, 0x5e146119, + 0x6e85cb75, 0xbe07c002, 0xc2325577, 0x893ff4ec, 0x5bbfc92d, 0xd0ec3b25, 0xb7801ab7, 0x8d6d3b24, + 0x20c763ef, 0xc366a5fc, 0x9c382880, 0x0ace3205, 0xaac9548a, 0xeca1d7c7, 0x041afa32, 0x1d16625a, + 0x6701902c, 0x9b757a54, 0x31d477f7, 0x9126b031, 0x36cc6fdb, 0xc70b8b46, 0xd9e66a48, 0x56e55a79, + 0x026a4ceb, 0x52437eff, 0x2f8f76b4, 0x0df980a5, 0x8674cde3, 0xedda04eb, 0x17a9be04, 0x2c18f4df, + 0xb7747f9d, 0xab2af7b4, 0xefc34d20, 0x2e096b7c, 0x1741a254, 0xe5b6a035, 0x213d42f6, 0x2c1c7c26, + 0x61c2f50f, 0x6552daf9, 0xd2c231f8, 0x25130f69, 0xd8167fa2, 0x0418f2c8, 0x001a96a6, 0x0d1526ab, + 0x63315c21, 0x5e0a72ec, 0x49bafefd, 0x187908d9, 0x8d0dbd86, 0x311170a7, 0x3e9b640c, 0xcc3e10d7, + 0xd5cad3b6, 0x0caec388, 0xf73001e1, 0x6c728aff, 0x71eae2a1, 0x1f9af36e, 0xcfcbd12f, 0xc1de8417, + 0xac07be6b, 0xcb44a1d8, 0x8b9b0f56, 0x013988c3, 0xb1c52fca, 0xb4be31cd, 0xd8782806, 0x12a3a4e2, + 0x6f7de532, 0x58fd7eb6, 0xd01ee900, 0x24adffc2, 0xf4990fc5, 0x9711aac5, 0x001d7b95, 0x82e5e7d2, + 0x109873f6, 0x00613096, 0xc32d9521, 0xada121ff, 0x29908415, 0x7fbb977f, 0xaf9eb3db, 0x29c9ed2a, + 0x5ce2a465, 0xa730f32c, 0xd0aa3fe8, 0x8a5cc091, 0xd49e2ce7, 0x0ce454a9, 0xd60acd86, 0x015f1919, + 0x77079103, 0xdea03af6, 0x78a8565e, 0xdee356df, 0x21f05cbe, 0x8b75e387, 0xb3c50651, 0xb8a5c3ef, + 0xd8eeb6d2, 0xe523be77, 0xc2154529, 0x2f69efdf, 0xafe67afb, 0xf470c4b2, 0xf3e0eb5b, 0xd6cc9876, + 0x39e4460c, 0x1fda8538, 0x1987832f, 0xca007367, 0xa99144f8, 0x296b299e, 0x492fc295, 0x9266beab, + 0xb5676e69, 0x9bd3ddda, 0xdf7e052f, 0xdb25701c, 0x1b5e51ee, 0xf65324e6, 0x6afce36c, 0x0316cc04, + 0x8644213e, 0xb7dc59d0, 0x7965291f, 0xccd6fd43, 0x41823979, 0x932bcdf6, 0xb657c34d, 0x4edfd282, + 0x7ae5290c, 0x3cb9536b, 0x851e20fe, 0x9833557e, 0x13ecf0b0, 0xd3ffb372, 0x3f85c5c1, 0x0aef7ed2 }; const CAST_LONG CAST_S_table4[256] = { - 0x7ec90c04, - 0x2c6e74b9, - 0x9b0e66df, - 0xa6337911, - 0xb86a7fff, - 0x1dd358f5, - 0x44dd9d44, - 0x1731167f, - 0x08fbf1fa, - 0xe7f511cc, - 0xd2051b00, - 0x735aba00, - 0x2ab722d8, - 0x386381cb, - 0xacf6243a, - 0x69befd7a, - 0xe6a2e77f, - 0xf0c720cd, - 0xc4494816, - 0xccf5c180, - 0x38851640, - 0x15b0a848, - 0xe68b18cb, - 0x4caadeff, - 0x5f480a01, - 0x0412b2aa, - 0x259814fc, - 0x41d0efe2, - 0x4e40b48d, - 0x248eb6fb, - 0x8dba1cfe, - 0x41a99b02, - 0x1a550a04, - 0xba8f65cb, - 0x7251f4e7, - 0x95a51725, - 0xc106ecd7, - 0x97a5980a, - 0xc539b9aa, - 0x4d79fe6a, - 0xf2f3f763, - 0x68af8040, - 0xed0c9e56, - 0x11b4958b, - 0xe1eb5a88, - 0x8709e6b0, - 0xd7e07156, - 0x4e29fea7, - 0x6366e52d, - 0x02d1c000, - 0xc4ac8e05, - 0x9377f571, - 0x0c05372a, - 0x578535f2, - 0x2261be02, - 0xd642a0c9, - 0xdf13a280, - 0x74b55bd2, - 0x682199c0, - 0xd421e5ec, - 0x53fb3ce8, - 0xc8adedb3, - 0x28a87fc9, - 0x3d959981, - 0x5c1ff900, - 0xfe38d399, - 0x0c4eff0b, - 0x062407ea, - 0xaa2f4fb1, - 0x4fb96976, - 0x90c79505, - 0xb0a8a774, - 0xef55a1ff, - 0xe59ca2c2, - 0xa6b62d27, - 0xe66a4263, - 0xdf65001f, - 0x0ec50966, - 0xdfdd55bc, - 0x29de0655, - 0x911e739a, - 0x17af8975, - 0x32c7911c, - 0x89f89468, - 0x0d01e980, - 0x524755f4, - 0x03b63cc9, - 0x0cc844b2, - 0xbcf3f0aa, - 0x87ac36e9, - 0xe53a7426, - 0x01b3d82b, - 0x1a9e7449, - 0x64ee2d7e, - 0xcddbb1da, - 0x01c94910, - 0xb868bf80, - 0x0d26f3fd, - 0x9342ede7, - 0x04a5c284, - 0x636737b6, - 0x50f5b616, - 0xf24766e3, - 0x8eca36c1, - 0x136e05db, - 0xfef18391, - 0xfb887a37, - 0xd6e7f7d4, - 0xc7fb7dc9, - 0x3063fcdf, - 0xb6f589de, - 0xec2941da, - 0x26e46695, - 0xb7566419, - 0xf654efc5, - 0xd08d58b7, - 0x48925401, - 0xc1bacb7f, - 0xe5ff550f, - 0xb6083049, - 0x5bb5d0e8, - 0x87d72e5a, - 0xab6a6ee1, - 0x223a66ce, - 0xc62bf3cd, - 0x9e0885f9, - 0x68cb3e47, - 0x086c010f, - 0xa21de820, - 0xd18b69de, - 0xf3f65777, - 0xfa02c3f6, - 0x407edac3, - 0xcbb3d550, - 0x1793084d, - 0xb0d70eba, - 0x0ab378d5, - 0xd951fb0c, - 0xded7da56, - 0x4124bbe4, - 0x94ca0b56, - 0x0f5755d1, - 0xe0e1e56e, - 0x6184b5be, - 0x580a249f, - 0x94f74bc0, - 0xe327888e, - 0x9f7b5561, - 0xc3dc0280, - 0x05687715, - 0x646c6bd7, - 0x44904db3, - 0x66b4f0a3, - 0xc0f1648a, - 0x697ed5af, - 0x49e92ff6, - 0x309e374f, - 0x2cb6356a, - 0x85808573, - 0x4991f840, - 0x76f0ae02, - 0x083be84d, - 0x28421c9a, - 0x44489406, - 0x736e4cb8, - 0xc1092910, - 0x8bc95fc6, - 0x7d869cf4, - 0x134f616f, - 0x2e77118d, - 0xb31b2be1, - 0xaa90b472, - 0x3ca5d717, - 0x7d161bba, - 0x9cad9010, - 0xaf462ba2, - 0x9fe459d2, - 0x45d34559, - 0xd9f2da13, - 0xdbc65487, - 0xf3e4f94e, - 0x176d486f, - 0x097c13ea, - 0x631da5c7, - 0x445f7382, - 0x175683f4, - 0xcdc66a97, - 0x70be0288, - 0xb3cdcf72, - 0x6e5dd2f3, - 0x20936079, - 0x459b80a5, - 0xbe60e2db, - 0xa9c23101, - 0xeba5315c, - 0x224e42f2, - 0x1c5c1572, - 0xf6721b2c, - 0x1ad2fff3, - 0x8c25404e, - 0x324ed72f, - 0x4067b7fd, - 0x0523138e, - 0x5ca3bc78, - 0xdc0fd66e, - 0x75922283, - 0x784d6b17, - 0x58ebb16e, - 0x44094f85, - 0x3f481d87, - 0xfcfeae7b, - 0x77b5ff76, - 0x8c2302bf, - 0xaaf47556, - 0x5f46b02a, - 0x2b092801, - 0x3d38f5f7, - 0x0ca81f36, - 0x52af4a8a, - 0x66d5e7c0, - 0xdf3b0874, - 0x95055110, - 0x1b5ad7a8, - 0xf61ed5ad, - 0x6cf6e479, - 0x20758184, - 0xd0cefa65, - 0x88f7be58, - 0x4a046826, - 0x0ff6f8f3, - 0xa09c7f70, - 0x5346aba0, - 0x5ce96c28, - 0xe176eda3, - 0x6bac307f, - 0x376829d2, - 0x85360fa9, - 0x17e3fe2a, - 0x24b79767, - 0xf5a96b20, - 0xd6cd2595, - 0x68ff1ebf, - 0x7555442c, - 0xf19f06be, - 0xf9e0659a, - 0xeeb9491d, - 0x34010718, - 0xbb30cab8, - 0xe822fe15, - 0x88570983, - 0x750e6249, - 0xda627e55, - 0x5e76ffa8, - 0xb1534546, - 0x6d47de08, - 0xefe9e7d4, + 0x7ec90c04, 0x2c6e74b9, 0x9b0e66df, 0xa6337911, 0xb86a7fff, 0x1dd358f5, 0x44dd9d44, 0x1731167f, + 0x08fbf1fa, 0xe7f511cc, 0xd2051b00, 0x735aba00, 0x2ab722d8, 0x386381cb, 0xacf6243a, 0x69befd7a, + 0xe6a2e77f, 0xf0c720cd, 0xc4494816, 0xccf5c180, 0x38851640, 0x15b0a848, 0xe68b18cb, 0x4caadeff, + 0x5f480a01, 0x0412b2aa, 0x259814fc, 0x41d0efe2, 0x4e40b48d, 0x248eb6fb, 0x8dba1cfe, 0x41a99b02, + 0x1a550a04, 0xba8f65cb, 0x7251f4e7, 0x95a51725, 0xc106ecd7, 0x97a5980a, 0xc539b9aa, 0x4d79fe6a, + 0xf2f3f763, 0x68af8040, 0xed0c9e56, 0x11b4958b, 0xe1eb5a88, 0x8709e6b0, 0xd7e07156, 0x4e29fea7, + 0x6366e52d, 0x02d1c000, 0xc4ac8e05, 0x9377f571, 0x0c05372a, 0x578535f2, 0x2261be02, 0xd642a0c9, + 0xdf13a280, 0x74b55bd2, 0x682199c0, 0xd421e5ec, 0x53fb3ce8, 0xc8adedb3, 0x28a87fc9, 0x3d959981, + 0x5c1ff900, 0xfe38d399, 0x0c4eff0b, 0x062407ea, 0xaa2f4fb1, 0x4fb96976, 0x90c79505, 0xb0a8a774, + 0xef55a1ff, 0xe59ca2c2, 0xa6b62d27, 0xe66a4263, 0xdf65001f, 0x0ec50966, 0xdfdd55bc, 0x29de0655, + 0x911e739a, 0x17af8975, 0x32c7911c, 0x89f89468, 0x0d01e980, 0x524755f4, 0x03b63cc9, 0x0cc844b2, + 0xbcf3f0aa, 0x87ac36e9, 0xe53a7426, 0x01b3d82b, 0x1a9e7449, 0x64ee2d7e, 0xcddbb1da, 0x01c94910, + 0xb868bf80, 0x0d26f3fd, 0x9342ede7, 0x04a5c284, 0x636737b6, 0x50f5b616, 0xf24766e3, 0x8eca36c1, + 0x136e05db, 0xfef18391, 0xfb887a37, 0xd6e7f7d4, 0xc7fb7dc9, 0x3063fcdf, 0xb6f589de, 0xec2941da, + 0x26e46695, 0xb7566419, 0xf654efc5, 0xd08d58b7, 0x48925401, 0xc1bacb7f, 0xe5ff550f, 0xb6083049, + 0x5bb5d0e8, 0x87d72e5a, 0xab6a6ee1, 0x223a66ce, 0xc62bf3cd, 0x9e0885f9, 0x68cb3e47, 0x086c010f, + 0xa21de820, 0xd18b69de, 0xf3f65777, 0xfa02c3f6, 0x407edac3, 0xcbb3d550, 0x1793084d, 0xb0d70eba, + 0x0ab378d5, 0xd951fb0c, 0xded7da56, 0x4124bbe4, 0x94ca0b56, 0x0f5755d1, 0xe0e1e56e, 0x6184b5be, + 0x580a249f, 0x94f74bc0, 0xe327888e, 0x9f7b5561, 0xc3dc0280, 0x05687715, 0x646c6bd7, 0x44904db3, + 0x66b4f0a3, 0xc0f1648a, 0x697ed5af, 0x49e92ff6, 0x309e374f, 0x2cb6356a, 0x85808573, 0x4991f840, + 0x76f0ae02, 0x083be84d, 0x28421c9a, 0x44489406, 0x736e4cb8, 0xc1092910, 0x8bc95fc6, 0x7d869cf4, + 0x134f616f, 0x2e77118d, 0xb31b2be1, 0xaa90b472, 0x3ca5d717, 0x7d161bba, 0x9cad9010, 0xaf462ba2, + 0x9fe459d2, 0x45d34559, 0xd9f2da13, 0xdbc65487, 0xf3e4f94e, 0x176d486f, 0x097c13ea, 0x631da5c7, + 0x445f7382, 0x175683f4, 0xcdc66a97, 0x70be0288, 0xb3cdcf72, 0x6e5dd2f3, 0x20936079, 0x459b80a5, + 0xbe60e2db, 0xa9c23101, 0xeba5315c, 0x224e42f2, 0x1c5c1572, 0xf6721b2c, 0x1ad2fff3, 0x8c25404e, + 0x324ed72f, 0x4067b7fd, 0x0523138e, 0x5ca3bc78, 0xdc0fd66e, 0x75922283, 0x784d6b17, 0x58ebb16e, + 0x44094f85, 0x3f481d87, 0xfcfeae7b, 0x77b5ff76, 0x8c2302bf, 0xaaf47556, 0x5f46b02a, 0x2b092801, + 0x3d38f5f7, 0x0ca81f36, 0x52af4a8a, 0x66d5e7c0, 0xdf3b0874, 0x95055110, 0x1b5ad7a8, 0xf61ed5ad, + 0x6cf6e479, 0x20758184, 0xd0cefa65, 0x88f7be58, 0x4a046826, 0x0ff6f8f3, 0xa09c7f70, 0x5346aba0, + 0x5ce96c28, 0xe176eda3, 0x6bac307f, 0x376829d2, 0x85360fa9, 0x17e3fe2a, 0x24b79767, 0xf5a96b20, + 0xd6cd2595, 0x68ff1ebf, 0x7555442c, 0xf19f06be, 0xf9e0659a, 0xeeb9491d, 0x34010718, 0xbb30cab8, + 0xe822fe15, 0x88570983, 0x750e6249, 0xda627e55, 0x5e76ffa8, 0xb1534546, 0x6d47de08, 0xefe9e7d4 }; const CAST_LONG CAST_S_table5[256] = { - 0xf6fa8f9d, - 0x2cac6ce1, - 0x4ca34867, - 0xe2337f7c, - 0x95db08e7, - 0x016843b4, - 0xeced5cbc, - 0x325553ac, - 0xbf9f0960, - 0xdfa1e2ed, - 0x83f0579d, - 0x63ed86b9, - 0x1ab6a6b8, - 0xde5ebe39, - 0xf38ff732, - 0x8989b138, - 0x33f14961, - 0xc01937bd, - 0xf506c6da, - 0xe4625e7e, - 0xa308ea99, - 0x4e23e33c, - 0x79cbd7cc, - 0x48a14367, - 0xa3149619, - 0xfec94bd5, - 0xa114174a, - 0xeaa01866, - 0xa084db2d, - 0x09a8486f, - 0xa888614a, - 0x2900af98, - 0x01665991, - 0xe1992863, - 0xc8f30c60, - 0x2e78ef3c, - 0xd0d51932, - 0xcf0fec14, - 0xf7ca07d2, - 0xd0a82072, - 0xfd41197e, - 0x9305a6b0, - 0xe86be3da, - 0x74bed3cd, - 0x372da53c, - 0x4c7f4448, - 0xdab5d440, - 0x6dba0ec3, - 0x083919a7, - 0x9fbaeed9, - 0x49dbcfb0, - 0x4e670c53, - 0x5c3d9c01, - 0x64bdb941, - 0x2c0e636a, - 0xba7dd9cd, - 0xea6f7388, - 0xe70bc762, - 0x35f29adb, - 0x5c4cdd8d, - 0xf0d48d8c, - 0xb88153e2, - 0x08a19866, - 0x1ae2eac8, - 0x284caf89, - 0xaa928223, - 0x9334be53, - 0x3b3a21bf, - 0x16434be3, - 0x9aea3906, - 0xefe8c36e, - 0xf890cdd9, - 0x80226dae, - 0xc340a4a3, - 0xdf7e9c09, - 0xa694a807, - 0x5b7c5ecc, - 0x221db3a6, - 0x9a69a02f, - 0x68818a54, - 0xceb2296f, - 0x53c0843a, - 0xfe893655, - 0x25bfe68a, - 0xb4628abc, - 0xcf222ebf, - 0x25ac6f48, - 0xa9a99387, - 0x53bddb65, - 0xe76ffbe7, - 0xe967fd78, - 0x0ba93563, - 0x8e342bc1, - 0xe8a11be9, - 0x4980740d, - 0xc8087dfc, - 0x8de4bf99, - 0xa11101a0, - 0x7fd37975, - 0xda5a26c0, - 0xe81f994f, - 0x9528cd89, - 0xfd339fed, - 0xb87834bf, - 0x5f04456d, - 0x22258698, - 0xc9c4c83b, - 0x2dc156be, - 0x4f628daa, - 0x57f55ec5, - 0xe2220abe, - 0xd2916ebf, - 0x4ec75b95, - 0x24f2c3c0, - 0x42d15d99, - 0xcd0d7fa0, - 0x7b6e27ff, - 0xa8dc8af0, - 0x7345c106, - 0xf41e232f, - 0x35162386, - 0xe6ea8926, - 0x3333b094, - 0x157ec6f2, - 0x372b74af, - 0x692573e4, - 0xe9a9d848, - 0xf3160289, - 0x3a62ef1d, - 0xa787e238, - 0xf3a5f676, - 0x74364853, - 0x20951063, - 0x4576698d, - 0xb6fad407, - 0x592af950, - 0x36f73523, - 0x4cfb6e87, - 0x7da4cec0, - 0x6c152daa, - 0xcb0396a8, - 0xc50dfe5d, - 0xfcd707ab, - 0x0921c42f, - 0x89dff0bb, - 0x5fe2be78, - 0x448f4f33, - 0x754613c9, - 0x2b05d08d, - 0x48b9d585, - 0xdc049441, - 0xc8098f9b, - 0x7dede786, - 0xc39a3373, - 0x42410005, - 0x6a091751, - 0x0ef3c8a6, - 0x890072d6, - 0x28207682, - 0xa9a9f7be, - 0xbf32679d, - 0xd45b5b75, - 0xb353fd00, - 0xcbb0e358, - 0x830f220a, - 0x1f8fb214, - 0xd372cf08, - 0xcc3c4a13, - 0x8cf63166, - 0x061c87be, - 0x88c98f88, - 0x6062e397, - 0x47cf8e7a, - 0xb6c85283, - 0x3cc2acfb, - 0x3fc06976, - 0x4e8f0252, - 0x64d8314d, - 0xda3870e3, - 0x1e665459, - 0xc10908f0, - 0x513021a5, - 0x6c5b68b7, - 0x822f8aa0, - 0x3007cd3e, - 0x74719eef, - 0xdc872681, - 0x073340d4, - 0x7e432fd9, - 0x0c5ec241, - 0x8809286c, - 0xf592d891, - 0x08a930f6, - 0x957ef305, - 0xb7fbffbd, - 0xc266e96f, - 0x6fe4ac98, - 0xb173ecc0, - 0xbc60b42a, - 0x953498da, - 0xfba1ae12, - 0x2d4bd736, - 0x0f25faab, - 0xa4f3fceb, - 0xe2969123, - 0x257f0c3d, - 0x9348af49, - 0x361400bc, - 0xe8816f4a, - 0x3814f200, - 0xa3f94043, - 0x9c7a54c2, - 0xbc704f57, - 0xda41e7f9, - 0xc25ad33a, - 0x54f4a084, - 0xb17f5505, - 0x59357cbe, - 0xedbd15c8, - 0x7f97c5ab, - 0xba5ac7b5, - 0xb6f6deaf, - 0x3a479c3a, - 0x5302da25, - 0x653d7e6a, - 0x54268d49, - 0x51a477ea, - 0x5017d55b, - 0xd7d25d88, - 0x44136c76, - 0x0404a8c8, - 0xb8e5a121, - 0xb81a928a, - 0x60ed5869, - 0x97c55b96, - 0xeaec991b, - 0x29935913, - 0x01fdb7f1, - 0x088e8dfa, - 0x9ab6f6f5, - 0x3b4cbf9f, - 0x4a5de3ab, - 0xe6051d35, - 0xa0e1d855, - 0xd36b4cf1, - 0xf544edeb, - 0xb0e93524, - 0xbebb8fbd, - 0xa2d762cf, - 0x49c92f54, - 0x38b5f331, - 0x7128a454, - 0x48392905, - 0xa65b1db8, - 0x851c97bd, - 0xd675cf2f, + 0xf6fa8f9d, 0x2cac6ce1, 0x4ca34867, 0xe2337f7c, 0x95db08e7, 0x016843b4, 0xeced5cbc, 0x325553ac, + 0xbf9f0960, 0xdfa1e2ed, 0x83f0579d, 0x63ed86b9, 0x1ab6a6b8, 0xde5ebe39, 0xf38ff732, 0x8989b138, + 0x33f14961, 0xc01937bd, 0xf506c6da, 0xe4625e7e, 0xa308ea99, 0x4e23e33c, 0x79cbd7cc, 0x48a14367, + 0xa3149619, 0xfec94bd5, 0xa114174a, 0xeaa01866, 0xa084db2d, 0x09a8486f, 0xa888614a, 0x2900af98, + 0x01665991, 0xe1992863, 0xc8f30c60, 0x2e78ef3c, 0xd0d51932, 0xcf0fec14, 0xf7ca07d2, 0xd0a82072, + 0xfd41197e, 0x9305a6b0, 0xe86be3da, 0x74bed3cd, 0x372da53c, 0x4c7f4448, 0xdab5d440, 0x6dba0ec3, + 0x083919a7, 0x9fbaeed9, 0x49dbcfb0, 0x4e670c53, 0x5c3d9c01, 0x64bdb941, 0x2c0e636a, 0xba7dd9cd, + 0xea6f7388, 0xe70bc762, 0x35f29adb, 0x5c4cdd8d, 0xf0d48d8c, 0xb88153e2, 0x08a19866, 0x1ae2eac8, + 0x284caf89, 0xaa928223, 0x9334be53, 0x3b3a21bf, 0x16434be3, 0x9aea3906, 0xefe8c36e, 0xf890cdd9, + 0x80226dae, 0xc340a4a3, 0xdf7e9c09, 0xa694a807, 0x5b7c5ecc, 0x221db3a6, 0x9a69a02f, 0x68818a54, + 0xceb2296f, 0x53c0843a, 0xfe893655, 0x25bfe68a, 0xb4628abc, 0xcf222ebf, 0x25ac6f48, 0xa9a99387, + 0x53bddb65, 0xe76ffbe7, 0xe967fd78, 0x0ba93563, 0x8e342bc1, 0xe8a11be9, 0x4980740d, 0xc8087dfc, + 0x8de4bf99, 0xa11101a0, 0x7fd37975, 0xda5a26c0, 0xe81f994f, 0x9528cd89, 0xfd339fed, 0xb87834bf, + 0x5f04456d, 0x22258698, 0xc9c4c83b, 0x2dc156be, 0x4f628daa, 0x57f55ec5, 0xe2220abe, 0xd2916ebf, + 0x4ec75b95, 0x24f2c3c0, 0x42d15d99, 0xcd0d7fa0, 0x7b6e27ff, 0xa8dc8af0, 0x7345c106, 0xf41e232f, + 0x35162386, 0xe6ea8926, 0x3333b094, 0x157ec6f2, 0x372b74af, 0x692573e4, 0xe9a9d848, 0xf3160289, + 0x3a62ef1d, 0xa787e238, 0xf3a5f676, 0x74364853, 0x20951063, 0x4576698d, 0xb6fad407, 0x592af950, + 0x36f73523, 0x4cfb6e87, 0x7da4cec0, 0x6c152daa, 0xcb0396a8, 0xc50dfe5d, 0xfcd707ab, 0x0921c42f, + 0x89dff0bb, 0x5fe2be78, 0x448f4f33, 0x754613c9, 0x2b05d08d, 0x48b9d585, 0xdc049441, 0xc8098f9b, + 0x7dede786, 0xc39a3373, 0x42410005, 0x6a091751, 0x0ef3c8a6, 0x890072d6, 0x28207682, 0xa9a9f7be, + 0xbf32679d, 0xd45b5b75, 0xb353fd00, 0xcbb0e358, 0x830f220a, 0x1f8fb214, 0xd372cf08, 0xcc3c4a13, + 0x8cf63166, 0x061c87be, 0x88c98f88, 0x6062e397, 0x47cf8e7a, 0xb6c85283, 0x3cc2acfb, 0x3fc06976, + 0x4e8f0252, 0x64d8314d, 0xda3870e3, 0x1e665459, 0xc10908f0, 0x513021a5, 0x6c5b68b7, 0x822f8aa0, + 0x3007cd3e, 0x74719eef, 0xdc872681, 0x073340d4, 0x7e432fd9, 0x0c5ec241, 0x8809286c, 0xf592d891, + 0x08a930f6, 0x957ef305, 0xb7fbffbd, 0xc266e96f, 0x6fe4ac98, 0xb173ecc0, 0xbc60b42a, 0x953498da, + 0xfba1ae12, 0x2d4bd736, 0x0f25faab, 0xa4f3fceb, 0xe2969123, 0x257f0c3d, 0x9348af49, 0x361400bc, + 0xe8816f4a, 0x3814f200, 0xa3f94043, 0x9c7a54c2, 0xbc704f57, 0xda41e7f9, 0xc25ad33a, 0x54f4a084, + 0xb17f5505, 0x59357cbe, 0xedbd15c8, 0x7f97c5ab, 0xba5ac7b5, 0xb6f6deaf, 0x3a479c3a, 0x5302da25, + 0x653d7e6a, 0x54268d49, 0x51a477ea, 0x5017d55b, 0xd7d25d88, 0x44136c76, 0x0404a8c8, 0xb8e5a121, + 0xb81a928a, 0x60ed5869, 0x97c55b96, 0xeaec991b, 0x29935913, 0x01fdb7f1, 0x088e8dfa, 0x9ab6f6f5, + 0x3b4cbf9f, 0x4a5de3ab, 0xe6051d35, 0xa0e1d855, 0xd36b4cf1, 0xf544edeb, 0xb0e93524, 0xbebb8fbd, + 0xa2d762cf, 0x49c92f54, 0x38b5f331, 0x7128a454, 0x48392905, 0xa65b1db8, 0x851c97bd, 0xd675cf2f }; const CAST_LONG CAST_S_table6[256] = { - 0x85e04019, - 0x332bf567, - 0x662dbfff, - 0xcfc65693, - 0x2a8d7f6f, - 0xab9bc912, - 0xde6008a1, - 0x2028da1f, - 0x0227bce7, - 0x4d642916, - 0x18fac300, - 0x50f18b82, - 0x2cb2cb11, - 0xb232e75c, - 0x4b3695f2, - 0xb28707de, - 0xa05fbcf6, - 0xcd4181e9, - 0xe150210c, - 0xe24ef1bd, - 0xb168c381, - 0xfde4e789, - 0x5c79b0d8, - 0x1e8bfd43, - 0x4d495001, - 0x38be4341, - 0x913cee1d, - 0x92a79c3f, - 0x089766be, - 0xbaeeadf4, - 0x1286becf, - 0xb6eacb19, - 0x2660c200, - 0x7565bde4, - 0x64241f7a, - 0x8248dca9, - 0xc3b3ad66, - 0x28136086, - 0x0bd8dfa8, - 0x356d1cf2, - 0x107789be, - 0xb3b2e9ce, - 0x0502aa8f, - 0x0bc0351e, - 0x166bf52a, - 0xeb12ff82, - 0xe3486911, - 0xd34d7516, - 0x4e7b3aff, - 0x5f43671b, - 0x9cf6e037, - 0x4981ac83, - 0x334266ce, - 0x8c9341b7, - 0xd0d854c0, - 0xcb3a6c88, - 0x47bc2829, - 0x4725ba37, - 0xa66ad22b, - 0x7ad61f1e, - 0x0c5cbafa, - 0x4437f107, - 0xb6e79962, - 0x42d2d816, - 0x0a961288, - 0xe1a5c06e, - 0x13749e67, - 0x72fc081a, - 0xb1d139f7, - 0xf9583745, - 0xcf19df58, - 0xbec3f756, - 0xc06eba30, - 0x07211b24, - 0x45c28829, - 0xc95e317f, - 0xbc8ec511, - 0x38bc46e9, - 0xc6e6fa14, - 0xbae8584a, - 0xad4ebc46, - 0x468f508b, - 0x7829435f, - 0xf124183b, - 0x821dba9f, - 0xaff60ff4, - 0xea2c4e6d, - 0x16e39264, - 0x92544a8b, - 0x009b4fc3, - 0xaba68ced, - 0x9ac96f78, - 0x06a5b79a, - 0xb2856e6e, - 0x1aec3ca9, - 0xbe838688, - 0x0e0804e9, - 0x55f1be56, - 0xe7e5363b, - 0xb3a1f25d, - 0xf7debb85, - 0x61fe033c, - 0x16746233, - 0x3c034c28, - 0xda6d0c74, - 0x79aac56c, - 0x3ce4e1ad, - 0x51f0c802, - 0x98f8f35a, - 0x1626a49f, - 0xeed82b29, - 0x1d382fe3, - 0x0c4fb99a, - 0xbb325778, - 0x3ec6d97b, - 0x6e77a6a9, - 0xcb658b5c, - 0xd45230c7, - 0x2bd1408b, - 0x60c03eb7, - 0xb9068d78, - 0xa33754f4, - 0xf430c87d, - 0xc8a71302, - 0xb96d8c32, - 0xebd4e7be, - 0xbe8b9d2d, - 0x7979fb06, - 0xe7225308, - 0x8b75cf77, - 0x11ef8da4, - 0xe083c858, - 0x8d6b786f, - 0x5a6317a6, - 0xfa5cf7a0, - 0x5dda0033, - 0xf28ebfb0, - 0xf5b9c310, - 0xa0eac280, - 0x08b9767a, - 0xa3d9d2b0, - 0x79d34217, - 0x021a718d, - 0x9ac6336a, - 0x2711fd60, - 0x438050e3, - 0x069908a8, - 0x3d7fedc4, - 0x826d2bef, - 0x4eeb8476, - 0x488dcf25, - 0x36c9d566, - 0x28e74e41, - 0xc2610aca, - 0x3d49a9cf, - 0xbae3b9df, - 0xb65f8de6, - 0x92aeaf64, - 0x3ac7d5e6, - 0x9ea80509, - 0xf22b017d, - 0xa4173f70, - 0xdd1e16c3, - 0x15e0d7f9, - 0x50b1b887, - 0x2b9f4fd5, - 0x625aba82, - 0x6a017962, - 0x2ec01b9c, - 0x15488aa9, - 0xd716e740, - 0x40055a2c, - 0x93d29a22, - 0xe32dbf9a, - 0x058745b9, - 0x3453dc1e, - 0xd699296e, - 0x496cff6f, - 0x1c9f4986, - 0xdfe2ed07, - 0xb87242d1, - 0x19de7eae, - 0x053e561a, - 0x15ad6f8c, - 0x66626c1c, - 0x7154c24c, - 0xea082b2a, - 0x93eb2939, - 0x17dcb0f0, - 0x58d4f2ae, - 0x9ea294fb, - 0x52cf564c, - 0x9883fe66, - 0x2ec40581, - 0x763953c3, - 0x01d6692e, - 0xd3a0c108, - 0xa1e7160e, - 0xe4f2dfa6, - 0x693ed285, - 0x74904698, - 0x4c2b0edd, - 0x4f757656, - 0x5d393378, - 0xa132234f, - 0x3d321c5d, - 0xc3f5e194, - 0x4b269301, - 0xc79f022f, - 0x3c997e7e, - 0x5e4f9504, - 0x3ffafbbd, - 0x76f7ad0e, - 0x296693f4, - 0x3d1fce6f, - 0xc61e45be, - 0xd3b5ab34, - 0xf72bf9b7, - 0x1b0434c0, - 0x4e72b567, - 0x5592a33d, - 0xb5229301, - 0xcfd2a87f, - 0x60aeb767, - 0x1814386b, - 0x30bcc33d, - 0x38a0c07d, - 0xfd1606f2, - 0xc363519b, - 0x589dd390, - 0x5479f8e6, - 0x1cb8d647, - 0x97fd61a9, - 0xea7759f4, - 0x2d57539d, - 0x569a58cf, - 0xe84e63ad, - 0x462e1b78, - 0x6580f87e, - 0xf3817914, - 0x91da55f4, - 0x40a230f3, - 0xd1988f35, - 0xb6e318d2, - 0x3ffa50bc, - 0x3d40f021, - 0xc3c0bdae, - 0x4958c24c, - 0x518f36b2, - 0x84b1d370, - 0x0fedce83, - 0x878ddada, - 0xf2a279c7, - 0x94e01be8, - 0x90716f4b, - 0x954b8aa3, + 0x85e04019, 0x332bf567, 0x662dbfff, 0xcfc65693, 0x2a8d7f6f, 0xab9bc912, 0xde6008a1, 0x2028da1f, + 0x0227bce7, 0x4d642916, 0x18fac300, 0x50f18b82, 0x2cb2cb11, 0xb232e75c, 0x4b3695f2, 0xb28707de, + 0xa05fbcf6, 0xcd4181e9, 0xe150210c, 0xe24ef1bd, 0xb168c381, 0xfde4e789, 0x5c79b0d8, 0x1e8bfd43, + 0x4d495001, 0x38be4341, 0x913cee1d, 0x92a79c3f, 0x089766be, 0xbaeeadf4, 0x1286becf, 0xb6eacb19, + 0x2660c200, 0x7565bde4, 0x64241f7a, 0x8248dca9, 0xc3b3ad66, 0x28136086, 0x0bd8dfa8, 0x356d1cf2, + 0x107789be, 0xb3b2e9ce, 0x0502aa8f, 0x0bc0351e, 0x166bf52a, 0xeb12ff82, 0xe3486911, 0xd34d7516, + 0x4e7b3aff, 0x5f43671b, 0x9cf6e037, 0x4981ac83, 0x334266ce, 0x8c9341b7, 0xd0d854c0, 0xcb3a6c88, + 0x47bc2829, 0x4725ba37, 0xa66ad22b, 0x7ad61f1e, 0x0c5cbafa, 0x4437f107, 0xb6e79962, 0x42d2d816, + 0x0a961288, 0xe1a5c06e, 0x13749e67, 0x72fc081a, 0xb1d139f7, 0xf9583745, 0xcf19df58, 0xbec3f756, + 0xc06eba30, 0x07211b24, 0x45c28829, 0xc95e317f, 0xbc8ec511, 0x38bc46e9, 0xc6e6fa14, 0xbae8584a, + 0xad4ebc46, 0x468f508b, 0x7829435f, 0xf124183b, 0x821dba9f, 0xaff60ff4, 0xea2c4e6d, 0x16e39264, + 0x92544a8b, 0x009b4fc3, 0xaba68ced, 0x9ac96f78, 0x06a5b79a, 0xb2856e6e, 0x1aec3ca9, 0xbe838688, + 0x0e0804e9, 0x55f1be56, 0xe7e5363b, 0xb3a1f25d, 0xf7debb85, 0x61fe033c, 0x16746233, 0x3c034c28, + 0xda6d0c74, 0x79aac56c, 0x3ce4e1ad, 0x51f0c802, 0x98f8f35a, 0x1626a49f, 0xeed82b29, 0x1d382fe3, + 0x0c4fb99a, 0xbb325778, 0x3ec6d97b, 0x6e77a6a9, 0xcb658b5c, 0xd45230c7, 0x2bd1408b, 0x60c03eb7, + 0xb9068d78, 0xa33754f4, 0xf430c87d, 0xc8a71302, 0xb96d8c32, 0xebd4e7be, 0xbe8b9d2d, 0x7979fb06, + 0xe7225308, 0x8b75cf77, 0x11ef8da4, 0xe083c858, 0x8d6b786f, 0x5a6317a6, 0xfa5cf7a0, 0x5dda0033, + 0xf28ebfb0, 0xf5b9c310, 0xa0eac280, 0x08b9767a, 0xa3d9d2b0, 0x79d34217, 0x021a718d, 0x9ac6336a, + 0x2711fd60, 0x438050e3, 0x069908a8, 0x3d7fedc4, 0x826d2bef, 0x4eeb8476, 0x488dcf25, 0x36c9d566, + 0x28e74e41, 0xc2610aca, 0x3d49a9cf, 0xbae3b9df, 0xb65f8de6, 0x92aeaf64, 0x3ac7d5e6, 0x9ea80509, + 0xf22b017d, 0xa4173f70, 0xdd1e16c3, 0x15e0d7f9, 0x50b1b887, 0x2b9f4fd5, 0x625aba82, 0x6a017962, + 0x2ec01b9c, 0x15488aa9, 0xd716e740, 0x40055a2c, 0x93d29a22, 0xe32dbf9a, 0x058745b9, 0x3453dc1e, + 0xd699296e, 0x496cff6f, 0x1c9f4986, 0xdfe2ed07, 0xb87242d1, 0x19de7eae, 0x053e561a, 0x15ad6f8c, + 0x66626c1c, 0x7154c24c, 0xea082b2a, 0x93eb2939, 0x17dcb0f0, 0x58d4f2ae, 0x9ea294fb, 0x52cf564c, + 0x9883fe66, 0x2ec40581, 0x763953c3, 0x01d6692e, 0xd3a0c108, 0xa1e7160e, 0xe4f2dfa6, 0x693ed285, + 0x74904698, 0x4c2b0edd, 0x4f757656, 0x5d393378, 0xa132234f, 0x3d321c5d, 0xc3f5e194, 0x4b269301, + 0xc79f022f, 0x3c997e7e, 0x5e4f9504, 0x3ffafbbd, 0x76f7ad0e, 0x296693f4, 0x3d1fce6f, 0xc61e45be, + 0xd3b5ab34, 0xf72bf9b7, 0x1b0434c0, 0x4e72b567, 0x5592a33d, 0xb5229301, 0xcfd2a87f, 0x60aeb767, + 0x1814386b, 0x30bcc33d, 0x38a0c07d, 0xfd1606f2, 0xc363519b, 0x589dd390, 0x5479f8e6, 0x1cb8d647, + 0x97fd61a9, 0xea7759f4, 0x2d57539d, 0x569a58cf, 0xe84e63ad, 0x462e1b78, 0x6580f87e, 0xf3817914, + 0x91da55f4, 0x40a230f3, 0xd1988f35, 0xb6e318d2, 0x3ffa50bc, 0x3d40f021, 0xc3c0bdae, 0x4958c24c, + 0x518f36b2, 0x84b1d370, 0x0fedce83, 0x878ddada, 0xf2a279c7, 0x94e01be8, 0x90716f4b, 0x954b8aa3 }; const CAST_LONG CAST_S_table7[256] = { - 0xe216300d, - 0xbbddfffc, - 0xa7ebdabd, - 0x35648095, - 0x7789f8b7, - 0xe6c1121b, - 0x0e241600, - 0x052ce8b5, - 0x11a9cfb0, - 0xe5952f11, - 0xece7990a, - 0x9386d174, - 0x2a42931c, - 0x76e38111, - 0xb12def3a, - 0x37ddddfc, - 0xde9adeb1, - 0x0a0cc32c, - 0xbe197029, - 0x84a00940, - 0xbb243a0f, - 0xb4d137cf, - 0xb44e79f0, - 0x049eedfd, - 0x0b15a15d, - 0x480d3168, - 0x8bbbde5a, - 0x669ded42, - 0xc7ece831, - 0x3f8f95e7, - 0x72df191b, - 0x7580330d, - 0x94074251, - 0x5c7dcdfa, - 0xabbe6d63, - 0xaa402164, - 0xb301d40a, - 0x02e7d1ca, - 0x53571dae, - 0x7a3182a2, - 0x12a8ddec, - 0xfdaa335d, - 0x176f43e8, - 0x71fb46d4, - 0x38129022, - 0xce949ad4, - 0xb84769ad, - 0x965bd862, - 0x82f3d055, - 0x66fb9767, - 0x15b80b4e, - 0x1d5b47a0, - 0x4cfde06f, - 0xc28ec4b8, - 0x57e8726e, - 0x647a78fc, - 0x99865d44, - 0x608bd593, - 0x6c200e03, - 0x39dc5ff6, - 0x5d0b00a3, - 0xae63aff2, - 0x7e8bd632, - 0x70108c0c, - 0xbbd35049, - 0x2998df04, - 0x980cf42a, - 0x9b6df491, - 0x9e7edd53, - 0x06918548, - 0x58cb7e07, - 0x3b74ef2e, - 0x522fffb1, - 0xd24708cc, - 0x1c7e27cd, - 0xa4eb215b, - 0x3cf1d2e2, - 0x19b47a38, - 0x424f7618, - 0x35856039, - 0x9d17dee7, - 0x27eb35e6, - 0xc9aff67b, - 0x36baf5b8, - 0x09c467cd, - 0xc18910b1, - 0xe11dbf7b, - 0x06cd1af8, - 0x7170c608, - 0x2d5e3354, - 0xd4de495a, - 0x64c6d006, - 0xbcc0c62c, - 0x3dd00db3, - 0x708f8f34, - 0x77d51b42, - 0x264f620f, - 0x24b8d2bf, - 0x15c1b79e, - 0x46a52564, - 0xf8d7e54e, - 0x3e378160, - 0x7895cda5, - 0x859c15a5, - 0xe6459788, - 0xc37bc75f, - 0xdb07ba0c, - 0x0676a3ab, - 0x7f229b1e, - 0x31842e7b, - 0x24259fd7, - 0xf8bef472, - 0x835ffcb8, - 0x6df4c1f2, - 0x96f5b195, - 0xfd0af0fc, - 0xb0fe134c, - 0xe2506d3d, - 0x4f9b12ea, - 0xf215f225, - 0xa223736f, - 0x9fb4c428, - 0x25d04979, - 0x34c713f8, - 0xc4618187, - 0xea7a6e98, - 0x7cd16efc, - 0x1436876c, - 0xf1544107, - 0xbedeee14, - 0x56e9af27, - 0xa04aa441, - 0x3cf7c899, - 0x92ecbae6, - 0xdd67016d, - 0x151682eb, - 0xa842eedf, - 0xfdba60b4, - 0xf1907b75, - 0x20e3030f, - 0x24d8c29e, - 0xe139673b, - 0xefa63fb8, - 0x71873054, - 0xb6f2cf3b, - 0x9f326442, - 0xcb15a4cc, - 0xb01a4504, - 0xf1e47d8d, - 0x844a1be5, - 0xbae7dfdc, - 0x42cbda70, - 0xcd7dae0a, - 0x57e85b7a, - 0xd53f5af6, - 0x20cf4d8c, - 0xcea4d428, - 0x79d130a4, - 0x3486ebfb, - 0x33d3cddc, - 0x77853b53, - 0x37effcb5, - 0xc5068778, - 0xe580b3e6, - 0x4e68b8f4, - 0xc5c8b37e, - 0x0d809ea2, - 0x398feb7c, - 0x132a4f94, - 0x43b7950e, - 0x2fee7d1c, - 0x223613bd, - 0xdd06caa2, - 0x37df932b, - 0xc4248289, - 0xacf3ebc3, - 0x5715f6b7, - 0xef3478dd, - 0xf267616f, - 0xc148cbe4, - 0x9052815e, - 0x5e410fab, - 0xb48a2465, - 0x2eda7fa4, - 0xe87b40e4, - 0xe98ea084, - 0x5889e9e1, - 0xefd390fc, - 0xdd07d35b, - 0xdb485694, - 0x38d7e5b2, - 0x57720101, - 0x730edebc, - 0x5b643113, - 0x94917e4f, - 0x503c2fba, - 0x646f1282, - 0x7523d24a, - 0xe0779695, - 0xf9c17a8f, - 0x7a5b2121, - 0xd187b896, - 0x29263a4d, - 0xba510cdf, - 0x81f47c9f, - 0xad1163ed, - 0xea7b5965, - 0x1a00726e, - 0x11403092, - 0x00da6d77, - 0x4a0cdd61, - 0xad1f4603, - 0x605bdfb0, - 0x9eedc364, - 0x22ebe6a8, - 0xcee7d28a, - 0xa0e736a0, - 0x5564a6b9, - 0x10853209, - 0xc7eb8f37, - 0x2de705ca, - 0x8951570f, - 0xdf09822b, - 0xbd691a6c, - 0xaa12e4f2, - 0x87451c0f, - 0xe0f6a27a, - 0x3ada4819, - 0x4cf1764f, - 0x0d771c2b, - 0x67cdb156, - 0x350d8384, - 0x5938fa0f, - 0x42399ef3, - 0x36997b07, - 0x0e84093d, - 0x4aa93e61, - 0x8360d87b, - 0x1fa98b0c, - 0x1149382c, - 0xe97625a5, - 0x0614d1b7, - 0x0e25244b, - 0x0c768347, - 0x589e8d82, - 0x0d2059d1, - 0xa466bb1e, - 0xf8da0a82, - 0x04f19130, - 0xba6e4ec0, - 0x99265164, - 0x1ee7230d, - 0x50b2ad80, - 0xeaee6801, - 0x8db2a283, - 0xea8bf59e, + 0xe216300d, 0xbbddfffc, 0xa7ebdabd, 0x35648095, 0x7789f8b7, 0xe6c1121b, 0x0e241600, 0x052ce8b5, + 0x11a9cfb0, 0xe5952f11, 0xece7990a, 0x9386d174, 0x2a42931c, 0x76e38111, 0xb12def3a, 0x37ddddfc, + 0xde9adeb1, 0x0a0cc32c, 0xbe197029, 0x84a00940, 0xbb243a0f, 0xb4d137cf, 0xb44e79f0, 0x049eedfd, + 0x0b15a15d, 0x480d3168, 0x8bbbde5a, 0x669ded42, 0xc7ece831, 0x3f8f95e7, 0x72df191b, 0x7580330d, + 0x94074251, 0x5c7dcdfa, 0xabbe6d63, 0xaa402164, 0xb301d40a, 0x02e7d1ca, 0x53571dae, 0x7a3182a2, + 0x12a8ddec, 0xfdaa335d, 0x176f43e8, 0x71fb46d4, 0x38129022, 0xce949ad4, 0xb84769ad, 0x965bd862, + 0x82f3d055, 0x66fb9767, 0x15b80b4e, 0x1d5b47a0, 0x4cfde06f, 0xc28ec4b8, 0x57e8726e, 0x647a78fc, + 0x99865d44, 0x608bd593, 0x6c200e03, 0x39dc5ff6, 0x5d0b00a3, 0xae63aff2, 0x7e8bd632, 0x70108c0c, + 0xbbd35049, 0x2998df04, 0x980cf42a, 0x9b6df491, 0x9e7edd53, 0x06918548, 0x58cb7e07, 0x3b74ef2e, + 0x522fffb1, 0xd24708cc, 0x1c7e27cd, 0xa4eb215b, 0x3cf1d2e2, 0x19b47a38, 0x424f7618, 0x35856039, + 0x9d17dee7, 0x27eb35e6, 0xc9aff67b, 0x36baf5b8, 0x09c467cd, 0xc18910b1, 0xe11dbf7b, 0x06cd1af8, + 0x7170c608, 0x2d5e3354, 0xd4de495a, 0x64c6d006, 0xbcc0c62c, 0x3dd00db3, 0x708f8f34, 0x77d51b42, + 0x264f620f, 0x24b8d2bf, 0x15c1b79e, 0x46a52564, 0xf8d7e54e, 0x3e378160, 0x7895cda5, 0x859c15a5, + 0xe6459788, 0xc37bc75f, 0xdb07ba0c, 0x0676a3ab, 0x7f229b1e, 0x31842e7b, 0x24259fd7, 0xf8bef472, + 0x835ffcb8, 0x6df4c1f2, 0x96f5b195, 0xfd0af0fc, 0xb0fe134c, 0xe2506d3d, 0x4f9b12ea, 0xf215f225, + 0xa223736f, 0x9fb4c428, 0x25d04979, 0x34c713f8, 0xc4618187, 0xea7a6e98, 0x7cd16efc, 0x1436876c, + 0xf1544107, 0xbedeee14, 0x56e9af27, 0xa04aa441, 0x3cf7c899, 0x92ecbae6, 0xdd67016d, 0x151682eb, + 0xa842eedf, 0xfdba60b4, 0xf1907b75, 0x20e3030f, 0x24d8c29e, 0xe139673b, 0xefa63fb8, 0x71873054, + 0xb6f2cf3b, 0x9f326442, 0xcb15a4cc, 0xb01a4504, 0xf1e47d8d, 0x844a1be5, 0xbae7dfdc, 0x42cbda70, + 0xcd7dae0a, 0x57e85b7a, 0xd53f5af6, 0x20cf4d8c, 0xcea4d428, 0x79d130a4, 0x3486ebfb, 0x33d3cddc, + 0x77853b53, 0x37effcb5, 0xc5068778, 0xe580b3e6, 0x4e68b8f4, 0xc5c8b37e, 0x0d809ea2, 0x398feb7c, + 0x132a4f94, 0x43b7950e, 0x2fee7d1c, 0x223613bd, 0xdd06caa2, 0x37df932b, 0xc4248289, 0xacf3ebc3, + 0x5715f6b7, 0xef3478dd, 0xf267616f, 0xc148cbe4, 0x9052815e, 0x5e410fab, 0xb48a2465, 0x2eda7fa4, + 0xe87b40e4, 0xe98ea084, 0x5889e9e1, 0xefd390fc, 0xdd07d35b, 0xdb485694, 0x38d7e5b2, 0x57720101, + 0x730edebc, 0x5b643113, 0x94917e4f, 0x503c2fba, 0x646f1282, 0x7523d24a, 0xe0779695, 0xf9c17a8f, + 0x7a5b2121, 0xd187b896, 0x29263a4d, 0xba510cdf, 0x81f47c9f, 0xad1163ed, 0xea7b5965, 0x1a00726e, + 0x11403092, 0x00da6d77, 0x4a0cdd61, 0xad1f4603, 0x605bdfb0, 0x9eedc364, 0x22ebe6a8, 0xcee7d28a, + 0xa0e736a0, 0x5564a6b9, 0x10853209, 0xc7eb8f37, 0x2de705ca, 0x8951570f, 0xdf09822b, 0xbd691a6c, + 0xaa12e4f2, 0x87451c0f, 0xe0f6a27a, 0x3ada4819, 0x4cf1764f, 0x0d771c2b, 0x67cdb156, 0x350d8384, + 0x5938fa0f, 0x42399ef3, 0x36997b07, 0x0e84093d, 0x4aa93e61, 0x8360d87b, 0x1fa98b0c, 0x1149382c, + 0xe97625a5, 0x0614d1b7, 0x0e25244b, 0x0c768347, 0x589e8d82, 0x0d2059d1, 0xa466bb1e, 0xf8da0a82, + 0x04f19130, 0xba6e4ec0, 0x99265164, 0x1ee7230d, 0x50b2ad80, 0xeaee6801, 0x8db2a283, 0xea8bf59e }; diff --git a/deps/openssl/openssl/crypto/chacha/asm/chachap10-ppc.pl b/deps/openssl/openssl/crypto/chacha/asm/chachap10-ppc.pl index a6bff8db38ad..9c508266888d 100755 --- a/deps/openssl/openssl/crypto/chacha/asm/chachap10-ppc.pl +++ b/deps/openssl/openssl/crypto/chacha/asm/chachap10-ppc.pl @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# Copyright 2016-2024 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2026 The OpenSSL Project Authors. All Rights Reserved. # # Licensed under the Apache License 2.0 (the "License"). You may not use # this file except in compliance with the License. You can obtain a copy @@ -501,7 +501,7 @@ sub VSX_lane_ROUND_4x { my ($xv18,$xv19,$xv20,$xv21) = map("v$_",(18..21)); my ($xv22,$xv23,$xv24,$xv25,$xv26) = map("v$_",(22..26)); -my $FRAME=$LOCALS+64+9*16; # 8*16 is for v24-v31 offload +my $FRAME=$LOCALS+64+9*16+13*8+4*16; # 8*16 for v24-v31 offload, 13*8 for f14-f26, 4*16 for v20-v23 sub VSX_lane_ROUND_8x { my ($a0,$b0,$c0,$d0,$a4,$b4,$c4,$d4)=@_; @@ -665,7 +665,28 @@ sub VSX_lane_ROUND_8x { addi r11,r11,32 stvx v30,r10,$sp stvx v31,r11,$sp - stw r12,`$FRAME-4`($sp) # save vrsave + stfd f14,`$LOCALS+64+9*16+0*8`($sp) # save FPR14-FPR26 (callee-saved per ELFv2 ABI) + stfd f15,`$LOCALS+64+9*16+1*8`($sp) + stfd f16,`$LOCALS+64+9*16+2*8`($sp) + stfd f17,`$LOCALS+64+9*16+3*8`($sp) + stfd f18,`$LOCALS+64+9*16+4*8`($sp) + stfd f19,`$LOCALS+64+9*16+5*8`($sp) + stfd f20,`$LOCALS+64+9*16+6*8`($sp) + stfd f21,`$LOCALS+64+9*16+7*8`($sp) + stfd f22,`$LOCALS+64+9*16+8*8`($sp) + stfd f23,`$LOCALS+64+9*16+9*8`($sp) + stfd f24,`$LOCALS+64+9*16+10*8`($sp) + stfd f25,`$LOCALS+64+9*16+11*8`($sp) + be?stfd f26,`$LOCALS+64+9*16+12*8`($sp) # BE only + li r10,`$LOCALS+64+9*16+13*8+15` + li r11,`$LOCALS+64+9*16+13*8+31` + stvx v20,r10,$sp # save VMX v20-v23 (callee-saved per ELFv2 ABI) + addi r10,r10,32 + stvx v21,r11,$sp + addi r11,r11,32 + stvx v22,r10,$sp + stvx v23,r11,$sp + stw r12,`$LOCALS+64+9*16-4`($sp) # save vrsave li r12,-4096+63 $PUSH r0, `$FRAME+$LRSAVE`($sp) mtspr 256,r12 # preserve 29 AltiVec registers @@ -1159,7 +1180,28 @@ sub VSX_lane_ROUND_8x { bne Loop_outer_vsx_8x Ldone_vsx_8x: - lwz r12,`$FRAME-4`($sp) # pull vrsave + lwz r12,`$LOCALS+64+9*16-4`($sp) # pull vrsave + lfd f14,`$LOCALS+64+9*16+0*8`($sp) # restore FPR14-FPR26 (callee-saved per ELFv2 ABI) + lfd f15,`$LOCALS+64+9*16+1*8`($sp) + lfd f16,`$LOCALS+64+9*16+2*8`($sp) + lfd f17,`$LOCALS+64+9*16+3*8`($sp) + lfd f18,`$LOCALS+64+9*16+4*8`($sp) + lfd f19,`$LOCALS+64+9*16+5*8`($sp) + lfd f20,`$LOCALS+64+9*16+6*8`($sp) + lfd f21,`$LOCALS+64+9*16+7*8`($sp) + lfd f22,`$LOCALS+64+9*16+8*8`($sp) + lfd f23,`$LOCALS+64+9*16+9*8`($sp) + lfd f24,`$LOCALS+64+9*16+10*8`($sp) + lfd f25,`$LOCALS+64+9*16+11*8`($sp) + be?lfd f26,`$LOCALS+64+9*16+12*8`($sp) # BE only + li r10,`$LOCALS+64+9*16+13*8+15` + li r11,`$LOCALS+64+9*16+13*8+31` + lvx v20,r10,$sp # restore VMX v20-v23 (callee-saved per ELFv2 ABI) + addi r10,r10,32 + lvx v21,r11,$sp + addi r11,r11,32 + lvx v22,r10,$sp + lvx v23,r11,$sp li r10,`15+$LOCALS+64` li r11,`31+$LOCALS+64` $POP r0, `$FRAME+$LRSAVE`($sp) diff --git a/deps/openssl/openssl/crypto/cmp/cmp_genm.c b/deps/openssl/openssl/crypto/cmp/cmp_genm.c index bcc121f14695..4fecc01a324c 100644 --- a/deps/openssl/openssl/crypto/cmp/cmp_genm.c +++ b/deps/openssl/openssl/crypto/cmp/cmp_genm.c @@ -1,5 +1,5 @@ /* - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright Siemens AG 2022 * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -113,8 +113,7 @@ static OSSL_CMP_ITAV *get_genm_itav(OSSL_CMP_CTX *ctx, for (i = 0; i < n; i++) { OSSL_CMP_ITAV *itav = sk_OSSL_CMP_ITAV_shift(itavs); ASN1_OBJECT *obj = OSSL_CMP_ITAV_get0_type(itav); - char name[128] = "genp contains InfoType '"; - size_t offset = strlen(name); + char name[128]; if (OBJ_obj2nid(obj) == expected) { for (i++; i < n; i++) @@ -123,9 +122,11 @@ static OSSL_CMP_ITAV *get_genm_itav(OSSL_CMP_CTX *ctx, return itav; } - if (OBJ_obj2txt(name + offset, sizeof(name) - offset, obj, 0) < 0) - strcat(name, ""); - ossl_cmp_log2(WARN, ctx, "%s' while expecting 'id-it-%s'", name, desc); + if (OBJ_obj2txt(name, sizeof(name), obj, 0) < 0) + name[0] = '\0'; + ossl_cmp_log2(WARN, ctx, + "genp contains InfoType '%s' while expecting 'id-it-%s'", + name[0] == '\0' ? "" : name, desc); OSSL_CMP_ITAV_free(itav); } ERR_raise_data(ERR_LIB_CMP, CMP_R_INVALID_GENP, @@ -202,7 +203,7 @@ static int selfsigned_verify_cb(int ok, X509_STORE_CTX *store_ctx) for (i = 0; i < sk_X509_num(trust); i++) { issuer = sk_X509_value(trust, i); if ((*check_issued)(store_ctx, cert, issuer)) { - if (X509_add_cert(chain, cert, X509_ADD_FLAG_UP_REF)) + if (X509_add_cert(chain, issuer, X509_ADD_FLAG_UP_REF)) ok = 1; break; } @@ -235,6 +236,7 @@ static int verify_ss_cert(OSSL_LIB_CTX *libctx, const char *propq, if ((csc = X509_STORE_CTX_new_ex(libctx, propq)) == NULL || !X509_STORE_CTX_init(csc, ts, target, untrusted)) goto err; + X509_STORE_CTX_set_flags(csc, X509_V_FLAG_CHECK_SS_SIGNATURE); X509_STORE_CTX_set_verify_cb(csc, selfsigned_verify_cb); ok = X509_verify_cert(csc) > 0; @@ -253,7 +255,8 @@ verify_ss_cert_trans(OSSL_CMP_CTX *ctx, X509 *trusted /* may be NULL */, int res = 0; if (trusted != NULL) { - X509_VERIFY_PARAM *vpm = X509_STORE_get0_param(ts); + X509_VERIFY_PARAM *vpm = (ts == NULL) ? NULL + : X509_STORE_get0_param(ts); if ((ts = X509_STORE_new()) == NULL) return 0; diff --git a/deps/openssl/openssl/crypto/cms/cms_enc.c b/deps/openssl/openssl/crypto/cms/cms_enc.c index 08afb5ab114b..2aba01be3ef3 100644 --- a/deps/openssl/openssl/crypto/cms/cms_enc.c +++ b/deps/openssl/openssl/crypto/cms/cms_enc.c @@ -1,5 +1,5 @@ /* - * Copyright 2008-2021 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2008-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -109,13 +109,15 @@ BIO *ossl_cms_EncryptedContent_init_bio(CMS_EncryptedContentInfo *ec, goto err; } piv = aparams.iv; - if (ec->taglen > 0 - && EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG, - ec->taglen, ec->tag) - <= 0) { + + if (ec->taglen < 4 || ec->taglen > 16 + || EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG, (int)ec->taglen, ec->tag) <= 0) { ERR_raise(ERR_LIB_CMS, CMS_R_CIPHER_AEAD_SET_TAG_ERROR); goto err; } + } else if (auth) { + ERR_raise(ERR_LIB_CMS, CMS_R_UNSUPPORTED_CONTENT_ENCRYPTION_ALGORITHM); + goto err; } } len = EVP_CIPHER_CTX_get_key_length(ctx); diff --git a/deps/openssl/openssl/crypto/cms/cms_env.c b/deps/openssl/openssl/crypto/cms/cms_env.c index 0828d157fad6..a8ecabb64ed7 100644 --- a/deps/openssl/openssl/crypto/cms/cms_env.c +++ b/deps/openssl/openssl/crypto/cms/cms_env.c @@ -1,5 +1,5 @@ /* - * Copyright 2008-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2008-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -619,13 +619,6 @@ static int cms_RecipientInfo_ktri_decrypt(CMS_ContentInfo *cms, if (!ossl_cms_env_asn1_ctrl(ri, 1)) goto err; - if (EVP_PKEY_is_a(pkey, "RSA")) - /* upper layer CMS code incorrectly assumes that a successful RSA - * decryption means that the key matches ciphertext (which never - * was the case, implicit rejection or not), so to make it work - * disable implicit rejection for RSA keys */ - EVP_PKEY_CTX_ctrl_str(ktri->pctx, "rsa_pkcs1_implicit_rejection", "0"); - if (evp_pkey_decrypt_alloc(ktri->pctx, &ek, &eklen, fixlen, ktri->encryptedKey->data, ktri->encryptedKey->length) diff --git a/deps/openssl/openssl/crypto/cms/cms_pwri.c b/deps/openssl/openssl/crypto/cms/cms_pwri.c index d62dbbde881b..54f0eda2a2d8 100644 --- a/deps/openssl/openssl/crypto/cms/cms_pwri.c +++ b/deps/openssl/openssl/crypto/cms/cms_pwri.c @@ -1,5 +1,5 @@ /* - * Copyright 2009-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2009-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -200,18 +200,18 @@ static int kek_unwrap_key(unsigned char *out, size_t *outlen, const unsigned char *in, size_t inlen, EVP_CIPHER_CTX *ctx) { - size_t blocklen = EVP_CIPHER_CTX_get_block_size(ctx); + int blocklen = EVP_CIPHER_CTX_get_block_size(ctx); unsigned char *tmp; int outl, rv = 0; - if (blocklen == 0) + if (blocklen < 4) return 0; - if (inlen < 2 * blocklen) { + if (inlen < 2 * (size_t)blocklen) { /* too small */ return 0; } - if (inlen % blocklen) { + if (inlen > INT_MAX || inlen % blocklen) { /* Invalid size */ return 0; } @@ -367,6 +367,11 @@ int ossl_cms_RecipientInfo_pwri_crypt(const CMS_ContentInfo *cms, /* Finish password based key derivation to setup key in "ctx" */ + if (algtmp == NULL) { + ERR_raise_data(ERR_LIB_CMS, CMS_R_INVALID_KEY_ENCRYPTION_PARAMETER, + "Missing KeyDerivationAlgorithm"); + goto err; + } if (!EVP_PBE_CipherInit_ex(algtmp->algorithm, (char *)pwri->pass, (int)pwri->passlen, algtmp->parameter, kekctx, en_de, diff --git a/deps/openssl/openssl/crypto/crmf/crmf_lib.c b/deps/openssl/openssl/crypto/crmf/crmf_lib.c index d5c8983b2fd4..aba92f24c051 100644 --- a/deps/openssl/openssl/crypto/crmf/crmf_lib.c +++ b/deps/openssl/openssl/crypto/crmf/crmf_lib.c @@ -1,5 +1,5 @@ /*- - * Copyright 2007-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2007-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright Nokia 2007-2018 * Copyright Siemens AG 2015-2019 * @@ -766,6 +766,7 @@ unsigned char *OSSL_CRMF_ENCRYPTEDVALUE_decrypt(const OSSL_CRMF_ENCRYPTEDVALUE * EVP_CIPHER *cipher = NULL; /* used cipher */ int cikeysize = 0; /* key size from cipher */ unsigned char *iv = NULL; /* initial vector for symmetric encryption */ + int iv_len; /* iv length */ unsigned char *out = NULL; /* decryption output buffer */ int n, ret = 0; EVP_PKEY_CTX *pkctx = NULL; /* private key context */ @@ -820,11 +821,12 @@ unsigned char *OSSL_CRMF_ENCRYPTEDVALUE_decrypt(const OSSL_CRMF_ENCRYPTEDVALUE * } else { goto end; } - if ((iv = OPENSSL_malloc(EVP_CIPHER_get_iv_length(cipher))) == NULL) + iv_len = EVP_CIPHER_get_iv_length(cipher); + if ((iv = OPENSSL_malloc(iv_len)) == NULL) goto end; - if (ASN1_TYPE_get_octetstring(enc->symmAlg->parameter, iv, - EVP_CIPHER_get_iv_length(cipher)) - != EVP_CIPHER_get_iv_length(cipher)) { + if (enc->symmAlg->parameter == NULL + || ASN1_TYPE_get_octetstring(enc->symmAlg->parameter, iv, iv_len) + != iv_len) { ERR_raise(ERR_LIB_CRMF, CRMF_R_MALFORMED_IV); goto end; } diff --git a/deps/openssl/openssl/crypto/des/fcrypt.c b/deps/openssl/openssl/crypto/des/fcrypt.c index ebf5ce0ee000..09740de63060 100644 --- a/deps/openssl/openssl/crypto/des/fcrypt.c +++ b/deps/openssl/openssl/crypto/des/fcrypt.c @@ -1,5 +1,5 @@ /* - * Copyright 1998-2021 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1998-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -32,134 +32,19 @@ * implementations do. */ static const unsigned char con_salt[128] = { - 0xD2, - 0xD3, - 0xD4, - 0xD5, - 0xD6, - 0xD7, - 0xD8, - 0xD9, - 0xDA, - 0xDB, - 0xDC, - 0xDD, - 0xDE, - 0xDF, - 0xE0, - 0xE1, - 0xE2, - 0xE3, - 0xE4, - 0xE5, - 0xE6, - 0xE7, - 0xE8, - 0xE9, - 0xEA, - 0xEB, - 0xEC, - 0xED, - 0xEE, - 0xEF, - 0xF0, - 0xF1, - 0xF2, - 0xF3, - 0xF4, - 0xF5, - 0xF6, - 0xF7, - 0xF8, - 0xF9, - 0xFA, - 0xFB, - 0xFC, - 0xFD, - 0xFE, - 0xFF, - 0x00, - 0x01, - 0x02, - 0x03, - 0x04, - 0x05, - 0x06, - 0x07, - 0x08, - 0x09, - 0x0A, - 0x0B, - 0x05, - 0x06, - 0x07, - 0x08, - 0x09, - 0x0A, - 0x0B, - 0x0C, - 0x0D, - 0x0E, - 0x0F, - 0x10, - 0x11, - 0x12, - 0x13, - 0x14, - 0x15, - 0x16, - 0x17, - 0x18, - 0x19, - 0x1A, - 0x1B, - 0x1C, - 0x1D, - 0x1E, - 0x1F, - 0x20, - 0x21, - 0x22, - 0x23, - 0x24, - 0x25, - 0x20, - 0x21, - 0x22, - 0x23, - 0x24, - 0x25, - 0x26, - 0x27, - 0x28, - 0x29, - 0x2A, - 0x2B, - 0x2C, - 0x2D, - 0x2E, - 0x2F, - 0x30, - 0x31, - 0x32, - 0x33, - 0x34, - 0x35, - 0x36, - 0x37, - 0x38, - 0x39, - 0x3A, - 0x3B, - 0x3C, - 0x3D, - 0x3E, - 0x3F, - 0x40, - 0x41, - 0x42, - 0x43, - 0x44, + 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, + 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, + 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, + 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, + 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0x00, 0x01, 0x02, 0x03, + 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x05, 0x06, + 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, + 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, + 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, + 0x25, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, + 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, + 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, + 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44 }; static const unsigned char cov_2char[64] = { diff --git a/deps/openssl/openssl/crypto/dso/dso_win32.c b/deps/openssl/openssl/crypto/dso/dso_win32.c index c36bd7570646..3c1e0fbcf2bd 100644 --- a/deps/openssl/openssl/crypto/dso/dso_win32.c +++ b/deps/openssl/openssl/crypto/dso/dso_win32.c @@ -1,5 +1,5 @@ /* - * Copyright 2000-2022 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2000-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -319,7 +319,7 @@ static char *win32_joiner(DSO *dso, const struct file_st *file_split) len++; /* 1 for ending \ */ } len += file_split->dirlen; - if (file_split->dir && file_split->file) { + if (file_split->dir) { len++; /* 1 for ending \ */ } len += file_split->filelen; diff --git a/deps/openssl/openssl/crypto/ec/curve448/scalar.c b/deps/openssl/openssl/crypto/ec/curve448/scalar.c index 191b0b4fd2cf..cad2a4c465b1 100644 --- a/deps/openssl/openssl/crypto/ec/curve448/scalar.c +++ b/deps/openssl/openssl/crypto/ec/curve448/scalar.c @@ -1,5 +1,5 @@ /* - * Copyright 2017-2021 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright 2015-2016 Cryptography Research, Inc. * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -213,6 +213,7 @@ void ossl_curve448_scalar_halve(curve448_scalar_t out, const curve448_scalar_t a c448_dword_t chain = 0; unsigned int i; + mask = value_barrier_c448(mask); for (i = 0; i < C448_SCALAR_LIMBS; i++) { chain = (chain + a->limb[i]) + (sc_p->limb[i] & mask); out->limb[i] = (c448_word_t)chain; diff --git a/deps/openssl/openssl/crypto/ec/curve448/word.h b/deps/openssl/openssl/crypto/ec/curve448/word.h index 8137be6abb8e..df533f2b36d3 100644 --- a/deps/openssl/openssl/crypto/ec/curve448/word.h +++ b/deps/openssl/openssl/crypto/ec/curve448/word.h @@ -1,5 +1,5 @@ /* - * Copyright 2017-2021 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright 2014 Cryptography Research, Inc. * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -18,6 +18,7 @@ #include #include #include "curve448utils.h" +#include "internal/constant_time.h" #ifdef INT128_MAX #include "arch_64/arch_intrinsics.h" @@ -53,6 +54,12 @@ typedef int64_t dsword_t; #error "For now we only support 32- and 64-bit architectures." #endif +#if C448_WORD_BITS == 64 +#define value_barrier_c448(x) value_barrier_64(x) +#elif C448_WORD_BITS == 32 +#define value_barrier_c448(x) value_barrier_32(x) +#endif + /* * The plan on booleans: The external interface uses c448_bool_t, but this * might be a different size than our particular arch's word_t (and thus diff --git a/deps/openssl/openssl/crypto/ec/ec_curve.c b/deps/openssl/openssl/crypto/ec/ec_curve.c index c17a7e547712..c3bc92fd75ae 100644 --- a/deps/openssl/openssl/crypto/ec/ec_curve.c +++ b/deps/openssl/openssl/crypto/ec/ec_curve.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2002-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -2495,208 +2495,38 @@ static const struct { unsigned char data[0 + 32 * 6]; } _EC_sm2p256v1 = { { NID_X9_62_prime_field, 0, 32, 1 }, - { - /* no seed */ - - /* p */ - 0xff, - 0xff, - 0xff, - 0xfe, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0x00, - 0x00, - 0x00, - 0x00, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - /* a */ - 0xff, - 0xff, - 0xff, - 0xfe, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0x00, - 0x00, - 0x00, - 0x00, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xfc, - /* b */ - 0x28, - 0xe9, - 0xfa, - 0x9e, - 0x9d, - 0x9f, - 0x5e, - 0x34, - 0x4d, - 0x5a, - 0x9e, - 0x4b, - 0xcf, - 0x65, - 0x09, - 0xa7, - 0xf3, - 0x97, - 0x89, - 0xf5, - 0x15, - 0xab, - 0x8f, - 0x92, - 0xdd, - 0xbc, - 0xbd, - 0x41, - 0x4d, - 0x94, - 0x0e, - 0x93, - /* x */ - 0x32, - 0xc4, - 0xae, - 0x2c, - 0x1f, - 0x19, - 0x81, - 0x19, - 0x5f, - 0x99, - 0x04, - 0x46, - 0x6a, - 0x39, - 0xc9, - 0x94, - 0x8f, - 0xe3, - 0x0b, - 0xbf, - 0xf2, - 0x66, - 0x0b, - 0xe1, - 0x71, - 0x5a, - 0x45, - 0x89, - 0x33, - 0x4c, - 0x74, - 0xc7, - /* y */ - 0xbc, - 0x37, - 0x36, - 0xa2, - 0xf4, - 0xf6, - 0x77, - 0x9c, - 0x59, - 0xbd, - 0xce, - 0xe3, - 0x6b, - 0x69, - 0x21, - 0x53, - 0xd0, - 0xa9, - 0x87, - 0x7c, - 0xc6, - 0x2a, - 0x47, - 0x40, - 0x02, - 0xdf, - 0x32, - 0xe5, - 0x21, - 0x39, - 0xf0, - 0xa0, - /* order */ - 0xff, - 0xff, - 0xff, - 0xfe, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0x72, - 0x03, - 0xdf, - 0x6b, - 0x21, - 0xc6, - 0x05, - 0x2b, - 0x53, - 0xbb, - 0xf4, - 0x09, - 0x39, - 0xd5, - 0x41, - 0x23, - } + { /* no seed */ + + /* p */ + 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, + /* a */ + 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xfc, + /* b */ + 0x28, 0xe9, 0xfa, 0x9e, 0x9d, 0x9f, 0x5e, 0x34, 0x4d, 0x5a, + 0x9e, 0x4b, 0xcf, 0x65, 0x09, 0xa7, 0xf3, 0x97, 0x89, 0xf5, + 0x15, 0xab, 0x8f, 0x92, 0xdd, 0xbc, 0xbd, 0x41, 0x4d, 0x94, + 0x0e, 0x93, + /* x */ + 0x32, 0xc4, 0xae, 0x2c, 0x1f, 0x19, 0x81, 0x19, 0x5f, 0x99, + 0x04, 0x46, 0x6a, 0x39, 0xc9, 0x94, 0x8f, 0xe3, 0x0b, 0xbf, + 0xf2, 0x66, 0x0b, 0xe1, 0x71, 0x5a, 0x45, 0x89, 0x33, 0x4c, + 0x74, 0xc7, + /* y */ + 0xbc, 0x37, 0x36, 0xa2, 0xf4, 0xf6, 0x77, 0x9c, 0x59, 0xbd, + 0xce, 0xe3, 0x6b, 0x69, 0x21, 0x53, 0xd0, 0xa9, 0x87, 0x7c, + 0xc6, 0x2a, 0x47, 0x40, 0x02, 0xdf, 0x32, 0xe5, 0x21, 0x39, + 0xf0, 0xa0, + /* order */ + 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x72, 0x03, 0xdf, 0x6b, + 0x21, 0xc6, 0x05, 0x2b, 0x53, 0xbb, 0xf4, 0x09, 0x39, 0xd5, + 0x41, 0x23 } }; #endif /* OPENSSL_NO_SM2 */ diff --git a/deps/openssl/openssl/crypto/ec/ec_lib.c b/deps/openssl/openssl/crypto/ec/ec_lib.c index 2a5f93de1fdb..e29e39aca56c 100644 --- a/deps/openssl/openssl/crypto/ec/ec_lib.c +++ b/deps/openssl/openssl/crypto/ec/ec_lib.c @@ -1683,7 +1683,8 @@ EC_GROUP *EC_GROUP_new_from_params(const OSSL_PARAM params[], /* generator base point */ ptmp = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_EC_GENERATOR); if (ptmp == NULL - || ptmp->data_type != OSSL_PARAM_OCTET_STRING) { + || ptmp->data_type != OSSL_PARAM_OCTET_STRING + || ptmp->data_size == 0) { ERR_raise(ERR_LIB_EC, EC_R_INVALID_GENERATOR); goto err; } diff --git a/deps/openssl/openssl/crypto/ec/ecp_s390x_nistp.c b/deps/openssl/openssl/crypto/ec/ecp_s390x_nistp.c index 85f986090540..d06fd444f184 100644 --- a/deps/openssl/openssl/crypto/ec/ecp_s390x_nistp.c +++ b/deps/openssl/openssl/crypto/ec/ecp_s390x_nistp.c @@ -1,5 +1,5 @@ /* - * Copyright 2019-2023 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -142,9 +142,24 @@ static ECDSA_SIG *ecdsa_s390x_nistp_sign_sig(const unsigned char *dgst, const BIGNUM *privkey; int off; + if (dgstlen < 0) { + ERR_raise(ERR_LIB_EC, EC_R_INVALID_LENGTH); + return NULL; + } + + if (eckey == NULL) { + ERR_raise(ERR_LIB_EC, EC_R_MISSING_PARAMETERS); + return NULL; + } + group = EC_KEY_get0_group(eckey); + if (group == NULL) { + ERR_raise(ERR_LIB_EC, EC_R_MISSING_PARAMETERS); + return NULL; + } + privkey = EC_KEY_get0_private_key(eckey); - if (group == NULL || privkey == NULL) { + if (privkey == NULL) { ERR_raise(ERR_LIB_EC, EC_R_MISSING_PARAMETERS); return NULL; } @@ -239,9 +254,24 @@ static int ecdsa_s390x_nistp_verify_sig(const unsigned char *dgst, int dgstlen, const EC_POINT *pubkey; int off; + if (dgstlen < 0) { + ERR_raise(ERR_LIB_EC, EC_R_INVALID_LENGTH); + return -1; + } + + if (sig == NULL || eckey == NULL) { + ERR_raise(ERR_LIB_EC, EC_R_MISSING_PARAMETERS); + return -1; + } + group = EC_KEY_get0_group(eckey); + if (group == NULL) { + ERR_raise(ERR_LIB_EC, EC_R_MISSING_PARAMETERS); + return -1; + } + pubkey = EC_KEY_get0_public_key(eckey); - if (eckey == NULL || group == NULL || pubkey == NULL || sig == NULL) { + if (pubkey == NULL) { ERR_raise(ERR_LIB_EC, EC_R_MISSING_PARAMETERS); return -1; } diff --git a/deps/openssl/openssl/crypto/ec/ecp_sm2p256.c b/deps/openssl/openssl/crypto/ec/ecp_sm2p256.c index 37020c49beb7..5cb5f1be9948 100644 --- a/deps/openssl/openssl/crypto/ec/ecp_sm2p256.c +++ b/deps/openssl/openssl/crypto/ec/ecp_sm2p256.c @@ -1,5 +1,5 @@ /* - * Copyright 2023-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2023-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -46,10 +46,7 @@ ALIGN32 static const BN_ULONG def_xG[P256_LIMBS] = { }; ALIGN32 static const BN_ULONG def_yG[P256_LIMBS] = { - 0x02df32e52139f0a0, - 0xd0a9877cc62a4740, - 0x59bdcee36b692153, - 0xbc3736a2f4f6779c, + 0x02df32e52139f0a0, 0xd0a9877cc62a4740, 0x59bdcee36b692153, 0xbc3736a2f4f6779c }; #endif diff --git a/deps/openssl/openssl/crypto/evp/asymcipher.c b/deps/openssl/openssl/crypto/evp/asymcipher.c index 652303483d04..f1f5fd353900 100644 --- a/deps/openssl/openssl/crypto/evp/asymcipher.c +++ b/deps/openssl/openssl/crypto/evp/asymcipher.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -102,7 +102,9 @@ static int evp_pkey_asym_cipher_init(EVP_PKEY_CTX *ctx, int operation, * iteration we're on. */ EVP_ASYM_CIPHER_free(cipher); + cipher = NULL; EVP_KEYMGMT_free(tmp_keymgmt); + tmp_keymgmt = NULL; switch (iter) { case 1: diff --git a/deps/openssl/openssl/crypto/evp/e_aes.c b/deps/openssl/openssl/crypto/evp/e_aes.c index 5a99fe8d577e..da2090f894c6 100644 --- a/deps/openssl/openssl/crypto/evp/e_aes.c +++ b/deps/openssl/openssl/crypto/evp/e_aes.c @@ -1466,7 +1466,7 @@ static int s390x_aes_gcm_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr) return 1; case EVP_CTRL_AEAD_SET_IVLEN: - if (arg <= 0) + if (arg <= 0 || arg > EVP_MAX_IV_LENGTH) return 0; if (arg != 12) { diff --git a/deps/openssl/openssl/crypto/evp/encode.c b/deps/openssl/openssl/crypto/evp/encode.c index d554941e7cc4..19cc550519ea 100644 --- a/deps/openssl/openssl/crypto/evp/encode.c +++ b/deps/openssl/openssl/crypto/evp/encode.c @@ -67,265 +67,35 @@ static const unsigned char srpdata_bin2ascii[65] = "0123456789ABCDEFGHIJKLMNOPQR #define B64_BASE64(a) (!B64_NOT_BASE64(a)) static const unsigned char data_ascii2bin[128] = { - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xE0, - 0xF0, - 0xFF, - 0xFF, - 0xF1, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xE0, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0x3E, - 0xFF, - 0xF2, - 0xFF, - 0x3F, - 0x34, - 0x35, - 0x36, - 0x37, - 0x38, - 0x39, - 0x3A, - 0x3B, - 0x3C, - 0x3D, - 0xFF, - 0xFF, - 0xFF, - 0x00, - 0xFF, - 0xFF, - 0xFF, - 0x00, - 0x01, - 0x02, - 0x03, - 0x04, - 0x05, - 0x06, - 0x07, - 0x08, - 0x09, - 0x0A, - 0x0B, - 0x0C, - 0x0D, - 0x0E, - 0x0F, - 0x10, - 0x11, - 0x12, - 0x13, - 0x14, - 0x15, - 0x16, - 0x17, - 0x18, - 0x19, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0x1A, - 0x1B, - 0x1C, - 0x1D, - 0x1E, - 0x1F, - 0x20, - 0x21, - 0x22, - 0x23, - 0x24, - 0x25, - 0x26, - 0x27, - 0x28, - 0x29, - 0x2A, - 0x2B, - 0x2C, - 0x2D, - 0x2E, - 0x2F, - 0x30, - 0x31, - 0x32, - 0x33, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, + 0xF0, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x3E, 0xFF, 0xF2, 0xFF, 0x3F, 0x34, 0x35, + 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0x02, 0x03, 0x04, + 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, + 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, + 0x19, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, 0x1B, 0x1C, + 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, + 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, + 0x31, 0x32, 0x33, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; static const unsigned char srpdata_ascii2bin[128] = { - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xE0, - 0xF0, - 0xFF, - 0xFF, - 0xF1, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xE0, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xF2, - 0x3E, - 0x3F, - 0x00, - 0x01, - 0x02, - 0x03, - 0x04, - 0x05, - 0x06, - 0x07, - 0x08, - 0x09, - 0xFF, - 0xFF, - 0xFF, - 0x00, - 0xFF, - 0xFF, - 0xFF, - 0x0A, - 0x0B, - 0x0C, - 0x0D, - 0x0E, - 0x0F, - 0x10, - 0x11, - 0x12, - 0x13, - 0x14, - 0x15, - 0x16, - 0x17, - 0x18, - 0x19, - 0x1A, - 0x1B, - 0x1C, - 0x1D, - 0x1E, - 0x1F, - 0x20, - 0x21, - 0x22, - 0x23, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0x24, - 0x25, - 0x26, - 0x27, - 0x28, - 0x29, - 0x2A, - 0x2B, - 0x2C, - 0x2D, - 0x2E, - 0x2F, - 0x30, - 0x31, - 0x32, - 0x33, - 0x34, - 0x35, - 0x36, - 0x37, - 0x38, - 0x39, - 0x3A, - 0x3B, - 0x3C, - 0x3D, - 0xFF, - 0xFF, - 0xFF, - 0xFF, - 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, + 0xF0, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x3E, 0x3F, 0x00, 0x01, + 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0xFF, 0xFF, + 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, + 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, + 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, + 0x23, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x24, 0x25, 0x26, + 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, + 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, + 0x3B, 0x3C, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; #ifndef CHARSET_EBCDIC diff --git a/deps/openssl/openssl/crypto/evp/evp_lib.c b/deps/openssl/openssl/crypto/evp/evp_lib.c index ddf5fd54b31c..95eeca3c4d4d 100644 --- a/deps/openssl/openssl/crypto/evp/evp_lib.c +++ b/deps/openssl/openssl/crypto/evp/evp_lib.c @@ -297,7 +297,7 @@ int EVP_CIPHER_get_type(const EVP_CIPHER *cipher) case NID_des_ede3_cfb8: case NID_des_ede3_cfb1: - return NID_des_cfb64; + return NID_des_ede3_cfb64; default: #ifdef FIPS_MODULE diff --git a/deps/openssl/openssl/crypto/evp/kem.c b/deps/openssl/openssl/crypto/evp/kem.c index d0cf696b3220..cb53d40eeb16 100644 --- a/deps/openssl/openssl/crypto/evp/kem.c +++ b/deps/openssl/openssl/crypto/evp/kem.c @@ -97,7 +97,9 @@ static int evp_kem_init(EVP_PKEY_CTX *ctx, int operation, * iteration we're on. */ EVP_KEM_free(kem); + kem = NULL; EVP_KEYMGMT_free(tmp_keymgmt); + tmp_keymgmt = NULL; switch (iter) { case 1: diff --git a/deps/openssl/openssl/crypto/evp/m_sigver.c b/deps/openssl/openssl/crypto/evp/m_sigver.c index 0a433adbe411..01f7e923932f 100644 --- a/deps/openssl/openssl/crypto/evp/m_sigver.c +++ b/deps/openssl/openssl/crypto/evp/m_sigver.c @@ -1,5 +1,5 @@ /* - * Copyright 2006-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2006-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -139,7 +139,9 @@ static int do_sigver_init(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, * iteration we're on. */ EVP_SIGNATURE_free(signature); + signature = NULL; EVP_KEYMGMT_free(tmp_keymgmt); + tmp_keymgmt = NULL; switch (iter) { case 1: diff --git a/deps/openssl/openssl/crypto/evp/signature.c b/deps/openssl/openssl/crypto/evp/signature.c index 8b57ac67fe7b..85560ec4fde4 100644 --- a/deps/openssl/openssl/crypto/evp/signature.c +++ b/deps/openssl/openssl/crypto/evp/signature.c @@ -726,7 +726,9 @@ static int evp_pkey_signature_init(EVP_PKEY_CTX *ctx, EVP_SIGNATURE *signature, * iteration we're on. */ EVP_SIGNATURE_free(signature); + signature = NULL; EVP_KEYMGMT_free(tmp_keymgmt); + tmp_keymgmt = NULL; switch (iter) { case 1: diff --git a/deps/openssl/openssl/crypto/ffc/ffc_params.c b/deps/openssl/openssl/crypto/ffc/ffc_params.c index 9815360a4e8c..ce0f7e08c97b 100644 --- a/deps/openssl/openssl/crypto/ffc/ffc_params.c +++ b/deps/openssl/openssl/crypto/ffc/ffc_params.c @@ -1,5 +1,5 @@ /* - * Copyright 2019-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -182,8 +182,10 @@ int ossl_ffc_params_copy(FFC_PARAMS *dst, const FFC_PARAMS *src) if (!ffc_bn_cpy(&dst->p, src->p) || !ffc_bn_cpy(&dst->g, src->g) || !ffc_bn_cpy(&dst->q, src->q) - || !ffc_bn_cpy(&dst->j, src->j)) + || !ffc_bn_cpy(&dst->j, src->j)) { + ossl_ffc_params_cleanup(dst); return 0; + } dst->mdname = src->mdname; dst->mdprops = src->mdprops; @@ -191,8 +193,10 @@ int ossl_ffc_params_copy(FFC_PARAMS *dst, const FFC_PARAMS *src) dst->seedlen = src->seedlen; if (src->seed != NULL) { dst->seed = OPENSSL_memdup(src->seed, src->seedlen); - if (dst->seed == NULL) + if (dst->seed == NULL) { + ossl_ffc_params_cleanup(dst); return 0; + } } else { dst->seed = NULL; } diff --git a/deps/openssl/openssl/crypto/hashtable/hashtable.c b/deps/openssl/openssl/crypto/hashtable/hashtable.c index 8b9f9cc0d9fd..11f144f2219b 100644 --- a/deps/openssl/openssl/crypto/hashtable/hashtable.c +++ b/deps/openssl/openssl/crypto/hashtable/hashtable.c @@ -285,6 +285,7 @@ static int ossl_ht_flush_internal(HT *h) { struct ht_mutable_data_st *newmd = NULL; struct ht_mutable_data_st *oldmd = NULL; + CRYPTO_RCU_CB_ITEM *cbi = NULL; newmd = OPENSSL_zalloc(sizeof(*newmd)); if (newmd == NULL) @@ -299,6 +300,13 @@ static int ossl_ht_flush_internal(HT *h) newmd->neighborhood_mask = DEFAULT_NEIGH_LEN - 1; + cbi = ossl_rcu_cb_item_new(); + if (cbi == NULL) { + OPENSSL_free(newmd->neighborhood_ptr_to_free); + OPENSSL_free(newmd); + return 0; + } + /* Swap the old and new mutable data sets */ oldmd = ossl_rcu_deref(&h->md); ossl_rcu_assign_ptr(&h->md, &newmd); @@ -307,8 +315,9 @@ static int ossl_ht_flush_internal(HT *h) h->wpd.value_count = 0; h->wpd.neighborhood_len = DEFAULT_NEIGH_LEN; - ossl_rcu_call(h->lock, free_oldmd, oldmd); + ossl_rcu_call(h->lock, cbi, free_oldmd, oldmd); h->wpd.need_sync = 1; + return 1; } @@ -319,17 +328,23 @@ int ossl_ht_flush(HT *h) void ossl_ht_free(HT *h) { + int flush_ok; + if (h == NULL) return; ossl_ht_write_lock(h); - ossl_ht_flush_internal(h); + flush_ok = ossl_ht_flush_internal(h); ossl_ht_write_unlock(h); /* Freeing the lock does a final sync for us */ CRYPTO_THREAD_lock_free(h->atomic_lock); ossl_rcu_lock_free(h->lock); - OPENSSL_free(h->md->neighborhood_ptr_to_free); - OPENSSL_free(h->md); + if (flush_ok) { + OPENSSL_free(h->md->neighborhood_ptr_to_free); + OPENSSL_free(h->md); + } else { + free_oldmd(h->md); + } OPENSSL_free(h); return; } @@ -423,6 +438,7 @@ static int grow_hashtable(HT *h, size_t oldsize) { struct ht_mutable_data_st *newmd; struct ht_mutable_data_st *oldmd = ossl_rcu_deref(&h->md); + CRYPTO_RCU_CB_ITEM *cbi = NULL; int rc = 0; uint64_t oldi, oldj, newi, newj; uint64_t oldhash; @@ -469,12 +485,20 @@ static int grow_hashtable(HT *h, size_t oldsize) } if (rehashed == 0) { /* we ran out of space in a neighborhood, grow again */ - OPENSSL_free(newmd->neighborhoods); + OPENSSL_free(newmd->neighborhood_ptr_to_free); OPENSSL_free(newmd); return grow_hashtable(h, newsize); } } } + + /* + * Pre allocate the rcu callback item before assigning the newmd. + */ + cbi = ossl_rcu_cb_item_new(); + if (cbi == NULL) + goto out_free; + /* * Now that our entries are all hashed into the new bucket list * update our bucket_len and target_max_load @@ -485,7 +509,7 @@ static int grow_hashtable(HT *h, size_t oldsize) * Now we replace the old mutable data with the new */ ossl_rcu_assign_ptr(&h->md, &newmd); - ossl_rcu_call(h->lock, free_old_neigh_table, oldmd); + ossl_rcu_call(h->lock, cbi, free_old_neigh_table, oldmd); h->wpd.need_sync = 1; /* * And we're done @@ -495,7 +519,7 @@ static int grow_hashtable(HT *h, size_t oldsize) out: return rc; out_free: - OPENSSL_free(newmd->neighborhoods); + OPENSSL_free(newmd->neighborhood_ptr_to_free); OPENSSL_free(newmd); goto out; } @@ -539,6 +563,7 @@ static int ossl_ht_insert_locked(HT *h, uint64_t hash, HT_VALUE *ival; size_t empty_idx = SIZE_MAX; int lockless_reads = h->config.lockless_reads; + CRYPTO_RCU_CB_ITEM *cbi; do { PREFETCH_NEIGHBORHOOD(md->neighborhoods[neigh_idx]); @@ -561,13 +586,16 @@ static int ossl_ht_insert_locked(HT *h, uint64_t hash, return 0; } /* Do a replacement */ + cbi = ossl_rcu_cb_item_new(); + if (cbi == NULL) + return 0; if (!CRYPTO_atomic_store(&md->neighborhoods[neigh_idx].entries[j].hash, hash, h->atomic_lock)) return 0; *olddata = (HT_VALUE *)md->neighborhoods[neigh_idx].entries[j].value; ossl_rcu_assign_ptr(&md->neighborhoods[neigh_idx].entries[j].value, &newval); - ossl_rcu_call(h->lock, free_old_ht_value, *olddata); + ossl_rcu_call(h->lock, cbi, free_old_ht_value, *olddata); h->wpd.need_sync = 1; return 1; } @@ -646,7 +674,7 @@ int ossl_ht_insert(HT *h, HT_KEY *key, HT_VALUE *data, HT_VALUE **olddata) for (i = 0; (rc = ossl_ht_insert_locked(h, hash, newval, olddata)) == -1 - && i < 4; + && i <= (int)NEIGHBORHOOD_LEN; ++i) if (!grow_hashtable(h, h->wpd.neighborhood_len)) { rc = -1; @@ -730,19 +758,20 @@ int ossl_ht_delete(HT *h, HT_KEY *key) continue; if (compare_hash(hash, h->md->neighborhoods[neigh_idx].entries[j].hash) && match_key(key, &v->value.key)) { + CRYPTO_RCU_CB_ITEM *cbi = ossl_rcu_cb_item_new(); + if (cbi == NULL) + break; if (!CRYPTO_atomic_store(&h->md->neighborhoods[neigh_idx].entries[j].hash, 0, h->atomic_lock)) break; h->wpd.value_count--; ossl_rcu_assign_ptr(&h->md->neighborhoods[neigh_idx].entries[j].value, &nv); + ossl_rcu_call(h->lock, cbi, free_old_entry, v); + h->wpd.need_sync = 1; rc = 1; break; } } - if (rc == 1) { - ossl_rcu_call(h->lock, free_old_entry, v); - h->wpd.need_sync = 1; - } return rc; } diff --git a/deps/openssl/openssl/crypto/hpke/hpke_util.c b/deps/openssl/openssl/crypto/hpke/hpke_util.c index b74f36b6e376..511e08b0c260 100644 --- a/deps/openssl/openssl/crypto/hpke/hpke_util.c +++ b/deps/openssl/openssl/crypto/hpke/hpke_util.c @@ -1,5 +1,5 @@ /* - * Copyright 2022-2023 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -406,9 +406,8 @@ EVP_KDF_CTX *ossl_kdf_ctx_create(const char *kdfname, const char *mdname, if (kctx != NULL && mdname != NULL) { OSSL_PARAM params[3], *p = params; - if (mdname != NULL) - *p++ = OSSL_PARAM_construct_utf8_string(OSSL_KDF_PARAM_DIGEST, - (char *)mdname, 0); + *p++ = OSSL_PARAM_construct_utf8_string(OSSL_KDF_PARAM_DIGEST, + (char *)mdname, 0); if (propq != NULL) *p++ = OSSL_PARAM_construct_utf8_string(OSSL_KDF_PARAM_PROPERTIES, (char *)propq, 0); diff --git a/deps/openssl/openssl/crypto/http/http_client.c b/deps/openssl/openssl/crypto/http/http_client.c index 1e603d870c03..3502766f6b78 100644 --- a/deps/openssl/openssl/crypto/http/http_client.c +++ b/deps/openssl/openssl/crypto/http/http_client.c @@ -95,6 +95,16 @@ struct ossl_http_req_ctx_st { /* Low-level HTTP API implementation */ +static int no_crlf(const char *component, const char *value) +{ + if (value != NULL && strpbrk(value, "\r\n") != NULL) { + ERR_raise_data(ERR_LIB_HTTP, ERR_R_PASSED_INVALID_ARGUMENT, + "CR or LF character in %s", component); + return 0; + } + return 1; +} + OSSL_HTTP_REQ_CTX *OSSL_HTTP_REQ_CTX_new(BIO *wbio, BIO *rbio, int buf_size) { OSSL_HTTP_REQ_CTX *rctx; @@ -184,6 +194,10 @@ int OSSL_HTTP_REQ_CTX_set_request_line(OSSL_HTTP_REQ_CTX *rctx, int method_POST, ERR_raise(ERR_LIB_HTTP, ERR_R_PASSED_NULL_PARAMETER); return 0; } + if (!no_crlf("server", server) + || !no_crlf("port", port) + || !no_crlf("path", path)) + return 0; BIO_free(rctx->mem); if ((rctx->mem = BIO_new(BIO_s_mem())) == NULL) return 0; @@ -237,6 +251,9 @@ int OSSL_HTTP_REQ_CTX_add1_header(OSSL_HTTP_REQ_CTX *rctx, ERR_raise(ERR_LIB_HTTP, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED); return 0; } + if (!no_crlf("header name", name) + || !no_crlf("header value", value)) + return 0; if (BIO_puts(rctx->mem, name) <= 0) return 0; @@ -310,7 +327,7 @@ static int set1_content(OSSL_HTTP_REQ_CTX *rctx, } else { if (HAS_CASE_PREFIX(content_type, "text/")) rctx->text = 1; - if (BIO_printf(rctx->mem, "Content-Type: %s\r\n", content_type) <= 0) + if (!OSSL_HTTP_REQ_CTX_add1_header(rctx, "Content-Type", content_type)) return 0; } @@ -1442,11 +1459,11 @@ int OSSL_HTTP_proxy_connect(BIO *bio, const char *server, const char *port, { #undef BUF_SIZE #define BUF_SIZE (8 * 1024) - char *mbuf = OPENSSL_malloc(BUF_SIZE); + char *mbuf = NULL; char *mbufp; int read_len = 0; int ret = 0; - BIO *fbio = BIO_new(BIO_f_buffer()); + BIO *fbio = NULL; int rv; time_t max_time = timeout > 0 ? time(NULL) + timeout : 0; @@ -1457,8 +1474,11 @@ int OSSL_HTTP_proxy_connect(BIO *bio, const char *server, const char *port, } if (port == NULL || *port == '\0') port = OSSL_HTTPS_PORT; + if (!no_crlf("server", server) || !no_crlf("port", port)) + goto end; - if (mbuf == NULL || fbio == NULL) { + if ((mbuf = OPENSSL_malloc(BUF_SIZE)) == NULL + || (fbio = BIO_new(BIO_f_buffer())) == NULL) { BIO_printf(bio_err /* may be NULL */, "%s: out of memory", prog); goto end; } diff --git a/deps/openssl/openssl/crypto/http/http_lib.c b/deps/openssl/openssl/crypto/http/http_lib.c index c8ffd87c0620..05bf4be78856 100644 --- a/deps/openssl/openssl/crypto/http/http_lib.c +++ b/deps/openssl/openssl/crypto/http/http_lib.c @@ -271,6 +271,9 @@ static int use_proxy(const char *no_proxy, const char *server) server = host; } + if (sl == 0) + return 1; + /* * using environment variable names, both lowercase and uppercase variants, * compatible with other HTTP client implementations like wget, curl and git diff --git a/deps/openssl/openssl/crypto/initthread.c b/deps/openssl/openssl/crypto/initthread.c index 241fdf85362f..22738b933106 100644 --- a/deps/openssl/openssl/crypto/initthread.c +++ b/deps/openssl/openssl/crypto/initthread.c @@ -121,6 +121,16 @@ init_get_thread_local(CRYPTO_THREAD_LOCAL *local, int alloc, int keep) return hands; } +int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *)) +{ + +#ifndef FIPS_MODULE + if (!ossl_init_thread()) + return 0; +#endif + return ossl_thread_init_local(key, cleanup); +} + #ifndef FIPS_MODULE /* * Since per-thread-specific-data destructors are not universally @@ -200,36 +210,18 @@ static void init_thread_destructor(void *hands) } static CRYPTO_ONCE ossl_init_thread_runonce = CRYPTO_ONCE_STATIC_INIT; -/* MSVC linker can use other segment for uninitialized (zeroed) variables */ -#if defined(OPENSSL_SYS_WINDOWS) -static CRYPTO_THREAD_ID recursion_guard = (CRYPTO_THREAD_ID)-1; -#elif defined(OPENSSL_SYS_TANDEM) && (defined(_PUT_MODEL_) || defined(_KLT_MODEL_)) -static CRYPTO_THREAD_ID recursion_guard = { (void *)-1, (short)-1, (short)-1 }; -#else -static CRYPTO_THREAD_ID recursion_guard = (CRYPTO_THREAD_ID)0; -#endif DEFINE_RUN_ONCE_STATIC(ossl_init_thread_once) { - /* CRYPTO_THREAD_init_local() can call ossl_init_threads() again */ - recursion_guard = CRYPTO_THREAD_get_current_id(); - if (!CRYPTO_THREAD_init_local(&destructor_key.value, + if (!ossl_thread_init_local(&destructor_key.value, init_thread_destructor)) return 0; -#if defined(OPENSSL_SYS_TANDEM) - memset(&recursion_guard, 0, sizeof(recursion_guard)); -#else - recursion_guard = (CRYPTO_THREAD_ID)0; -#endif return 1; } int ossl_init_thread(void) { - if (CRYPTO_THREAD_compare_id(recursion_guard, - CRYPTO_THREAD_get_current_id())) - return 1; if (!RUN_ONCE(&ossl_init_thread_runonce, ossl_init_thread_once)) return 0; return 1; diff --git a/deps/openssl/openssl/crypto/md2/md2_dgst.c b/deps/openssl/openssl/crypto/md2/md2_dgst.c index 61c4b72507a7..6fb24e32dd5e 100644 --- a/deps/openssl/openssl/crypto/md2/md2_dgst.c +++ b/deps/openssl/openssl/crypto/md2/md2_dgst.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -32,262 +32,32 @@ static void md2_block(MD2_CTX *c, const unsigned char *d); * a random byte string. */ static const MD2_INT S[256] = { - 0x29, - 0x2E, - 0x43, - 0xC9, - 0xA2, - 0xD8, - 0x7C, - 0x01, - 0x3D, - 0x36, - 0x54, - 0xA1, - 0xEC, - 0xF0, - 0x06, - 0x13, - 0x62, - 0xA7, - 0x05, - 0xF3, - 0xC0, - 0xC7, - 0x73, - 0x8C, - 0x98, - 0x93, - 0x2B, - 0xD9, - 0xBC, - 0x4C, - 0x82, - 0xCA, - 0x1E, - 0x9B, - 0x57, - 0x3C, - 0xFD, - 0xD4, - 0xE0, - 0x16, - 0x67, - 0x42, - 0x6F, - 0x18, - 0x8A, - 0x17, - 0xE5, - 0x12, - 0xBE, - 0x4E, - 0xC4, - 0xD6, - 0xDA, - 0x9E, - 0xDE, - 0x49, - 0xA0, - 0xFB, - 0xF5, - 0x8E, - 0xBB, - 0x2F, - 0xEE, - 0x7A, - 0xA9, - 0x68, - 0x79, - 0x91, - 0x15, - 0xB2, - 0x07, - 0x3F, - 0x94, - 0xC2, - 0x10, - 0x89, - 0x0B, - 0x22, - 0x5F, - 0x21, - 0x80, - 0x7F, - 0x5D, - 0x9A, - 0x5A, - 0x90, - 0x32, - 0x27, - 0x35, - 0x3E, - 0xCC, - 0xE7, - 0xBF, - 0xF7, - 0x97, - 0x03, - 0xFF, - 0x19, - 0x30, - 0xB3, - 0x48, - 0xA5, - 0xB5, - 0xD1, - 0xD7, - 0x5E, - 0x92, - 0x2A, - 0xAC, - 0x56, - 0xAA, - 0xC6, - 0x4F, - 0xB8, - 0x38, - 0xD2, - 0x96, - 0xA4, - 0x7D, - 0xB6, - 0x76, - 0xFC, - 0x6B, - 0xE2, - 0x9C, - 0x74, - 0x04, - 0xF1, - 0x45, - 0x9D, - 0x70, - 0x59, - 0x64, - 0x71, - 0x87, - 0x20, - 0x86, - 0x5B, - 0xCF, - 0x65, - 0xE6, - 0x2D, - 0xA8, - 0x02, - 0x1B, - 0x60, - 0x25, - 0xAD, - 0xAE, - 0xB0, - 0xB9, - 0xF6, - 0x1C, - 0x46, - 0x61, - 0x69, - 0x34, - 0x40, - 0x7E, - 0x0F, - 0x55, - 0x47, - 0xA3, - 0x23, - 0xDD, - 0x51, - 0xAF, - 0x3A, - 0xC3, - 0x5C, - 0xF9, - 0xCE, - 0xBA, - 0xC5, - 0xEA, - 0x26, - 0x2C, - 0x53, - 0x0D, - 0x6E, - 0x85, - 0x28, - 0x84, - 0x09, - 0xD3, - 0xDF, - 0xCD, - 0xF4, - 0x41, - 0x81, - 0x4D, - 0x52, - 0x6A, - 0xDC, - 0x37, - 0xC8, - 0x6C, - 0xC1, - 0xAB, - 0xFA, - 0x24, - 0xE1, - 0x7B, - 0x08, - 0x0C, - 0xBD, - 0xB1, - 0x4A, - 0x78, - 0x88, - 0x95, - 0x8B, - 0xE3, - 0x63, - 0xE8, - 0x6D, - 0xE9, - 0xCB, - 0xD5, - 0xFE, - 0x3B, - 0x00, - 0x1D, - 0x39, - 0xF2, - 0xEF, - 0xB7, - 0x0E, - 0x66, - 0x58, - 0xD0, - 0xE4, - 0xA6, - 0x77, - 0x72, - 0xF8, - 0xEB, - 0x75, - 0x4B, - 0x0A, - 0x31, - 0x44, - 0x50, - 0xB4, - 0x8F, - 0xED, - 0x1F, - 0x1A, - 0xDB, - 0x99, - 0x8D, - 0x33, - 0x9F, - 0x11, - 0x83, - 0x14, + 0x29, 0x2E, 0x43, 0xC9, 0xA2, 0xD8, 0x7C, 0x01, 0x3D, 0x36, + 0x54, 0xA1, 0xEC, 0xF0, 0x06, 0x13, 0x62, 0xA7, 0x05, 0xF3, + 0xC0, 0xC7, 0x73, 0x8C, 0x98, 0x93, 0x2B, 0xD9, 0xBC, 0x4C, + 0x82, 0xCA, 0x1E, 0x9B, 0x57, 0x3C, 0xFD, 0xD4, 0xE0, 0x16, + 0x67, 0x42, 0x6F, 0x18, 0x8A, 0x17, 0xE5, 0x12, 0xBE, 0x4E, + 0xC4, 0xD6, 0xDA, 0x9E, 0xDE, 0x49, 0xA0, 0xFB, 0xF5, 0x8E, + 0xBB, 0x2F, 0xEE, 0x7A, 0xA9, 0x68, 0x79, 0x91, 0x15, 0xB2, + 0x07, 0x3F, 0x94, 0xC2, 0x10, 0x89, 0x0B, 0x22, 0x5F, 0x21, + 0x80, 0x7F, 0x5D, 0x9A, 0x5A, 0x90, 0x32, 0x27, 0x35, 0x3E, + 0xCC, 0xE7, 0xBF, 0xF7, 0x97, 0x03, 0xFF, 0x19, 0x30, 0xB3, + 0x48, 0xA5, 0xB5, 0xD1, 0xD7, 0x5E, 0x92, 0x2A, 0xAC, 0x56, + 0xAA, 0xC6, 0x4F, 0xB8, 0x38, 0xD2, 0x96, 0xA4, 0x7D, 0xB6, + 0x76, 0xFC, 0x6B, 0xE2, 0x9C, 0x74, 0x04, 0xF1, 0x45, 0x9D, + 0x70, 0x59, 0x64, 0x71, 0x87, 0x20, 0x86, 0x5B, 0xCF, 0x65, + 0xE6, 0x2D, 0xA8, 0x02, 0x1B, 0x60, 0x25, 0xAD, 0xAE, 0xB0, + 0xB9, 0xF6, 0x1C, 0x46, 0x61, 0x69, 0x34, 0x40, 0x7E, 0x0F, + 0x55, 0x47, 0xA3, 0x23, 0xDD, 0x51, 0xAF, 0x3A, 0xC3, 0x5C, + 0xF9, 0xCE, 0xBA, 0xC5, 0xEA, 0x26, 0x2C, 0x53, 0x0D, 0x6E, + 0x85, 0x28, 0x84, 0x09, 0xD3, 0xDF, 0xCD, 0xF4, 0x41, 0x81, + 0x4D, 0x52, 0x6A, 0xDC, 0x37, 0xC8, 0x6C, 0xC1, 0xAB, 0xFA, + 0x24, 0xE1, 0x7B, 0x08, 0x0C, 0xBD, 0xB1, 0x4A, 0x78, 0x88, + 0x95, 0x8B, 0xE3, 0x63, 0xE8, 0x6D, 0xE9, 0xCB, 0xD5, 0xFE, + 0x3B, 0x00, 0x1D, 0x39, 0xF2, 0xEF, 0xB7, 0x0E, 0x66, 0x58, + 0xD0, 0xE4, 0xA6, 0x77, 0x72, 0xF8, 0xEB, 0x75, 0x4B, 0x0A, + 0x31, 0x44, 0x50, 0xB4, 0x8F, 0xED, 0x1F, 0x1A, 0xDB, 0x99, + 0x8D, 0x33, 0x9F, 0x11, 0x83, 0x14 }; const char *MD2_options(void) diff --git a/deps/openssl/openssl/crypto/ml_dsa/ml_dsa_key.c b/deps/openssl/openssl/crypto/ml_dsa/ml_dsa_key.c index 87613c937d59..e999b6c08d09 100644 --- a/deps/openssl/openssl/crypto/ml_dsa/ml_dsa_key.c +++ b/deps/openssl/openssl/crypto/ml_dsa/ml_dsa_key.c @@ -1,5 +1,5 @@ /* - * Copyright 2024-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2024-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -274,7 +274,7 @@ int ossl_ml_dsa_key_equal(const ML_DSA_KEY *key1, const ML_DSA_KEY *key2, if (!key_checked && (selection & OSSL_KEYMGMT_SELECT_PRIVATE_KEY) != 0) { if (key1->priv_encoding != NULL && key2->priv_encoding != NULL) { - if (memcmp(key1->priv_encoding, key2->priv_encoding, + if (CRYPTO_memcmp(key1->priv_encoding, key2->priv_encoding, key1->params->sk_len) != 0) return 0; diff --git a/deps/openssl/openssl/crypto/modes/wrap128.c b/deps/openssl/openssl/crypto/modes/wrap128.c index 8b84e4709c62..0df4dfe786ae 100644 --- a/deps/openssl/openssl/crypto/modes/wrap128.c +++ b/deps/openssl/openssl/crypto/modes/wrap128.c @@ -1,5 +1,5 @@ /* - * Copyright 2013-2018 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2013-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -18,14 +18,7 @@ /** RFC 3394 section 2.2.3.1 Default Initial Value */ static const unsigned char default_iv[] = { - 0xA6, - 0xA6, - 0xA6, - 0xA6, - 0xA6, - 0xA6, - 0xA6, - 0xA6, + 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6 }; /** RFC 5649 section 3 Alternative Initial Value 32-bit constant */ @@ -178,7 +171,9 @@ size_t CRYPTO_128_unwrap(void *key, const unsigned char *iv, * * @param[in] key Key value. * @param[in] icv (Non-standard) IV, 4 bytes. NULL = use default_aiv. - * @param[out] out Ciphertext. Minimal buffer length = (inlen + 15) bytes. + * @param[out] out Ciphertext. Minimal buffer length = + * (inlen rounded up to 8 + 8) bytes, i.e. + * ((inlen + 7) / 8) * 8 + 8. * Input and output buffers can overlap if block function * supports that. * @param[in] in Plaintext as n 64-bit blocks, n >= 2. diff --git a/deps/openssl/openssl/crypto/objects/obj_dat.c b/deps/openssl/openssl/crypto/objects/obj_dat.c index 482718eadb04..9a823d3cd921 100644 --- a/deps/openssl/openssl/crypto/objects/obj_dat.c +++ b/deps/openssl/openssl/crypto/objects/obj_dat.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -705,8 +705,8 @@ const void *OBJ_bsearch_ex_(const void *key, const void *base, int num, */ if (p == NULL) { const char *base_ = base; - int l, h, i = 0, c = 0; - char *p1; + int i = 0, c = 0; + const char *p1; for (i = 0; i < num; ++i) { p1 = &(base_[i * size]); diff --git a/deps/openssl/openssl/crypto/objects/obj_lib.c b/deps/openssl/openssl/crypto/objects/obj_lib.c index adc22a10e287..d718a11e222b 100644 --- a/deps/openssl/openssl/crypto/objects/obj_lib.c +++ b/deps/openssl/openssl/crypto/objects/obj_lib.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -58,5 +58,7 @@ int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b) ret = (a->length - b->length); if (ret) return ret; + if (a->length == 0) + return 0; return memcmp(a->data, b->data, a->length); } diff --git a/deps/openssl/openssl/crypto/param_build.c b/deps/openssl/openssl/crypto/param_build.c index 4e90c581a0eb..d37b18c4dd89 100644 --- a/deps/openssl/openssl/crypto/param_build.c +++ b/deps/openssl/openssl/crypto/param_build.c @@ -345,7 +345,7 @@ int OSSL_PARAM_BLD_push_utf8_ptr(OSSL_PARAM_BLD *bld, const char *key, { OSSL_PARAM_BLD_DEF *pd; - if (bld == NULL || key == NULL) { + if (bld == NULL || key == NULL || buf == NULL) { ERR_raise(ERR_LIB_CRYPTO, ERR_R_PASSED_NULL_PARAMETER); return 0; } @@ -365,7 +365,7 @@ int OSSL_PARAM_BLD_push_octet_string(OSSL_PARAM_BLD *bld, const char *key, OSSL_PARAM_BLD_DEF *pd; int secure; - if (bld == NULL || key == NULL || buf == NULL) { + if (bld == NULL || key == NULL || (buf == NULL && bsize != 0)) { ERR_raise(ERR_LIB_CRYPTO, ERR_R_PASSED_NULL_PARAMETER); return 0; } @@ -383,7 +383,7 @@ int OSSL_PARAM_BLD_push_octet_ptr(OSSL_PARAM_BLD *bld, const char *key, { OSSL_PARAM_BLD_DEF *pd; - if (bld == NULL || key == NULL) { + if (bld == NULL || key == NULL || (buf == NULL && bsize != 0)) { ERR_raise(ERR_LIB_CRYPTO, ERR_R_PASSED_NULL_PARAMETER); return 0; } diff --git a/deps/openssl/openssl/crypto/param_build_set.c b/deps/openssl/openssl/crypto/param_build_set.c index db49683ed976..063e35d33b90 100644 --- a/deps/openssl/openssl/crypto/param_build_set.c +++ b/deps/openssl/openssl/crypto/param_build_set.c @@ -1,5 +1,5 @@ /* - * Copyright 2020-2022 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2020-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -73,6 +73,11 @@ int ossl_param_build_set_bn_pad(OSSL_PARAM_BLD *bld, OSSL_PARAM *p, return OSSL_PARAM_BLD_push_BN_pad(bld, key, bn, sz); p = OSSL_PARAM_locate(p, key); if (p != NULL) { + /* Size probe: NULL data means "report the required size". */ + if (p->data == NULL) { + p->return_size = sz; + return 1; + } if (sz > p->data_size) { ERR_raise(ERR_LIB_CRYPTO, CRYPTO_R_TOO_SMALL_BUFFER); return 0; diff --git a/deps/openssl/openssl/crypto/pkcs12/p12_decr.c b/deps/openssl/openssl/crypto/pkcs12/p12_decr.c index 46f3752e3909..0d415e755a18 100644 --- a/deps/openssl/openssl/crypto/pkcs12/p12_decr.c +++ b/deps/openssl/openssl/crypto/pkcs12/p12_decr.c @@ -103,7 +103,7 @@ unsigned char *PKCS12_pbe_crypt_ex(const X509_ALGOR *algor, if (EVP_CIPHER_CTX_is_encrypting(ctx)) { if (EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_GET_TAG, (int)mac_len, out + outlen) - < 0) { + <= 0) { OPENSSL_free(out); out = NULL; ERR_raise(ERR_LIB_PKCS12, ERR_R_INTERNAL_ERROR); diff --git a/deps/openssl/openssl/crypto/pkcs12/p12_mutl.c b/deps/openssl/openssl/crypto/pkcs12/p12_mutl.c index 01956252df76..15072e12f26b 100644 --- a/deps/openssl/openssl/crypto/pkcs12/p12_mutl.c +++ b/deps/openssl/openssl/crypto/pkcs12/p12_mutl.c @@ -144,11 +144,13 @@ static int PBMAC1_PBKDF2_HMAC(OSSL_LIB_CTX *ctx, const char *propq, } pbkdf2_salt = pbkdf2_param->salt->value.octet_string; - /* RFC 9579 specifies missing key length as invalid */ + /* RFC 9879 specifies missing key length as invalid */ if (pbkdf2_param->keylength != NULL) keylen = ASN1_INTEGER_get(pbkdf2_param->keylength); - if (keylen <= 0 || keylen > EVP_MAX_MD_SIZE) { - ERR_raise(ERR_LIB_PKCS12, PKCS12_R_PARSE_ERROR); + /* RFC 9879 specifies too short key length as untrustworthy too */ + if (keylen < 20 || keylen > EVP_MAX_MD_SIZE) { + ERR_raise_data(ERR_LIB_PKCS12, PKCS12_R_PARSE_ERROR, + "Invalid Key length (%d is not in the range 20..64)", keylen); goto err; } diff --git a/deps/openssl/openssl/crypto/pkcs7/pk7_doit.c b/deps/openssl/openssl/crypto/pkcs7/pk7_doit.c index d6513cf3a379..1ec7895fc197 100644 --- a/deps/openssl/openssl/crypto/pkcs7/pk7_doit.c +++ b/deps/openssl/openssl/crypto/pkcs7/pk7_doit.c @@ -203,13 +203,6 @@ static int pkcs7_decrypt_rinfo(unsigned char **pek, int *peklen, if (EVP_PKEY_decrypt_init(pctx) <= 0) goto err; - if (EVP_PKEY_is_a(pkey, "RSA")) - /* upper layer pkcs7 code incorrectly assumes that a successful RSA - * decryption means that the key matches ciphertext (which never - * was the case, implicit rejection or not), so to make it work - * disable implicit rejection for RSA keys */ - EVP_PKEY_CTX_ctrl_str(pctx, "rsa_pkcs1_implicit_rejection", "0"); - ret = evp_pkey_decrypt_alloc(pctx, &ek, &eklen, fixlen, ri->enc_key->data, ri->enc_key->length); if (ret <= 0) diff --git a/deps/openssl/openssl/crypto/pkcs7/pk7_smime.c b/deps/openssl/openssl/crypto/pkcs7/pk7_smime.c index 97f20058979f..ec041809fea9 100644 --- a/deps/openssl/openssl/crypto/pkcs7/pk7_smime.c +++ b/deps/openssl/openssl/crypto/pkcs7/pk7_smime.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -222,6 +222,7 @@ int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store, int i, j = 0, k, ret = 0; BIO *p7bio = NULL; BIO *tmpout = NULL; + BIO *next = NULL; const PKCS7_CTX *p7_ctx; if (p7 == NULL) { @@ -352,9 +353,11 @@ int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store, BIO_free(tmpout); X509_STORE_CTX_free(cert_ctx); OPENSSL_free(buf); - if (indata != NULL) - BIO_pop(p7bio); - BIO_free_all(p7bio); + while (p7bio != NULL && p7bio != indata) { + next = BIO_pop(p7bio); + BIO_free(p7bio); + p7bio = next; + } sk_X509_free(signers); sk_X509_free(untrusted); return ret; diff --git a/deps/openssl/openssl/crypto/rc2/rc2_skey.c b/deps/openssl/openssl/crypto/rc2/rc2_skey.c index e82a7627a052..148753e55385 100644 --- a/deps/openssl/openssl/crypto/rc2/rc2_skey.c +++ b/deps/openssl/openssl/crypto/rc2/rc2_skey.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -17,262 +17,32 @@ #include "rc2_local.h" static const unsigned char key_table[256] = { - 0xd9, - 0x78, - 0xf9, - 0xc4, - 0x19, - 0xdd, - 0xb5, - 0xed, - 0x28, - 0xe9, - 0xfd, - 0x79, - 0x4a, - 0xa0, - 0xd8, - 0x9d, - 0xc6, - 0x7e, - 0x37, - 0x83, - 0x2b, - 0x76, - 0x53, - 0x8e, - 0x62, - 0x4c, - 0x64, - 0x88, - 0x44, - 0x8b, - 0xfb, - 0xa2, - 0x17, - 0x9a, - 0x59, - 0xf5, - 0x87, - 0xb3, - 0x4f, - 0x13, - 0x61, - 0x45, - 0x6d, - 0x8d, - 0x09, - 0x81, - 0x7d, - 0x32, - 0xbd, - 0x8f, - 0x40, - 0xeb, - 0x86, - 0xb7, - 0x7b, - 0x0b, - 0xf0, - 0x95, - 0x21, - 0x22, - 0x5c, - 0x6b, - 0x4e, - 0x82, - 0x54, - 0xd6, - 0x65, - 0x93, - 0xce, - 0x60, - 0xb2, - 0x1c, - 0x73, - 0x56, - 0xc0, - 0x14, - 0xa7, - 0x8c, - 0xf1, - 0xdc, - 0x12, - 0x75, - 0xca, - 0x1f, - 0x3b, - 0xbe, - 0xe4, - 0xd1, - 0x42, - 0x3d, - 0xd4, - 0x30, - 0xa3, - 0x3c, - 0xb6, - 0x26, - 0x6f, - 0xbf, - 0x0e, - 0xda, - 0x46, - 0x69, - 0x07, - 0x57, - 0x27, - 0xf2, - 0x1d, - 0x9b, - 0xbc, - 0x94, - 0x43, - 0x03, - 0xf8, - 0x11, - 0xc7, - 0xf6, - 0x90, - 0xef, - 0x3e, - 0xe7, - 0x06, - 0xc3, - 0xd5, - 0x2f, - 0xc8, - 0x66, - 0x1e, - 0xd7, - 0x08, - 0xe8, - 0xea, - 0xde, - 0x80, - 0x52, - 0xee, - 0xf7, - 0x84, - 0xaa, - 0x72, - 0xac, - 0x35, - 0x4d, - 0x6a, - 0x2a, - 0x96, - 0x1a, - 0xd2, - 0x71, - 0x5a, - 0x15, - 0x49, - 0x74, - 0x4b, - 0x9f, - 0xd0, - 0x5e, - 0x04, - 0x18, - 0xa4, - 0xec, - 0xc2, - 0xe0, - 0x41, - 0x6e, - 0x0f, - 0x51, - 0xcb, - 0xcc, - 0x24, - 0x91, - 0xaf, - 0x50, - 0xa1, - 0xf4, - 0x70, - 0x39, - 0x99, - 0x7c, - 0x3a, - 0x85, - 0x23, - 0xb8, - 0xb4, - 0x7a, - 0xfc, - 0x02, - 0x36, - 0x5b, - 0x25, - 0x55, - 0x97, - 0x31, - 0x2d, - 0x5d, - 0xfa, - 0x98, - 0xe3, - 0x8a, - 0x92, - 0xae, - 0x05, - 0xdf, - 0x29, - 0x10, - 0x67, - 0x6c, - 0xba, - 0xc9, - 0xd3, - 0x00, - 0xe6, - 0xcf, - 0xe1, - 0x9e, - 0xa8, - 0x2c, - 0x63, - 0x16, - 0x01, - 0x3f, - 0x58, - 0xe2, - 0x89, - 0xa9, - 0x0d, - 0x38, - 0x34, - 0x1b, - 0xab, - 0x33, - 0xff, - 0xb0, - 0xbb, - 0x48, - 0x0c, - 0x5f, - 0xb9, - 0xb1, - 0xcd, - 0x2e, - 0xc5, - 0xf3, - 0xdb, - 0x47, - 0xe5, - 0xa5, - 0x9c, - 0x77, - 0x0a, - 0xa6, - 0x20, - 0x68, - 0xfe, - 0x7f, - 0xc1, - 0xad, + 0xd9, 0x78, 0xf9, 0xc4, 0x19, 0xdd, 0xb5, 0xed, 0x28, 0xe9, + 0xfd, 0x79, 0x4a, 0xa0, 0xd8, 0x9d, 0xc6, 0x7e, 0x37, 0x83, + 0x2b, 0x76, 0x53, 0x8e, 0x62, 0x4c, 0x64, 0x88, 0x44, 0x8b, + 0xfb, 0xa2, 0x17, 0x9a, 0x59, 0xf5, 0x87, 0xb3, 0x4f, 0x13, + 0x61, 0x45, 0x6d, 0x8d, 0x09, 0x81, 0x7d, 0x32, 0xbd, 0x8f, + 0x40, 0xeb, 0x86, 0xb7, 0x7b, 0x0b, 0xf0, 0x95, 0x21, 0x22, + 0x5c, 0x6b, 0x4e, 0x82, 0x54, 0xd6, 0x65, 0x93, 0xce, 0x60, + 0xb2, 0x1c, 0x73, 0x56, 0xc0, 0x14, 0xa7, 0x8c, 0xf1, 0xdc, + 0x12, 0x75, 0xca, 0x1f, 0x3b, 0xbe, 0xe4, 0xd1, 0x42, 0x3d, + 0xd4, 0x30, 0xa3, 0x3c, 0xb6, 0x26, 0x6f, 0xbf, 0x0e, 0xda, + 0x46, 0x69, 0x07, 0x57, 0x27, 0xf2, 0x1d, 0x9b, 0xbc, 0x94, + 0x43, 0x03, 0xf8, 0x11, 0xc7, 0xf6, 0x90, 0xef, 0x3e, 0xe7, + 0x06, 0xc3, 0xd5, 0x2f, 0xc8, 0x66, 0x1e, 0xd7, 0x08, 0xe8, + 0xea, 0xde, 0x80, 0x52, 0xee, 0xf7, 0x84, 0xaa, 0x72, 0xac, + 0x35, 0x4d, 0x6a, 0x2a, 0x96, 0x1a, 0xd2, 0x71, 0x5a, 0x15, + 0x49, 0x74, 0x4b, 0x9f, 0xd0, 0x5e, 0x04, 0x18, 0xa4, 0xec, + 0xc2, 0xe0, 0x41, 0x6e, 0x0f, 0x51, 0xcb, 0xcc, 0x24, 0x91, + 0xaf, 0x50, 0xa1, 0xf4, 0x70, 0x39, 0x99, 0x7c, 0x3a, 0x85, + 0x23, 0xb8, 0xb4, 0x7a, 0xfc, 0x02, 0x36, 0x5b, 0x25, 0x55, + 0x97, 0x31, 0x2d, 0x5d, 0xfa, 0x98, 0xe3, 0x8a, 0x92, 0xae, + 0x05, 0xdf, 0x29, 0x10, 0x67, 0x6c, 0xba, 0xc9, 0xd3, 0x00, + 0xe6, 0xcf, 0xe1, 0x9e, 0xa8, 0x2c, 0x63, 0x16, 0x01, 0x3f, + 0x58, 0xe2, 0x89, 0xa9, 0x0d, 0x38, 0x34, 0x1b, 0xab, 0x33, + 0xff, 0xb0, 0xbb, 0x48, 0x0c, 0x5f, 0xb9, 0xb1, 0xcd, 0x2e, + 0xc5, 0xf3, 0xdb, 0x47, 0xe5, 0xa5, 0x9c, 0x77, 0x0a, 0xa6, + 0x20, 0x68, 0xfe, 0x7f, 0xc1, 0xad }; #if defined(_MSC_VER) && defined(_ARM_) diff --git a/deps/openssl/openssl/crypto/slh_dsa/slh_dsa_key.c b/deps/openssl/openssl/crypto/slh_dsa/slh_dsa_key.c index 2fa59a659892..6d778a39f46d 100644 --- a/deps/openssl/openssl/crypto/slh_dsa/slh_dsa_key.c +++ b/deps/openssl/openssl/crypto/slh_dsa/slh_dsa_key.c @@ -1,5 +1,5 @@ /* - * Copyright 2024-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2024-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -62,7 +62,6 @@ static int slh_dsa_key_hash_init(SLH_DSA_KEY *key) key->hash_func = ossl_slh_get_hash_fn(is_shake); return 1; err: - slh_dsa_key_hash_cleanup(key); return 0; } @@ -206,7 +205,7 @@ int ossl_slh_dsa_key_equal(const SLH_DSA_KEY *key1, const SLH_DSA_KEY *key2, if (!key_checked && (selection & OSSL_KEYMGMT_SELECT_PRIVATE_KEY) != 0) { if (key1->has_priv && key2->has_priv) { - if (memcmp(key1->priv, key2->priv, + if (CRYPTO_memcmp(key1->priv, key2->priv, key1->params->pk_len) != 0) return 0; diff --git a/deps/openssl/openssl/crypto/sm2/sm2_crypt.c b/deps/openssl/openssl/crypto/sm2/sm2_crypt.c index b1c2ef6b630a..32bfa9797fa7 100644 --- a/deps/openssl/openssl/crypto/sm2/sm2_crypt.c +++ b/deps/openssl/openssl/crypto/sm2/sm2_crypt.c @@ -1,5 +1,5 @@ /* - * Copyright 2017-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright 2017 Ribose Inc. All Rights Reserved. * Ported from Ribose contributions from Botan. * @@ -248,12 +248,23 @@ int ossl_sm2_encrypt(const EC_KEY *key, goto done; } - ciphertext_leni = i2d_SM2_Ciphertext(&ctext_struct, &ciphertext_buf); + ciphertext_leni = i2d_SM2_Ciphertext(&ctext_struct, NULL); /* Ensure cast to size_t is safe */ if (ciphertext_leni < 0) { ERR_raise(ERR_LIB_SM2, ERR_R_INTERNAL_ERROR); goto done; } + + if (*ciphertext_len < (size_t)ciphertext_leni) { + ERR_raise(ERR_LIB_SM2, SM2_R_BUFFER_TOO_SMALL); + goto done; + } + + ciphertext_leni = i2d_SM2_Ciphertext(&ctext_struct, &ciphertext_buf); + if (ciphertext_leni < 0) { + ERR_raise(ERR_LIB_SM2, ERR_R_INTERNAL_ERROR); + goto done; + } *ciphertext_len = (size_t)ciphertext_leni; rc = 1; @@ -266,6 +277,7 @@ int ossl_sm2_encrypt(const EC_KEY *key, OPENSSL_free(x2y2); OPENSSL_free(C3); EVP_MD_CTX_free(hash); + BN_CTX_end(ctx); BN_CTX_free(ctx); EC_POINT_free(kG); EC_POINT_free(kP); @@ -406,6 +418,7 @@ int ossl_sm2_decrypt(const EC_KEY *key, OPENSSL_free(x2y2); OPENSSL_free(computed_C3); EC_POINT_free(C1); + BN_CTX_end(ctx); BN_CTX_free(ctx); SM2_Ciphertext_free(sm2_ctext); EVP_MD_CTX_free(hash); diff --git a/deps/openssl/openssl/crypto/sm2/sm2_sign.c b/deps/openssl/openssl/crypto/sm2/sm2_sign.c index 590a7309748f..9389c70817a5 100644 --- a/deps/openssl/openssl/crypto/sm2/sm2_sign.c +++ b/deps/openssl/openssl/crypto/sm2/sm2_sign.c @@ -1,5 +1,5 @@ /* - * Copyright 2017-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2017-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright 2017 Ribose Inc. All Rights Reserved. * Ported from Ribose contributions from Botan. * @@ -60,6 +60,7 @@ int ossl_sm2_compute_z_digest(uint8_t *out, goto done; } + BN_CTX_start(ctx); p = BN_CTX_get(ctx); a = BN_CTX_get(ctx); b = BN_CTX_get(ctx); @@ -141,6 +142,7 @@ int ossl_sm2_compute_z_digest(uint8_t *out, done: OPENSSL_free(buf); + BN_CTX_end(ctx); BN_CTX_free(ctx); EVP_MD_CTX_free(hash); return rc; @@ -322,6 +324,7 @@ static ECDSA_SIG *sm2_sig_gen(const EC_KEY *key, const BIGNUM *e) BN_free(s); } + BN_CTX_end(ctx); BN_CTX_free(ctx); EC_POINT_free(kG); return sig; @@ -405,8 +408,8 @@ static int sm2_sig_verify(const EC_KEY *key, const ECDSA_SIG *sig, ret = 1; done: - BN_CTX_end(ctx); EC_POINT_free(pt); + BN_CTX_end(ctx); BN_CTX_free(ctx); return ret; } diff --git a/deps/openssl/openssl/crypto/threads_none.c b/deps/openssl/openssl/crypto/threads_none.c index fd2ab38d8097..cf2091c2c273 100644 --- a/deps/openssl/openssl/crypto/threads_none.c +++ b/deps/openssl/openssl/crypto/threads_none.c @@ -73,18 +73,23 @@ void ossl_synchronize_rcu(CRYPTO_RCU_LOCK *lock) } } -int ossl_rcu_call(CRYPTO_RCU_LOCK *lock, rcu_cb_fn cb, void *data) +CRYPTO_RCU_CB_ITEM *ossl_rcu_cb_item_new(void) { - struct rcu_cb_item *new = OPENSSL_zalloc(sizeof(*new)); + return OPENSSL_zalloc(sizeof(CRYPTO_RCU_CB_ITEM)); +} - if (new == NULL) - return 0; +void ossl_rcu_cb_item_free(CRYPTO_RCU_CB_ITEM *item) +{ + OPENSSL_free(item); +} - new->fn = cb; - new->data = data; - new->next = lock->cb_items; - lock->cb_items = new; - return 1; +void ossl_rcu_call(CRYPTO_RCU_LOCK *lock, CRYPTO_RCU_CB_ITEM *item, + rcu_cb_fn cb, void *data) +{ + item->fn = cb; + item->data = data; + item->next = lock->cb_items; + lock->cb_items = item; } void *ossl_rcu_uptr_deref(void **p) @@ -162,15 +167,10 @@ struct thread_local_storage_entry { static struct thread_local_storage_entry thread_local_storage[OPENSSL_CRYPTO_THREAD_LOCAL_KEY_MAX]; -int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *)) +int ossl_thread_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *)) { int entry_idx = 0; -#ifndef FIPS_MODULE - if (!ossl_init_thread()) - return 0; -#endif - for (entry_idx = 0; entry_idx < OPENSSL_CRYPTO_THREAD_LOCAL_KEY_MAX; entry_idx++) { if (!thread_local_storage[entry_idx].used) break; diff --git a/deps/openssl/openssl/crypto/threads_pthread.c b/deps/openssl/openssl/crypto/threads_pthread.c index b4394f78fc1f..70e09b75586a 100644 --- a/deps/openssl/openssl/crypto/threads_pthread.c +++ b/deps/openssl/openssl/crypto/threads_pthread.c @@ -501,24 +501,27 @@ void ossl_synchronize_rcu(CRYPTO_RCU_LOCK *lock) } } +CRYPTO_RCU_CB_ITEM *ossl_rcu_cb_item_new(void) +{ + return OPENSSL_zalloc(sizeof(CRYPTO_RCU_CB_ITEM)); +} + +void ossl_rcu_cb_item_free(CRYPTO_RCU_CB_ITEM *item) +{ + OPENSSL_free(item); +} + /* * Note: This call assumes its made under the protection of * ossl_rcu_write_lock */ -int ossl_rcu_call(CRYPTO_RCU_LOCK *lock, rcu_cb_fn cb, void *data) +void ossl_rcu_call(CRYPTO_RCU_LOCK *lock, CRYPTO_RCU_CB_ITEM *item, + rcu_cb_fn cb, void *data) { - struct rcu_cb_item *new = OPENSSL_zalloc(sizeof(*new)); - - if (new == NULL) - return 0; - - new->data = data; - new->fn = cb; - - new->next = lock->cb_items; - lock->cb_items = new; - - return 1; + item->fn = cb; + item->data = data; + item->next = lock->cb_items; + lock->cb_items = item; } void *ossl_rcu_uptr_deref(void **p) @@ -728,14 +731,9 @@ int CRYPTO_THREAD_run_once(CRYPTO_ONCE *once, void (*init)(void)) return 1; } -int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *)) +int ossl_thread_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *)) { -#ifndef FIPS_MODULE - if (!ossl_init_thread()) - return 0; -#endif - if (pthread_key_create(key, cleanup) != 0) return 0; diff --git a/deps/openssl/openssl/crypto/threads_win.c b/deps/openssl/openssl/crypto/threads_win.c index 795d97a012eb..2c0e27ce06eb 100644 --- a/deps/openssl/openssl/crypto/threads_win.c +++ b/deps/openssl/openssl/crypto/threads_win.c @@ -397,23 +397,26 @@ void ossl_synchronize_rcu(CRYPTO_RCU_LOCK *lock) return; } +CRYPTO_RCU_CB_ITEM *ossl_rcu_cb_item_new(void) +{ + return OPENSSL_zalloc(sizeof(CRYPTO_RCU_CB_ITEM)); +} + +void ossl_rcu_cb_item_free(CRYPTO_RCU_CB_ITEM *item) +{ + OPENSSL_free(item); +} + /* * Note, must be called under the protection of ossl_rcu_write_lock */ -int ossl_rcu_call(CRYPTO_RCU_LOCK *lock, rcu_cb_fn cb, void *data) +void ossl_rcu_call(CRYPTO_RCU_LOCK *lock, CRYPTO_RCU_CB_ITEM *item, + rcu_cb_fn cb, void *data) { - struct rcu_cb_item *new; - - new = OPENSSL_zalloc(sizeof(struct rcu_cb_item)); - if (new == NULL) - return 0; - new->data = data; - new->fn = cb; - - new->next = lock->cb_items; - lock->cb_items = new; - - return 1; + item->fn = cb; + item->data = data; + item->next = lock->cb_items; + lock->cb_items = item; } void *ossl_rcu_uptr_deref(void **p) @@ -540,14 +543,9 @@ int CRYPTO_THREAD_run_once(CRYPTO_ONCE *once, void (*init)(void)) return (*lock == ONCE_DONE); } -int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *)) +int ossl_thread_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *)) { -#ifndef FIPS_MODULE - if (!ossl_init_thread()) - return 0; -#endif - *key = TlsAlloc(); if (*key == TLS_OUT_OF_INDEXES) return 0; diff --git a/deps/openssl/openssl/crypto/x509/v3_ist.c b/deps/openssl/openssl/crypto/x509/v3_ist.c index 2401c2fbfe80..bac6dc34f985 100644 --- a/deps/openssl/openssl/crypto/x509/v3_ist.c +++ b/deps/openssl/openssl/crypto/x509/v3_ist.c @@ -1,5 +1,5 @@ /* - * Copyright 2020-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2020-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -48,7 +48,6 @@ static ISSUER_SIGN_TOOL *v2i_issuer_sign_tool(X509V3_EXT_METHOD *method, X509V3_ continue; } if (strcmp(cnf->name, "signTool") == 0) { - ist->signTool = ASN1_UTF8STRING_new(); if (ist->signTool == NULL || cnf->value == NULL || !ASN1_STRING_set(ist->signTool, cnf->value, strlen(cnf->value))) { @@ -56,7 +55,6 @@ static ISSUER_SIGN_TOOL *v2i_issuer_sign_tool(X509V3_EXT_METHOD *method, X509V3_ goto err; } } else if (strcmp(cnf->name, "cATool") == 0) { - ist->cATool = ASN1_UTF8STRING_new(); if (ist->cATool == NULL || cnf->value == NULL || !ASN1_STRING_set(ist->cATool, cnf->value, strlen(cnf->value))) { @@ -64,7 +62,6 @@ static ISSUER_SIGN_TOOL *v2i_issuer_sign_tool(X509V3_EXT_METHOD *method, X509V3_ goto err; } } else if (strcmp(cnf->name, "signToolCert") == 0) { - ist->signToolCert = ASN1_UTF8STRING_new(); if (ist->signToolCert == NULL || cnf->value == NULL || !ASN1_STRING_set(ist->signToolCert, cnf->value, strlen(cnf->value))) { @@ -72,7 +69,6 @@ static ISSUER_SIGN_TOOL *v2i_issuer_sign_tool(X509V3_EXT_METHOD *method, X509V3_ goto err; } } else if (strcmp(cnf->name, "cAToolCert") == 0) { - ist->cAToolCert = ASN1_UTF8STRING_new(); if (ist->cAToolCert == NULL || cnf->value == NULL || !ASN1_STRING_set(ist->cAToolCert, cnf->value, strlen(cnf->value))) { diff --git a/deps/openssl/openssl/fuzz/dtlsserver.c b/deps/openssl/openssl/fuzz/dtlsserver.c index 9261e819d1f9..8ade7a3d8c8f 100644 --- a/deps/openssl/openssl/fuzz/dtlsserver.c +++ b/deps/openssl/openssl/fuzz/dtlsserver.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -50,1328 +50,172 @@ a2vbz3gpOsl87U0c01JCl9SZXDSO09w= -----END CERTIFICATE----- */ static const uint8_t RSACertificatePEM[] = { - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x42, - 0x45, - 0x47, - 0x49, - 0x4e, - 0x20, - 0x43, - 0x45, - 0x52, - 0x54, - 0x49, - 0x46, - 0x49, - 0x43, - 0x41, - 0x54, - 0x45, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x0a, - 0x4d, - 0x49, - 0x49, - 0x44, - 0x6f, - 0x7a, - 0x43, - 0x43, - 0x41, - 0x6f, - 0x75, - 0x67, - 0x41, - 0x77, - 0x49, - 0x42, - 0x41, - 0x67, - 0x49, - 0x55, - 0x53, - 0x4b, - 0x77, - 0x51, - 0x44, - 0x31, - 0x71, - 0x52, - 0x74, - 0x53, - 0x2b, - 0x6c, - 0x72, - 0x69, - 0x64, - 0x61, - 0x77, - 0x6d, - 0x61, - 0x59, - 0x4b, - 0x36, - 0x63, - 0x65, - 0x6a, - 0x32, - 0x6b, - 0x77, - 0x44, - 0x51, - 0x59, - 0x4a, - 0x4b, - 0x6f, - 0x5a, - 0x49, - 0x68, - 0x76, - 0x63, - 0x4e, - 0x41, - 0x51, - 0x45, - 0x4c, - 0x0a, - 0x42, - 0x51, - 0x41, - 0x77, - 0x59, - 0x54, - 0x45, - 0x4c, - 0x4d, - 0x41, - 0x6b, - 0x47, - 0x41, - 0x31, - 0x55, - 0x45, - 0x42, - 0x68, - 0x4d, - 0x43, - 0x62, - 0x6d, - 0x38, - 0x78, - 0x43, - 0x7a, - 0x41, - 0x4a, - 0x42, - 0x67, - 0x4e, - 0x56, - 0x42, - 0x41, - 0x67, - 0x4d, - 0x41, - 0x6d, - 0x35, - 0x76, - 0x4d, - 0x51, - 0x73, - 0x77, - 0x43, - 0x51, - 0x59, - 0x44, - 0x56, - 0x51, - 0x51, - 0x48, - 0x44, - 0x41, - 0x4a, - 0x75, - 0x62, - 0x7a, - 0x45, - 0x4c, - 0x4d, - 0x41, - 0x6b, - 0x47, - 0x0a, - 0x41, - 0x31, - 0x55, - 0x45, - 0x43, - 0x67, - 0x77, - 0x43, - 0x62, - 0x6d, - 0x38, - 0x78, - 0x43, - 0x7a, - 0x41, - 0x4a, - 0x42, - 0x67, - 0x4e, - 0x56, - 0x42, - 0x41, - 0x73, - 0x4d, - 0x41, - 0x6d, - 0x35, - 0x76, - 0x4d, - 0x51, - 0x73, - 0x77, - 0x43, - 0x51, - 0x59, - 0x44, - 0x56, - 0x51, - 0x51, - 0x44, - 0x44, - 0x41, - 0x4a, - 0x75, - 0x62, - 0x7a, - 0x45, - 0x52, - 0x4d, - 0x41, - 0x38, - 0x47, - 0x43, - 0x53, - 0x71, - 0x47, - 0x53, - 0x49, - 0x62, - 0x33, - 0x44, - 0x51, - 0x45, - 0x4a, - 0x0a, - 0x41, - 0x52, - 0x59, - 0x43, - 0x62, - 0x6d, - 0x38, - 0x77, - 0x48, - 0x68, - 0x63, - 0x4e, - 0x4d, - 0x6a, - 0x51, - 0x77, - 0x4d, - 0x6a, - 0x49, - 0x34, - 0x4d, - 0x54, - 0x6b, - 0x7a, - 0x4e, - 0x7a, - 0x45, - 0x77, - 0x57, - 0x68, - 0x63, - 0x4e, - 0x4d, - 0x6a, - 0x55, - 0x77, - 0x4d, - 0x6a, - 0x49, - 0x33, - 0x4d, - 0x54, - 0x6b, - 0x7a, - 0x4e, - 0x7a, - 0x45, - 0x77, - 0x57, - 0x6a, - 0x42, - 0x68, - 0x4d, - 0x51, - 0x73, - 0x77, - 0x43, - 0x51, - 0x59, - 0x44, - 0x56, - 0x51, - 0x51, - 0x47, - 0x0a, - 0x45, - 0x77, - 0x4a, - 0x75, - 0x62, - 0x7a, - 0x45, - 0x4c, - 0x4d, - 0x41, - 0x6b, - 0x47, - 0x41, - 0x31, - 0x55, - 0x45, - 0x43, - 0x41, - 0x77, - 0x43, - 0x62, - 0x6d, - 0x38, - 0x78, - 0x43, - 0x7a, - 0x41, - 0x4a, - 0x42, - 0x67, - 0x4e, - 0x56, - 0x42, - 0x41, - 0x63, - 0x4d, - 0x41, - 0x6d, - 0x35, - 0x76, - 0x4d, - 0x51, - 0x73, - 0x77, - 0x43, - 0x51, - 0x59, - 0x44, - 0x56, - 0x51, - 0x51, - 0x4b, - 0x44, - 0x41, - 0x4a, - 0x75, - 0x62, - 0x7a, - 0x45, - 0x4c, - 0x4d, - 0x41, - 0x6b, - 0x47, - 0x0a, - 0x41, - 0x31, - 0x55, - 0x45, - 0x43, - 0x77, - 0x77, - 0x43, - 0x62, - 0x6d, - 0x38, - 0x78, - 0x43, - 0x7a, - 0x41, - 0x4a, - 0x42, - 0x67, - 0x4e, - 0x56, - 0x42, - 0x41, - 0x4d, - 0x4d, - 0x41, - 0x6d, - 0x35, - 0x76, - 0x4d, - 0x52, - 0x45, - 0x77, - 0x44, - 0x77, - 0x59, - 0x4a, - 0x4b, - 0x6f, - 0x5a, - 0x49, - 0x68, - 0x76, - 0x63, - 0x4e, - 0x41, - 0x51, - 0x6b, - 0x42, - 0x46, - 0x67, - 0x4a, - 0x75, - 0x62, - 0x7a, - 0x43, - 0x43, - 0x41, - 0x53, - 0x49, - 0x77, - 0x44, - 0x51, - 0x59, - 0x4a, - 0x0a, - 0x4b, - 0x6f, - 0x5a, - 0x49, - 0x68, - 0x76, - 0x63, - 0x4e, - 0x41, - 0x51, - 0x45, - 0x42, - 0x42, - 0x51, - 0x41, - 0x44, - 0x67, - 0x67, - 0x45, - 0x50, - 0x41, - 0x44, - 0x43, - 0x43, - 0x41, - 0x51, - 0x6f, - 0x43, - 0x67, - 0x67, - 0x45, - 0x42, - 0x41, - 0x4c, - 0x57, - 0x5a, - 0x42, - 0x39, - 0x4d, - 0x74, - 0x61, - 0x73, - 0x30, - 0x56, - 0x39, - 0x53, - 0x79, - 0x61, - 0x2b, - 0x55, - 0x68, - 0x45, - 0x61, - 0x62, - 0x77, - 0x7a, - 0x73, - 0x33, - 0x45, - 0x6f, - 0x6c, - 0x2b, - 0x2f, - 0x4d, - 0x0a, - 0x68, - 0x77, - 0x55, - 0x46, - 0x57, - 0x49, - 0x46, - 0x72, - 0x72, - 0x38, - 0x74, - 0x56, - 0x79, - 0x59, - 0x76, - 0x67, - 0x38, - 0x58, - 0x73, - 0x2f, - 0x4b, - 0x6e, - 0x43, - 0x32, - 0x56, - 0x61, - 0x45, - 0x70, - 0x6e, - 0x45, - 0x6c, - 0x74, - 0x42, - 0x4e, - 0x4c, - 0x61, - 0x4f, - 0x41, - 0x44, - 0x5a, - 0x47, - 0x55, - 0x75, - 0x58, - 0x7a, - 0x7a, - 0x35, - 0x45, - 0x62, - 0x63, - 0x63, - 0x62, - 0x32, - 0x69, - 0x31, - 0x38, - 0x67, - 0x68, - 0x76, - 0x4d, - 0x44, - 0x58, - 0x35, - 0x6f, - 0x0a, - 0x4f, - 0x77, - 0x41, - 0x41, - 0x69, - 0x64, - 0x4c, - 0x33, - 0x74, - 0x76, - 0x36, - 0x6c, - 0x68, - 0x38, - 0x2f, - 0x56, - 0x75, - 0x6a, - 0x38, - 0x74, - 0x70, - 0x4c, - 0x41, - 0x35, - 0x33, - 0x53, - 0x44, - 0x52, - 0x35, - 0x56, - 0x54, - 0x51, - 0x63, - 0x78, - 0x69, - 0x74, - 0x69, - 0x70, - 0x73, - 0x63, - 0x63, - 0x6a, - 0x61, - 0x63, - 0x48, - 0x44, - 0x66, - 0x74, - 0x54, - 0x71, - 0x44, - 0x41, - 0x37, - 0x2b, - 0x39, - 0x34, - 0x53, - 0x54, - 0x54, - 0x38, - 0x51, - 0x53, - 0x48, - 0x74, - 0x0a, - 0x57, - 0x75, - 0x35, - 0x46, - 0x6d, - 0x58, - 0x50, - 0x4b, - 0x76, - 0x4a, - 0x4c, - 0x6d, - 0x50, - 0x75, - 0x4b, - 0x51, - 0x4a, - 0x4d, - 0x62, - 0x4f, - 0x4a, - 0x53, - 0x47, - 0x44, - 0x4a, - 0x4c, - 0x76, - 0x64, - 0x54, - 0x2f, - 0x30, - 0x64, - 0x79, - 0x4d, - 0x39, - 0x61, - 0x55, - 0x33, - 0x78, - 0x4b, - 0x77, - 0x36, - 0x34, - 0x69, - 0x76, - 0x37, - 0x53, - 0x33, - 0x6c, - 0x61, - 0x45, - 0x52, - 0x57, - 0x79, - 0x57, - 0x34, - 0x2f, - 0x4f, - 0x65, - 0x6d, - 0x4d, - 0x51, - 0x58, - 0x73, - 0x0a, - 0x69, - 0x2b, - 0x6b, - 0x62, - 0x61, - 0x6e, - 0x70, - 0x56, - 0x4e, - 0x4a, - 0x56, - 0x6d, - 0x71, - 0x54, - 0x74, - 0x53, - 0x2b, - 0x71, - 0x2f, - 0x46, - 0x79, - 0x59, - 0x76, - 0x76, - 0x72, - 0x31, - 0x4e, - 0x70, - 0x58, - 0x30, - 0x4f, - 0x63, - 0x2f, - 0x41, - 0x35, - 0x48, - 0x32, - 0x48, - 0x59, - 0x51, - 0x36, - 0x66, - 0x36, - 0x50, - 0x33, - 0x6e, - 0x76, - 0x4a, - 0x32, - 0x32, - 0x49, - 0x4f, - 0x58, - 0x6f, - 0x49, - 0x63, - 0x4e, - 0x6a, - 0x49, - 0x31, - 0x46, - 0x6d, - 0x4b, - 0x62, - 0x0a, - 0x58, - 0x33, - 0x4e, - 0x4a, - 0x48, - 0x65, - 0x74, - 0x48, - 0x58, - 0x74, - 0x79, - 0x5a, - 0x4b, - 0x58, - 0x63, - 0x66, - 0x70, - 0x69, - 0x7a, - 0x6c, - 0x6a, - 0x73, - 0x4e, - 0x76, - 0x62, - 0x66, - 0x66, - 0x73, - 0x4c, - 0x36, - 0x74, - 0x77, - 0x78, - 0x6a, - 0x6a, - 0x43, - 0x52, - 0x33, - 0x4a, - 0x64, - 0x55, - 0x71, - 0x50, - 0x31, - 0x78, - 0x45, - 0x43, - 0x65, - 0x75, - 0x6f, - 0x4c, - 0x42, - 0x4d, - 0x7a, - 0x6b, - 0x43, - 0x41, - 0x77, - 0x45, - 0x41, - 0x41, - 0x61, - 0x4e, - 0x54, - 0x0a, - 0x4d, - 0x46, - 0x45, - 0x77, - 0x48, - 0x51, - 0x59, - 0x44, - 0x56, - 0x52, - 0x30, - 0x4f, - 0x42, - 0x42, - 0x59, - 0x45, - 0x46, - 0x4b, - 0x5a, - 0x32, - 0x62, - 0x39, - 0x49, - 0x4a, - 0x33, - 0x59, - 0x57, - 0x43, - 0x59, - 0x79, - 0x4d, - 0x6b, - 0x52, - 0x4f, - 0x6a, - 0x74, - 0x6a, - 0x46, - 0x37, - 0x43, - 0x78, - 0x73, - 0x66, - 0x61, - 0x4d, - 0x42, - 0x38, - 0x47, - 0x41, - 0x31, - 0x55, - 0x64, - 0x49, - 0x77, - 0x51, - 0x59, - 0x4d, - 0x42, - 0x61, - 0x41, - 0x46, - 0x4b, - 0x5a, - 0x32, - 0x0a, - 0x62, - 0x39, - 0x49, - 0x4a, - 0x33, - 0x59, - 0x57, - 0x43, - 0x59, - 0x79, - 0x4d, - 0x6b, - 0x52, - 0x4f, - 0x6a, - 0x74, - 0x6a, - 0x46, - 0x37, - 0x43, - 0x78, - 0x73, - 0x66, - 0x61, - 0x4d, - 0x41, - 0x38, - 0x47, - 0x41, - 0x31, - 0x55, - 0x64, - 0x45, - 0x77, - 0x45, - 0x42, - 0x2f, - 0x77, - 0x51, - 0x46, - 0x4d, - 0x41, - 0x4d, - 0x42, - 0x41, - 0x66, - 0x38, - 0x77, - 0x44, - 0x51, - 0x59, - 0x4a, - 0x4b, - 0x6f, - 0x5a, - 0x49, - 0x68, - 0x76, - 0x63, - 0x4e, - 0x41, - 0x51, - 0x45, - 0x4c, - 0x0a, - 0x42, - 0x51, - 0x41, - 0x44, - 0x67, - 0x67, - 0x45, - 0x42, - 0x41, - 0x47, - 0x4a, - 0x6f, - 0x48, - 0x44, - 0x54, - 0x73, - 0x41, - 0x69, - 0x75, - 0x52, - 0x74, - 0x41, - 0x43, - 0x54, - 0x47, - 0x69, - 0x47, - 0x7a, - 0x2f, - 0x6f, - 0x79, - 0x4e, - 0x5a, - 0x66, - 0x48, - 0x2f, - 0x4f, - 0x55, - 0x4a, - 0x61, - 0x69, - 0x6a, - 0x55, - 0x4d, - 0x61, - 0x4c, - 0x62, - 0x48, - 0x64, - 0x2f, - 0x4a, - 0x47, - 0x32, - 0x4c, - 0x36, - 0x67, - 0x74, - 0x70, - 0x41, - 0x43, - 0x59, - 0x59, - 0x32, - 0x62, - 0x0a, - 0x41, - 0x6f, - 0x4c, - 0x6b, - 0x49, - 0x63, - 0x43, - 0x6c, - 0x33, - 0x38, - 0x6e, - 0x73, - 0x4c, - 0x59, - 0x4d, - 0x4c, - 0x5a, - 0x33, - 0x32, - 0x42, - 0x62, - 0x63, - 0x35, - 0x6a, - 0x6e, - 0x50, - 0x2f, - 0x51, - 0x79, - 0x33, - 0x64, - 0x32, - 0x48, - 0x4b, - 0x73, - 0x54, - 0x4a, - 0x35, - 0x49, - 0x74, - 0x34, - 0x71, - 0x78, - 0x44, - 0x67, - 0x74, - 0x62, - 0x74, - 0x70, - 0x55, - 0x38, - 0x65, - 0x35, - 0x4d, - 0x68, - 0x45, - 0x65, - 0x4a, - 0x6f, - 0x65, - 0x4d, - 0x48, - 0x4f, - 0x43, - 0x0a, - 0x66, - 0x69, - 0x7a, - 0x62, - 0x63, - 0x57, - 0x63, - 0x37, - 0x57, - 0x37, - 0x6d, - 0x32, - 0x53, - 0x4c, - 0x66, - 0x70, - 0x65, - 0x51, - 0x4a, - 0x57, - 0x4d, - 0x67, - 0x75, - 0x32, - 0x44, - 0x61, - 0x30, - 0x48, - 0x59, - 0x45, - 0x44, - 0x53, - 0x2f, - 0x78, - 0x7a, - 0x4c, - 0x6e, - 0x37, - 0x70, - 0x78, - 0x51, - 0x67, - 0x5a, - 0x70, - 0x4f, - 0x72, - 0x4d, - 0x51, - 0x37, - 0x49, - 0x68, - 0x69, - 0x31, - 0x6a, - 0x77, - 0x58, - 0x66, - 0x4b, - 0x46, - 0x71, - 0x49, - 0x49, - 0x61, - 0x6c, - 0x0a, - 0x67, - 0x36, - 0x53, - 0x69, - 0x6a, - 0x52, - 0x47, - 0x58, - 0x68, - 0x37, - 0x6f, - 0x6e, - 0x45, - 0x41, - 0x78, - 0x45, - 0x6d, - 0x4b, - 0x4c, - 0x6b, - 0x70, - 0x56, - 0x51, - 0x52, - 0x71, - 0x36, - 0x33, - 0x33, - 0x42, - 0x59, - 0x50, - 0x56, - 0x36, - 0x6f, - 0x64, - 0x78, - 0x74, - 0x58, - 0x44, - 0x68, - 0x78, - 0x79, - 0x4a, - 0x4b, - 0x79, - 0x47, - 0x6a, - 0x53, - 0x4a, - 0x73, - 0x51, - 0x6f, - 0x4b, - 0x76, - 0x39, - 0x6f, - 0x43, - 0x46, - 0x32, - 0x6b, - 0x41, - 0x64, - 0x41, - 0x69, - 0x0a, - 0x43, - 0x76, - 0x76, - 0x61, - 0x74, - 0x71, - 0x52, - 0x57, - 0x52, - 0x77, - 0x67, - 0x49, - 0x65, - 0x6c, - 0x6e, - 0x31, - 0x53, - 0x77, - 0x39, - 0x45, - 0x65, - 0x36, - 0x63, - 0x54, - 0x59, - 0x5a, - 0x43, - 0x47, - 0x32, - 0x55, - 0x2b, - 0x2f, - 0x55, - 0x66, - 0x2b, - 0x4c, - 0x73, - 0x37, - 0x66, - 0x6a, - 0x4e, - 0x38, - 0x74, - 0x72, - 0x62, - 0x2f, - 0x53, - 0x68, - 0x6d, - 0x78, - 0x6f, - 0x38, - 0x64, - 0x6f, - 0x2f, - 0x6e, - 0x70, - 0x42, - 0x6e, - 0x7a, - 0x38, - 0x6a, - 0x2b, - 0x31, - 0x0a, - 0x61, - 0x32, - 0x76, - 0x62, - 0x7a, - 0x33, - 0x67, - 0x70, - 0x4f, - 0x73, - 0x6c, - 0x38, - 0x37, - 0x55, - 0x30, - 0x63, - 0x30, - 0x31, - 0x4a, - 0x43, - 0x6c, - 0x39, - 0x53, - 0x5a, - 0x58, - 0x44, - 0x53, - 0x4f, - 0x30, - 0x39, - 0x77, - 0x3d, - 0x0a, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x45, - 0x4e, - 0x44, - 0x20, - 0x43, - 0x45, - 0x52, - 0x54, - 0x49, - 0x46, - 0x49, - 0x43, - 0x41, - 0x54, - 0x45, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x0a, + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, + 0x49, 0x4e, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, + 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, + 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x44, + 0x6f, 0x7a, 0x43, 0x43, 0x41, 0x6f, 0x75, 0x67, + 0x41, 0x77, 0x49, 0x42, 0x41, 0x67, 0x49, 0x55, + 0x53, 0x4b, 0x77, 0x51, 0x44, 0x31, 0x71, 0x52, + 0x74, 0x53, 0x2b, 0x6c, 0x72, 0x69, 0x64, 0x61, + 0x77, 0x6d, 0x61, 0x59, 0x4b, 0x36, 0x63, 0x65, + 0x6a, 0x32, 0x6b, 0x77, 0x44, 0x51, 0x59, 0x4a, + 0x4b, 0x6f, 0x5a, 0x49, 0x68, 0x76, 0x63, 0x4e, + 0x41, 0x51, 0x45, 0x4c, 0x0a, 0x42, 0x51, 0x41, + 0x77, 0x59, 0x54, 0x45, 0x4c, 0x4d, 0x41, 0x6b, + 0x47, 0x41, 0x31, 0x55, 0x45, 0x42, 0x68, 0x4d, + 0x43, 0x62, 0x6d, 0x38, 0x78, 0x43, 0x7a, 0x41, + 0x4a, 0x42, 0x67, 0x4e, 0x56, 0x42, 0x41, 0x67, + 0x4d, 0x41, 0x6d, 0x35, 0x76, 0x4d, 0x51, 0x73, + 0x77, 0x43, 0x51, 0x59, 0x44, 0x56, 0x51, 0x51, + 0x48, 0x44, 0x41, 0x4a, 0x75, 0x62, 0x7a, 0x45, + 0x4c, 0x4d, 0x41, 0x6b, 0x47, 0x0a, 0x41, 0x31, + 0x55, 0x45, 0x43, 0x67, 0x77, 0x43, 0x62, 0x6d, + 0x38, 0x78, 0x43, 0x7a, 0x41, 0x4a, 0x42, 0x67, + 0x4e, 0x56, 0x42, 0x41, 0x73, 0x4d, 0x41, 0x6d, + 0x35, 0x76, 0x4d, 0x51, 0x73, 0x77, 0x43, 0x51, + 0x59, 0x44, 0x56, 0x51, 0x51, 0x44, 0x44, 0x41, + 0x4a, 0x75, 0x62, 0x7a, 0x45, 0x52, 0x4d, 0x41, + 0x38, 0x47, 0x43, 0x53, 0x71, 0x47, 0x53, 0x49, + 0x62, 0x33, 0x44, 0x51, 0x45, 0x4a, 0x0a, 0x41, + 0x52, 0x59, 0x43, 0x62, 0x6d, 0x38, 0x77, 0x48, + 0x68, 0x63, 0x4e, 0x4d, 0x6a, 0x51, 0x77, 0x4d, + 0x6a, 0x49, 0x34, 0x4d, 0x54, 0x6b, 0x7a, 0x4e, + 0x7a, 0x45, 0x77, 0x57, 0x68, 0x63, 0x4e, 0x4d, + 0x6a, 0x55, 0x77, 0x4d, 0x6a, 0x49, 0x33, 0x4d, + 0x54, 0x6b, 0x7a, 0x4e, 0x7a, 0x45, 0x77, 0x57, + 0x6a, 0x42, 0x68, 0x4d, 0x51, 0x73, 0x77, 0x43, + 0x51, 0x59, 0x44, 0x56, 0x51, 0x51, 0x47, 0x0a, + 0x45, 0x77, 0x4a, 0x75, 0x62, 0x7a, 0x45, 0x4c, + 0x4d, 0x41, 0x6b, 0x47, 0x41, 0x31, 0x55, 0x45, + 0x43, 0x41, 0x77, 0x43, 0x62, 0x6d, 0x38, 0x78, + 0x43, 0x7a, 0x41, 0x4a, 0x42, 0x67, 0x4e, 0x56, + 0x42, 0x41, 0x63, 0x4d, 0x41, 0x6d, 0x35, 0x76, + 0x4d, 0x51, 0x73, 0x77, 0x43, 0x51, 0x59, 0x44, + 0x56, 0x51, 0x51, 0x4b, 0x44, 0x41, 0x4a, 0x75, + 0x62, 0x7a, 0x45, 0x4c, 0x4d, 0x41, 0x6b, 0x47, + 0x0a, 0x41, 0x31, 0x55, 0x45, 0x43, 0x77, 0x77, + 0x43, 0x62, 0x6d, 0x38, 0x78, 0x43, 0x7a, 0x41, + 0x4a, 0x42, 0x67, 0x4e, 0x56, 0x42, 0x41, 0x4d, + 0x4d, 0x41, 0x6d, 0x35, 0x76, 0x4d, 0x52, 0x45, + 0x77, 0x44, 0x77, 0x59, 0x4a, 0x4b, 0x6f, 0x5a, + 0x49, 0x68, 0x76, 0x63, 0x4e, 0x41, 0x51, 0x6b, + 0x42, 0x46, 0x67, 0x4a, 0x75, 0x62, 0x7a, 0x43, + 0x43, 0x41, 0x53, 0x49, 0x77, 0x44, 0x51, 0x59, + 0x4a, 0x0a, 0x4b, 0x6f, 0x5a, 0x49, 0x68, 0x76, + 0x63, 0x4e, 0x41, 0x51, 0x45, 0x42, 0x42, 0x51, + 0x41, 0x44, 0x67, 0x67, 0x45, 0x50, 0x41, 0x44, + 0x43, 0x43, 0x41, 0x51, 0x6f, 0x43, 0x67, 0x67, + 0x45, 0x42, 0x41, 0x4c, 0x57, 0x5a, 0x42, 0x39, + 0x4d, 0x74, 0x61, 0x73, 0x30, 0x56, 0x39, 0x53, + 0x79, 0x61, 0x2b, 0x55, 0x68, 0x45, 0x61, 0x62, + 0x77, 0x7a, 0x73, 0x33, 0x45, 0x6f, 0x6c, 0x2b, + 0x2f, 0x4d, 0x0a, 0x68, 0x77, 0x55, 0x46, 0x57, + 0x49, 0x46, 0x72, 0x72, 0x38, 0x74, 0x56, 0x79, + 0x59, 0x76, 0x67, 0x38, 0x58, 0x73, 0x2f, 0x4b, + 0x6e, 0x43, 0x32, 0x56, 0x61, 0x45, 0x70, 0x6e, + 0x45, 0x6c, 0x74, 0x42, 0x4e, 0x4c, 0x61, 0x4f, + 0x41, 0x44, 0x5a, 0x47, 0x55, 0x75, 0x58, 0x7a, + 0x7a, 0x35, 0x45, 0x62, 0x63, 0x63, 0x62, 0x32, + 0x69, 0x31, 0x38, 0x67, 0x68, 0x76, 0x4d, 0x44, + 0x58, 0x35, 0x6f, 0x0a, 0x4f, 0x77, 0x41, 0x41, + 0x69, 0x64, 0x4c, 0x33, 0x74, 0x76, 0x36, 0x6c, + 0x68, 0x38, 0x2f, 0x56, 0x75, 0x6a, 0x38, 0x74, + 0x70, 0x4c, 0x41, 0x35, 0x33, 0x53, 0x44, 0x52, + 0x35, 0x56, 0x54, 0x51, 0x63, 0x78, 0x69, 0x74, + 0x69, 0x70, 0x73, 0x63, 0x63, 0x6a, 0x61, 0x63, + 0x48, 0x44, 0x66, 0x74, 0x54, 0x71, 0x44, 0x41, + 0x37, 0x2b, 0x39, 0x34, 0x53, 0x54, 0x54, 0x38, + 0x51, 0x53, 0x48, 0x74, 0x0a, 0x57, 0x75, 0x35, + 0x46, 0x6d, 0x58, 0x50, 0x4b, 0x76, 0x4a, 0x4c, + 0x6d, 0x50, 0x75, 0x4b, 0x51, 0x4a, 0x4d, 0x62, + 0x4f, 0x4a, 0x53, 0x47, 0x44, 0x4a, 0x4c, 0x76, + 0x64, 0x54, 0x2f, 0x30, 0x64, 0x79, 0x4d, 0x39, + 0x61, 0x55, 0x33, 0x78, 0x4b, 0x77, 0x36, 0x34, + 0x69, 0x76, 0x37, 0x53, 0x33, 0x6c, 0x61, 0x45, + 0x52, 0x57, 0x79, 0x57, 0x34, 0x2f, 0x4f, 0x65, + 0x6d, 0x4d, 0x51, 0x58, 0x73, 0x0a, 0x69, 0x2b, + 0x6b, 0x62, 0x61, 0x6e, 0x70, 0x56, 0x4e, 0x4a, + 0x56, 0x6d, 0x71, 0x54, 0x74, 0x53, 0x2b, 0x71, + 0x2f, 0x46, 0x79, 0x59, 0x76, 0x76, 0x72, 0x31, + 0x4e, 0x70, 0x58, 0x30, 0x4f, 0x63, 0x2f, 0x41, + 0x35, 0x48, 0x32, 0x48, 0x59, 0x51, 0x36, 0x66, + 0x36, 0x50, 0x33, 0x6e, 0x76, 0x4a, 0x32, 0x32, + 0x49, 0x4f, 0x58, 0x6f, 0x49, 0x63, 0x4e, 0x6a, + 0x49, 0x31, 0x46, 0x6d, 0x4b, 0x62, 0x0a, 0x58, + 0x33, 0x4e, 0x4a, 0x48, 0x65, 0x74, 0x48, 0x58, + 0x74, 0x79, 0x5a, 0x4b, 0x58, 0x63, 0x66, 0x70, + 0x69, 0x7a, 0x6c, 0x6a, 0x73, 0x4e, 0x76, 0x62, + 0x66, 0x66, 0x73, 0x4c, 0x36, 0x74, 0x77, 0x78, + 0x6a, 0x6a, 0x43, 0x52, 0x33, 0x4a, 0x64, 0x55, + 0x71, 0x50, 0x31, 0x78, 0x45, 0x43, 0x65, 0x75, + 0x6f, 0x4c, 0x42, 0x4d, 0x7a, 0x6b, 0x43, 0x41, + 0x77, 0x45, 0x41, 0x41, 0x61, 0x4e, 0x54, 0x0a, + 0x4d, 0x46, 0x45, 0x77, 0x48, 0x51, 0x59, 0x44, + 0x56, 0x52, 0x30, 0x4f, 0x42, 0x42, 0x59, 0x45, + 0x46, 0x4b, 0x5a, 0x32, 0x62, 0x39, 0x49, 0x4a, + 0x33, 0x59, 0x57, 0x43, 0x59, 0x79, 0x4d, 0x6b, + 0x52, 0x4f, 0x6a, 0x74, 0x6a, 0x46, 0x37, 0x43, + 0x78, 0x73, 0x66, 0x61, 0x4d, 0x42, 0x38, 0x47, + 0x41, 0x31, 0x55, 0x64, 0x49, 0x77, 0x51, 0x59, + 0x4d, 0x42, 0x61, 0x41, 0x46, 0x4b, 0x5a, 0x32, + 0x0a, 0x62, 0x39, 0x49, 0x4a, 0x33, 0x59, 0x57, + 0x43, 0x59, 0x79, 0x4d, 0x6b, 0x52, 0x4f, 0x6a, + 0x74, 0x6a, 0x46, 0x37, 0x43, 0x78, 0x73, 0x66, + 0x61, 0x4d, 0x41, 0x38, 0x47, 0x41, 0x31, 0x55, + 0x64, 0x45, 0x77, 0x45, 0x42, 0x2f, 0x77, 0x51, + 0x46, 0x4d, 0x41, 0x4d, 0x42, 0x41, 0x66, 0x38, + 0x77, 0x44, 0x51, 0x59, 0x4a, 0x4b, 0x6f, 0x5a, + 0x49, 0x68, 0x76, 0x63, 0x4e, 0x41, 0x51, 0x45, + 0x4c, 0x0a, 0x42, 0x51, 0x41, 0x44, 0x67, 0x67, + 0x45, 0x42, 0x41, 0x47, 0x4a, 0x6f, 0x48, 0x44, + 0x54, 0x73, 0x41, 0x69, 0x75, 0x52, 0x74, 0x41, + 0x43, 0x54, 0x47, 0x69, 0x47, 0x7a, 0x2f, 0x6f, + 0x79, 0x4e, 0x5a, 0x66, 0x48, 0x2f, 0x4f, 0x55, + 0x4a, 0x61, 0x69, 0x6a, 0x55, 0x4d, 0x61, 0x4c, + 0x62, 0x48, 0x64, 0x2f, 0x4a, 0x47, 0x32, 0x4c, + 0x36, 0x67, 0x74, 0x70, 0x41, 0x43, 0x59, 0x59, + 0x32, 0x62, 0x0a, 0x41, 0x6f, 0x4c, 0x6b, 0x49, + 0x63, 0x43, 0x6c, 0x33, 0x38, 0x6e, 0x73, 0x4c, + 0x59, 0x4d, 0x4c, 0x5a, 0x33, 0x32, 0x42, 0x62, + 0x63, 0x35, 0x6a, 0x6e, 0x50, 0x2f, 0x51, 0x79, + 0x33, 0x64, 0x32, 0x48, 0x4b, 0x73, 0x54, 0x4a, + 0x35, 0x49, 0x74, 0x34, 0x71, 0x78, 0x44, 0x67, + 0x74, 0x62, 0x74, 0x70, 0x55, 0x38, 0x65, 0x35, + 0x4d, 0x68, 0x45, 0x65, 0x4a, 0x6f, 0x65, 0x4d, + 0x48, 0x4f, 0x43, 0x0a, 0x66, 0x69, 0x7a, 0x62, + 0x63, 0x57, 0x63, 0x37, 0x57, 0x37, 0x6d, 0x32, + 0x53, 0x4c, 0x66, 0x70, 0x65, 0x51, 0x4a, 0x57, + 0x4d, 0x67, 0x75, 0x32, 0x44, 0x61, 0x30, 0x48, + 0x59, 0x45, 0x44, 0x53, 0x2f, 0x78, 0x7a, 0x4c, + 0x6e, 0x37, 0x70, 0x78, 0x51, 0x67, 0x5a, 0x70, + 0x4f, 0x72, 0x4d, 0x51, 0x37, 0x49, 0x68, 0x69, + 0x31, 0x6a, 0x77, 0x58, 0x66, 0x4b, 0x46, 0x71, + 0x49, 0x49, 0x61, 0x6c, 0x0a, 0x67, 0x36, 0x53, + 0x69, 0x6a, 0x52, 0x47, 0x58, 0x68, 0x37, 0x6f, + 0x6e, 0x45, 0x41, 0x78, 0x45, 0x6d, 0x4b, 0x4c, + 0x6b, 0x70, 0x56, 0x51, 0x52, 0x71, 0x36, 0x33, + 0x33, 0x42, 0x59, 0x50, 0x56, 0x36, 0x6f, 0x64, + 0x78, 0x74, 0x58, 0x44, 0x68, 0x78, 0x79, 0x4a, + 0x4b, 0x79, 0x47, 0x6a, 0x53, 0x4a, 0x73, 0x51, + 0x6f, 0x4b, 0x76, 0x39, 0x6f, 0x43, 0x46, 0x32, + 0x6b, 0x41, 0x64, 0x41, 0x69, 0x0a, 0x43, 0x76, + 0x76, 0x61, 0x74, 0x71, 0x52, 0x57, 0x52, 0x77, + 0x67, 0x49, 0x65, 0x6c, 0x6e, 0x31, 0x53, 0x77, + 0x39, 0x45, 0x65, 0x36, 0x63, 0x54, 0x59, 0x5a, + 0x43, 0x47, 0x32, 0x55, 0x2b, 0x2f, 0x55, 0x66, + 0x2b, 0x4c, 0x73, 0x37, 0x66, 0x6a, 0x4e, 0x38, + 0x74, 0x72, 0x62, 0x2f, 0x53, 0x68, 0x6d, 0x78, + 0x6f, 0x38, 0x64, 0x6f, 0x2f, 0x6e, 0x70, 0x42, + 0x6e, 0x7a, 0x38, 0x6a, 0x2b, 0x31, 0x0a, 0x61, + 0x32, 0x76, 0x62, 0x7a, 0x33, 0x67, 0x70, 0x4f, + 0x73, 0x6c, 0x38, 0x37, 0x55, 0x30, 0x63, 0x30, + 0x31, 0x4a, 0x43, 0x6c, 0x39, 0x53, 0x5a, 0x58, + 0x44, 0x53, 0x4f, 0x30, 0x39, 0x77, 0x3d, 0x0a, + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x45, 0x4e, 0x44, + 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, + 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d, + 0x2d, 0x0a }; #ifndef OPENSSL_NO_DEPRECATED_3_0 @@ -1406,1710 +250,219 @@ hljAVnB9v6NMfcRERTx10SUc -----END PRIVATE KEY----- */ static const uint8_t RSAPrivateKeyPEM[] = { - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x42, - 0x45, - 0x47, - 0x49, - 0x4e, - 0x20, - 0x50, - 0x52, - 0x49, - 0x56, - 0x41, - 0x54, - 0x45, - 0x20, - 0x4b, - 0x45, - 0x59, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x0a, - 0x4d, - 0x49, - 0x49, - 0x45, - 0x76, - 0x67, - 0x49, - 0x42, - 0x41, - 0x44, - 0x41, - 0x4e, - 0x42, - 0x67, - 0x6b, - 0x71, - 0x68, - 0x6b, - 0x69, - 0x47, - 0x39, - 0x77, - 0x30, - 0x42, - 0x41, - 0x51, - 0x45, - 0x46, - 0x41, - 0x41, - 0x53, - 0x43, - 0x42, - 0x4b, - 0x67, - 0x77, - 0x67, - 0x67, - 0x53, - 0x6b, - 0x41, - 0x67, - 0x45, - 0x41, - 0x41, - 0x6f, - 0x49, - 0x42, - 0x41, - 0x51, - 0x43, - 0x31, - 0x6d, - 0x51, - 0x66, - 0x54, - 0x4c, - 0x57, - 0x72, - 0x4e, - 0x46, - 0x66, - 0x55, - 0x73, - 0x0a, - 0x6d, - 0x76, - 0x6c, - 0x49, - 0x52, - 0x47, - 0x6d, - 0x38, - 0x4d, - 0x37, - 0x4e, - 0x78, - 0x4b, - 0x4a, - 0x66, - 0x76, - 0x7a, - 0x49, - 0x63, - 0x46, - 0x42, - 0x56, - 0x69, - 0x42, - 0x61, - 0x36, - 0x2f, - 0x4c, - 0x56, - 0x63, - 0x6d, - 0x4c, - 0x34, - 0x50, - 0x46, - 0x37, - 0x50, - 0x79, - 0x70, - 0x77, - 0x74, - 0x6c, - 0x57, - 0x68, - 0x4b, - 0x5a, - 0x78, - 0x4a, - 0x62, - 0x51, - 0x54, - 0x53, - 0x32, - 0x6a, - 0x67, - 0x41, - 0x32, - 0x52, - 0x6c, - 0x4c, - 0x6c, - 0x38, - 0x38, - 0x2b, - 0x0a, - 0x52, - 0x47, - 0x33, - 0x48, - 0x47, - 0x39, - 0x6f, - 0x74, - 0x66, - 0x49, - 0x49, - 0x62, - 0x7a, - 0x41, - 0x31, - 0x2b, - 0x61, - 0x44, - 0x73, - 0x41, - 0x41, - 0x49, - 0x6e, - 0x53, - 0x39, - 0x37, - 0x62, - 0x2b, - 0x70, - 0x59, - 0x66, - 0x50, - 0x31, - 0x62, - 0x6f, - 0x2f, - 0x4c, - 0x61, - 0x53, - 0x77, - 0x4f, - 0x64, - 0x30, - 0x67, - 0x30, - 0x65, - 0x56, - 0x55, - 0x30, - 0x48, - 0x4d, - 0x59, - 0x72, - 0x59, - 0x71, - 0x62, - 0x48, - 0x48, - 0x49, - 0x32, - 0x6e, - 0x42, - 0x77, - 0x33, - 0x0a, - 0x37, - 0x55, - 0x36, - 0x67, - 0x77, - 0x4f, - 0x2f, - 0x76, - 0x65, - 0x45, - 0x6b, - 0x30, - 0x2f, - 0x45, - 0x45, - 0x68, - 0x37, - 0x56, - 0x72, - 0x75, - 0x52, - 0x5a, - 0x6c, - 0x7a, - 0x79, - 0x72, - 0x79, - 0x53, - 0x35, - 0x6a, - 0x37, - 0x69, - 0x6b, - 0x43, - 0x54, - 0x47, - 0x7a, - 0x69, - 0x55, - 0x68, - 0x67, - 0x79, - 0x53, - 0x37, - 0x33, - 0x55, - 0x2f, - 0x39, - 0x48, - 0x63, - 0x6a, - 0x50, - 0x57, - 0x6c, - 0x4e, - 0x38, - 0x53, - 0x73, - 0x4f, - 0x75, - 0x49, - 0x72, - 0x2b, - 0x30, - 0x0a, - 0x74, - 0x35, - 0x57, - 0x68, - 0x45, - 0x56, - 0x73, - 0x6c, - 0x75, - 0x50, - 0x7a, - 0x6e, - 0x70, - 0x6a, - 0x45, - 0x46, - 0x37, - 0x49, - 0x76, - 0x70, - 0x47, - 0x32, - 0x70, - 0x36, - 0x56, - 0x54, - 0x53, - 0x56, - 0x5a, - 0x71, - 0x6b, - 0x37, - 0x55, - 0x76, - 0x71, - 0x76, - 0x78, - 0x63, - 0x6d, - 0x4c, - 0x37, - 0x36, - 0x39, - 0x54, - 0x61, - 0x56, - 0x39, - 0x44, - 0x6e, - 0x50, - 0x77, - 0x4f, - 0x52, - 0x39, - 0x68, - 0x32, - 0x45, - 0x4f, - 0x6e, - 0x2b, - 0x6a, - 0x39, - 0x35, - 0x37, - 0x0a, - 0x79, - 0x64, - 0x74, - 0x69, - 0x44, - 0x6c, - 0x36, - 0x43, - 0x48, - 0x44, - 0x59, - 0x79, - 0x4e, - 0x52, - 0x5a, - 0x69, - 0x6d, - 0x31, - 0x39, - 0x7a, - 0x53, - 0x52, - 0x33, - 0x72, - 0x52, - 0x31, - 0x37, - 0x63, - 0x6d, - 0x53, - 0x6c, - 0x33, - 0x48, - 0x36, - 0x59, - 0x73, - 0x35, - 0x59, - 0x37, - 0x44, - 0x62, - 0x32, - 0x33, - 0x33, - 0x37, - 0x43, - 0x2b, - 0x72, - 0x63, - 0x4d, - 0x59, - 0x34, - 0x77, - 0x6b, - 0x64, - 0x79, - 0x58, - 0x56, - 0x4b, - 0x6a, - 0x39, - 0x63, - 0x52, - 0x41, - 0x0a, - 0x6e, - 0x72, - 0x71, - 0x43, - 0x77, - 0x54, - 0x4d, - 0x35, - 0x41, - 0x67, - 0x4d, - 0x42, - 0x41, - 0x41, - 0x45, - 0x43, - 0x67, - 0x67, - 0x45, - 0x41, - 0x46, - 0x4f, - 0x44, - 0x2b, - 0x58, - 0x46, - 0x4a, - 0x5a, - 0x65, - 0x44, - 0x44, - 0x78, - 0x47, - 0x6d, - 0x72, - 0x4c, - 0x42, - 0x48, - 0x73, - 0x52, - 0x4b, - 0x52, - 0x6c, - 0x4d, - 0x70, - 0x56, - 0x4d, - 0x45, - 0x66, - 0x51, - 0x61, - 0x6e, - 0x38, - 0x33, - 0x54, - 0x55, - 0x34, - 0x7a, - 0x52, - 0x74, - 0x5a, - 0x74, - 0x52, - 0x37, - 0x0a, - 0x4d, - 0x73, - 0x44, - 0x76, - 0x49, - 0x72, - 0x74, - 0x31, - 0x64, - 0x72, - 0x59, - 0x51, - 0x44, - 0x46, - 0x4b, - 0x4c, - 0x62, - 0x49, - 0x6e, - 0x44, - 0x52, - 0x7a, - 0x62, - 0x64, - 0x76, - 0x34, - 0x4d, - 0x32, - 0x66, - 0x46, - 0x46, - 0x38, - 0x2b, - 0x32, - 0x7a, - 0x45, - 0x72, - 0x6d, - 0x4c, - 0x4f, - 0x5a, - 0x2f, - 0x4a, - 0x72, - 0x78, - 0x79, - 0x52, - 0x6a, - 0x33, - 0x4d, - 0x66, - 0x42, - 0x47, - 0x4e, - 0x50, - 0x33, - 0x42, - 0x4c, - 0x47, - 0x45, - 0x63, - 0x61, - 0x79, - 0x34, - 0x0a, - 0x65, - 0x37, - 0x58, - 0x59, - 0x44, - 0x78, - 0x47, - 0x42, - 0x59, - 0x4e, - 0x32, - 0x57, - 0x52, - 0x67, - 0x4b, - 0x37, - 0x2b, - 0x6b, - 0x39, - 0x70, - 0x48, - 0x45, - 0x6f, - 0x2f, - 0x71, - 0x47, - 0x76, - 0x52, - 0x32, - 0x65, - 0x4f, - 0x43, - 0x2f, - 0x77, - 0x38, - 0x69, - 0x76, - 0x69, - 0x72, - 0x51, - 0x71, - 0x31, - 0x6a, - 0x4b, - 0x47, - 0x66, - 0x52, - 0x79, - 0x7a, - 0x4b, - 0x4c, - 0x4d, - 0x6c, - 0x4a, - 0x36, - 0x64, - 0x38, - 0x51, - 0x6b, - 0x37, - 0x4f, - 0x79, - 0x78, - 0x5a, - 0x0a, - 0x6e, - 0x30, - 0x75, - 0x33, - 0x76, - 0x32, - 0x45, - 0x4a, - 0x39, - 0x43, - 0x57, - 0x6f, - 0x4e, - 0x44, - 0x67, - 0x55, - 0x48, - 0x34, - 0x65, - 0x78, - 0x43, - 0x69, - 0x6c, - 0x2f, - 0x4f, - 0x65, - 0x34, - 0x68, - 0x35, - 0x57, - 0x41, - 0x35, - 0x39, - 0x78, - 0x54, - 0x35, - 0x4e, - 0x41, - 0x6b, - 0x78, - 0x34, - 0x52, - 0x55, - 0x6f, - 0x6a, - 0x73, - 0x4a, - 0x69, - 0x45, - 0x78, - 0x57, - 0x5a, - 0x70, - 0x7a, - 0x54, - 0x2f, - 0x56, - 0x58, - 0x31, - 0x64, - 0x32, - 0x31, - 0x6d, - 0x4e, - 0x0a, - 0x57, - 0x4d, - 0x62, - 0x35, - 0x45, - 0x4f, - 0x38, - 0x65, - 0x79, - 0x69, - 0x36, - 0x46, - 0x79, - 0x5a, - 0x6c, - 0x41, - 0x63, - 0x62, - 0x39, - 0x4d, - 0x49, - 0x44, - 0x30, - 0x6b, - 0x4d, - 0x46, - 0x36, - 0x51, - 0x33, - 0x68, - 0x55, - 0x76, - 0x2b, - 0x6a, - 0x54, - 0x77, - 0x2b, - 0x58, - 0x39, - 0x79, - 0x69, - 0x67, - 0x2b, - 0x33, - 0x42, - 0x39, - 0x62, - 0x67, - 0x32, - 0x5a, - 0x30, - 0x49, - 0x2b, - 0x49, - 0x4b, - 0x48, - 0x6c, - 0x39, - 0x49, - 0x6e, - 0x53, - 0x68, - 0x6b, - 0x43, - 0x0a, - 0x6e, - 0x64, - 0x59, - 0x6e, - 0x34, - 0x61, - 0x64, - 0x30, - 0x7a, - 0x64, - 0x2f, - 0x67, - 0x67, - 0x4d, - 0x56, - 0x6b, - 0x6c, - 0x6f, - 0x6f, - 0x6d, - 0x68, - 0x34, - 0x75, - 0x61, - 0x53, - 0x71, - 0x5a, - 0x78, - 0x55, - 0x69, - 0x33, - 0x79, - 0x77, - 0x74, - 0x73, - 0x7a, - 0x5a, - 0x6b, - 0x52, - 0x62, - 0x7a, - 0x51, - 0x4b, - 0x42, - 0x67, - 0x51, - 0x44, - 0x37, - 0x50, - 0x76, - 0x78, - 0x31, - 0x45, - 0x72, - 0x4b, - 0x6d, - 0x35, - 0x6c, - 0x5a, - 0x44, - 0x41, - 0x53, - 0x32, - 0x62, - 0x0a, - 0x62, - 0x34, - 0x72, - 0x6c, - 0x74, - 0x7a, - 0x71, - 0x4a, - 0x52, - 0x55, - 0x45, - 0x4b, - 0x79, - 0x45, - 0x71, - 0x6a, - 0x71, - 0x7a, - 0x50, - 0x7a, - 0x67, - 0x61, - 0x73, - 0x4f, - 0x61, - 0x30, - 0x6a, - 0x57, - 0x45, - 0x71, - 0x2f, - 0x66, - 0x78, - 0x75, - 0x47, - 0x63, - 0x2f, - 0x62, - 0x69, - 0x78, - 0x67, - 0x2f, - 0x45, - 0x42, - 0x61, - 0x51, - 0x38, - 0x79, - 0x79, - 0x54, - 0x47, - 0x59, - 0x64, - 0x49, - 0x59, - 0x79, - 0x72, - 0x37, - 0x44, - 0x4b, - 0x59, - 0x59, - 0x6a, - 0x43, - 0x0a, - 0x30, - 0x41, - 0x47, - 0x56, - 0x6e, - 0x42, - 0x43, - 0x68, - 0x30, - 0x2b, - 0x54, - 0x46, - 0x55, - 0x44, - 0x42, - 0x31, - 0x6b, - 0x66, - 0x77, - 0x6b, - 0x62, - 0x65, - 0x66, - 0x32, - 0x62, - 0x38, - 0x79, - 0x75, - 0x66, - 0x51, - 0x2f, - 0x76, - 0x4a, - 0x77, - 0x63, - 0x4f, - 0x4a, - 0x2b, - 0x35, - 0x6b, - 0x42, - 0x58, - 0x51, - 0x5a, - 0x78, - 0x38, - 0x2b, - 0x4c, - 0x38, - 0x55, - 0x39, - 0x69, - 0x57, - 0x4b, - 0x41, - 0x4e, - 0x58, - 0x78, - 0x6b, - 0x45, - 0x65, - 0x43, - 0x58, - 0x32, - 0x0a, - 0x69, - 0x57, - 0x50, - 0x5a, - 0x50, - 0x7a, - 0x35, - 0x32, - 0x70, - 0x54, - 0x54, - 0x59, - 0x6c, - 0x66, - 0x39, - 0x30, - 0x50, - 0x4c, - 0x7a, - 0x45, - 0x57, - 0x36, - 0x51, - 0x79, - 0x44, - 0x77, - 0x4b, - 0x42, - 0x67, - 0x51, - 0x43, - 0x35, - 0x43, - 0x4b, - 0x79, - 0x66, - 0x55, - 0x77, - 0x78, - 0x33, - 0x42, - 0x61, - 0x32, - 0x69, - 0x58, - 0x74, - 0x66, - 0x49, - 0x72, - 0x65, - 0x79, - 0x50, - 0x71, - 0x44, - 0x6f, - 0x62, - 0x62, - 0x79, - 0x62, - 0x79, - 0x54, - 0x45, - 0x59, - 0x6b, - 0x0a, - 0x61, - 0x79, - 0x41, - 0x32, - 0x6f, - 0x45, - 0x6c, - 0x53, - 0x64, - 0x65, - 0x6a, - 0x67, - 0x56, - 0x6b, - 0x57, - 0x77, - 0x4a, - 0x2b, - 0x71, - 0x37, - 0x37, - 0x67, - 0x77, - 0x72, - 0x6e, - 0x46, - 0x35, - 0x50, - 0x65, - 0x39, - 0x7a, - 0x62, - 0x70, - 0x55, - 0x42, - 0x6f, - 0x63, - 0x37, - 0x56, - 0x4a, - 0x6a, - 0x72, - 0x52, - 0x68, - 0x55, - 0x6f, - 0x6a, - 0x49, - 0x37, - 0x4c, - 0x4f, - 0x79, - 0x53, - 0x79, - 0x74, - 0x6f, - 0x33, - 0x57, - 0x59, - 0x59, - 0x6f, - 0x63, - 0x7a, - 0x58, - 0x0a, - 0x4c, - 0x70, - 0x72, - 0x7a, - 0x50, - 0x6e, - 0x6a, - 0x32, - 0x79, - 0x45, - 0x56, - 0x65, - 0x56, - 0x32, - 0x6c, - 0x72, - 0x54, - 0x53, - 0x36, - 0x6c, - 0x4b, - 0x4e, - 0x70, - 0x64, - 0x72, - 0x61, - 0x4f, - 0x38, - 0x51, - 0x5a, - 0x63, - 0x53, - 0x44, - 0x37, - 0x6d, - 0x55, - 0x55, - 0x6d, - 0x69, - 0x4e, - 0x52, - 0x5a, - 0x6e, - 0x6f, - 0x50, - 0x4b, - 0x31, - 0x36, - 0x4d, - 0x6d, - 0x39, - 0x71, - 0x6a, - 0x6b, - 0x6b, - 0x32, - 0x39, - 0x48, - 0x6e, - 0x59, - 0x37, - 0x4d, - 0x73, - 0x71, - 0x0a, - 0x70, - 0x6b, - 0x69, - 0x4f, - 0x67, - 0x34, - 0x68, - 0x75, - 0x4e, - 0x77, - 0x4b, - 0x42, - 0x67, - 0x51, - 0x43, - 0x6b, - 0x68, - 0x32, - 0x48, - 0x42, - 0x74, - 0x4f, - 0x58, - 0x6a, - 0x48, - 0x2f, - 0x47, - 0x62, - 0x58, - 0x56, - 0x6b, - 0x6c, - 0x63, - 0x63, - 0x30, - 0x4f, - 0x6b, - 0x34, - 0x65, - 0x30, - 0x76, - 0x76, - 0x4a, - 0x53, - 0x41, - 0x6b, - 0x6e, - 0x47, - 0x6c, - 0x6d, - 0x57, - 0x6c, - 0x37, - 0x2b, - 0x4d, - 0x35, - 0x78, - 0x51, - 0x33, - 0x6b, - 0x69, - 0x6b, - 0x59, - 0x38, - 0x0a, - 0x44, - 0x37, - 0x78, - 0x4e, - 0x46, - 0x32, - 0x58, - 0x73, - 0x63, - 0x59, - 0x2f, - 0x51, - 0x73, - 0x61, - 0x44, - 0x76, - 0x54, - 0x41, - 0x75, - 0x37, - 0x58, - 0x34, - 0x74, - 0x47, - 0x42, - 0x41, - 0x47, - 0x4d, - 0x39, - 0x6f, - 0x51, - 0x64, - 0x74, - 0x79, - 0x4e, - 0x69, - 0x65, - 0x74, - 0x6e, - 0x31, - 0x62, - 0x35, - 0x4a, - 0x66, - 0x6d, - 0x42, - 0x79, - 0x7a, - 0x30, - 0x55, - 0x37, - 0x42, - 0x2b, - 0x47, - 0x73, - 0x76, - 0x32, - 0x5a, - 0x53, - 0x37, - 0x4b, - 0x31, - 0x44, - 0x55, - 0x0a, - 0x39, - 0x73, - 0x54, - 0x4c, - 0x41, - 0x32, - 0x45, - 0x38, - 0x68, - 0x4d, - 0x6d, - 0x37, - 0x33, - 0x44, - 0x70, - 0x51, - 0x31, - 0x55, - 0x78, - 0x38, - 0x42, - 0x62, - 0x65, - 0x43, - 0x4b, - 0x69, - 0x56, - 0x79, - 0x35, - 0x4d, - 0x39, - 0x50, - 0x66, - 0x44, - 0x63, - 0x7a, - 0x33, - 0x42, - 0x4f, - 0x6d, - 0x6c, - 0x4a, - 0x64, - 0x66, - 0x77, - 0x68, - 0x4b, - 0x51, - 0x5a, - 0x76, - 0x6e, - 0x69, - 0x79, - 0x48, - 0x52, - 0x6c, - 0x42, - 0x77, - 0x4b, - 0x42, - 0x67, - 0x51, - 0x43, - 0x48, - 0x0a, - 0x2f, - 0x73, - 0x41, - 0x68, - 0x4f, - 0x63, - 0x44, - 0x6e, - 0x6d, - 0x64, - 0x7a, - 0x4d, - 0x67, - 0x6a, - 0x6a, - 0x47, - 0x33, - 0x6b, - 0x34, - 0x49, - 0x4a, - 0x2f, - 0x54, - 0x4e, - 0x52, - 0x52, - 0x79, - 0x79, - 0x36, - 0x53, - 0x79, - 0x45, - 0x68, - 0x39, - 0x66, - 0x64, - 0x54, - 0x6d, - 0x47, - 0x56, - 0x6f, - 0x65, - 0x50, - 0x50, - 0x50, - 0x70, - 0x6c, - 0x70, - 0x70, - 0x32, - 0x7a, - 0x33, - 0x51, - 0x7a, - 0x62, - 0x65, - 0x74, - 0x73, - 0x62, - 0x36, - 0x56, - 0x47, - 0x63, - 0x33, - 0x0a, - 0x61, - 0x48, - 0x57, - 0x32, - 0x54, - 0x35, - 0x54, - 0x6d, - 0x77, - 0x32, - 0x51, - 0x41, - 0x51, - 0x39, - 0x45, - 0x56, - 0x48, - 0x43, - 0x50, - 0x57, - 0x33, - 0x7a, - 0x6a, - 0x41, - 0x6b, - 0x6a, - 0x6a, - 0x2f, - 0x30, - 0x61, - 0x76, - 0x6b, - 0x57, - 0x2f, - 0x53, - 0x32, - 0x34, - 0x79, - 0x75, - 0x30, - 0x39, - 0x65, - 0x31, - 0x47, - 0x4d, - 0x61, - 0x6a, - 0x68, - 0x6e, - 0x4a, - 0x43, - 0x30, - 0x41, - 0x78, - 0x71, - 0x37, - 0x7a, - 0x32, - 0x75, - 0x51, - 0x61, - 0x67, - 0x54, - 0x47, - 0x0a, - 0x32, - 0x5a, - 0x66, - 0x6b, - 0x55, - 0x38, - 0x31, - 0x55, - 0x52, - 0x39, - 0x75, - 0x65, - 0x76, - 0x54, - 0x6f, - 0x6a, - 0x6e, - 0x66, - 0x34, - 0x56, - 0x71, - 0x77, - 0x35, - 0x55, - 0x76, - 0x63, - 0x72, - 0x77, - 0x6a, - 0x4e, - 0x6d, - 0x6d, - 0x4e, - 0x79, - 0x45, - 0x4d, - 0x33, - 0x63, - 0x2f, - 0x67, - 0x63, - 0x51, - 0x4b, - 0x42, - 0x67, - 0x48, - 0x61, - 0x32, - 0x64, - 0x54, - 0x35, - 0x73, - 0x76, - 0x7a, - 0x4d, - 0x31, - 0x6a, - 0x52, - 0x65, - 0x69, - 0x4f, - 0x33, - 0x56, - 0x74, - 0x0a, - 0x64, - 0x41, - 0x55, - 0x44, - 0x7a, - 0x74, - 0x47, - 0x4b, - 0x55, - 0x45, - 0x33, - 0x63, - 0x6c, - 0x50, - 0x56, - 0x33, - 0x35, - 0x4c, - 0x32, - 0x78, - 0x6d, - 0x4a, - 0x65, - 0x4a, - 0x44, - 0x58, - 0x50, - 0x4f, - 0x71, - 0x43, - 0x4c, - 0x33, - 0x71, - 0x6f, - 0x5a, - 0x39, - 0x41, - 0x36, - 0x68, - 0x48, - 0x6d, - 0x44, - 0x77, - 0x36, - 0x67, - 0x6d, - 0x67, - 0x38, - 0x32, - 0x67, - 0x51, - 0x44, - 0x51, - 0x65, - 0x4a, - 0x62, - 0x4c, - 0x2f, - 0x2b, - 0x6a, - 0x4b, - 0x6b, - 0x6f, - 0x6e, - 0x0a, - 0x65, - 0x36, - 0x61, - 0x74, - 0x48, - 0x2f, - 0x44, - 0x66, - 0x72, - 0x2b, - 0x4d, - 0x34, - 0x6e, - 0x50, - 0x66, - 0x74, - 0x39, - 0x4c, - 0x74, - 0x34, - 0x66, - 0x4f, - 0x41, - 0x57, - 0x4f, - 0x51, - 0x33, - 0x74, - 0x44, - 0x73, - 0x44, - 0x75, - 0x43, - 0x6b, - 0x4f, - 0x4d, - 0x6a, - 0x53, - 0x54, - 0x6e, - 0x38, - 0x63, - 0x4c, - 0x4d, - 0x5a, - 0x4c, - 0x47, - 0x63, - 0x77, - 0x54, - 0x32, - 0x48, - 0x31, - 0x48, - 0x32, - 0x76, - 0x42, - 0x6f, - 0x63, - 0x4d, - 0x2b, - 0x55, - 0x54, - 0x64, - 0x0a, - 0x68, - 0x6c, - 0x6a, - 0x41, - 0x56, - 0x6e, - 0x42, - 0x39, - 0x76, - 0x36, - 0x4e, - 0x4d, - 0x66, - 0x63, - 0x52, - 0x45, - 0x52, - 0x54, - 0x78, - 0x31, - 0x30, - 0x53, - 0x55, - 0x63, - 0x0a, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x45, - 0x4e, - 0x44, - 0x20, - 0x50, - 0x52, - 0x49, - 0x56, - 0x41, - 0x54, - 0x45, - 0x20, - 0x4b, - 0x45, - 0x59, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x2d, - 0x0a, + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, + 0x49, 0x4e, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, + 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, + 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x45, + 0x76, 0x67, 0x49, 0x42, 0x41, 0x44, 0x41, 0x4e, + 0x42, 0x67, 0x6b, 0x71, 0x68, 0x6b, 0x69, 0x47, + 0x39, 0x77, 0x30, 0x42, 0x41, 0x51, 0x45, 0x46, + 0x41, 0x41, 0x53, 0x43, 0x42, 0x4b, 0x67, 0x77, + 0x67, 0x67, 0x53, 0x6b, 0x41, 0x67, 0x45, 0x41, + 0x41, 0x6f, 0x49, 0x42, 0x41, 0x51, 0x43, 0x31, + 0x6d, 0x51, 0x66, 0x54, 0x4c, 0x57, 0x72, 0x4e, + 0x46, 0x66, 0x55, 0x73, 0x0a, 0x6d, 0x76, 0x6c, + 0x49, 0x52, 0x47, 0x6d, 0x38, 0x4d, 0x37, 0x4e, + 0x78, 0x4b, 0x4a, 0x66, 0x76, 0x7a, 0x49, 0x63, + 0x46, 0x42, 0x56, 0x69, 0x42, 0x61, 0x36, 0x2f, + 0x4c, 0x56, 0x63, 0x6d, 0x4c, 0x34, 0x50, 0x46, + 0x37, 0x50, 0x79, 0x70, 0x77, 0x74, 0x6c, 0x57, + 0x68, 0x4b, 0x5a, 0x78, 0x4a, 0x62, 0x51, 0x54, + 0x53, 0x32, 0x6a, 0x67, 0x41, 0x32, 0x52, 0x6c, + 0x4c, 0x6c, 0x38, 0x38, 0x2b, 0x0a, 0x52, 0x47, + 0x33, 0x48, 0x47, 0x39, 0x6f, 0x74, 0x66, 0x49, + 0x49, 0x62, 0x7a, 0x41, 0x31, 0x2b, 0x61, 0x44, + 0x73, 0x41, 0x41, 0x49, 0x6e, 0x53, 0x39, 0x37, + 0x62, 0x2b, 0x70, 0x59, 0x66, 0x50, 0x31, 0x62, + 0x6f, 0x2f, 0x4c, 0x61, 0x53, 0x77, 0x4f, 0x64, + 0x30, 0x67, 0x30, 0x65, 0x56, 0x55, 0x30, 0x48, + 0x4d, 0x59, 0x72, 0x59, 0x71, 0x62, 0x48, 0x48, + 0x49, 0x32, 0x6e, 0x42, 0x77, 0x33, 0x0a, 0x37, + 0x55, 0x36, 0x67, 0x77, 0x4f, 0x2f, 0x76, 0x65, + 0x45, 0x6b, 0x30, 0x2f, 0x45, 0x45, 0x68, 0x37, + 0x56, 0x72, 0x75, 0x52, 0x5a, 0x6c, 0x7a, 0x79, + 0x72, 0x79, 0x53, 0x35, 0x6a, 0x37, 0x69, 0x6b, + 0x43, 0x54, 0x47, 0x7a, 0x69, 0x55, 0x68, 0x67, + 0x79, 0x53, 0x37, 0x33, 0x55, 0x2f, 0x39, 0x48, + 0x63, 0x6a, 0x50, 0x57, 0x6c, 0x4e, 0x38, 0x53, + 0x73, 0x4f, 0x75, 0x49, 0x72, 0x2b, 0x30, 0x0a, + 0x74, 0x35, 0x57, 0x68, 0x45, 0x56, 0x73, 0x6c, + 0x75, 0x50, 0x7a, 0x6e, 0x70, 0x6a, 0x45, 0x46, + 0x37, 0x49, 0x76, 0x70, 0x47, 0x32, 0x70, 0x36, + 0x56, 0x54, 0x53, 0x56, 0x5a, 0x71, 0x6b, 0x37, + 0x55, 0x76, 0x71, 0x76, 0x78, 0x63, 0x6d, 0x4c, + 0x37, 0x36, 0x39, 0x54, 0x61, 0x56, 0x39, 0x44, + 0x6e, 0x50, 0x77, 0x4f, 0x52, 0x39, 0x68, 0x32, + 0x45, 0x4f, 0x6e, 0x2b, 0x6a, 0x39, 0x35, 0x37, + 0x0a, 0x79, 0x64, 0x74, 0x69, 0x44, 0x6c, 0x36, + 0x43, 0x48, 0x44, 0x59, 0x79, 0x4e, 0x52, 0x5a, + 0x69, 0x6d, 0x31, 0x39, 0x7a, 0x53, 0x52, 0x33, + 0x72, 0x52, 0x31, 0x37, 0x63, 0x6d, 0x53, 0x6c, + 0x33, 0x48, 0x36, 0x59, 0x73, 0x35, 0x59, 0x37, + 0x44, 0x62, 0x32, 0x33, 0x33, 0x37, 0x43, 0x2b, + 0x72, 0x63, 0x4d, 0x59, 0x34, 0x77, 0x6b, 0x64, + 0x79, 0x58, 0x56, 0x4b, 0x6a, 0x39, 0x63, 0x52, + 0x41, 0x0a, 0x6e, 0x72, 0x71, 0x43, 0x77, 0x54, + 0x4d, 0x35, 0x41, 0x67, 0x4d, 0x42, 0x41, 0x41, + 0x45, 0x43, 0x67, 0x67, 0x45, 0x41, 0x46, 0x4f, + 0x44, 0x2b, 0x58, 0x46, 0x4a, 0x5a, 0x65, 0x44, + 0x44, 0x78, 0x47, 0x6d, 0x72, 0x4c, 0x42, 0x48, + 0x73, 0x52, 0x4b, 0x52, 0x6c, 0x4d, 0x70, 0x56, + 0x4d, 0x45, 0x66, 0x51, 0x61, 0x6e, 0x38, 0x33, + 0x54, 0x55, 0x34, 0x7a, 0x52, 0x74, 0x5a, 0x74, + 0x52, 0x37, 0x0a, 0x4d, 0x73, 0x44, 0x76, 0x49, + 0x72, 0x74, 0x31, 0x64, 0x72, 0x59, 0x51, 0x44, + 0x46, 0x4b, 0x4c, 0x62, 0x49, 0x6e, 0x44, 0x52, + 0x7a, 0x62, 0x64, 0x76, 0x34, 0x4d, 0x32, 0x66, + 0x46, 0x46, 0x38, 0x2b, 0x32, 0x7a, 0x45, 0x72, + 0x6d, 0x4c, 0x4f, 0x5a, 0x2f, 0x4a, 0x72, 0x78, + 0x79, 0x52, 0x6a, 0x33, 0x4d, 0x66, 0x42, 0x47, + 0x4e, 0x50, 0x33, 0x42, 0x4c, 0x47, 0x45, 0x63, + 0x61, 0x79, 0x34, 0x0a, 0x65, 0x37, 0x58, 0x59, + 0x44, 0x78, 0x47, 0x42, 0x59, 0x4e, 0x32, 0x57, + 0x52, 0x67, 0x4b, 0x37, 0x2b, 0x6b, 0x39, 0x70, + 0x48, 0x45, 0x6f, 0x2f, 0x71, 0x47, 0x76, 0x52, + 0x32, 0x65, 0x4f, 0x43, 0x2f, 0x77, 0x38, 0x69, + 0x76, 0x69, 0x72, 0x51, 0x71, 0x31, 0x6a, 0x4b, + 0x47, 0x66, 0x52, 0x79, 0x7a, 0x4b, 0x4c, 0x4d, + 0x6c, 0x4a, 0x36, 0x64, 0x38, 0x51, 0x6b, 0x37, + 0x4f, 0x79, 0x78, 0x5a, 0x0a, 0x6e, 0x30, 0x75, + 0x33, 0x76, 0x32, 0x45, 0x4a, 0x39, 0x43, 0x57, + 0x6f, 0x4e, 0x44, 0x67, 0x55, 0x48, 0x34, 0x65, + 0x78, 0x43, 0x69, 0x6c, 0x2f, 0x4f, 0x65, 0x34, + 0x68, 0x35, 0x57, 0x41, 0x35, 0x39, 0x78, 0x54, + 0x35, 0x4e, 0x41, 0x6b, 0x78, 0x34, 0x52, 0x55, + 0x6f, 0x6a, 0x73, 0x4a, 0x69, 0x45, 0x78, 0x57, + 0x5a, 0x70, 0x7a, 0x54, 0x2f, 0x56, 0x58, 0x31, + 0x64, 0x32, 0x31, 0x6d, 0x4e, 0x0a, 0x57, 0x4d, + 0x62, 0x35, 0x45, 0x4f, 0x38, 0x65, 0x79, 0x69, + 0x36, 0x46, 0x79, 0x5a, 0x6c, 0x41, 0x63, 0x62, + 0x39, 0x4d, 0x49, 0x44, 0x30, 0x6b, 0x4d, 0x46, + 0x36, 0x51, 0x33, 0x68, 0x55, 0x76, 0x2b, 0x6a, + 0x54, 0x77, 0x2b, 0x58, 0x39, 0x79, 0x69, 0x67, + 0x2b, 0x33, 0x42, 0x39, 0x62, 0x67, 0x32, 0x5a, + 0x30, 0x49, 0x2b, 0x49, 0x4b, 0x48, 0x6c, 0x39, + 0x49, 0x6e, 0x53, 0x68, 0x6b, 0x43, 0x0a, 0x6e, + 0x64, 0x59, 0x6e, 0x34, 0x61, 0x64, 0x30, 0x7a, + 0x64, 0x2f, 0x67, 0x67, 0x4d, 0x56, 0x6b, 0x6c, + 0x6f, 0x6f, 0x6d, 0x68, 0x34, 0x75, 0x61, 0x53, + 0x71, 0x5a, 0x78, 0x55, 0x69, 0x33, 0x79, 0x77, + 0x74, 0x73, 0x7a, 0x5a, 0x6b, 0x52, 0x62, 0x7a, + 0x51, 0x4b, 0x42, 0x67, 0x51, 0x44, 0x37, 0x50, + 0x76, 0x78, 0x31, 0x45, 0x72, 0x4b, 0x6d, 0x35, + 0x6c, 0x5a, 0x44, 0x41, 0x53, 0x32, 0x62, 0x0a, + 0x62, 0x34, 0x72, 0x6c, 0x74, 0x7a, 0x71, 0x4a, + 0x52, 0x55, 0x45, 0x4b, 0x79, 0x45, 0x71, 0x6a, + 0x71, 0x7a, 0x50, 0x7a, 0x67, 0x61, 0x73, 0x4f, + 0x61, 0x30, 0x6a, 0x57, 0x45, 0x71, 0x2f, 0x66, + 0x78, 0x75, 0x47, 0x63, 0x2f, 0x62, 0x69, 0x78, + 0x67, 0x2f, 0x45, 0x42, 0x61, 0x51, 0x38, 0x79, + 0x79, 0x54, 0x47, 0x59, 0x64, 0x49, 0x59, 0x79, + 0x72, 0x37, 0x44, 0x4b, 0x59, 0x59, 0x6a, 0x43, + 0x0a, 0x30, 0x41, 0x47, 0x56, 0x6e, 0x42, 0x43, + 0x68, 0x30, 0x2b, 0x54, 0x46, 0x55, 0x44, 0x42, + 0x31, 0x6b, 0x66, 0x77, 0x6b, 0x62, 0x65, 0x66, + 0x32, 0x62, 0x38, 0x79, 0x75, 0x66, 0x51, 0x2f, + 0x76, 0x4a, 0x77, 0x63, 0x4f, 0x4a, 0x2b, 0x35, + 0x6b, 0x42, 0x58, 0x51, 0x5a, 0x78, 0x38, 0x2b, + 0x4c, 0x38, 0x55, 0x39, 0x69, 0x57, 0x4b, 0x41, + 0x4e, 0x58, 0x78, 0x6b, 0x45, 0x65, 0x43, 0x58, + 0x32, 0x0a, 0x69, 0x57, 0x50, 0x5a, 0x50, 0x7a, + 0x35, 0x32, 0x70, 0x54, 0x54, 0x59, 0x6c, 0x66, + 0x39, 0x30, 0x50, 0x4c, 0x7a, 0x45, 0x57, 0x36, + 0x51, 0x79, 0x44, 0x77, 0x4b, 0x42, 0x67, 0x51, + 0x43, 0x35, 0x43, 0x4b, 0x79, 0x66, 0x55, 0x77, + 0x78, 0x33, 0x42, 0x61, 0x32, 0x69, 0x58, 0x74, + 0x66, 0x49, 0x72, 0x65, 0x79, 0x50, 0x71, 0x44, + 0x6f, 0x62, 0x62, 0x79, 0x62, 0x79, 0x54, 0x45, + 0x59, 0x6b, 0x0a, 0x61, 0x79, 0x41, 0x32, 0x6f, + 0x45, 0x6c, 0x53, 0x64, 0x65, 0x6a, 0x67, 0x56, + 0x6b, 0x57, 0x77, 0x4a, 0x2b, 0x71, 0x37, 0x37, + 0x67, 0x77, 0x72, 0x6e, 0x46, 0x35, 0x50, 0x65, + 0x39, 0x7a, 0x62, 0x70, 0x55, 0x42, 0x6f, 0x63, + 0x37, 0x56, 0x4a, 0x6a, 0x72, 0x52, 0x68, 0x55, + 0x6f, 0x6a, 0x49, 0x37, 0x4c, 0x4f, 0x79, 0x53, + 0x79, 0x74, 0x6f, 0x33, 0x57, 0x59, 0x59, 0x6f, + 0x63, 0x7a, 0x58, 0x0a, 0x4c, 0x70, 0x72, 0x7a, + 0x50, 0x6e, 0x6a, 0x32, 0x79, 0x45, 0x56, 0x65, + 0x56, 0x32, 0x6c, 0x72, 0x54, 0x53, 0x36, 0x6c, + 0x4b, 0x4e, 0x70, 0x64, 0x72, 0x61, 0x4f, 0x38, + 0x51, 0x5a, 0x63, 0x53, 0x44, 0x37, 0x6d, 0x55, + 0x55, 0x6d, 0x69, 0x4e, 0x52, 0x5a, 0x6e, 0x6f, + 0x50, 0x4b, 0x31, 0x36, 0x4d, 0x6d, 0x39, 0x71, + 0x6a, 0x6b, 0x6b, 0x32, 0x39, 0x48, 0x6e, 0x59, + 0x37, 0x4d, 0x73, 0x71, 0x0a, 0x70, 0x6b, 0x69, + 0x4f, 0x67, 0x34, 0x68, 0x75, 0x4e, 0x77, 0x4b, + 0x42, 0x67, 0x51, 0x43, 0x6b, 0x68, 0x32, 0x48, + 0x42, 0x74, 0x4f, 0x58, 0x6a, 0x48, 0x2f, 0x47, + 0x62, 0x58, 0x56, 0x6b, 0x6c, 0x63, 0x63, 0x30, + 0x4f, 0x6b, 0x34, 0x65, 0x30, 0x76, 0x76, 0x4a, + 0x53, 0x41, 0x6b, 0x6e, 0x47, 0x6c, 0x6d, 0x57, + 0x6c, 0x37, 0x2b, 0x4d, 0x35, 0x78, 0x51, 0x33, + 0x6b, 0x69, 0x6b, 0x59, 0x38, 0x0a, 0x44, 0x37, + 0x78, 0x4e, 0x46, 0x32, 0x58, 0x73, 0x63, 0x59, + 0x2f, 0x51, 0x73, 0x61, 0x44, 0x76, 0x54, 0x41, + 0x75, 0x37, 0x58, 0x34, 0x74, 0x47, 0x42, 0x41, + 0x47, 0x4d, 0x39, 0x6f, 0x51, 0x64, 0x74, 0x79, + 0x4e, 0x69, 0x65, 0x74, 0x6e, 0x31, 0x62, 0x35, + 0x4a, 0x66, 0x6d, 0x42, 0x79, 0x7a, 0x30, 0x55, + 0x37, 0x42, 0x2b, 0x47, 0x73, 0x76, 0x32, 0x5a, + 0x53, 0x37, 0x4b, 0x31, 0x44, 0x55, 0x0a, 0x39, + 0x73, 0x54, 0x4c, 0x41, 0x32, 0x45, 0x38, 0x68, + 0x4d, 0x6d, 0x37, 0x33, 0x44, 0x70, 0x51, 0x31, + 0x55, 0x78, 0x38, 0x42, 0x62, 0x65, 0x43, 0x4b, + 0x69, 0x56, 0x79, 0x35, 0x4d, 0x39, 0x50, 0x66, + 0x44, 0x63, 0x7a, 0x33, 0x42, 0x4f, 0x6d, 0x6c, + 0x4a, 0x64, 0x66, 0x77, 0x68, 0x4b, 0x51, 0x5a, + 0x76, 0x6e, 0x69, 0x79, 0x48, 0x52, 0x6c, 0x42, + 0x77, 0x4b, 0x42, 0x67, 0x51, 0x43, 0x48, 0x0a, + 0x2f, 0x73, 0x41, 0x68, 0x4f, 0x63, 0x44, 0x6e, + 0x6d, 0x64, 0x7a, 0x4d, 0x67, 0x6a, 0x6a, 0x47, + 0x33, 0x6b, 0x34, 0x49, 0x4a, 0x2f, 0x54, 0x4e, + 0x52, 0x52, 0x79, 0x79, 0x36, 0x53, 0x79, 0x45, + 0x68, 0x39, 0x66, 0x64, 0x54, 0x6d, 0x47, 0x56, + 0x6f, 0x65, 0x50, 0x50, 0x50, 0x70, 0x6c, 0x70, + 0x70, 0x32, 0x7a, 0x33, 0x51, 0x7a, 0x62, 0x65, + 0x74, 0x73, 0x62, 0x36, 0x56, 0x47, 0x63, 0x33, + 0x0a, 0x61, 0x48, 0x57, 0x32, 0x54, 0x35, 0x54, + 0x6d, 0x77, 0x32, 0x51, 0x41, 0x51, 0x39, 0x45, + 0x56, 0x48, 0x43, 0x50, 0x57, 0x33, 0x7a, 0x6a, + 0x41, 0x6b, 0x6a, 0x6a, 0x2f, 0x30, 0x61, 0x76, + 0x6b, 0x57, 0x2f, 0x53, 0x32, 0x34, 0x79, 0x75, + 0x30, 0x39, 0x65, 0x31, 0x47, 0x4d, 0x61, 0x6a, + 0x68, 0x6e, 0x4a, 0x43, 0x30, 0x41, 0x78, 0x71, + 0x37, 0x7a, 0x32, 0x75, 0x51, 0x61, 0x67, 0x54, + 0x47, 0x0a, 0x32, 0x5a, 0x66, 0x6b, 0x55, 0x38, + 0x31, 0x55, 0x52, 0x39, 0x75, 0x65, 0x76, 0x54, + 0x6f, 0x6a, 0x6e, 0x66, 0x34, 0x56, 0x71, 0x77, + 0x35, 0x55, 0x76, 0x63, 0x72, 0x77, 0x6a, 0x4e, + 0x6d, 0x6d, 0x4e, 0x79, 0x45, 0x4d, 0x33, 0x63, + 0x2f, 0x67, 0x63, 0x51, 0x4b, 0x42, 0x67, 0x48, + 0x61, 0x32, 0x64, 0x54, 0x35, 0x73, 0x76, 0x7a, + 0x4d, 0x31, 0x6a, 0x52, 0x65, 0x69, 0x4f, 0x33, + 0x56, 0x74, 0x0a, 0x64, 0x41, 0x55, 0x44, 0x7a, + 0x74, 0x47, 0x4b, 0x55, 0x45, 0x33, 0x63, 0x6c, + 0x50, 0x56, 0x33, 0x35, 0x4c, 0x32, 0x78, 0x6d, + 0x4a, 0x65, 0x4a, 0x44, 0x58, 0x50, 0x4f, 0x71, + 0x43, 0x4c, 0x33, 0x71, 0x6f, 0x5a, 0x39, 0x41, + 0x36, 0x68, 0x48, 0x6d, 0x44, 0x77, 0x36, 0x67, + 0x6d, 0x67, 0x38, 0x32, 0x67, 0x51, 0x44, 0x51, + 0x65, 0x4a, 0x62, 0x4c, 0x2f, 0x2b, 0x6a, 0x4b, + 0x6b, 0x6f, 0x6e, 0x0a, 0x65, 0x36, 0x61, 0x74, + 0x48, 0x2f, 0x44, 0x66, 0x72, 0x2b, 0x4d, 0x34, + 0x6e, 0x50, 0x66, 0x74, 0x39, 0x4c, 0x74, 0x34, + 0x66, 0x4f, 0x41, 0x57, 0x4f, 0x51, 0x33, 0x74, + 0x44, 0x73, 0x44, 0x75, 0x43, 0x6b, 0x4f, 0x4d, + 0x6a, 0x53, 0x54, 0x6e, 0x38, 0x63, 0x4c, 0x4d, + 0x5a, 0x4c, 0x47, 0x63, 0x77, 0x54, 0x32, 0x48, + 0x31, 0x48, 0x32, 0x76, 0x42, 0x6f, 0x63, 0x4d, + 0x2b, 0x55, 0x54, 0x64, 0x0a, 0x68, 0x6c, 0x6a, + 0x41, 0x56, 0x6e, 0x42, 0x39, 0x76, 0x36, 0x4e, + 0x4d, 0x66, 0x63, 0x52, 0x45, 0x52, 0x54, 0x78, + 0x31, 0x30, 0x53, 0x55, 0x63, 0x0a, 0x2d, 0x2d, + 0x2d, 0x2d, 0x2d, 0x45, 0x4e, 0x44, 0x20, 0x50, + 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, + 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a }; #endif diff --git a/deps/openssl/openssl/fuzz/server.c b/deps/openssl/openssl/fuzz/server.c index ea3392f0d57a..550e07d893a4 100644 --- a/deps/openssl/openssl/fuzz/server.c +++ b/deps/openssl/openssl/fuzz/server.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,1974 +26,257 @@ #include "fuzzer.h" static const uint8_t kCertificateDER[] = { - 0x30, - 0x82, - 0x02, - 0xff, - 0x30, - 0x82, - 0x01, - 0xe7, - 0xa0, - 0x03, - 0x02, - 0x01, - 0x02, - 0x02, - 0x11, - 0x00, - 0xb1, - 0x84, - 0xee, - 0x34, - 0x99, - 0x98, - 0x76, - 0xfb, - 0x6f, - 0xb2, - 0x15, - 0xc8, - 0x47, - 0x79, - 0x05, - 0x9b, - 0x30, - 0x0d, - 0x06, - 0x09, - 0x2a, - 0x86, - 0x48, - 0x86, - 0xf7, - 0x0d, - 0x01, - 0x01, - 0x0b, - 0x05, - 0x00, - 0x30, - 0x12, - 0x31, - 0x10, - 0x30, - 0x0e, - 0x06, - 0x03, - 0x55, - 0x04, - 0x0a, - 0x13, - 0x07, - 0x41, - 0x63, - 0x6d, - 0x65, - 0x20, - 0x43, - 0x6f, - 0x30, - 0x1e, - 0x17, - 0x0d, - 0x31, - 0x35, - 0x31, - 0x31, - 0x30, - 0x37, - 0x30, - 0x30, - 0x32, - 0x34, - 0x35, - 0x36, - 0x5a, - 0x17, - 0x0d, - 0x31, - 0x36, - 0x31, - 0x31, - 0x30, - 0x36, - 0x30, - 0x30, - 0x32, - 0x34, - 0x35, - 0x36, - 0x5a, - 0x30, - 0x12, - 0x31, - 0x10, - 0x30, - 0x0e, - 0x06, - 0x03, - 0x55, - 0x04, - 0x0a, - 0x13, - 0x07, - 0x41, - 0x63, - 0x6d, - 0x65, - 0x20, - 0x43, - 0x6f, - 0x30, - 0x82, - 0x01, - 0x22, - 0x30, - 0x0d, - 0x06, - 0x09, - 0x2a, - 0x86, - 0x48, - 0x86, - 0xf7, - 0x0d, - 0x01, - 0x01, - 0x01, - 0x05, - 0x00, - 0x03, - 0x82, - 0x01, - 0x0f, - 0x00, - 0x30, - 0x82, - 0x01, - 0x0a, - 0x02, - 0x82, - 0x01, - 0x01, - 0x00, - 0xce, - 0x47, - 0xcb, - 0x11, - 0xbb, - 0xd2, - 0x9d, - 0x8e, - 0x9e, - 0xd2, - 0x1e, - 0x14, - 0xaf, - 0xc7, - 0xea, - 0xb6, - 0xc9, - 0x38, - 0x2a, - 0x6f, - 0xb3, - 0x7e, - 0xfb, - 0xbc, - 0xfc, - 0x59, - 0x42, - 0xb9, - 0x56, - 0xf0, - 0x4c, - 0x3f, - 0xf7, - 0x31, - 0x84, - 0xbe, - 0xac, - 0x03, - 0x9e, - 0x71, - 0x91, - 0x85, - 0xd8, - 0x32, - 0xbd, - 0x00, - 0xea, - 0xac, - 0x65, - 0xf6, - 0x03, - 0xc8, - 0x0f, - 0x8b, - 0xfd, - 0x6e, - 0x58, - 0x88, - 0x04, - 0x41, - 0x92, - 0x74, - 0xa6, - 0x57, - 0x2e, - 0x8e, - 0x88, - 0xd5, - 0x3d, - 0xda, - 0x14, - 0x3e, - 0x63, - 0x88, - 0x22, - 0xe3, - 0x53, - 0xe9, - 0xba, - 0x39, - 0x09, - 0xac, - 0xfb, - 0xd0, - 0x4c, - 0xf2, - 0x3c, - 0x20, - 0xd6, - 0x97, - 0xe6, - 0xed, - 0xf1, - 0x62, - 0x1e, - 0xe5, - 0xc9, - 0x48, - 0xa0, - 0xca, - 0x2e, - 0x3c, - 0x14, - 0x5a, - 0x82, - 0xd4, - 0xed, - 0xb1, - 0xe3, - 0x43, - 0xc1, - 0x2a, - 0x59, - 0xa5, - 0xb9, - 0xc8, - 0x48, - 0xa7, - 0x39, - 0x23, - 0x74, - 0xa7, - 0x37, - 0xb0, - 0x6f, - 0xc3, - 0x64, - 0x99, - 0x6c, - 0xa2, - 0x82, - 0xc8, - 0xf6, - 0xdb, - 0x86, - 0x40, - 0xce, - 0xd1, - 0x85, - 0x9f, - 0xce, - 0x69, - 0xf4, - 0x15, - 0x2a, - 0x23, - 0xca, - 0xea, - 0xb7, - 0x7b, - 0xdf, - 0xfb, - 0x43, - 0x5f, - 0xff, - 0x7a, - 0x49, - 0x49, - 0x0e, - 0xe7, - 0x02, - 0x51, - 0x45, - 0x13, - 0xe8, - 0x90, - 0x64, - 0x21, - 0x0c, - 0x26, - 0x2b, - 0x5d, - 0xfc, - 0xe4, - 0xb5, - 0x86, - 0x89, - 0x43, - 0x22, - 0x4c, - 0xf3, - 0x3b, - 0xf3, - 0x09, - 0xc4, - 0xa4, - 0x10, - 0x80, - 0xf2, - 0x46, - 0xe2, - 0x46, - 0x8f, - 0x76, - 0x50, - 0xbf, - 0xaf, - 0x2b, - 0x90, - 0x1b, - 0x78, - 0xc7, - 0xcf, - 0xc1, - 0x77, - 0xd0, - 0xfb, - 0xa9, - 0xfb, - 0xc9, - 0x66, - 0x5a, - 0xc5, - 0x9b, - 0x31, - 0x41, - 0x67, - 0x01, - 0xbe, - 0x33, - 0x10, - 0xba, - 0x05, - 0x58, - 0xed, - 0x76, - 0x53, - 0xde, - 0x5d, - 0xc1, - 0xe8, - 0xbb, - 0x9f, - 0xf1, - 0xcd, - 0xfb, - 0xdf, - 0x64, - 0x7f, - 0xd7, - 0x18, - 0xab, - 0x0f, - 0x94, - 0x28, - 0x95, - 0x4a, - 0xcc, - 0x6a, - 0xa9, - 0x50, - 0xc7, - 0x05, - 0x47, - 0x10, - 0x41, - 0x02, - 0x03, - 0x01, - 0x00, - 0x01, - 0xa3, - 0x50, - 0x30, - 0x4e, - 0x30, - 0x0e, - 0x06, - 0x03, - 0x55, - 0x1d, - 0x0f, - 0x01, - 0x01, - 0xff, - 0x04, - 0x04, - 0x03, - 0x02, - 0x05, - 0xa0, - 0x30, - 0x13, - 0x06, - 0x03, - 0x55, - 0x1d, - 0x25, - 0x04, - 0x0c, - 0x30, - 0x0a, - 0x06, - 0x08, - 0x2b, - 0x06, - 0x01, - 0x05, - 0x05, - 0x07, - 0x03, - 0x01, - 0x30, - 0x0c, - 0x06, - 0x03, - 0x55, - 0x1d, - 0x13, - 0x01, - 0x01, - 0xff, - 0x04, - 0x02, - 0x30, - 0x00, - 0x30, - 0x19, - 0x06, - 0x03, - 0x55, - 0x1d, - 0x11, - 0x04, - 0x12, - 0x30, - 0x10, - 0x82, - 0x0e, - 0x66, - 0x75, - 0x7a, - 0x7a, - 0x2e, - 0x62, - 0x6f, - 0x72, - 0x69, - 0x6e, - 0x67, - 0x73, - 0x73, - 0x6c, - 0x30, - 0x0d, - 0x06, - 0x09, - 0x2a, - 0x86, - 0x48, - 0x86, - 0xf7, - 0x0d, - 0x01, - 0x01, - 0x0b, - 0x05, - 0x00, - 0x03, - 0x82, - 0x01, - 0x01, - 0x00, - 0x92, - 0xde, - 0xef, - 0x96, - 0x06, - 0x7b, - 0xff, - 0x71, - 0x7d, - 0x4e, - 0xa0, - 0x7d, - 0xae, - 0xb8, - 0x22, - 0xb4, - 0x2c, - 0xf7, - 0x96, - 0x9c, - 0x37, - 0x1d, - 0x8f, - 0xe7, - 0xd9, - 0x47, - 0xff, - 0x3f, - 0xe9, - 0x35, - 0x95, - 0x0e, - 0xdd, - 0xdc, - 0x7f, - 0xc8, - 0x8a, - 0x1e, - 0x36, - 0x1d, - 0x38, - 0x47, - 0xfc, - 0x76, - 0xd2, - 0x1f, - 0x98, - 0xa1, - 0x36, - 0xac, - 0xc8, - 0x70, - 0x38, - 0x0a, - 0x3d, - 0x51, - 0x8d, - 0x0f, - 0x03, - 0x1b, - 0xef, - 0x62, - 0xa1, - 0xcb, - 0x2b, - 0x4a, - 0x8c, - 0x12, - 0x2b, - 0x54, - 0x50, - 0x9a, - 0x6b, - 0xfe, - 0xaf, - 0xd9, - 0xf6, - 0xbf, - 0x58, - 0x11, - 0x58, - 0x5e, - 0xe5, - 0x86, - 0x1e, - 0x3b, - 0x6b, - 0x30, - 0x7e, - 0x72, - 0x89, - 0xe8, - 0x6b, - 0x7b, - 0xb7, - 0xaf, - 0xef, - 0x8b, - 0xa9, - 0x3e, - 0xb0, - 0xcd, - 0x0b, - 0xef, - 0xb0, - 0x0c, - 0x96, - 0x2b, - 0xc5, - 0x3b, - 0xd5, - 0xf1, - 0xc2, - 0xae, - 0x3a, - 0x60, - 0xd9, - 0x0f, - 0x75, - 0x37, - 0x55, - 0x4d, - 0x62, - 0xd2, - 0xed, - 0x96, - 0xac, - 0x30, - 0x6b, - 0xda, - 0xa1, - 0x48, - 0x17, - 0x96, - 0x23, - 0x85, - 0x9a, - 0x57, - 0x77, - 0xe9, - 0x22, - 0xa2, - 0x37, - 0x03, - 0xba, - 0x49, - 0x77, - 0x40, - 0x3b, - 0x76, - 0x4b, - 0xda, - 0xc1, - 0x04, - 0x57, - 0x55, - 0x34, - 0x22, - 0x83, - 0x45, - 0x29, - 0xab, - 0x2e, - 0x11, - 0xff, - 0x0d, - 0xab, - 0x55, - 0xb1, - 0xa7, - 0x58, - 0x59, - 0x05, - 0x25, - 0xf9, - 0x1e, - 0x3d, - 0xb7, - 0xac, - 0x04, - 0x39, - 0x2c, - 0xf9, - 0xaf, - 0xb8, - 0x68, - 0xfb, - 0x8e, - 0x35, - 0x71, - 0x32, - 0xff, - 0x70, - 0xe9, - 0x46, - 0x6d, - 0x5c, - 0x06, - 0x90, - 0x88, - 0x23, - 0x48, - 0x0c, - 0x50, - 0xeb, - 0x0a, - 0xa9, - 0xae, - 0xe8, - 0xfc, - 0xbe, - 0xa5, - 0x76, - 0x94, - 0xd7, - 0x64, - 0x22, - 0x38, - 0x98, - 0x17, - 0xa4, - 0x3a, - 0xa7, - 0x59, - 0x9f, - 0x1d, - 0x3b, - 0x75, - 0x90, - 0x1a, - 0x81, - 0xef, - 0x19, - 0xfb, - 0x2b, - 0xb7, - 0xa7, - 0x64, - 0x61, - 0x22, - 0xa4, - 0x6f, - 0x7b, - 0xfa, - 0x58, - 0xbb, - 0x8c, - 0x4e, - 0x77, - 0x67, - 0xd0, - 0x5d, - 0x58, - 0x76, - 0x8a, - 0xbb, + 0x30, 0x82, 0x02, 0xff, 0x30, 0x82, 0x01, 0xe7, + 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x11, 0x00, + 0xb1, 0x84, 0xee, 0x34, 0x99, 0x98, 0x76, 0xfb, + 0x6f, 0xb2, 0x15, 0xc8, 0x47, 0x79, 0x05, 0x9b, + 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, + 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30, + 0x12, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, + 0x04, 0x0a, 0x13, 0x07, 0x41, 0x63, 0x6d, 0x65, + 0x20, 0x43, 0x6f, 0x30, 0x1e, 0x17, 0x0d, 0x31, + 0x35, 0x31, 0x31, 0x30, 0x37, 0x30, 0x30, 0x32, + 0x34, 0x35, 0x36, 0x5a, 0x17, 0x0d, 0x31, 0x36, + 0x31, 0x31, 0x30, 0x36, 0x30, 0x30, 0x32, 0x34, + 0x35, 0x36, 0x5a, 0x30, 0x12, 0x31, 0x10, 0x30, + 0x0e, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x07, + 0x41, 0x63, 0x6d, 0x65, 0x20, 0x43, 0x6f, 0x30, + 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, + 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, + 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, + 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00, + 0xce, 0x47, 0xcb, 0x11, 0xbb, 0xd2, 0x9d, 0x8e, + 0x9e, 0xd2, 0x1e, 0x14, 0xaf, 0xc7, 0xea, 0xb6, + 0xc9, 0x38, 0x2a, 0x6f, 0xb3, 0x7e, 0xfb, 0xbc, + 0xfc, 0x59, 0x42, 0xb9, 0x56, 0xf0, 0x4c, 0x3f, + 0xf7, 0x31, 0x84, 0xbe, 0xac, 0x03, 0x9e, 0x71, + 0x91, 0x85, 0xd8, 0x32, 0xbd, 0x00, 0xea, 0xac, + 0x65, 0xf6, 0x03, 0xc8, 0x0f, 0x8b, 0xfd, 0x6e, + 0x58, 0x88, 0x04, 0x41, 0x92, 0x74, 0xa6, 0x57, + 0x2e, 0x8e, 0x88, 0xd5, 0x3d, 0xda, 0x14, 0x3e, + 0x63, 0x88, 0x22, 0xe3, 0x53, 0xe9, 0xba, 0x39, + 0x09, 0xac, 0xfb, 0xd0, 0x4c, 0xf2, 0x3c, 0x20, + 0xd6, 0x97, 0xe6, 0xed, 0xf1, 0x62, 0x1e, 0xe5, + 0xc9, 0x48, 0xa0, 0xca, 0x2e, 0x3c, 0x14, 0x5a, + 0x82, 0xd4, 0xed, 0xb1, 0xe3, 0x43, 0xc1, 0x2a, + 0x59, 0xa5, 0xb9, 0xc8, 0x48, 0xa7, 0x39, 0x23, + 0x74, 0xa7, 0x37, 0xb0, 0x6f, 0xc3, 0x64, 0x99, + 0x6c, 0xa2, 0x82, 0xc8, 0xf6, 0xdb, 0x86, 0x40, + 0xce, 0xd1, 0x85, 0x9f, 0xce, 0x69, 0xf4, 0x15, + 0x2a, 0x23, 0xca, 0xea, 0xb7, 0x7b, 0xdf, 0xfb, + 0x43, 0x5f, 0xff, 0x7a, 0x49, 0x49, 0x0e, 0xe7, + 0x02, 0x51, 0x45, 0x13, 0xe8, 0x90, 0x64, 0x21, + 0x0c, 0x26, 0x2b, 0x5d, 0xfc, 0xe4, 0xb5, 0x86, + 0x89, 0x43, 0x22, 0x4c, 0xf3, 0x3b, 0xf3, 0x09, + 0xc4, 0xa4, 0x10, 0x80, 0xf2, 0x46, 0xe2, 0x46, + 0x8f, 0x76, 0x50, 0xbf, 0xaf, 0x2b, 0x90, 0x1b, + 0x78, 0xc7, 0xcf, 0xc1, 0x77, 0xd0, 0xfb, 0xa9, + 0xfb, 0xc9, 0x66, 0x5a, 0xc5, 0x9b, 0x31, 0x41, + 0x67, 0x01, 0xbe, 0x33, 0x10, 0xba, 0x05, 0x58, + 0xed, 0x76, 0x53, 0xde, 0x5d, 0xc1, 0xe8, 0xbb, + 0x9f, 0xf1, 0xcd, 0xfb, 0xdf, 0x64, 0x7f, 0xd7, + 0x18, 0xab, 0x0f, 0x94, 0x28, 0x95, 0x4a, 0xcc, + 0x6a, 0xa9, 0x50, 0xc7, 0x05, 0x47, 0x10, 0x41, + 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x50, 0x30, + 0x4e, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, + 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x05, + 0xa0, 0x30, 0x13, 0x06, 0x03, 0x55, 0x1d, 0x25, + 0x04, 0x0c, 0x30, 0x0a, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x30, 0x0c, + 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, + 0x04, 0x02, 0x30, 0x00, 0x30, 0x19, 0x06, 0x03, + 0x55, 0x1d, 0x11, 0x04, 0x12, 0x30, 0x10, 0x82, + 0x0e, 0x66, 0x75, 0x7a, 0x7a, 0x2e, 0x62, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x73, 0x73, 0x6c, 0x30, + 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, + 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, + 0x01, 0x01, 0x00, 0x92, 0xde, 0xef, 0x96, 0x06, + 0x7b, 0xff, 0x71, 0x7d, 0x4e, 0xa0, 0x7d, 0xae, + 0xb8, 0x22, 0xb4, 0x2c, 0xf7, 0x96, 0x9c, 0x37, + 0x1d, 0x8f, 0xe7, 0xd9, 0x47, 0xff, 0x3f, 0xe9, + 0x35, 0x95, 0x0e, 0xdd, 0xdc, 0x7f, 0xc8, 0x8a, + 0x1e, 0x36, 0x1d, 0x38, 0x47, 0xfc, 0x76, 0xd2, + 0x1f, 0x98, 0xa1, 0x36, 0xac, 0xc8, 0x70, 0x38, + 0x0a, 0x3d, 0x51, 0x8d, 0x0f, 0x03, 0x1b, 0xef, + 0x62, 0xa1, 0xcb, 0x2b, 0x4a, 0x8c, 0x12, 0x2b, + 0x54, 0x50, 0x9a, 0x6b, 0xfe, 0xaf, 0xd9, 0xf6, + 0xbf, 0x58, 0x11, 0x58, 0x5e, 0xe5, 0x86, 0x1e, + 0x3b, 0x6b, 0x30, 0x7e, 0x72, 0x89, 0xe8, 0x6b, + 0x7b, 0xb7, 0xaf, 0xef, 0x8b, 0xa9, 0x3e, 0xb0, + 0xcd, 0x0b, 0xef, 0xb0, 0x0c, 0x96, 0x2b, 0xc5, + 0x3b, 0xd5, 0xf1, 0xc2, 0xae, 0x3a, 0x60, 0xd9, + 0x0f, 0x75, 0x37, 0x55, 0x4d, 0x62, 0xd2, 0xed, + 0x96, 0xac, 0x30, 0x6b, 0xda, 0xa1, 0x48, 0x17, + 0x96, 0x23, 0x85, 0x9a, 0x57, 0x77, 0xe9, 0x22, + 0xa2, 0x37, 0x03, 0xba, 0x49, 0x77, 0x40, 0x3b, + 0x76, 0x4b, 0xda, 0xc1, 0x04, 0x57, 0x55, 0x34, + 0x22, 0x83, 0x45, 0x29, 0xab, 0x2e, 0x11, 0xff, + 0x0d, 0xab, 0x55, 0xb1, 0xa7, 0x58, 0x59, 0x05, + 0x25, 0xf9, 0x1e, 0x3d, 0xb7, 0xac, 0x04, 0x39, + 0x2c, 0xf9, 0xaf, 0xb8, 0x68, 0xfb, 0x8e, 0x35, + 0x71, 0x32, 0xff, 0x70, 0xe9, 0x46, 0x6d, 0x5c, + 0x06, 0x90, 0x88, 0x23, 0x48, 0x0c, 0x50, 0xeb, + 0x0a, 0xa9, 0xae, 0xe8, 0xfc, 0xbe, 0xa5, 0x76, + 0x94, 0xd7, 0x64, 0x22, 0x38, 0x98, 0x17, 0xa4, + 0x3a, 0xa7, 0x59, 0x9f, 0x1d, 0x3b, 0x75, 0x90, + 0x1a, 0x81, 0xef, 0x19, 0xfb, 0x2b, 0xb7, 0xa7, + 0x64, 0x61, 0x22, 0xa4, 0x6f, 0x7b, 0xfa, 0x58, + 0xbb, 0x8c, 0x4e, 0x77, 0x67, 0xd0, 0x5d, 0x58, + 0x76, 0x8a, 0xbb }; #ifndef OPENSSL_NO_DEPRECATED_3_0 static const uint8_t kRSAPrivateKeyDER[] = { - 0x30, - 0x82, - 0x04, - 0xa5, - 0x02, - 0x01, - 0x00, - 0x02, - 0x82, - 0x01, - 0x01, - 0x00, - 0xce, - 0x47, - 0xcb, - 0x11, - 0xbb, - 0xd2, - 0x9d, - 0x8e, - 0x9e, - 0xd2, - 0x1e, - 0x14, - 0xaf, - 0xc7, - 0xea, - 0xb6, - 0xc9, - 0x38, - 0x2a, - 0x6f, - 0xb3, - 0x7e, - 0xfb, - 0xbc, - 0xfc, - 0x59, - 0x42, - 0xb9, - 0x56, - 0xf0, - 0x4c, - 0x3f, - 0xf7, - 0x31, - 0x84, - 0xbe, - 0xac, - 0x03, - 0x9e, - 0x71, - 0x91, - 0x85, - 0xd8, - 0x32, - 0xbd, - 0x00, - 0xea, - 0xac, - 0x65, - 0xf6, - 0x03, - 0xc8, - 0x0f, - 0x8b, - 0xfd, - 0x6e, - 0x58, - 0x88, - 0x04, - 0x41, - 0x92, - 0x74, - 0xa6, - 0x57, - 0x2e, - 0x8e, - 0x88, - 0xd5, - 0x3d, - 0xda, - 0x14, - 0x3e, - 0x63, - 0x88, - 0x22, - 0xe3, - 0x53, - 0xe9, - 0xba, - 0x39, - 0x09, - 0xac, - 0xfb, - 0xd0, - 0x4c, - 0xf2, - 0x3c, - 0x20, - 0xd6, - 0x97, - 0xe6, - 0xed, - 0xf1, - 0x62, - 0x1e, - 0xe5, - 0xc9, - 0x48, - 0xa0, - 0xca, - 0x2e, - 0x3c, - 0x14, - 0x5a, - 0x82, - 0xd4, - 0xed, - 0xb1, - 0xe3, - 0x43, - 0xc1, - 0x2a, - 0x59, - 0xa5, - 0xb9, - 0xc8, - 0x48, - 0xa7, - 0x39, - 0x23, - 0x74, - 0xa7, - 0x37, - 0xb0, - 0x6f, - 0xc3, - 0x64, - 0x99, - 0x6c, - 0xa2, - 0x82, - 0xc8, - 0xf6, - 0xdb, - 0x86, - 0x40, - 0xce, - 0xd1, - 0x85, - 0x9f, - 0xce, - 0x69, - 0xf4, - 0x15, - 0x2a, - 0x23, - 0xca, - 0xea, - 0xb7, - 0x7b, - 0xdf, - 0xfb, - 0x43, - 0x5f, - 0xff, - 0x7a, - 0x49, - 0x49, - 0x0e, - 0xe7, - 0x02, - 0x51, - 0x45, - 0x13, - 0xe8, - 0x90, - 0x64, - 0x21, - 0x0c, - 0x26, - 0x2b, - 0x5d, - 0xfc, - 0xe4, - 0xb5, - 0x86, - 0x89, - 0x43, - 0x22, - 0x4c, - 0xf3, - 0x3b, - 0xf3, - 0x09, - 0xc4, - 0xa4, - 0x10, - 0x80, - 0xf2, - 0x46, - 0xe2, - 0x46, - 0x8f, - 0x76, - 0x50, - 0xbf, - 0xaf, - 0x2b, - 0x90, - 0x1b, - 0x78, - 0xc7, - 0xcf, - 0xc1, - 0x77, - 0xd0, - 0xfb, - 0xa9, - 0xfb, - 0xc9, - 0x66, - 0x5a, - 0xc5, - 0x9b, - 0x31, - 0x41, - 0x67, - 0x01, - 0xbe, - 0x33, - 0x10, - 0xba, - 0x05, - 0x58, - 0xed, - 0x76, - 0x53, - 0xde, - 0x5d, - 0xc1, - 0xe8, - 0xbb, - 0x9f, - 0xf1, - 0xcd, - 0xfb, - 0xdf, - 0x64, - 0x7f, - 0xd7, - 0x18, - 0xab, - 0x0f, - 0x94, - 0x28, - 0x95, - 0x4a, - 0xcc, - 0x6a, - 0xa9, - 0x50, - 0xc7, - 0x05, - 0x47, - 0x10, - 0x41, - 0x02, - 0x03, - 0x01, - 0x00, - 0x01, - 0x02, - 0x82, - 0x01, - 0x01, - 0x00, - 0xa8, - 0x47, - 0xb9, - 0x4a, - 0x06, - 0x47, - 0x93, - 0x71, - 0x3d, - 0xef, - 0x7b, - 0xca, - 0xb4, - 0x7c, - 0x0a, - 0xe6, - 0x82, - 0xd0, - 0xe7, - 0x0d, - 0xa9, - 0x08, - 0xf6, - 0xa4, - 0xfd, - 0xd8, - 0x73, - 0xae, - 0x6f, - 0x56, - 0x29, - 0x5e, - 0x25, - 0x72, - 0xa8, - 0x30, - 0x44, - 0x73, - 0xcf, - 0x56, - 0x26, - 0xb9, - 0x61, - 0xde, - 0x42, - 0x81, - 0xf4, - 0xf0, - 0x1f, - 0x5d, - 0xcb, - 0x47, - 0xf2, - 0x26, - 0xe9, - 0xe0, - 0x93, - 0x28, - 0xa3, - 0x10, - 0x3b, - 0x42, - 0x1e, - 0x51, - 0x11, - 0x12, - 0x06, - 0x5e, - 0xaf, - 0xce, - 0xb0, - 0xa5, - 0x14, - 0xdd, - 0x82, - 0x58, - 0xa1, - 0xa4, - 0x12, - 0xdf, - 0x65, - 0x1d, - 0x51, - 0x70, - 0x64, - 0xd5, - 0x58, - 0x68, - 0x11, - 0xa8, - 0x6a, - 0x23, - 0xc2, - 0xbf, - 0xa1, - 0x25, - 0x24, - 0x47, - 0xb3, - 0xa4, - 0x3c, - 0x83, - 0x96, - 0xb7, - 0x1f, - 0xf4, - 0x44, - 0xd4, - 0xd1, - 0xe9, - 0xfc, - 0x33, - 0x68, - 0x5e, - 0xe2, - 0x68, - 0x99, - 0x9c, - 0x91, - 0xe8, - 0x72, - 0xc9, - 0xd7, - 0x8c, - 0x80, - 0x20, - 0x8e, - 0x77, - 0x83, - 0x4d, - 0xe4, - 0xab, - 0xf9, - 0x74, - 0xa1, - 0xdf, - 0xd3, - 0xc0, - 0x0d, - 0x5b, - 0x05, - 0x51, - 0xc2, - 0x6f, - 0xb2, - 0x91, - 0x02, - 0xec, - 0xc0, - 0x02, - 0x1a, - 0x5c, - 0x91, - 0x05, - 0xf1, - 0xe3, - 0xfa, - 0x65, - 0xc2, - 0xad, - 0x24, - 0xe6, - 0xe5, - 0x3c, - 0xb6, - 0x16, - 0xf1, - 0xa1, - 0x67, - 0x1a, - 0x9d, - 0x37, - 0x56, - 0xbf, - 0x01, - 0xd7, - 0x3b, - 0x35, - 0x30, - 0x57, - 0x73, - 0xf4, - 0xf0, - 0x5e, - 0xa7, - 0xe8, - 0x0a, - 0xc1, - 0x94, - 0x17, - 0xcf, - 0x0a, - 0xbd, - 0xf5, - 0x31, - 0xa7, - 0x2d, - 0xf7, - 0xf5, - 0xd9, - 0x8c, - 0xc2, - 0x01, - 0xbd, - 0xda, - 0x16, - 0x8e, - 0xb9, - 0x30, - 0x40, - 0xa6, - 0x6e, - 0xbd, - 0xcd, - 0x4d, - 0x84, - 0x67, - 0x4e, - 0x0b, - 0xce, - 0xd5, - 0xef, - 0xf8, - 0x08, - 0x63, - 0x02, - 0xc6, - 0xc7, - 0xf7, - 0x67, - 0x92, - 0xe2, - 0x23, - 0x9d, - 0x27, - 0x22, - 0x1d, - 0xc6, - 0x67, - 0x5e, - 0x66, - 0xbf, - 0x03, - 0xb8, - 0xa9, - 0x67, - 0xd4, - 0x39, - 0xd8, - 0x75, - 0xfa, - 0xe8, - 0xed, - 0x56, - 0xb8, - 0x81, - 0x02, - 0x81, - 0x81, - 0x00, - 0xf7, - 0x46, - 0x68, - 0xc6, - 0x13, - 0xf8, - 0xba, - 0x0f, - 0x83, - 0xdb, - 0x05, - 0xa8, - 0x25, - 0x00, - 0x70, - 0x9c, - 0x9e, - 0x8b, - 0x12, - 0x34, - 0x0d, - 0x96, - 0xcf, - 0x0d, - 0x98, - 0x9b, - 0x8d, - 0x9c, - 0x96, - 0x78, - 0xd1, - 0x3c, - 0x01, - 0x8c, - 0xb9, - 0x35, - 0x5c, - 0x20, - 0x42, - 0xb4, - 0x38, - 0xe3, - 0xd6, - 0x54, - 0xe7, - 0x55, - 0xd6, - 0x26, - 0x8a, - 0x0c, - 0xf6, - 0x1f, - 0xe0, - 0x04, - 0xc1, - 0x22, - 0x42, - 0x19, - 0x61, - 0xc4, - 0x94, - 0x7c, - 0x07, - 0x2e, - 0x80, - 0x52, - 0xfe, - 0x8d, - 0xe6, - 0x92, - 0x3a, - 0x91, - 0xfe, - 0x72, - 0x99, - 0xe1, - 0x2a, - 0x73, - 0x76, - 0xb1, - 0x24, - 0x20, - 0x67, - 0xde, - 0x28, - 0xcb, - 0x0e, - 0xe6, - 0x52, - 0xb5, - 0xfa, - 0xfb, - 0x8b, - 0x1e, - 0x6a, - 0x1d, - 0x09, - 0x26, - 0xb9, - 0xa7, - 0x61, - 0xba, - 0xf8, - 0x79, - 0xd2, - 0x66, - 0x57, - 0x28, - 0xd7, - 0x31, - 0xb5, - 0x0b, - 0x27, - 0x19, - 0x1e, - 0x6f, - 0x46, - 0xfc, - 0x54, - 0x95, - 0xeb, - 0x78, - 0x01, - 0xb6, - 0xd9, - 0x79, - 0x5a, - 0x4d, - 0x02, - 0x81, - 0x81, - 0x00, - 0xd5, - 0x8f, - 0x16, - 0x53, - 0x2f, - 0x57, - 0x93, - 0xbf, - 0x09, - 0x75, - 0xbf, - 0x63, - 0x40, - 0x3d, - 0x27, - 0xfd, - 0x23, - 0x21, - 0xde, - 0x9b, - 0xe9, - 0x73, - 0x3f, - 0x49, - 0x02, - 0xd2, - 0x38, - 0x96, - 0xcf, - 0xc3, - 0xba, - 0x92, - 0x07, - 0x87, - 0x52, - 0xa9, - 0x35, - 0xe3, - 0x0c, - 0xe4, - 0x2f, - 0x05, - 0x7b, - 0x37, - 0xa5, - 0x40, - 0x9c, - 0x3b, - 0x94, - 0xf7, - 0xad, - 0xa0, - 0xee, - 0x3a, - 0xa8, - 0xfb, - 0x1f, - 0x11, - 0x1f, - 0xd8, - 0x9a, - 0x80, - 0x42, - 0x3d, - 0x7f, - 0xa4, - 0xb8, - 0x9a, - 0xaa, - 0xea, - 0x72, - 0xc1, - 0xe3, - 0xed, - 0x06, - 0x60, - 0x92, - 0x37, - 0xf9, - 0xba, - 0xfb, - 0x9e, - 0xed, - 0x05, - 0xa6, - 0xd4, - 0x72, - 0x68, - 0x4f, - 0x63, - 0xfe, - 0xd6, - 0x10, - 0x0d, - 0x4f, - 0x0a, - 0x93, - 0xc6, - 0xb9, - 0xd7, - 0xaf, - 0xfd, - 0xd9, - 0x57, - 0x7d, - 0xcb, - 0x75, - 0xe8, - 0x93, - 0x2b, - 0xae, - 0x4f, - 0xea, - 0xd7, - 0x30, - 0x0b, - 0x58, - 0x44, - 0x82, - 0x0f, - 0x84, - 0x5d, - 0x62, - 0x11, - 0x78, - 0xea, - 0x5f, - 0xc5, - 0x02, - 0x81, - 0x81, - 0x00, - 0x82, - 0x0c, - 0xc1, - 0xe6, - 0x0b, - 0x72, - 0xf1, - 0x48, - 0x5f, - 0xac, - 0xbd, - 0x98, - 0xe5, - 0x7d, - 0x09, - 0xbd, - 0x15, - 0x95, - 0x47, - 0x09, - 0xa1, - 0x6c, - 0x03, - 0x91, - 0xbf, - 0x05, - 0x70, - 0xc1, - 0x3e, - 0x52, - 0x64, - 0x99, - 0x0e, - 0xa7, - 0x98, - 0x70, - 0xfb, - 0xf6, - 0xeb, - 0x9e, - 0x25, - 0x9d, - 0x8e, - 0x88, - 0x30, - 0xf2, - 0xf0, - 0x22, - 0x6c, - 0xd0, - 0xcc, - 0x51, - 0x8f, - 0x5c, - 0x70, - 0xc7, - 0x37, - 0xc4, - 0x69, - 0xab, - 0x1d, - 0xfc, - 0xed, - 0x3a, - 0x03, - 0xbb, - 0xa2, - 0xad, - 0xb6, - 0xea, - 0x89, - 0x6b, - 0x67, - 0x4b, - 0x96, - 0xaa, - 0xd9, - 0xcc, - 0xc8, - 0x4b, - 0xfa, - 0x18, - 0x21, - 0x08, - 0xb2, - 0xa3, - 0xb9, - 0x3e, - 0x61, - 0x99, - 0xdc, - 0x5a, - 0x97, - 0x9c, - 0x73, - 0x6a, - 0xb9, - 0xf9, - 0x68, - 0x03, - 0x24, - 0x5f, - 0x55, - 0x77, - 0x9c, - 0xb4, - 0xbe, - 0x7a, - 0x78, - 0x53, - 0x68, - 0x48, - 0x69, - 0x53, - 0xc8, - 0xb1, - 0xf5, - 0xbf, - 0x98, - 0x2d, - 0x11, - 0x1e, - 0x98, - 0xa8, - 0x36, - 0x50, - 0xa0, - 0xb1, - 0x02, - 0x81, - 0x81, - 0x00, - 0x90, - 0x88, - 0x30, - 0x71, - 0xc7, - 0xfe, - 0x9b, - 0x6d, - 0x95, - 0x37, - 0x6d, - 0x79, - 0xfc, - 0x85, - 0xe7, - 0x44, - 0x78, - 0xbc, - 0x79, - 0x6e, - 0x47, - 0x86, - 0xc9, - 0xf3, - 0xdd, - 0xc6, - 0xec, - 0xa9, - 0x94, - 0x9f, - 0x40, - 0xeb, - 0x87, - 0xd0, - 0xdb, - 0xee, - 0xcd, - 0x1b, - 0x87, - 0x23, - 0xff, - 0x76, - 0xd4, - 0x37, - 0x8a, - 0xcd, - 0xb9, - 0x6e, - 0xd1, - 0x98, - 0xf6, - 0x97, - 0x8d, - 0xe3, - 0x81, - 0x6d, - 0xc3, - 0x4e, - 0xd1, - 0xa0, - 0xc4, - 0x9f, - 0xbd, - 0x34, - 0xe5, - 0xe8, - 0x53, - 0x4f, - 0xca, - 0x10, - 0xb5, - 0xed, - 0xe7, - 0x16, - 0x09, - 0x54, - 0xde, - 0x60, - 0xa7, - 0xd1, - 0x16, - 0x6e, - 0x2e, - 0xb7, - 0xbe, - 0x7a, - 0xd5, - 0x9b, - 0x26, - 0xef, - 0xe4, - 0x0e, - 0x77, - 0xfa, - 0xa9, - 0xdd, - 0xdc, - 0xb9, - 0x88, - 0x19, - 0x23, - 0x70, - 0xc7, - 0xe1, - 0x60, - 0xaf, - 0x8c, - 0x73, - 0x04, - 0xf7, - 0x71, - 0x17, - 0x81, - 0x36, - 0x75, - 0xbb, - 0x97, - 0xd7, - 0x75, - 0xb6, - 0x8e, - 0xbc, - 0xac, - 0x9c, - 0x6a, - 0x9b, - 0x24, - 0x89, - 0x02, - 0x81, - 0x80, - 0x5a, - 0x2b, - 0xc7, - 0x6b, - 0x8c, - 0x65, - 0xdb, - 0x04, - 0x73, - 0xab, - 0x25, - 0xe1, - 0x5b, - 0xbc, - 0x3c, - 0xcf, - 0x5a, - 0x3c, - 0x04, - 0xae, - 0x97, - 0x2e, - 0xfd, - 0xa4, - 0x97, - 0x1f, - 0x05, - 0x17, - 0x27, - 0xac, - 0x7c, - 0x30, - 0x85, - 0xb4, - 0x82, - 0x3f, - 0x5b, - 0xb7, - 0x94, - 0x3b, - 0x7f, - 0x6c, - 0x0c, - 0xc7, - 0x16, - 0xc6, - 0xa0, - 0xbd, - 0x80, - 0xb0, - 0x81, - 0xde, - 0xa0, - 0x23, - 0xa6, - 0xf6, - 0x75, - 0x33, - 0x51, - 0x35, - 0xa2, - 0x75, - 0x55, - 0x70, - 0x4d, - 0x42, - 0xbb, - 0xcf, - 0x54, - 0xe4, - 0xdb, - 0x2d, - 0x88, - 0xa0, - 0x7a, - 0xf2, - 0x17, - 0xa7, - 0xdd, - 0x13, - 0x44, - 0x9f, - 0x5f, - 0x6b, - 0x2c, - 0x42, - 0x42, - 0x8b, - 0x13, - 0x4d, - 0xf9, - 0x5b, - 0xf8, - 0x33, - 0x42, - 0xd9, - 0x9e, - 0x50, - 0x1c, - 0x7c, - 0xbc, - 0xfa, - 0x62, - 0x85, - 0x0b, - 0xcf, - 0x99, - 0xda, - 0x9e, - 0x04, - 0x90, - 0xb2, - 0xc6, - 0xb2, - 0x0a, - 0x2a, - 0x7c, - 0x6d, - 0x6a, - 0x40, - 0xfc, - 0xf5, - 0x50, - 0x98, - 0x46, - 0x89, - 0x82, - 0x40, + 0x30, 0x82, 0x04, 0xa5, 0x02, 0x01, 0x00, 0x02, + 0x82, 0x01, 0x01, 0x00, 0xce, 0x47, 0xcb, 0x11, + 0xbb, 0xd2, 0x9d, 0x8e, 0x9e, 0xd2, 0x1e, 0x14, + 0xaf, 0xc7, 0xea, 0xb6, 0xc9, 0x38, 0x2a, 0x6f, + 0xb3, 0x7e, 0xfb, 0xbc, 0xfc, 0x59, 0x42, 0xb9, + 0x56, 0xf0, 0x4c, 0x3f, 0xf7, 0x31, 0x84, 0xbe, + 0xac, 0x03, 0x9e, 0x71, 0x91, 0x85, 0xd8, 0x32, + 0xbd, 0x00, 0xea, 0xac, 0x65, 0xf6, 0x03, 0xc8, + 0x0f, 0x8b, 0xfd, 0x6e, 0x58, 0x88, 0x04, 0x41, + 0x92, 0x74, 0xa6, 0x57, 0x2e, 0x8e, 0x88, 0xd5, + 0x3d, 0xda, 0x14, 0x3e, 0x63, 0x88, 0x22, 0xe3, + 0x53, 0xe9, 0xba, 0x39, 0x09, 0xac, 0xfb, 0xd0, + 0x4c, 0xf2, 0x3c, 0x20, 0xd6, 0x97, 0xe6, 0xed, + 0xf1, 0x62, 0x1e, 0xe5, 0xc9, 0x48, 0xa0, 0xca, + 0x2e, 0x3c, 0x14, 0x5a, 0x82, 0xd4, 0xed, 0xb1, + 0xe3, 0x43, 0xc1, 0x2a, 0x59, 0xa5, 0xb9, 0xc8, + 0x48, 0xa7, 0x39, 0x23, 0x74, 0xa7, 0x37, 0xb0, + 0x6f, 0xc3, 0x64, 0x99, 0x6c, 0xa2, 0x82, 0xc8, + 0xf6, 0xdb, 0x86, 0x40, 0xce, 0xd1, 0x85, 0x9f, + 0xce, 0x69, 0xf4, 0x15, 0x2a, 0x23, 0xca, 0xea, + 0xb7, 0x7b, 0xdf, 0xfb, 0x43, 0x5f, 0xff, 0x7a, + 0x49, 0x49, 0x0e, 0xe7, 0x02, 0x51, 0x45, 0x13, + 0xe8, 0x90, 0x64, 0x21, 0x0c, 0x26, 0x2b, 0x5d, + 0xfc, 0xe4, 0xb5, 0x86, 0x89, 0x43, 0x22, 0x4c, + 0xf3, 0x3b, 0xf3, 0x09, 0xc4, 0xa4, 0x10, 0x80, + 0xf2, 0x46, 0xe2, 0x46, 0x8f, 0x76, 0x50, 0xbf, + 0xaf, 0x2b, 0x90, 0x1b, 0x78, 0xc7, 0xcf, 0xc1, + 0x77, 0xd0, 0xfb, 0xa9, 0xfb, 0xc9, 0x66, 0x5a, + 0xc5, 0x9b, 0x31, 0x41, 0x67, 0x01, 0xbe, 0x33, + 0x10, 0xba, 0x05, 0x58, 0xed, 0x76, 0x53, 0xde, + 0x5d, 0xc1, 0xe8, 0xbb, 0x9f, 0xf1, 0xcd, 0xfb, + 0xdf, 0x64, 0x7f, 0xd7, 0x18, 0xab, 0x0f, 0x94, + 0x28, 0x95, 0x4a, 0xcc, 0x6a, 0xa9, 0x50, 0xc7, + 0x05, 0x47, 0x10, 0x41, 0x02, 0x03, 0x01, 0x00, + 0x01, 0x02, 0x82, 0x01, 0x01, 0x00, 0xa8, 0x47, + 0xb9, 0x4a, 0x06, 0x47, 0x93, 0x71, 0x3d, 0xef, + 0x7b, 0xca, 0xb4, 0x7c, 0x0a, 0xe6, 0x82, 0xd0, + 0xe7, 0x0d, 0xa9, 0x08, 0xf6, 0xa4, 0xfd, 0xd8, + 0x73, 0xae, 0x6f, 0x56, 0x29, 0x5e, 0x25, 0x72, + 0xa8, 0x30, 0x44, 0x73, 0xcf, 0x56, 0x26, 0xb9, + 0x61, 0xde, 0x42, 0x81, 0xf4, 0xf0, 0x1f, 0x5d, + 0xcb, 0x47, 0xf2, 0x26, 0xe9, 0xe0, 0x93, 0x28, + 0xa3, 0x10, 0x3b, 0x42, 0x1e, 0x51, 0x11, 0x12, + 0x06, 0x5e, 0xaf, 0xce, 0xb0, 0xa5, 0x14, 0xdd, + 0x82, 0x58, 0xa1, 0xa4, 0x12, 0xdf, 0x65, 0x1d, + 0x51, 0x70, 0x64, 0xd5, 0x58, 0x68, 0x11, 0xa8, + 0x6a, 0x23, 0xc2, 0xbf, 0xa1, 0x25, 0x24, 0x47, + 0xb3, 0xa4, 0x3c, 0x83, 0x96, 0xb7, 0x1f, 0xf4, + 0x44, 0xd4, 0xd1, 0xe9, 0xfc, 0x33, 0x68, 0x5e, + 0xe2, 0x68, 0x99, 0x9c, 0x91, 0xe8, 0x72, 0xc9, + 0xd7, 0x8c, 0x80, 0x20, 0x8e, 0x77, 0x83, 0x4d, + 0xe4, 0xab, 0xf9, 0x74, 0xa1, 0xdf, 0xd3, 0xc0, + 0x0d, 0x5b, 0x05, 0x51, 0xc2, 0x6f, 0xb2, 0x91, + 0x02, 0xec, 0xc0, 0x02, 0x1a, 0x5c, 0x91, 0x05, + 0xf1, 0xe3, 0xfa, 0x65, 0xc2, 0xad, 0x24, 0xe6, + 0xe5, 0x3c, 0xb6, 0x16, 0xf1, 0xa1, 0x67, 0x1a, + 0x9d, 0x37, 0x56, 0xbf, 0x01, 0xd7, 0x3b, 0x35, + 0x30, 0x57, 0x73, 0xf4, 0xf0, 0x5e, 0xa7, 0xe8, + 0x0a, 0xc1, 0x94, 0x17, 0xcf, 0x0a, 0xbd, 0xf5, + 0x31, 0xa7, 0x2d, 0xf7, 0xf5, 0xd9, 0x8c, 0xc2, + 0x01, 0xbd, 0xda, 0x16, 0x8e, 0xb9, 0x30, 0x40, + 0xa6, 0x6e, 0xbd, 0xcd, 0x4d, 0x84, 0x67, 0x4e, + 0x0b, 0xce, 0xd5, 0xef, 0xf8, 0x08, 0x63, 0x02, + 0xc6, 0xc7, 0xf7, 0x67, 0x92, 0xe2, 0x23, 0x9d, + 0x27, 0x22, 0x1d, 0xc6, 0x67, 0x5e, 0x66, 0xbf, + 0x03, 0xb8, 0xa9, 0x67, 0xd4, 0x39, 0xd8, 0x75, + 0xfa, 0xe8, 0xed, 0x56, 0xb8, 0x81, 0x02, 0x81, + 0x81, 0x00, 0xf7, 0x46, 0x68, 0xc6, 0x13, 0xf8, + 0xba, 0x0f, 0x83, 0xdb, 0x05, 0xa8, 0x25, 0x00, + 0x70, 0x9c, 0x9e, 0x8b, 0x12, 0x34, 0x0d, 0x96, + 0xcf, 0x0d, 0x98, 0x9b, 0x8d, 0x9c, 0x96, 0x78, + 0xd1, 0x3c, 0x01, 0x8c, 0xb9, 0x35, 0x5c, 0x20, + 0x42, 0xb4, 0x38, 0xe3, 0xd6, 0x54, 0xe7, 0x55, + 0xd6, 0x26, 0x8a, 0x0c, 0xf6, 0x1f, 0xe0, 0x04, + 0xc1, 0x22, 0x42, 0x19, 0x61, 0xc4, 0x94, 0x7c, + 0x07, 0x2e, 0x80, 0x52, 0xfe, 0x8d, 0xe6, 0x92, + 0x3a, 0x91, 0xfe, 0x72, 0x99, 0xe1, 0x2a, 0x73, + 0x76, 0xb1, 0x24, 0x20, 0x67, 0xde, 0x28, 0xcb, + 0x0e, 0xe6, 0x52, 0xb5, 0xfa, 0xfb, 0x8b, 0x1e, + 0x6a, 0x1d, 0x09, 0x26, 0xb9, 0xa7, 0x61, 0xba, + 0xf8, 0x79, 0xd2, 0x66, 0x57, 0x28, 0xd7, 0x31, + 0xb5, 0x0b, 0x27, 0x19, 0x1e, 0x6f, 0x46, 0xfc, + 0x54, 0x95, 0xeb, 0x78, 0x01, 0xb6, 0xd9, 0x79, + 0x5a, 0x4d, 0x02, 0x81, 0x81, 0x00, 0xd5, 0x8f, + 0x16, 0x53, 0x2f, 0x57, 0x93, 0xbf, 0x09, 0x75, + 0xbf, 0x63, 0x40, 0x3d, 0x27, 0xfd, 0x23, 0x21, + 0xde, 0x9b, 0xe9, 0x73, 0x3f, 0x49, 0x02, 0xd2, + 0x38, 0x96, 0xcf, 0xc3, 0xba, 0x92, 0x07, 0x87, + 0x52, 0xa9, 0x35, 0xe3, 0x0c, 0xe4, 0x2f, 0x05, + 0x7b, 0x37, 0xa5, 0x40, 0x9c, 0x3b, 0x94, 0xf7, + 0xad, 0xa0, 0xee, 0x3a, 0xa8, 0xfb, 0x1f, 0x11, + 0x1f, 0xd8, 0x9a, 0x80, 0x42, 0x3d, 0x7f, 0xa4, + 0xb8, 0x9a, 0xaa, 0xea, 0x72, 0xc1, 0xe3, 0xed, + 0x06, 0x60, 0x92, 0x37, 0xf9, 0xba, 0xfb, 0x9e, + 0xed, 0x05, 0xa6, 0xd4, 0x72, 0x68, 0x4f, 0x63, + 0xfe, 0xd6, 0x10, 0x0d, 0x4f, 0x0a, 0x93, 0xc6, + 0xb9, 0xd7, 0xaf, 0xfd, 0xd9, 0x57, 0x7d, 0xcb, + 0x75, 0xe8, 0x93, 0x2b, 0xae, 0x4f, 0xea, 0xd7, + 0x30, 0x0b, 0x58, 0x44, 0x82, 0x0f, 0x84, 0x5d, + 0x62, 0x11, 0x78, 0xea, 0x5f, 0xc5, 0x02, 0x81, + 0x81, 0x00, 0x82, 0x0c, 0xc1, 0xe6, 0x0b, 0x72, + 0xf1, 0x48, 0x5f, 0xac, 0xbd, 0x98, 0xe5, 0x7d, + 0x09, 0xbd, 0x15, 0x95, 0x47, 0x09, 0xa1, 0x6c, + 0x03, 0x91, 0xbf, 0x05, 0x70, 0xc1, 0x3e, 0x52, + 0x64, 0x99, 0x0e, 0xa7, 0x98, 0x70, 0xfb, 0xf6, + 0xeb, 0x9e, 0x25, 0x9d, 0x8e, 0x88, 0x30, 0xf2, + 0xf0, 0x22, 0x6c, 0xd0, 0xcc, 0x51, 0x8f, 0x5c, + 0x70, 0xc7, 0x37, 0xc4, 0x69, 0xab, 0x1d, 0xfc, + 0xed, 0x3a, 0x03, 0xbb, 0xa2, 0xad, 0xb6, 0xea, + 0x89, 0x6b, 0x67, 0x4b, 0x96, 0xaa, 0xd9, 0xcc, + 0xc8, 0x4b, 0xfa, 0x18, 0x21, 0x08, 0xb2, 0xa3, + 0xb9, 0x3e, 0x61, 0x99, 0xdc, 0x5a, 0x97, 0x9c, + 0x73, 0x6a, 0xb9, 0xf9, 0x68, 0x03, 0x24, 0x5f, + 0x55, 0x77, 0x9c, 0xb4, 0xbe, 0x7a, 0x78, 0x53, + 0x68, 0x48, 0x69, 0x53, 0xc8, 0xb1, 0xf5, 0xbf, + 0x98, 0x2d, 0x11, 0x1e, 0x98, 0xa8, 0x36, 0x50, + 0xa0, 0xb1, 0x02, 0x81, 0x81, 0x00, 0x90, 0x88, + 0x30, 0x71, 0xc7, 0xfe, 0x9b, 0x6d, 0x95, 0x37, + 0x6d, 0x79, 0xfc, 0x85, 0xe7, 0x44, 0x78, 0xbc, + 0x79, 0x6e, 0x47, 0x86, 0xc9, 0xf3, 0xdd, 0xc6, + 0xec, 0xa9, 0x94, 0x9f, 0x40, 0xeb, 0x87, 0xd0, + 0xdb, 0xee, 0xcd, 0x1b, 0x87, 0x23, 0xff, 0x76, + 0xd4, 0x37, 0x8a, 0xcd, 0xb9, 0x6e, 0xd1, 0x98, + 0xf6, 0x97, 0x8d, 0xe3, 0x81, 0x6d, 0xc3, 0x4e, + 0xd1, 0xa0, 0xc4, 0x9f, 0xbd, 0x34, 0xe5, 0xe8, + 0x53, 0x4f, 0xca, 0x10, 0xb5, 0xed, 0xe7, 0x16, + 0x09, 0x54, 0xde, 0x60, 0xa7, 0xd1, 0x16, 0x6e, + 0x2e, 0xb7, 0xbe, 0x7a, 0xd5, 0x9b, 0x26, 0xef, + 0xe4, 0x0e, 0x77, 0xfa, 0xa9, 0xdd, 0xdc, 0xb9, + 0x88, 0x19, 0x23, 0x70, 0xc7, 0xe1, 0x60, 0xaf, + 0x8c, 0x73, 0x04, 0xf7, 0x71, 0x17, 0x81, 0x36, + 0x75, 0xbb, 0x97, 0xd7, 0x75, 0xb6, 0x8e, 0xbc, + 0xac, 0x9c, 0x6a, 0x9b, 0x24, 0x89, 0x02, 0x81, + 0x80, 0x5a, 0x2b, 0xc7, 0x6b, 0x8c, 0x65, 0xdb, + 0x04, 0x73, 0xab, 0x25, 0xe1, 0x5b, 0xbc, 0x3c, + 0xcf, 0x5a, 0x3c, 0x04, 0xae, 0x97, 0x2e, 0xfd, + 0xa4, 0x97, 0x1f, 0x05, 0x17, 0x27, 0xac, 0x7c, + 0x30, 0x85, 0xb4, 0x82, 0x3f, 0x5b, 0xb7, 0x94, + 0x3b, 0x7f, 0x6c, 0x0c, 0xc7, 0x16, 0xc6, 0xa0, + 0xbd, 0x80, 0xb0, 0x81, 0xde, 0xa0, 0x23, 0xa6, + 0xf6, 0x75, 0x33, 0x51, 0x35, 0xa2, 0x75, 0x55, + 0x70, 0x4d, 0x42, 0xbb, 0xcf, 0x54, 0xe4, 0xdb, + 0x2d, 0x88, 0xa0, 0x7a, 0xf2, 0x17, 0xa7, 0xdd, + 0x13, 0x44, 0x9f, 0x5f, 0x6b, 0x2c, 0x42, 0x42, + 0x8b, 0x13, 0x4d, 0xf9, 0x5b, 0xf8, 0x33, 0x42, + 0xd9, 0x9e, 0x50, 0x1c, 0x7c, 0xbc, 0xfa, 0x62, + 0x85, 0x0b, 0xcf, 0x99, 0xda, 0x9e, 0x04, 0x90, + 0xb2, 0xc6, 0xb2, 0x0a, 0x2a, 0x7c, 0x6d, 0x6a, + 0x40, 0xfc, 0xf5, 0x50, 0x98, 0x46, 0x89, 0x82, + 0x40 }; #endif diff --git a/deps/openssl/openssl/include/crypto/riscv_arch.h b/deps/openssl/openssl/include/crypto/riscv_arch.h index 9894b714d74a..782e341c7a5d 100644 --- a/deps/openssl/openssl/include/crypto/riscv_arch.h +++ b/deps/openssl/openssl/include/crypto/riscv_arch.h @@ -1,5 +1,5 @@ /* - * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -27,7 +27,7 @@ extern unsigned int OPENSSL_riscv_hwcap_P; #define VECTOR_CAPABLE (OPENSSL_riscv_hwcap_P & COMPAT_HWCAP_ISA_V) #define ZVX_MIN 15 #define ZVX_MAX 23 -#define IS_IN_DEPEND_VECTOR(offset) ((ZVX_MIN >= offset) && (offset <= ZVX_MAX)) +#define IS_IN_DEPEND_VECTOR(offset) ((ZVX_MIN <= offset) && (offset <= ZVX_MAX)) #endif #endif #endif diff --git a/deps/openssl/openssl/include/internal/cryptlib.h b/deps/openssl/openssl/include/internal/cryptlib.h index 50aec7e7f4fe..a4451ca9eeee 100644 --- a/deps/openssl/openssl/include/internal/cryptlib.h +++ b/deps/openssl/openssl/include/internal/cryptlib.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -133,6 +133,8 @@ OSSL_EX_DATA_GLOBAL *ossl_lib_ctx_get_ex_data_global(OSSL_LIB_CTX *ctx); const char *ossl_lib_ctx_get_descriptor(OSSL_LIB_CTX *libctx); CRYPTO_THREAD_LOCAL *ossl_lib_ctx_get_rcukey(OSSL_LIB_CTX *libctx); +int ossl_thread_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *)); + OSSL_LIB_CTX *ossl_crypto_ex_data_get_ossl_lib_ctx(const CRYPTO_EX_DATA *ad); int ossl_crypto_new_ex_data_ex(OSSL_LIB_CTX *ctx, int class_index, void *obj, CRYPTO_EX_DATA *ad); diff --git a/deps/openssl/openssl/include/internal/quic_cfq.h b/deps/openssl/openssl/include/internal/quic_cfq.h index 0b2a3a4cb2d6..6e4332af8119 100644 --- a/deps/openssl/openssl/include/internal/quic_cfq.h +++ b/deps/openssl/openssl/include/internal/quic_cfq.h @@ -1,5 +1,5 @@ /* - * Copyright 2022-2023 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -149,6 +149,7 @@ QUIC_CFQ_ITEM *ossl_quic_cfq_get_priority_head(const QUIC_CFQ *cfq, QUIC_CFQ_ITEM *ossl_quic_cfq_item_get_priority_next(const QUIC_CFQ_ITEM *item, uint32_t pn_space); +int ossl_quic_cfq_discard_unreliable(QUIC_CFQ *cfq, QUIC_CFQ_ITEM *item); #endif #endif diff --git a/deps/openssl/openssl/include/internal/quic_channel.h b/deps/openssl/openssl/include/internal/quic_channel.h index b917b966abeb..54e8b92298b0 100644 --- a/deps/openssl/openssl/include/internal/quic_channel.h +++ b/deps/openssl/openssl/include/internal/quic_channel.h @@ -1,5 +1,5 @@ /* - * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -283,7 +283,6 @@ void ossl_quic_channel_on_new_conn_id(QUIC_CHANNEL *ch, /* Temporarily exposed during QUIC_PORT transition. */ int ossl_quic_channel_on_new_conn(QUIC_CHANNEL *ch, const BIO_ADDR *peer, - const QUIC_CONN_ID *peer_scid, const QUIC_CONN_ID *peer_dcid); /* For use by QUIC_PORT. You should not need to call this directly. */ @@ -465,9 +464,11 @@ uint64_t ossl_quic_channel_get_max_idle_timeout_peer_request(const QUIC_CHANNEL uint64_t ossl_quic_channel_get_max_idle_timeout_actual(const QUIC_CHANNEL *ch); int ossl_quic_bind_channel(QUIC_CHANNEL *ch, const BIO_ADDR *peer, - const QUIC_CONN_ID *scid, const QUIC_CONN_ID *dcid, - const QUIC_CONN_ID *odcid); + const QUIC_CONN_ID *dcid, const QUIC_CONN_ID *odcid); +void ossl_ch_reset_rx_state(QUIC_CHANNEL *ch); +uint64_t ossl_quic_channel_get_path_challenge_count(const QUIC_CHANNEL *ch); +uint64_t ossl_quic_channel_get_path_response_count(const QUIC_CHANNEL *ch); #endif #endif diff --git a/deps/openssl/openssl/include/internal/quic_fifd.h b/deps/openssl/openssl/include/internal/quic_fifd.h index 4ea7a2e0d226..a7577b212058 100644 --- a/deps/openssl/openssl/include/internal/quic_fifd.h +++ b/deps/openssl/openssl/include/internal/quic_fifd.h @@ -1,5 +1,5 @@ /* - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -83,6 +83,7 @@ int ossl_quic_fifd_pkt_commit(QUIC_FIFD *fifd, QUIC_TXPIM_PKT *pkt); void ossl_quic_fifd_set_qlog_cb(QUIC_FIFD *fifd, QLOG *(*get_qlog_cb)(void *arg), void *arg); +void ossl_quic_fifd_pkt_discard_unreliable(QUIC_FIFD *fifd, QUIC_TXPIM_PKT *tpkt); #endif #endif diff --git a/deps/openssl/openssl/include/internal/quic_stream_map.h b/deps/openssl/openssl/include/internal/quic_stream_map.h index 3d249009efa1..155fca5b84aa 100644 --- a/deps/openssl/openssl/include/internal/quic_stream_map.h +++ b/deps/openssl/openssl/include/internal/quic_stream_map.h @@ -1,5 +1,5 @@ /* - * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -298,7 +298,7 @@ struct quic_stream_st { * STOP_SENDING.] * * TODO(QUIC FUTURE): Implement the latter case (currently we - just always do STOP_SENDING). + * just always do STOP_SENDING). * * and; * @@ -314,6 +314,7 @@ struct quic_stream_st { unsigned int ready_for_gc : 1; /* Set to 1 if this is currently counted in the shutdown flush stream count. */ unsigned int shutdown_flush : 1; + unsigned int have_final_size : 1; }; #define QUIC_STREAM_INITIATOR_CLIENT 0 diff --git a/deps/openssl/openssl/include/internal/rcu.h b/deps/openssl/openssl/include/internal/rcu.h index a89794c0c8ad..b5403fbd772b 100644 --- a/deps/openssl/openssl/include/internal/rcu.h +++ b/deps/openssl/openssl/include/internal/rcu.h @@ -1,5 +1,5 @@ /* - * Copyright 2023-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2023-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -17,6 +17,8 @@ typedef void (*rcu_cb_fn)(void *data); typedef struct rcu_lock_st CRYPTO_RCU_LOCK; +typedef struct rcu_cb_item CRYPTO_RCU_CB_ITEM; + CRYPTO_RCU_LOCK *ossl_rcu_lock_new(int num_writers, OSSL_LIB_CTX *ctx); void ossl_rcu_lock_free(CRYPTO_RCU_LOCK *lock); void ossl_rcu_read_lock(CRYPTO_RCU_LOCK *lock); @@ -24,7 +26,10 @@ void ossl_rcu_write_lock(CRYPTO_RCU_LOCK *lock); void ossl_rcu_write_unlock(CRYPTO_RCU_LOCK *lock); void ossl_rcu_read_unlock(CRYPTO_RCU_LOCK *lock); void ossl_synchronize_rcu(CRYPTO_RCU_LOCK *lock); -int ossl_rcu_call(CRYPTO_RCU_LOCK *lock, rcu_cb_fn cb, void *data); +CRYPTO_RCU_CB_ITEM *ossl_rcu_cb_item_new(void); +void ossl_rcu_cb_item_free(CRYPTO_RCU_CB_ITEM *item); +void ossl_rcu_call(CRYPTO_RCU_LOCK *lock, CRYPTO_RCU_CB_ITEM *item, + rcu_cb_fn cb, void *data); void *ossl_rcu_uptr_deref(void **p); void ossl_rcu_assign_uptr(void **p, void **v); #define ossl_rcu_deref(p) ossl_rcu_uptr_deref((void **)p) diff --git a/deps/openssl/openssl/include/openssl/bn.h b/deps/openssl/openssl/include/openssl/bn.h index d210b8bddd51..b7a3cd8e2309 100644 --- a/deps/openssl/openssl/include/openssl/bn.h +++ b/deps/openssl/openssl/include/openssl/bn.h @@ -1,5 +1,5 @@ /* - * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * * Licensed under the Apache License 2.0 (the "License"). You may not use @@ -273,8 +273,8 @@ int BN_is_negative(const BIGNUM *b); int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx); -#define BN_mod(rem, m, d, ctx) BN_div(NULL, (rem), (m), (d), (ctx)) -int BN_nnmod(BIGNUM *r, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx); +#define BN_mod(rem, a, m, ctx) BN_div(NULL, (rem), (a), (m), (ctx)) +int BN_nnmod(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx); int BN_mod_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, BN_CTX *ctx); int BN_mod_add_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, diff --git a/deps/openssl/openssl/include/openssl/ssl.h.in b/deps/openssl/openssl/include/openssl/ssl.h.in index bdcc68529be5..e684f7c42975 100644 --- a/deps/openssl/openssl/include/openssl/ssl.h.in +++ b/deps/openssl/openssl/include/openssl/ssl.h.in @@ -1,7 +1,7 @@ /* * {- join("\n * ", @autowarntext) -} * - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2551,7 +2551,7 @@ SSL_as_poll_descriptor(SSL *s) __owur int SSL_session_reused(const SSL *s); __owur int SSL_is_server(const SSL *s); -__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); +__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void); int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx); void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx); unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags); diff --git a/deps/openssl/openssl/include/openssl/x509_acert.h.in b/deps/openssl/openssl/include/openssl/x509_acert.h.in index e136de04dcfe..0c5adf53b42d 100644 --- a/deps/openssl/openssl/include/openssl/x509_acert.h.in +++ b/deps/openssl/openssl/include/openssl/x509_acert.h.in @@ -1,7 +1,7 @@ /* * {- join("\n * ", @autowarntext) -} * - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -23,6 +23,10 @@ use OpenSSL::stackhash qw(generate_stack_macros); #include #include +#ifdef __cplusplus +extern "C" { +#endif + typedef struct X509_acert_st X509_ACERT; typedef struct X509_acert_info_st X509_ACERT_INFO; typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO; @@ -206,4 +210,8 @@ DECLARE_ASN1_FUNCTIONS(OSSL_AUTHORITY_ATTRIBUTE_ID_SYNTAX) -} /* clang-format on */ +#ifdef __cplusplus +} +#endif + #endif diff --git a/deps/openssl/openssl/providers/defltprov.c b/deps/openssl/openssl/providers/defltprov.c index 90655395c119..a74a048d6f76 100644 --- a/deps/openssl/openssl/providers/defltprov.c +++ b/deps/openssl/openssl/providers/defltprov.c @@ -1,5 +1,5 @@ /* - * Copyright 2019-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -377,8 +377,10 @@ static const OSSL_ALGORITHM deflt_keyexch[] = { #endif { PROV_NAMES_TLS1_PRF, "provider=default", ossl_kdf_tls1_prf_keyexch_functions }, { PROV_NAMES_HKDF, "provider=default", ossl_kdf_hkdf_keyexch_functions }, +#ifndef OPENSSL_NO_SCRYPT { PROV_NAMES_SCRYPT, "provider=default", ossl_kdf_scrypt_keyexch_functions }, +#endif { NULL, NULL, NULL } }; @@ -453,8 +455,10 @@ static const OSSL_ALGORITHM deflt_signature[] = { { PROV_NAMES_ML_DSA_87, "provider=default", ossl_ml_dsa_87_signature_functions }, #endif { PROV_NAMES_HMAC, "provider=default", ossl_mac_legacy_hmac_signature_functions }, +#ifndef OPENSSL_NO_SIPHASH { PROV_NAMES_SIPHASH, "provider=default", ossl_mac_legacy_siphash_signature_functions }, +#endif #ifndef OPENSSL_NO_POLY1305 { PROV_NAMES_POLY1305, "provider=default", ossl_mac_legacy_poly1305_signature_functions }, @@ -565,12 +569,16 @@ static const OSSL_ALGORITHM deflt_keymgmt[] = { PROV_DESCS_TLS1_PRF_SIGN }, { PROV_NAMES_HKDF, "provider=default", ossl_kdf_keymgmt_functions, PROV_DESCS_HKDF_SIGN }, +#ifndef OPENSSL_NO_SCRYPT { PROV_NAMES_SCRYPT, "provider=default", ossl_kdf_keymgmt_functions, PROV_DESCS_SCRYPT_SIGN }, +#endif { PROV_NAMES_HMAC, "provider=default", ossl_mac_legacy_keymgmt_functions, PROV_DESCS_HMAC_SIGN }, +#ifndef OPENSSL_NO_SIPHASH { PROV_NAMES_SIPHASH, "provider=default", ossl_mac_legacy_keymgmt_functions, PROV_DESCS_SIPHASH_SIGN }, +#endif #ifndef OPENSSL_NO_POLY1305 { PROV_NAMES_POLY1305, "provider=default", ossl_mac_legacy_keymgmt_functions, PROV_DESCS_POLY1305_SIGN }, diff --git a/deps/openssl/openssl/providers/fips-sources.checksums b/deps/openssl/openssl/providers/fips-sources.checksums index c0ee1bffe43e..a2f5817e26de 100644 --- a/deps/openssl/openssl/providers/fips-sources.checksums +++ b/deps/openssl/openssl/providers/fips-sources.checksums @@ -19,7 +19,7 @@ f1d8b7a3da1ec053d38be4fc776fef1e4fba328bfa2bfd928c2a2cd3b14f08ff crypto/aes/asm 290ae2a09826d24e83763415a021e328d41a163f41cff8c9e3b882e973677f33 crypto/aes/asm/aes-s390x.pl ee4e8cacef972942d2a89c1a83c984df9cad87c61a54383403c5c4864c403ba1 crypto/aes/asm/aes-sparcv9.pl 391497550eaca253f64b2aba7ba2e53c6bae7dff01583bc6bfc12e930bb7e217 crypto/aes/asm/aes-x86_64.pl -c56c324667b67d726e040d70379efba5b270e2937f403c1b5979018b836903c7 crypto/aes/asm/aesfx-sparcv9.pl +3b5ee174fa52d732d882ab4b2ffe59235d3bff66651714f32e743fcadaf1d970 crypto/aes/asm/aesfx-sparcv9.pl 14359dc32b7f4e5c08227fb9ac8f9232c1287399463b233fec4a2ab0c19f68d1 crypto/aes/asm/aesni-mb-x86_64.pl f525e1bca51d39adcd411cbf8f874fe1441b23a6f614644da78dfd8544d13b23 crypto/aes/asm/aesni-sha1-x86_64.pl 895f94d7befb90e82f9d300ed8f870e790101f30ba72b249a2c503f07aec7dd2 crypto/aes/asm/aesni-sha256-x86_64.pl @@ -86,7 +86,7 @@ efe70ef06b5d92539f8a239c98c0261d93a15b3e418ca87d97ec569da9e6e9d3 crypto/bn/asm/ 0ea8185a037a2951bb3d1e590bbbdeac305176d5e618f3e43a04c09733a9de34 crypto/bn/bn_add.c 529933a6592cf82abde515dae10db17833a16ec29cb89ec577c0a184838fe27b crypto/bn/bn_asm.c feef3a84a40034291286882d483ac23ab55631c3c93f40ba0ea98944916ff3ec crypto/bn/bn_blind.c -d3b5f02a17ba1c71261f6dad0d4785846567c8a03368d41fc1a6ee7c45aaff78 crypto/bn/bn_const.c +1b8f89064c287669a834fe032ef823796f7355ed7e6da08d6c56c0a4cd0bba01 crypto/bn/bn_const.c eee3d2710144b0e860c57e84f5adc6b2bf64fc27cbd202a8ca2630aefed3b84c crypto/bn/bn_conv.c 282f06fbdeb991d90337787c6407020e940b6d5e187a06866f1a7787c10a0c1b crypto/bn/bn_ctx.c b1b1c5fb8a45fde5755dfd5da62b68100b94f8c492c950719c108c384ea7f3c4 crypto/bn/bn_dh.c @@ -99,7 +99,7 @@ b643fdcd91ad7dfcfa97a0bb235221b024b8a77faa7890f0bcb9681ea2c64c49 crypto/bn/bn_g ff147e5e032cc7c772b73a91fc6e24d8d9516e642d29354445d1f82d64b1d924 crypto/bn/bn_kron.c df9aebbdcca87fc5715dde430687fb516d8de0dac70c8910409fb73d6dd2305b crypto/bn/bn_lib.c cd7bade0f2e223fe34f6e2f8cc87098ac8f0af96ec62ada5e67f6a2344d48ef0 crypto/bn/bn_local.h -364600145964d5154224fdda2c94ca6fdab2907837a385550b242350be7a1197 crypto/bn/bn_mod.c +b494fd85387afa7816422922e52987e0faefc3c890c972e7d4fe04f620dfc59a crypto/bn/bn_mod.c 39a8fe0bb625b4c11b74998ce6fd99b7655228aaa7d7ad3076f61741937ae14d crypto/bn/bn_mont.c c2a5230efbda6844b7b2eb10447b054496ae5029130d332536de6c3b12dc58a3 crypto/bn/bn_mpi.c 488dde761d25fb2eabd8acbea5b3b83520db7733480fab6499f60b8bf680b1ed crypto/bn/bn_mul.c @@ -176,8 +176,8 @@ b65aa613ee9f74bfc7fd00be16087c431bdf092a7e6943238eee9e54ca3adf00 crypto/ec/curv 5aa20e2a4a9ae3a30d7400f3d666238f890004c3dfb66933873e7daa0026fe3e crypto/ec/curve448/f_generic.c 81ab2c5bcf5b036f649804f494e1b2ee5d5b2f900dd56b5dc55bac04a63a57ad crypto/ec/curve448/field.h 77bc6dd8c7d14a21760eb5e0dbf336eecc78835faa2f6f846824798303109d41 crypto/ec/curve448/point_448.h -6d007474cb42b16f98059f6eea6c09ef23552049207558fe46d071a613c8a314 crypto/ec/curve448/scalar.c -c0b5e93f120c7a5e0c0aba9877a445d0f5db85440491853b182266ee5f323361 crypto/ec/curve448/word.h +e29e78402540a4eaa853b1b9931aba66be0fdf1c82c6334587a69235e42f759a crypto/ec/curve448/scalar.c +606e5f72d40cef708cb4f7bbabc00bcd2b87fc0165854ade1b55ab2c021a8df2 crypto/ec/curve448/word.h f4490c0b575b79e63a897b1e85a87ede2645a2c521e67db461b3192884450d9d crypto/ec/ec2_oct.c 5d3567b3b6d3922fd82641acff29ed12b1028e83eb0c175132ce7f3470b9db6c crypto/ec/ec2_smpl.c a1f22814f501780591da20de5e724895438094824fce440fd026850c46ad8149 crypto/ec/ec_asn1.c @@ -204,20 +204,20 @@ f38971ee893608f00d1ddd77d889aac9558509bda62d2e1b3eecd9bfa0c29095 crypto/ec/ecp_ 99571b1724562bdb06b03fe1d7f6f19ffb7f1a9df543bf74127b54948957a7ce crypto/ec/ecx_backend.c 5ee19c357c318b2948ff5d9118a626a6207af2b2eade7d8536051d4a522668d3 crypto/ec/ecx_backend.h 8e50fd1e60ad1ac824e704375096e41f4ae535e533a3334d78c481e34d9d0fb8 crypto/ec/ecx_key.c -3ba8412897cbf17881fbf23cec27a487b2c587348e1f859ec44e47f366877249 crypto/evp/asymcipher.c +ed0217e7c2049b44a454b40e7e18385eadb34bce1bcf54337f420cbf988775da crypto/evp/asymcipher.c 1f64d4752074f954af4f290788e4332e3874ba3282bd03d3e1d1f5ce4b0888bc crypto/evp/dh_support.c 0e9e206dd4b179ad09e1475949ce9ddb5bce0e0d66072477d94b7788c57e70d9 crypto/evp/digest.c 4ffc3fc5ee5f0dcadf1516f1cc29338f0f4d85c59881c06d5a777cf4e47a6d5f crypto/evp/ec_support.c 8bf5ddf1c8e352a9f9241c7275d3a8cbbd633fc0f93f609158d15aee7af5a9d0 crypto/evp/evp_enc.c 8683c25d4bcb598375a04d4682399c9eef095225b49498afe819e5193e9cc117 crypto/evp/evp_fetch.c -75855fc64e44e5bbfb728d85014c65e8b0668faee26f0901aaa729c16679dee8 crypto/evp/evp_lib.c +6d9106f27ee707814e346879fda8008b75cb5714700060f65134a4fadff1c48c crypto/evp/evp_lib.c e997e921669076c51e230ccb2e36b1c6755fe408c61b1177d2aa67529cab15f3 crypto/evp/evp_local.h 8963ef06e4d228f7067917434f60f0502dc4bbdf3b271649498b734f4074bfb0 crypto/evp/evp_rand.c 0bdae4714221662282dccd5b1f2485370d24e463c11bdbb71a310f34616954fe crypto/evp/evp_utils.c 8f4194bcc2e0de69236925aa7515bc31f36ed113dcd3cee5d71167ac770cdfdd crypto/evp/exchange.c 294284ad040fe4b74845f91b1903c961c757e1ef3fcc2ffa35f43f37f1655e64 crypto/evp/kdf_lib.c 532f0ff4ab32068f160016f39cd520fadfbd09b81b3b3b562bf543acafb38889 crypto/evp/kdf_meth.c -4e60c9e37106b9c28d646f7234d857e8520da953ed7d319531467d334b77a72e crypto/evp/kem.c +d911878128b90b98f3a4a1fb844ef3a20d35eafda3f80773dac8ce93c55bc352 crypto/evp/kem.c 84cebe10a50c88d0db12a90ad751eae43c7ba2954bc9f42f0c1490d66eac5bb8 crypto/evp/keymgmt_lib.c 80a5e310a3c3f551ca8e1992793ffbddc525274f90dbf4f36217b57acbc8bd94 crypto/evp/keymgmt_meth.c 15654f58c113d6eb7100caacd00ceae68113edfd6a921f6af1bea4040fa58f5d crypto/evp/mac_lib.c @@ -227,22 +227,22 @@ daf742357baa65ba164c8bc34044d7bf92bc1f94b010a41a315411dd0fbf4471 crypto/evp/p_l eb34179ed538e971dd4f27040bb5b17bf4e0958eaaca4abb4eb5b841486dec86 crypto/evp/pmeth_gn.c 09640d3d887c88f4989863330ce1d17516f07543155ce474e8bc4c01c152e80a crypto/evp/pmeth_lib.c ba4ff38738cbcfd3841d53a2fab92227638ceca176d3ffe50e486c9dcbabb5dd crypto/evp/s_lib.c -14fb1aa7c48123c39f762c930474318e2df6b130e3e2860ab845b5c0240b81a3 crypto/evp/signature.c +cdeabcc155b3ca14afa3dbffea7dffbec528814a126a09e4253c25bf9fad2b77 crypto/evp/signature.c 30af153213f8b008955486000c5a92507dc694c4af9ac6ed6fef3f290efa3e52 crypto/evp/skeymgmt_meth.c 64f7e366e681930ba10267272b87dba223b9744a01c27ba0504a4941802a580d crypto/ex_data.c d986ec74995b05ff65a68df320ab45894ba35d7be4906f8d78ca5fca294a4e6c crypto/ffc/ffc_backend.c f4f84cade98907fa9905334b6c3c046b430b12b1460edac0617d82ca763620ab crypto/ffc/ffc_dh.c 854378f57707e31ad02cca6eec94369f91f327288d3665713e249c12f7b13211 crypto/ffc/ffc_key_generate.c 4e973d956d4ec2087994de8e963be1a512da1441f22e6e7b9cd7ee536e3ff834 crypto/ffc/ffc_key_validate.c -e032f3d46830d31cd957e1f3917a6a663c5ad3b9d79fc3d661f025822318d0de crypto/ffc/ffc_params.c +a1e87ba5b3aca0520fdac72b7a5ba408865fb85ed142c6b76514b39cc21adac4 crypto/ffc/ffc_params.c bb208ef3a2c7ebdc518bd38f2f07a17cff356040f1c5d68eea13bd9275897a52 crypto/ffc/ffc_params_generate.c e9a500ddbe96cb5b302fd2db74fac0924a6ac45732df5ee1c09e82b19d06ccfd crypto/ffc/ffc_params_validate.c f172c8c2112ee82716a7bc3a3e05d5cc26188c66b9d768ac1ff906845063d2cc crypto/hashtable/hashfunc.c -653d1f67e01ce0e9dca48cf513df9e8864a0985ce9bfb094fc3f09d591e6f062 crypto/hashtable/hashtable.c +ed523d9793ff9db947857bca354067d17b8de5a4b28604dbf902320e62d93e33 crypto/hashtable/hashtable.c 7a9af0b14f1463b36de0689bc434a318adcb7990bb23862bf1d2a0adf510583a crypto/hmac/hmac.c 907dd44e0bf873eebefcb4d82975b72ecec9e0f3c348c79314450fdaa78d4073 crypto/hmac/hmac_local.h 0e2d6129504d15ffaf5baa63158ccec0e4b6193a8275333956d8f868ef35127e crypto/ia64cpuid.S -c685813be6ad35b0861ba888670ef54aa2b399d003472698e39426de6e52db59 crypto/initthread.c +29c020cf599c24ef9969a42e00e690a7b463c20dd90356b0a4117ca31b13db6f crypto/initthread.c 75cb26369ee61de428f1ce982460fe193684b8f87d8f29169329262502fa88af crypto/lhash/lhash.c 22261096a117533e78012f5f18586b6a81edb3e09ae8b206b5eb9a0a5c054adc crypto/lhash/lhash_local.h 899ba6a9049a61d5b175637907f747f58863cd8950409cefac8fbc8f574f970c crypto/loongarch64cpuid.pl @@ -250,7 +250,7 @@ c685813be6ad35b0861ba888670ef54aa2b399d003472698e39426de6e52db59 crypto/initthr f866aafae928db1b439ac950dc90744a2397dfe222672fe68b3798396190c8b0 crypto/mem_clr.c 23ff635daa1a3149e14de6c2a41b82a7587801581bdf39b8a82e9c624da95471 crypto/ml_dsa/ml_dsa_encoders.c 825105b0a2c4844b2b4229001650ff7e61e1348e52f1072210f70b97cd4adb71 crypto/ml_dsa/ml_dsa_hash.h -6f241cb093fd426607d8402258acc81a4054e5c35d7bb13138f0d23a128b3413 crypto/ml_dsa/ml_dsa_key.c +2fbef0188a8606c56f2ffffecfbbbd13ccd454c2af949d6e37fb7c929974f1d4 crypto/ml_dsa/ml_dsa_key.c 579c1a12a5c5f014476a6bf695dc271f63074fb187e23ffc3f9ccb5b7ea044f1 crypto/ml_dsa/ml_dsa_key.h 3f98eb0467033d0a40867ef1c1036dcfea5d231eeac2321196f7d7c7243edace crypto/ml_dsa/ml_dsa_key_compress.c 170292bfc8761e39b688ccfb21b3660af6e1a875aa38ff7448cc22f71f5874c5 crypto/ml_dsa/ml_dsa_local.h @@ -290,17 +290,17 @@ ca4be187fc1805d498f2adb823509f0519e214644029c18d331b5b01a0891a9d crypto/modes/c 2a0ab07286b70ce4aa0caf3b5b4be2c00eed3a6d855e9542ae94d0e1f586b1e3 crypto/modes/ctr128.c 59be0f955b16434efc2618109a01571884c6876af785f1db5dad69786124b341 crypto/modes/gcm128.c b431ff38c3a85943f71be0d76b063dbe2930967629b8721465b8152ab7867296 crypto/modes/ofb128.c -02e7659d8776f5885ebbc25b930ddec046262f92c9e8fa7e093f2a6a8d973a3b crypto/modes/wrap128.c +c5674daa4bbe66c2ac8044f83df67ddff8e0585ae091adde9ffe083f64e92a29 crypto/modes/wrap128.c 0a10e0cae6f4ac164afe97a64df09c8412145c8a25f387ff3a53ff7495572cbc crypto/modes/xts128.c 9a34ad9ae361f689b0b98c454092e89567d0bfc969c08a14c8001e60976920b2 crypto/modes/xts128gb.c 515e110e01867d6527bec758a264473b62cb7edff213816e2197faf6e96ec048 crypto/o_str.c 44594139dab6ada1f34f9c6887c97e258c1204b833a6c20f58097f17d0f1645e crypto/packet.c -a108cacd961b0e5a95d279c737926afa4636d8b89a2a912593b01916ea3ce43d crypto/param_build.c -cae7bd4973d36edbdc3bdd8d2c8d157f2c4fcfae00fdf821b67aebb789bc8aa6 crypto/param_build_set.c +671b4c1211bd55bae70a2a2d1eca0c9c25a4428c30311ea9511427e345d5ab64 crypto/param_build.c +d4fb8ecfed73be390c269bd16c76c1a9db6425d6d35787302b3b4c57e465b3db crypto/param_build_set.c d362864eab6707ba2f4efd65c91dd90d669721f2d8fdebc875fd1d2957154396 crypto/params.c c0e0ba07ca5d4acfe450e4ae53a10ed254097ed2f537f01a4a43a9f5b5cab501 crypto/params_dup.c fc2432f5a76784d4ca47db1803c8b19acbaea26987f8e33dd8cc5571f8101b40 crypto/params_from_text.c -f50450f7e5f6896fb8e3cde2fdc11cc543124c854ef9d88252a166606ca80081 crypto/params_idx.c +ed6956c34da5127fbf8f1a067654b617c261039743a12fd1d296a1dd01b05c26 crypto/params_idx.c.in 1a81e7483e250ef96f7024f75be884b8830801b47cbdb2d4159637666681b350 crypto/ppccap.c 46fa4994a6234a98a2845d9337475913f6bc229f1928abc82224de7edf2784b8 crypto/ppccpuid.pl 42eff8da564cd8004f2d17fb01686d24977d931c37c7e6de693e7d414c2d7914 crypto/property/defn_cache.c @@ -393,7 +393,7 @@ dfd99e02830973ab349409ac6ba0ee901ba7736216030965bd7e5a54356abd7c crypto/slh_dsa c9b270de1259d9fa71a4d352786357bcf1dd3d22075edab84501e2f8e550b271 crypto/slh_dsa/slh_adrs.h 95d42ca839ff34a050a7006734a06c157ad259512c1a10b978e9f899efe69f12 crypto/slh_dsa/slh_dsa.c ab7b580b1cba302c5675918b457794a3b3d00aac42297312d9447bc6f6a40b09 crypto/slh_dsa/slh_dsa_hash_ctx.c -6a68c788eee184862cf90676324750fd4f17ca666b628ebc69b3b510d19ba819 crypto/slh_dsa/slh_dsa_key.c +892a5ed5213c0898882bfc42f72be2864b363cd62d08a3b337c20b4fa557bef0 crypto/slh_dsa/slh_dsa_key.c 4c7981f7db69025f52495c549fb3b3a76be62b9e13072c3f3b7f1dedeaf8cc91 crypto/slh_dsa/slh_dsa_key.h 5dcb631891eb6afcd27a6b19d2de4d493c71dab159e53620d86d9b96642e97e8 crypto/slh_dsa/slh_dsa_local.h adb3f4dea52396935b8442df7b36ed99324d3f3e8ce3fdf714d6dfd683e1f9f0 crypto/slh_dsa/slh_fors.c @@ -415,9 +415,9 @@ cb214ad206ea69ab98d24a727a47d3a4c614fce709e6b7fe6997dbaeed92f0fc crypto/thread/ f06b08138d73b834471abc4a3ba43b2be838f7196c937c3e933694d6cd69f74d crypto/thread/arch/thread_win.c 55953eb5a84d03e8d915ee867ddf8ec8be8c5eb444ea0b21b12a040a57e2c2c1 crypto/thread/internal.c 2e5955d706b96c487e4875ffbe208fac15bdca06b33cee916d5343978c14efa1 crypto/threads_lib.c -ca77056d184232d6fcfe39328ab0b887a4fc939913209717fca65898ebbd45c0 crypto/threads_none.c -021afe4321ff954f3f4dd1b1d07a5e3e7778f7bccfaede08fab193d5752d9740 crypto/threads_pthread.c -1915c5e3de649873745479df5cc365c38cf56ecb2fa21be6a053055f97013dce crypto/threads_win.c +b3743dfd1c13fe70dc57a5a0b2ec540ab3afa748699eb6ef36f56f4d36d06ef3 crypto/threads_none.c +7b97b0f57f6b7cac89c1b8bd03bee34fb39d33cfae1632e75571ba106a5b9442 crypto/threads_pthread.c +9dac146cda57fb53d9b9eb30ff1fc81090f5e62dbe05d4cd97ed11cf501fc78c crypto/threads_win.c 93f8fe09f96492a6be6772ddbf0cc37912fc2a90acb7faea378da1735fe20f6f crypto/time.c 88c5f9f4d2611223d283ebd2ae10ae5ecbb9972d00f747d93fcb74b62641e3f9 crypto/x86_64cpuid.pl 085d9fe93adf232f1ff838be9235046c2c2abe2daeb0e6342921d8f2e955dc18 crypto/x86cpuid.pl @@ -455,7 +455,7 @@ fd5e610fe38804f5de05931706b8efc717663a892f74aa6aee30301ff5e31a25 include/intern d32565e2b426131dc2415e60a97c94570ca982d29ddd97d2e23d6b9f73b1d81c include/internal/common.h 8aa995b12b9fa877110526d5861a7c3403b95aa9d6338e7c3556c54882bad73b include/internal/constant_time.h 5170643b2ca16e894d94c9e9fcf8bd80843de0b6539b31b14bf0e4dcaff3f2a9 include/internal/core.h -76dd589374b0cab4c0e1f84b576348113754068c1782ddc6cdba0bd483c79884 include/internal/cryptlib.h +4295b7a3f366f5500cee45b0716fded3d9895b9efe6b8b6090efc5be000450d4 include/internal/cryptlib.h cd215e01800987b008be87ccf85823fc98be0c578262a7720cbb6e9ac3dd81fa include/internal/deprecated.h 178940dc972f22a8a481a16fd63a86e7468e88cbaa1db5fd68c2b1ae64cb6865 include/internal/der.h 0dba4a6565caebfef82a8dc90d6ba208b2c61445123724769d5ee84ebbb0a610 include/internal/deterministic_nonce.h @@ -479,7 +479,7 @@ eef3ec603b9877bd24a8fa1dbcd7752618fa74943b045515720bb0ca61394ae5 include/intern ee75ecd35b3ae90c51ace957ab7ce06de3c7d5064b97a878241ff65cc943a6db include/internal/property.h 7aeac9a78efb9ea5147f639cd474e6c2538acc1b9d255ba19dc661fe22bcd94d include/internal/propertyerr.h 5b108c19f064ec47fffe1b3fe310d4693b6db3920b8cc2e5dc05595751ab0f3b include/internal/provider.h -57b423f051395b14b52a5564dc6e4953765efc5539cee1ba01b35779e1408007 include/internal/rcu.h +097ff0f3c25c99df484ec9defca0834fcbdab81ee7e4f40ddc64b95e845dc794 include/internal/rcu.h b6e33da6011b2b74d27e39f27cf98e6f123fe47826562b6479d0dbd5c758c4c2 include/internal/refcount.h f77c0844cc44bd92965647cd8cb6addb210f0300a8d1090da8c26e4382e87c2c include/internal/safe_math.h 7d5f4c3db807f108096590f28dd1ae92c05b2af25f827309157e727abb783e7a include/internal/sha3.h @@ -500,7 +500,7 @@ a8fa7ddc1e54ca296bda9ee05a7a39bb7e803eb0567cc75a9b949b80cada7552 include/intern 77a9f9595cee6448c6217a8388127593a34a0d0a585197a5f8100fcb792f76ec include/openssl/asn1t.h.in 1af8a6c86dedb83887e9baae99ea7dba6576eeb6a991f62865b10d5efdd9d6fa include/openssl/bio.h.in 40491414172d977a4667589fa2f269d7deaae675555b8348d96f315d1a6253bb include/openssl/bioerr.h -ab010281395418d482e30ddad9510e470c3420aea0c30f9072e3dc8516ac3037 include/openssl/bn.h +bbf263e1e83951f12893f063fc7dd1e2c03773f109ee2262111b61b0a05fd696 include/openssl/bn.h c506c9bfbac7368335fb2a8a627755ce2b8547a251d885242a89c9f8ff3bf079 include/openssl/bnerr.h c70499c9109b083beb69d1b17807266b041d0ff28694d5bc1ab7cf2a59331c39 include/openssl/buffer.h 5bce6559638266f060eaa16b3b90738bbd5292d62230b6b3b1e22b88836a5030 include/openssl/buffererr.h @@ -618,7 +618,7 @@ f2581d7b4e105f2bb6d30908f3c2d9959313be08cec6dbeb49030c125a7676d3 providers/fips 7b80823bb5613e17e8576789ec77712d89c81e7beb6ce50b58037e925e465abd providers/fips/include/fipscommon.h c00c429b0e022db3ef9b08b3400627a1f268fb071e84d0538fb68c060da6a3db providers/fips/self_test.c 5c2c6c2f69e2eb01b88fa35630f27948e00dd2c2fd351735c74f34ccb2005cbe providers/fips/self_test.h -df83c901ad13675fbbb4708b6087feba6099870ad3dd0e8d09cfdb6798419770 providers/fips/self_test_data.inc +b2fbcd63fa91f8179e94a045bc1981e2b009f9d587b59559a1e0e7e85f28036d providers/fips/self_test_data.inc aab0bbdaa8e70f6cf9c3871d62b1efc6029cbe386c5d6318d7bc730da0fa8f19 providers/fips/self_test_kats.c d942921caa433ae9e62959b0ad1caad277b50d005ffc439c6d0e7b0886dba882 providers/implementations/asymciphers/rsa_enc.c c2f1b12c64fc369dfc3b9bc9e76a76de7280e6429adaee55d332eb1971ad1879 providers/implementations/ciphers/cipher_aes.c @@ -639,7 +639,7 @@ be18c20e0197f25fe7b9e0268657a2271a69d216b89cb100f082fa5fcaad1e07 providers/impl 60c4f604cf9b5457be48f31cc24ca21729660381081b2dbf99f362a013a09684 providers/implementations/ciphers/cipher_aes_gcm_hw_vaes_avx512.inc e2886780637db72b12c9bc488d81647ed55a7f5c850efd4bdbf88ef7127e1913 providers/implementations/ciphers/cipher_aes_hw.c 89de794c090192459d99d95bc4a422e7782e62192cd0fdb3bdef4128cfedee68 providers/implementations/ciphers/cipher_aes_hw_aesni.inc -d95dde2258887edca985237a0623855b49dd9e93d21407e9fcfe33497513be4c providers/implementations/ciphers/cipher_aes_ocb.c +eac58fff6aa9918d657228c2707f1b3f0ef8f1210c97575f3c264db78bfd996f providers/implementations/ciphers/cipher_aes_ocb.c 88138a1aff9705e608c0557653be92eb4de65b152555a2b79ec8b2a8fae73e8f providers/implementations/ciphers/cipher_aes_ocb.h 6c3a89771719b36d6917d23464be5441836378393731af96ba165fd788df1a41 providers/implementations/ciphers/cipher_aes_ocb_hw.c c7aac28a9dca1ad46e5bce4de93e07dffec1f89fab82394c3ff7cf1bda8b483f providers/implementations/ciphers/cipher_aes_wrp.c @@ -664,7 +664,7 @@ c4b1cb143de15acc396ce2e03fdd165defd25ebc831de9cdfacf408ea883c666 providers/impl 39b47b6ef9d71852964c26e07ef0e9b23f04c7493b1b16ba7c3dba7074b6b70d providers/implementations/digests/digestcommon.c ae449102b3434800656536ed7ede4a2786ec97350c01df8c45d0431c12e9e700 providers/implementations/digests/sha2_prov.c 20ae19c3d85d2e02780948c52ff5c2fd8e2593a001897ca47a47d23280dd579d providers/implementations/digests/sha3_prov.c -3209da8f0fe174de1d7a1b1397902725e1c758ca8a0208a69cb32bc884de1874 providers/implementations/exchange/dh_exch.c +5b2e4b63e416cc9cd81c27f7acd547df1c580838ac2051d6db56fa9d5569cc8f providers/implementations/exchange/dh_exch.c e1b33fcc05c60254849b9a01e416885ce93ea9e315b9877ac7ab420003b2ec3c providers/implementations/exchange/ecdh_exch.c d44c5a6d3156392757415f34afc1ab164fb0e9cd1e97977386d7cd13f3555df5 providers/implementations/exchange/ecx_exch.c b1115636f53bf70f417b183cafeb6d38e230d11d8de731e6896ba60cc850d931 providers/implementations/exchange/kdf_exch.c @@ -675,7 +675,7 @@ af38be5b3d16c3ced0028bc9b3fbe957a6a817e23967bacc7df65566ba107edb providers/impl 35596c97faf324823d19a01e1b5674c7a15f1a6e7ff1ef1c7d46400c2a68f63b providers/implementations/include/prov/digestcommon.h 1baf1c06b20a0eb8ec271452544922d67c1cc168dbe9853b259191de4bd99918 providers/implementations/include/prov/ecx.h b0d1f6fc3c9220fe6d4656e487bad8df16b6f840054018b95b2752ea9aef822d providers/implementations/include/prov/hmac_drbg.h -042271e95dd1e275027f84c87f56388a4daf44bbe5fcd694643f67fd711dd6af providers/implementations/include/prov/implementations.h +3542340567e409ab68be299aac67cdb1045ab8e8987023d4fc3c209c9779a0ba providers/implementations/include/prov/implementations.h 05eedab6b16c80025f72281fa619d9480c437b800cb821b761fe4c05bc9d3af0 providers/implementations/include/prov/kdfexchange.h 4014246d44fa3f34aad5372c75d3f7eea528f1cf1798e30d5627e7620a356631 providers/implementations/include/prov/macsignature.h b41c9a4e90d951a2d0e796b1cbbdbe8cb6fc18306d9b70be7a489249c11c294a providers/implementations/include/prov/ml_dsa.h @@ -699,12 +699,12 @@ aa13d72bc69a374db72b6d44e2f2c2ddd5f7bddbe16b950e3c4666d876c63735 providers/impl c0446d1b2101ddd977063516b87d23f424cdca33473f293db4c3974b674169b0 providers/implementations/keymgmt/dsa_kmgmt.c 2b98ba2124a86eae2adc7b88bfa26e47b548e9628b99180cc2cd841eed5ed8da providers/implementations/keymgmt/ec_kmgmt.c 258ae17bb2dd87ed1511a8eb3fe99eed9b77f5c2f757215ff6b3d0e8791fc251 providers/implementations/keymgmt/ec_kmgmt_imexport.inc -f0a1b4c6599e6555c5784d6c036d2aae04cd01cd8d73a927505041e7df25125c providers/implementations/keymgmt/ecx_kmgmt.c +167cd7df056bf46f3481cf6101fb6cfca55dea592f896c2b29649df1939885c4 providers/implementations/keymgmt/ecx_kmgmt.c daf35a7ab961ef70aefca981d80407935904c5da39dca6692432d6e6bc98759d providers/implementations/keymgmt/kdf_legacy_kmgmt.c 69b509e9c7fe9692622d1059917c3adb991c0047e11bc116f0a393a3a0539445 providers/implementations/keymgmt/mac_legacy_kmgmt.c 3c63e65bd1a6a2e853828205c015a50c38a82f2fee9bf6787dce6dab7331bb91 providers/implementations/keymgmt/ml_dsa_kmgmt.c -30db36c6fe6b4449179488da1761e219d0c772a8fb8e74c8411d1e0f57e4aed2 providers/implementations/keymgmt/ml_kem_kmgmt.c -01d75c1eba93ed23f98130d6c308550d0ab2e44c5651101628861bc0238623d0 providers/implementations/keymgmt/mlx_kmgmt.c +5c95eb8192483b2d81435e52aef6b2c96180bb22a67f717c29661a13b5861b02 providers/implementations/keymgmt/ml_kem_kmgmt.c +f37c8b7bb59d4b199889044992cb1b18ad39f2eafc87029f5348c55a95195e8c providers/implementations/keymgmt/mlx_kmgmt.c cd4b8129eaccbd77f9b6c725d3cb57b71109c4649115ec786b6495100afaddf2 providers/implementations/keymgmt/rsa_kmgmt.c d640cff1c46911b69866eb83f48beba42a1741bb1d3f1db6e7201077a57761fc providers/implementations/keymgmt/slh_dsa_kmgmt.c 9d02d481b9c7c0c9e0932267d1a3e1fef00830aaa03093f000b88aa042972b9f providers/implementations/macs/cmac_prov.c @@ -723,8 +723,8 @@ d10d611713a6d9aa5cdbe636f1ba90404043431fd1df01fc1a1ce8499bf96ad0 providers/impl a837f69cb1aa5d0327372e26a63a8492b6ffb1156325f66e880c202011d07cbe providers/implementations/signature/eddsa_sig.c e0e67e402ff19b0d2eb5228d7ebd70b9477c12595ac34d6f201373d7c8a516f4 providers/implementations/signature/mac_legacy_sig.c 51251a1ca4c0b6faea059de5d5268167fe47565163317177d09db39978134f78 providers/implementations/signature/ml_dsa_sig.c -108a32d14483773f7e247f8a77dfcce08a682642d40b4e8e1594515a1fb31f98 providers/implementations/signature/rsa_sig.c -14e7640b4db5e59e29b0266256d3d821adf871afa9703e18285f2fc957ac5971 providers/implementations/signature/slh_dsa_sig.c +94725f9e466c60c710900ca9878196f359e8421f46d5fb62fda91f5f845caff3 providers/implementations/signature/rsa_sig.c +539d3f55b8fd28826c786cb4e5c0e735173dc0faf268527ea007052be623cd37 providers/implementations/signature/slh_dsa_sig.c 21f537f9083f0341d9d1b0ace090a8d8f0b2b9e9cf76771c359b6ea00667a469 providers/implementations/skeymgmt/aes_skmgmt.c 2dbf9b8e738fad556c3248fb554ff4cc269ade3c86fa3d2786ba9b6d6016bf22 providers/implementations/skeymgmt/generic.c 9ba8db9b0e18847ef79ecb77fbc383d8762694be29dfb7d269df6f02dc977222 providers/implementations/skeymgmt/skeymgmt_lcl.h diff --git a/deps/openssl/openssl/providers/fips.checksum b/deps/openssl/openssl/providers/fips.checksum index 8e36de6cf707..7d8252550bd4 100644 --- a/deps/openssl/openssl/providers/fips.checksum +++ b/deps/openssl/openssl/providers/fips.checksum @@ -1 +1 @@ -541f8f3eafccc78db022af2226f0d6501b43a3d96e2e23fd7dffb29a80d218b8 providers/fips-sources.checksums +f24213807982cf5d2859d5d1b78caa54c249ec28725645d1af28f092d543962d providers/fips-sources.checksums diff --git a/deps/openssl/openssl/providers/fips.module.sources b/deps/openssl/openssl/providers/fips.module.sources index 03b97bf807f5..5ee6c0dab204 100644 --- a/deps/openssl/openssl/providers/fips.module.sources +++ b/deps/openssl/openssl/providers/fips.module.sources @@ -300,7 +300,7 @@ crypto/param_build_set.c crypto/params.c crypto/params_dup.c crypto/params_from_text.c -crypto/params_idx.c +crypto/params_idx.c.in crypto/ppccap.c crypto/ppccpuid.pl crypto/property/defn_cache.c diff --git a/deps/openssl/openssl/providers/fips/self_test_data.inc b/deps/openssl/openssl/providers/fips/self_test_data.inc index 6abab0a7a173..4a0ce24cbb31 100644 --- a/deps/openssl/openssl/providers/fips/self_test_data.inc +++ b/deps/openssl/openssl/providers/fips/self_test_data.inc @@ -1,5 +1,5 @@ /* - * Copyright 2019-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -913,114 +913,113 @@ static const ST_KAT_DRBG st_kat_drbg_tests[] = #ifndef OPENSSL_NO_DH /* DH KAT */ static const unsigned char dh_priv[] = { - 0x14, 0x33, 0xe0, 0xb5, 0xa9, 0x17, 0xb6, 0x0a, - 0x30, 0x23, 0xf2, 0xf8, 0xaa, 0x2c, 0x2d, 0x70, - 0xd2, 0x96, 0x8a, 0xba, 0x9a, 0xea, 0xc8, 0x15, - 0x40, 0xb8, 0xfc, 0xe6 + 0x01, 0x14, 0xf7, 0x53, 0x7a, 0x2e, 0xc7, 0x08, + 0x2e, 0x36, 0xf7, 0x38, 0x7a, 0xc9, 0xe4, 0x5b, + 0xac, 0x68, 0xc7, 0xf7, 0x20, 0x8d, 0xf0, 0x8a, + 0xee, 0x96, 0x67, 0x92, 0x8a }; static const unsigned char dh_pub[] = { - 0x00, 0x8f, 0x81, 0x67, 0x68, 0xce, 0x97, 0x99, - 0x7e, 0x11, 0x5c, 0xad, 0x5b, 0xe1, 0x0c, 0xd4, - 0x15, 0x44, 0xdf, 0xc2, 0x47, 0xe7, 0x06, 0x27, - 0x5e, 0xf3, 0x9d, 0x5c, 0x4b, 0x2e, 0x35, 0x05, - 0xfd, 0x3c, 0x8f, 0x35, 0x85, 0x1b, 0x82, 0xdd, - 0x49, 0xc9, 0xa8, 0x7e, 0x3a, 0x5f, 0x33, 0xdc, - 0x8f, 0x5e, 0x32, 0x76, 0xe1, 0x52, 0x1b, 0x88, - 0x85, 0xda, 0xa9, 0x1d, 0x5f, 0x1c, 0x05, 0x3a, - 0xd4, 0x8d, 0xbb, 0xe7, 0x46, 0x46, 0x1e, 0x29, - 0x4b, 0x5a, 0x02, 0x88, 0x46, 0x94, 0xd0, 0x68, - 0x7d, 0xb2, 0x9f, 0x3a, 0x3d, 0x82, 0x05, 0xe5, - 0xa7, 0xbe, 0x6c, 0x7e, 0x24, 0x35, 0x25, 0x14, - 0xf3, 0x45, 0x08, 0x90, 0xfc, 0x55, 0x2e, 0xa8, - 0xb8, 0xb1, 0x89, 0x15, 0x94, 0x51, 0x44, 0xa9, - 0x9f, 0x68, 0xcb, 0x90, 0xbc, 0xd3, 0xae, 0x02, - 0x37, 0x26, 0xe4, 0xe9, 0x1a, 0x90, 0x95, 0x7e, - 0x1d, 0xac, 0x0c, 0x91, 0x97, 0x83, 0x24, 0x83, - 0xb9, 0xa1, 0x40, 0x72, 0xac, 0xf0, 0x55, 0x32, - 0x18, 0xab, 0xb8, 0x90, 0xda, 0x13, 0x4a, 0xc8, - 0x4b, 0x7c, 0x18, 0xbc, 0x33, 0xbf, 0x99, 0x85, - 0x39, 0x3e, 0xc6, 0x95, 0x9b, 0x48, 0x8e, 0xbe, - 0x46, 0x59, 0x48, 0x41, 0x0d, 0x37, 0x25, 0x94, - 0xbe, 0x8d, 0xf5, 0x81, 0x52, 0xf6, 0xdc, 0xeb, - 0x98, 0xd7, 0x3b, 0x44, 0x61, 0x6f, 0xa3, 0xef, - 0x7b, 0xfe, 0xbb, 0xc2, 0x8e, 0x46, 0x63, 0xbc, - 0x52, 0x65, 0xf9, 0xf8, 0x85, 0x41, 0xdf, 0x82, - 0x4a, 0x10, 0x2a, 0xe3, 0x0c, 0xb7, 0xad, 0x84, - 0xa6, 0x6f, 0x4e, 0x8e, 0x96, 0x1e, 0x04, 0xf7, - 0x57, 0x39, 0xca, 0x58, 0xd4, 0xef, 0x5a, 0xf1, - 0xf5, 0x69, 0xc2, 0xb1, 0x5c, 0x0a, 0xce, 0xbe, - 0x38, 0x01, 0xb5, 0x3f, 0x07, 0x8a, 0x72, 0x90, - 0x10, 0xac, 0x51, 0x3a, 0x96, 0x43, 0xdf, 0x6f, - 0xea + 0x07, 0x21, 0x4b, 0x8d, 0x23, 0x75, 0x50, 0x84, + 0xaa, 0xec, 0x2f, 0xac, 0xae, 0x2a, 0xf4, 0xc1, + 0x25, 0xca, 0x0b, 0xee, 0x20, 0xaf, 0x3a, 0x2f, + 0xda, 0xf9, 0x5f, 0xce, 0x01, 0xb9, 0xd9, 0xc4, + 0x5f, 0x7c, 0xba, 0xd8, 0x46, 0xc6, 0xee, 0x0a, + 0x53, 0x80, 0x9d, 0x5c, 0x22, 0x75, 0xa9, 0xe5, + 0x3d, 0xfe, 0x31, 0x60, 0x4a, 0xe6, 0xd5, 0x18, + 0x02, 0x19, 0x0a, 0x80, 0xcd, 0x38, 0x35, 0x71, + 0x63, 0xe3, 0x1d, 0xe8, 0x96, 0xdb, 0x5e, 0x5b, + 0x23, 0x2f, 0x70, 0x5f, 0x4a, 0xf0, 0xf7, 0xf4, + 0xe8, 0x1f, 0x44, 0x5a, 0x4f, 0x22, 0xc5, 0x8b, + 0xc3, 0xc6, 0x48, 0x93, 0x50, 0xe1, 0x0f, 0x2f, + 0x73, 0xb9, 0xeb, 0xba, 0xe4, 0x8e, 0x35, 0x5c, + 0x67, 0xcf, 0xf8, 0xb0, 0x83, 0x19, 0xf3, 0xdb, + 0xb8, 0x80, 0xbc, 0x65, 0xcb, 0x8f, 0x91, 0x69, + 0x76, 0x06, 0xd9, 0xd7, 0xc1, 0x2b, 0xf9, 0x15, + 0x6b, 0x71, 0x76, 0x1e, 0xc8, 0x29, 0xb2, 0xc2, + 0x02, 0xc7, 0xef, 0x75, 0x74, 0x0f, 0xe6, 0x74, + 0x4a, 0x0b, 0x67, 0xbd, 0xa9, 0x44, 0x27, 0xa9, + 0x67, 0xf9, 0xbf, 0x6c, 0x97, 0xcf, 0xa3, 0x8b, + 0x1b, 0x74, 0x02, 0x45, 0x10, 0xf4, 0x0d, 0x6c, + 0x7b, 0x9d, 0x6c, 0xb9, 0xf9, 0xc9, 0xf5, 0x1a, + 0xb9, 0xe4, 0xc9, 0x44, 0xff, 0xaa, 0x20, 0xf2, + 0x73, 0xd0, 0x2e, 0xc9, 0xeb, 0xba, 0x19, 0x1a, + 0x22, 0xe8, 0x82, 0x3d, 0x15, 0x24, 0xa5, 0x39, + 0x9d, 0x9b, 0x1b, 0xf5, 0xb0, 0x4f, 0x06, 0xc0, + 0x87, 0x90, 0x8d, 0xcf, 0x19, 0xb5, 0xd5, 0xad, + 0xd4, 0x17, 0x9a, 0x94, 0x75, 0x42, 0xa1, 0xf3, + 0x35, 0x99, 0x3a, 0x1f, 0x68, 0x1c, 0x40, 0x52, + 0x7b, 0x5e, 0x39, 0xd5, 0x76, 0xdd, 0x18, 0x49, + 0xfc, 0xf2, 0x3c, 0x9c, 0x0e, 0x44, 0xa5, 0xc1, + 0x5a, 0x06, 0x46, 0x90, 0x13, 0x34, 0x04, 0x4f }; static const unsigned char dh_peer_pub[] = { - 0x1f, 0xc1, 0xda, 0x34, 0x1d, 0x1a, 0x84, 0x6a, - 0x96, 0xb7, 0xbe, 0x24, 0x34, 0x0f, 0x87, 0x7d, - 0xd0, 0x10, 0xaa, 0x03, 0x56, 0xd5, 0xad, 0x58, - 0xaa, 0xe9, 0xc7, 0xb0, 0x8f, 0x74, 0x9a, 0x32, - 0x23, 0x51, 0x10, 0xb5, 0xd8, 0x8e, 0xb5, 0xdb, - 0xfa, 0x97, 0x8d, 0x27, 0xec, 0xc5, 0x30, 0xf0, - 0x2d, 0x31, 0x14, 0x00, 0x5b, 0x64, 0xb1, 0xc0, - 0xe0, 0x24, 0xcb, 0x8a, 0xe2, 0x16, 0x98, 0xbc, - 0xa9, 0xe6, 0x0d, 0x42, 0x80, 0x86, 0x22, 0xf1, - 0x81, 0xc5, 0x6e, 0x1d, 0xe7, 0xa9, 0x6e, 0x6e, - 0xfe, 0xe9, 0xd6, 0x65, 0x67, 0xe9, 0x1b, 0x97, - 0x70, 0x42, 0xc7, 0xe3, 0xd0, 0x44, 0x8f, 0x05, - 0xfb, 0x77, 0xf5, 0x22, 0xb9, 0xbf, 0xc8, 0xd3, - 0x3c, 0xc3, 0xc3, 0x1e, 0xd3, 0xb3, 0x1f, 0x0f, - 0xec, 0xb6, 0xdb, 0x4f, 0x6e, 0xa3, 0x11, 0xe7, - 0x7a, 0xfd, 0xbc, 0xd4, 0x7a, 0xee, 0x1b, 0xb1, - 0x50, 0xf2, 0x16, 0x87, 0x35, 0x78, 0xfb, 0x96, - 0x46, 0x8e, 0x8f, 0x9f, 0x3d, 0xe8, 0xef, 0xbf, - 0xce, 0x75, 0x62, 0x4b, 0x1d, 0xf0, 0x53, 0x22, - 0xa3, 0x4f, 0x14, 0x63, 0xe8, 0x39, 0xe8, 0x98, - 0x4c, 0x4a, 0xd0, 0xa9, 0x6e, 0x1a, 0xc8, 0x42, - 0xe5, 0x31, 0x8c, 0xc2, 0x3c, 0x06, 0x2a, 0x8c, - 0xa1, 0x71, 0xb8, 0xd5, 0x75, 0x98, 0x0d, 0xde, - 0x7f, 0xc5, 0x6f, 0x15, 0x36, 0x52, 0x38, 0x20, - 0xd4, 0x31, 0x92, 0xbf, 0xd5, 0x1e, 0x8e, 0x22, - 0x89, 0x78, 0xac, 0xa5, 0xb9, 0x44, 0x72, 0xf3, - 0x39, 0xca, 0xeb, 0x99, 0x31, 0xb4, 0x2b, 0xe3, - 0x01, 0x26, 0x8b, 0xc9, 0x97, 0x89, 0xc9, 0xb2, - 0x55, 0x71, 0xc3, 0xc0, 0xe4, 0xcb, 0x3f, 0x00, - 0x7f, 0x1a, 0x51, 0x1c, 0xbb, 0x53, 0xc8, 0x51, - 0x9c, 0xdd, 0x13, 0x02, 0xab, 0xca, 0x6c, 0x0f, - 0x34, 0xf9, 0x67, 0x39, 0xf1, 0x7f, 0xf4, 0x8b + 0x82, 0x32, 0x3a, 0x03, 0x60, 0x05, 0x11, 0xce, + 0x4b, 0xb3, 0xb6, 0x69, 0x0a, 0x75, 0x88, 0x73, + 0x42, 0x74, 0x8e, 0x54, 0xc9, 0x7c, 0xcf, 0xe9, + 0xfd, 0x85, 0x42, 0x33, 0xc1, 0x8a, 0x1b, 0x07, + 0x82, 0x26, 0x13, 0x1f, 0xe1, 0x74, 0x8c, 0x10, + 0x45, 0x9e, 0xf2, 0x50, 0xdf, 0x39, 0x55, 0x58, + 0x0b, 0xea, 0xc9, 0x1f, 0xae, 0x3e, 0xfb, 0xec, + 0x52, 0x5c, 0x4e, 0x69, 0x85, 0x83, 0x8d, 0x04, + 0x23, 0xaf, 0x6e, 0x33, 0x73, 0x96, 0x5e, 0xf8, + 0x05, 0xa3, 0x5b, 0xee, 0xe4, 0xf2, 0x8c, 0x03, + 0x59, 0xd2, 0x98, 0x78, 0xb3, 0xe3, 0xf5, 0x44, + 0xb6, 0x3d, 0x2a, 0x51, 0xf0, 0xcb, 0x29, 0x29, + 0x1b, 0x0e, 0xbc, 0xb1, 0xb4, 0x80, 0x8c, 0xbc, + 0xdf, 0x9c, 0x32, 0xcf, 0xbc, 0xe8, 0x18, 0x27, + 0xd7, 0x74, 0x9e, 0xa8, 0xed, 0x87, 0xb9, 0x4d, + 0x0b, 0x06, 0xad, 0x0e, 0x15, 0x83, 0x71, 0xcd, + 0x53, 0xd0, 0x54, 0x86, 0x03, 0xe4, 0x1e, 0x30, + 0x49, 0xaf, 0xec, 0x75, 0xe1, 0x6c, 0xa1, 0xad, + 0xee, 0x78, 0xf1, 0x4b, 0xf7, 0x70, 0x42, 0xbb, + 0x2f, 0xab, 0xc4, 0xa7, 0x31, 0x76, 0x77, 0x07, + 0x69, 0x73, 0xc0, 0xb2, 0xbf, 0x9b, 0x8b, 0xad, + 0xe7, 0x14, 0xe4, 0x28, 0x75, 0xef, 0x8f, 0x71, + 0x09, 0x7d, 0x87, 0xb1, 0x0e, 0x4f, 0xf5, 0xb1, + 0xd9, 0xdd, 0xe3, 0xd0, 0xe3, 0xa7, 0x93, 0x2c, + 0x81, 0x26, 0x9a, 0x71, 0x6d, 0x29, 0x63, 0x5b, + 0x63, 0x5c, 0x36, 0xd9, 0x56, 0x32, 0xfb, 0xaf, + 0x49, 0x97, 0x0c, 0xb8, 0x45, 0xa4, 0x40, 0x7d, + 0x25, 0x89, 0x9b, 0x71, 0xc2, 0x50, 0x8c, 0x35, + 0x63, 0xbc, 0x4f, 0x5c, 0x2f, 0x6d, 0x20, 0x7f, + 0xeb, 0x59, 0xce, 0x06, 0x69, 0xcd, 0x25, 0xe8, + 0x7b, 0x6e, 0x10, 0x88, 0x14, 0x72, 0x6f, 0x19, + 0x11, 0x1e, 0x36, 0xae, 0xaa, 0x54, 0xf9, 0xb4 }; static const unsigned char dh_secret_expected[256] = { - 0xa0, 0x38, 0x64, 0x37, 0xdf, 0x2d, 0x2c, 0x78, - 0x49, 0xb9, 0xa7, 0x77, 0xfb, 0xc1, 0x69, 0x94, - 0x85, 0xc5, 0x5a, 0xbc, 0x8d, 0x43, 0x32, 0x23, - 0x94, 0xf5, 0xba, 0xb4, 0x5f, 0x22, 0x4b, 0x4e, - 0xc4, 0xfd, 0x89, 0x41, 0x56, 0x41, 0xe8, 0x9f, - 0x2d, 0x0d, 0x26, 0x33, 0x60, 0x13, 0x8a, 0x20, - 0xf1, 0x7e, 0xb3, 0x76, 0x38, 0x03, 0x0e, 0x48, - 0x4f, 0x27, 0x8c, 0x32, 0xdb, 0x66, 0x5c, 0xbf, - 0x7f, 0xc7, 0xeb, 0xc6, 0x2d, 0xfd, 0x00, 0x08, - 0xb0, 0x98, 0x4e, 0xad, 0x68, 0x65, 0xca, 0x9e, - 0x78, 0xe1, 0xaa, 0xb7, 0x8e, 0x08, 0x4d, 0x67, - 0xa6, 0x15, 0x16, 0xbb, 0x41, 0xac, 0x15, 0xb5, - 0x08, 0x92, 0x5d, 0x25, 0x1d, 0x7f, 0xf3, 0x1b, - 0x5c, 0xea, 0x21, 0x6b, 0xe5, 0x00, 0x4d, 0xb6, - 0x8e, 0xae, 0x84, 0xb4, 0xee, 0xf7, 0xcc, 0xdd, - 0x64, 0x19, 0x4e, 0x25, 0xce, 0x37, 0x4f, 0xde, - 0xb6, 0x21, 0xba, 0xd9, 0xc0, 0x7a, 0x87, 0xc7, - 0x90, 0x0a, 0x78, 0x8b, 0xdd, 0xbc, 0x68, 0x77, - 0x2d, 0xa6, 0xdf, 0x4d, 0x2e, 0xca, 0xdc, 0x86, - 0xb6, 0x1e, 0x54, 0x2b, 0x3a, 0xa9, 0x52, 0x67, - 0xf3, 0x1a, 0x35, 0xb7, 0x5a, 0xcd, 0x99, 0x59, - 0xe9, 0x07, 0x6f, 0xd7, 0xd7, 0x96, 0x8a, 0x47, - 0xdf, 0x9f, 0x51, 0x1b, 0x04, 0xa9, 0x45, 0x30, - 0x89, 0x8a, 0x3f, 0x7e, 0xca, 0xfc, 0x05, 0x2d, - 0x18, 0x77, 0x8f, 0x45, 0x25, 0x39, 0xdb, 0xf2, - 0x13, 0x36, 0x31, 0xdb, 0x50, 0x65, 0x63, 0x4a, - 0xae, 0x3e, 0xd1, 0x3e, 0xde, 0xc1, 0x32, 0x4b, - 0x78, 0x19, 0x03, 0x70, 0x0a, 0xc2, 0xa2, 0x6f, - 0x9b, 0xd4, 0xa6, 0x1d, 0x47, 0xf2, 0xa6, 0x91, - 0x61, 0x4a, 0x74, 0xf8, 0x70, 0x39, 0x42, 0x72, - 0xd5, 0x58, 0x7f, 0xcd, 0x16, 0xeb, 0x82, 0x0c, - 0x2c, 0xf4, 0xd0, 0x95, 0x22, 0xf9, 0xbe, 0x99, + 0x79, 0x29, 0x11, 0x03, 0x5f, 0x31, 0xbb, 0x8d, + 0x6c, 0xeb, 0xc1, 0x46, 0xc7, 0x7d, 0xb9, 0x2b, + 0xf7, 0xde, 0x68, 0xb7, 0xd0, 0x2e, 0x18, 0xb9, + 0x5e, 0xfb, 0x67, 0x0f, 0x4a, 0x71, 0x9c, 0x33, + 0x2b, 0x64, 0xb9, 0x43, 0x1d, 0x5f, 0x9f, 0xb4, + 0xa2, 0xa7, 0x1a, 0xa5, 0x49, 0xf5, 0x53, 0x17, + 0xcd, 0x28, 0x28, 0x55, 0xe7, 0x85, 0xcb, 0xe4, + 0xca, 0x66, 0xe4, 0x8c, 0x55, 0xbc, 0xd7, 0x1c, + 0x15, 0xa0, 0xa5, 0xa4, 0x4c, 0xca, 0x2b, 0x37, + 0x4a, 0x5c, 0xda, 0xab, 0xc4, 0x1d, 0x8a, 0x78, + 0x2f, 0xc5, 0x99, 0xab, 0x13, 0x8a, 0xad, 0xf5, + 0xbb, 0x83, 0x45, 0x6d, 0xb4, 0x40, 0x64, 0x2f, + 0x6a, 0xeb, 0xf3, 0xc7, 0x6a, 0xf7, 0x35, 0xf5, + 0xf7, 0x06, 0xd5, 0x65, 0xf2, 0xe4, 0x93, 0x80, + 0xa1, 0x59, 0x79, 0x1f, 0x05, 0x6b, 0x24, 0xf0, + 0xbd, 0xcf, 0xa5, 0xa5, 0xcf, 0x43, 0x78, 0xbb, + 0x78, 0xb1, 0xed, 0x63, 0x01, 0x85, 0x48, 0x58, + 0xd3, 0x9f, 0xd9, 0xdc, 0xc6, 0x4a, 0x10, 0x19, + 0x78, 0x94, 0x8a, 0x95, 0x9b, 0xeb, 0xc4, 0x39, + 0xa7, 0xe8, 0xbe, 0x21, 0x9e, 0xcc, 0xc6, 0x6e, + 0x11, 0xc8, 0x57, 0x96, 0x47, 0xf7, 0x4f, 0xca, + 0x50, 0xc9, 0xeb, 0x1a, 0x8f, 0xad, 0xd6, 0x89, + 0x3c, 0xf3, 0xc3, 0x16, 0xdd, 0x30, 0x9b, 0xcb, + 0xbb, 0x53, 0x1a, 0xbb, 0x22, 0x6f, 0xf0, 0x57, + 0x3b, 0x2c, 0x04, 0xb1, 0x1d, 0x5d, 0x0e, 0xbc, + 0x2b, 0xec, 0x38, 0xc1, 0x46, 0x89, 0x57, 0x15, + 0xfb, 0x89, 0xe0, 0x09, 0xb0, 0x67, 0x58, 0xab, + 0x1a, 0x9f, 0x0b, 0x0a, 0x51, 0xc9, 0x8b, 0xdf, + 0x42, 0xd5, 0x35, 0xc2, 0x19, 0xc2, 0xb9, 0xcc, + 0x66, 0x2f, 0x61, 0x91, 0xbc, 0x42, 0x2d, 0x95, + 0xb9, 0x64, 0x29, 0x35, 0x8e, 0xcd, 0xda, 0xa3, + 0x8f, 0x85, 0x16, 0x52, 0x78, 0x0f, 0x48, 0xf5 }; static const char dh_ffdhe2048[] = "ffdhe2048"; diff --git a/deps/openssl/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw_rv64i.inc b/deps/openssl/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw_rv64i.inc index 105ca58fd324..a824a6358ccd 100644 --- a/deps/openssl/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw_rv64i.inc +++ b/deps/openssl/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw_rv64i.inc @@ -1,5 +1,5 @@ /* - * Copyright 2022-2023 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -103,10 +103,9 @@ static const PROV_GCM_HW rv64i_zvkb_zvkg_zvkned_gcm = { }; const PROV_GCM_HW *ossl_prov_aes_hw_gcm(size_t keybits) { - if (RISCV_HAS_ZVKNED()) { - if (RISCV_HAS_ZVKB() && RISCV_HAS_ZVKG() && riscv_vlen() >= 128) { + if (RISCV_HAS_ZVKNED() && riscv_vlen() >= 128) { + if (RISCV_HAS_ZVKB() && RISCV_HAS_ZVKG()) return &rv64i_zvkb_zvkg_zvkned_gcm; - } return &rv64i_zvkned_gcm; } diff --git a/deps/openssl/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c b/deps/openssl/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c index d0b6ae4b070d..bf3275f97b38 100644 --- a/deps/openssl/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c +++ b/deps/openssl/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c @@ -1,5 +1,5 @@ /* - * Copyright 2019-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -58,6 +58,9 @@ static int aes_gcm_siv_initkey(void *vctx) memset(&data, 0, sizeof(data)); memcpy(&data.block[sizeof(data.counter)], ctx->nonce, NONCE_SIZE); + ctx->generated_tag = 0; + memset(ctx->tag, 0, TAG_SIZE); + /* msg_auth_key is always 16 bytes in size, regardless of AES128/AES256 */ /* counter is stored little-endian */ for (i = 0; i < BLOCK_SIZE; i += 8) { @@ -134,17 +137,6 @@ static int aes_gcm_siv_aad(PROV_AES_GCM_SIV_CTX *ctx, return 1; } -static int aes_gcm_siv_finish(PROV_AES_GCM_SIV_CTX *ctx) -{ - int ret = 0; - - if (ctx->enc) - return ctx->generated_tag; - ret = !CRYPTO_memcmp(ctx->tag, ctx->user_tag, sizeof(ctx->tag)); - ret &= ctx->have_user_tag; - return ret; -} - static int aes_gcm_siv_encrypt(PROV_AES_GCM_SIV_CTX *ctx, const unsigned char *in, unsigned char *out, size_t len) { @@ -271,6 +263,19 @@ static int aes_gcm_siv_decrypt(PROV_AES_GCM_SIV_CTX *ctx, const unsigned char *i return !error; } +static int aes_gcm_siv_finish(PROV_AES_GCM_SIV_CTX *ctx) +{ + int ret = 0; + + if (ctx->enc) + return ctx->generated_tag; + if (!ctx->generated_tag) + aes_gcm_siv_decrypt(ctx, NULL, NULL, 0); + ret = !CRYPTO_memcmp(ctx->tag, ctx->user_tag, sizeof(ctx->tag)); + ret &= ctx->have_user_tag; + return ret; +} + static int aes_gcm_siv_cipher(void *vctx, unsigned char *out, const unsigned char *in, size_t len) { diff --git a/deps/openssl/openssl/providers/implementations/ciphers/cipher_aes_ocb.c b/deps/openssl/openssl/providers/implementations/ciphers/cipher_aes_ocb.c index b724c425e392..99254cb49a88 100644 --- a/deps/openssl/openssl/providers/implementations/ciphers/cipher_aes_ocb.c +++ b/deps/openssl/openssl/providers/implementations/ciphers/cipher_aes_ocb.c @@ -514,6 +514,19 @@ static int aes_ocb_cipher(void *vctx, unsigned char *out, size_t *outl, return 0; } + /* + * Mirror the streaming handler: refuse if the key has not been set, + * and push the buffered IV into the OCB context before any data is + * processed. Without this, CRYPTO_ocb128_encrypt/decrypt runs with + * Offset_0 = 0 regardless of the caller's IV -- catastrophic + * (key, nonce) reuse, and a subsequent EVP_*Final_ex() emits a tag + * that is a function of (key, iv) only. + */ + if (!ctx->key_set || !update_iv(ctx)) { + ERR_raise(ERR_LIB_PROV, PROV_R_CIPHER_OPERATION_FAILED); + return 0; + } + if (!aes_generic_ocb_cipher(ctx, in, out, inl)) { ERR_raise(ERR_LIB_PROV, PROV_R_CIPHER_OPERATION_FAILED); return 0; diff --git a/deps/openssl/openssl/providers/implementations/ciphers/cipher_aes_siv.c b/deps/openssl/openssl/providers/implementations/ciphers/cipher_aes_siv.c index 96f26757abe2..08a8ac079d3c 100644 --- a/deps/openssl/openssl/providers/implementations/ciphers/cipher_aes_siv.c +++ b/deps/openssl/openssl/providers/implementations/ciphers/cipher_aes_siv.c @@ -1,5 +1,5 @@ /* - * Copyright 2019-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -192,6 +192,7 @@ static int aes_siv_set_ctx_params(void *vctx, const OSSL_PARAM params[]) PROV_AES_SIV_CTX *ctx = (PROV_AES_SIV_CTX *)vctx; const OSSL_PARAM *p; unsigned int speed = 0; + SIV128_CONTEXT *sctx = &ctx->siv; if (ossl_param_is_empty(params)) return 1; @@ -226,6 +227,8 @@ static int aes_siv_set_ctx_params(void *vctx, const OSSL_PARAM params[]) if (keylen != ctx->keylen) return 0; } + sctx->final_ret = -1; + return 1; } diff --git a/deps/openssl/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c b/deps/openssl/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c index faf142466686..8f4f7acfb6f8 100644 --- a/deps/openssl/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c +++ b/deps/openssl/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c @@ -1,5 +1,5 @@ /* - * Copyright 2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2025-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -27,103 +27,17 @@ * Private key bytes: 2560 (0x0a00) */ static const ML_COMMON_SPKI_FMT ml_dsa_44_spkifmt = { - { - 0x30, - 0x82, - 0x05, - 0x32, - 0x30, - 0x0b, - 0x06, - 0x09, - 0x60, - 0x86, - 0x48, - 0x01, - 0x65, - 0x03, - 0x04, - 0x03, - 0x11, - 0x03, - 0x82, - 0x05, - 0x21, - 0x00, - } + { 0x30, 0x82, 0x05, 0x32, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, + 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x11, 0x03, 0x82, 0x05, + 0x21, 0x00 } }; static const ML_COMMON_PKCS8_FMT ml_dsa_44_p8fmt[NUM_PKCS8_FORMATS] = { - { - "seed-priv", - 0x0a2a, - 0, - 0x30820a26, - 0x0420, - 6, - 0x20, - 0x04820a00, - 0x2a, - 0x0a00, - 0, - 0, - }, - { - "priv-only", - 0x0a04, - 0, - 0x04820a00, - 0, - 0, - 0, - 0, - 0x04, - 0x0a00, - 0, - 0, - }, + { "seed-priv", 0x0a2a, 0, 0x30820a26, 0x0420, 6, 0x20, 0x04820a00, 0x2a, 0x0a00, 0, 0 }, + { "priv-only", 0x0a04, 0, 0x04820a00, 0, 0, 0, 0, 0x04, 0x0a00, 0, 0 }, { "oqskeypair", 0x0f24, 0, 0x04820f20, 0, 0, 0, 0, 0x04, 0x0a00, 0x0a04, 0x0520 }, - { - "seed-only", - 0x0022, - 2, - 0x8020, - 0, - 2, - 0x20, - 0, - 0, - 0, - 0, - 0, - }, - { - "bare-priv", - 0x0a00, - 4, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0a00, - 0, - 0, - }, - { - "bare-seed", - 0x0020, - 4, - 0, - 0, - 0, - 0x20, - 0, - 0, - 0, - 0, - 0, - }, + { "seed-only", 0x0022, 2, 0x8020, 0, 2, 0x20, 0, 0, 0, 0, 0 }, + { "bare-priv", 0x0a00, 4, 0, 0, 0, 0, 0, 0, 0x0a00, 0, 0 }, + { "bare-seed", 0x0020, 4, 0, 0, 0, 0x20, 0, 0, 0, 0, 0 }, }; /* @@ -132,103 +46,17 @@ static const ML_COMMON_PKCS8_FMT ml_dsa_44_p8fmt[NUM_PKCS8_FORMATS] = { * Private key bytes: 4032 (0x0fc0) */ static const ML_COMMON_SPKI_FMT ml_dsa_65_spkifmt = { - { - 0x30, - 0x82, - 0x07, - 0xb2, - 0x30, - 0x0b, - 0x06, - 0x09, - 0x60, - 0x86, - 0x48, - 0x01, - 0x65, - 0x03, - 0x04, - 0x03, - 0x12, - 0x03, - 0x82, - 0x07, - 0xa1, - 0x00, - } + { 0x30, 0x82, 0x07, 0xb2, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, + 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x12, 0x03, 0x82, 0x07, + 0xa1, 0x00 } }; static const ML_COMMON_PKCS8_FMT ml_dsa_65_p8fmt[NUM_PKCS8_FORMATS] = { - { - "seed-priv", - 0x0fea, - 0, - 0x30820fe6, - 0x0420, - 6, - 0x20, - 0x04820fc0, - 0x2a, - 0x0fc0, - 0, - 0, - }, - { - "priv-only", - 0x0fc4, - 0, - 0x04820fc0, - 0, - 0, - 0, - 0, - 0x04, - 0x0fc0, - 0, - 0, - }, + { "seed-priv", 0x0fea, 0, 0x30820fe6, 0x0420, 6, 0x20, 0x04820fc0, 0x2a, 0x0fc0, 0, 0 }, + { "priv-only", 0x0fc4, 0, 0x04820fc0, 0, 0, 0, 0, 0x04, 0x0fc0, 0, 0 }, { "oqskeypair", 0x1764, 0, 0x04821760, 0, 0, 0, 0, 0x04, 0x0fc0, 0x0fc4, 0x07a0 }, - { - "seed-only", - 0x0022, - 2, - 0x8020, - 0, - 2, - 0x20, - 0, - 0, - 0, - 0, - 0, - }, - { - "bare-priv", - 0x0fc0, - 4, - 0, - 0, - 0, - 0, - 0, - 0, - 0x0fc0, - 0, - 0, - }, - { - "bare-seed", - 0x0020, - 4, - 0, - 0, - 0, - 0x20, - 0, - 0, - 0, - 0, - 0, - }, + { "seed-only", 0x0022, 2, 0x8020, 0, 2, 0x20, 0, 0, 0, 0, 0 }, + { "bare-priv", 0x0fc0, 4, 0, 0, 0, 0, 0, 0, 0x0fc0, 0, 0 }, + { "bare-seed", 0x0020, 4, 0, 0, 0, 0x20, 0, 0, 0, 0, 0 }, }; /*- @@ -237,103 +65,17 @@ static const ML_COMMON_PKCS8_FMT ml_dsa_65_p8fmt[NUM_PKCS8_FORMATS] = { * Private key bytes: 4896 (0x1320) */ static const ML_COMMON_SPKI_FMT ml_dsa_87_spkifmt = { - { - 0x30, - 0x82, - 0x0a, - 0x32, - 0x30, - 0x0b, - 0x06, - 0x09, - 0x60, - 0x86, - 0x48, - 0x01, - 0x65, - 0x03, - 0x04, - 0x03, - 0x13, - 0x03, - 0x82, - 0x0a, - 0x21, - 0x00, - } + { 0x30, 0x82, 0x0a, 0x32, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86, + 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x13, 0x03, 0x82, 0x0a, + 0x21, 0x00 } }; static const ML_COMMON_PKCS8_FMT ml_dsa_87_p8fmt[NUM_PKCS8_FORMATS] = { - { - "seed-priv", - 0x134a, - 0, - 0x30821346, - 0x0420, - 6, - 0x20, - 0x04821320, - 0x2a, - 0x1320, - 0, - 0, - }, - { - "priv-only", - 0x1324, - 0, - 0x04821320, - 0, - 0, - 0, - 0, - 0x04, - 0x1320, - 0, - 0, - }, + { "seed-priv", 0x134a, 0, 0x30821346, 0x0420, 6, 0x20, 0x04821320, 0x2a, 0x1320, 0, 0 }, + { "priv-only", 0x1324, 0, 0x04821320, 0, 0, 0, 0, 0x04, 0x1320, 0, 0 }, { "oqskeypair", 0x1d44, 0, 0x04821d40, 0, 0, 0, 0, 0x04, 0x1320, 0x1324, 0x0a20 }, - { - "seed-only", - 0x0022, - 2, - 0x8020, - 0, - 2, - 0x20, - 0, - 0, - 0, - 0, - 0, - }, - { - "bare-priv", - 0x1320, - 4, - 0, - 0, - 0, - 0, - 0, - 0, - 0x1320, - 0, - 0, - }, - { - "bare-seed", - 0x0020, - 4, - 0, - 0, - 0, - 0x20, - 0, - 0, - 0, - 0, - 0, - }, + { "seed-only", 0x0022, 2, 0x8020, 0, 2, 0x20, 0, 0, 0, 0, 0 }, + { "bare-priv", 0x1320, 4, 0, 0, 0, 0, 0, 0, 0x1320, 0, 0 }, + { "bare-seed", 0x0020, 4, 0, 0, 0, 0x20, 0, 0, 0, 0, 0 }, }; /* Indices of slots in the codec table below */ diff --git a/deps/openssl/openssl/providers/implementations/encode_decode/ml_dsa_codecs.h b/deps/openssl/openssl/providers/implementations/encode_decode/ml_dsa_codecs.h index e05b54b1d0a3..ededb2b0dcb4 100644 --- a/deps/openssl/openssl/providers/implementations/encode_decode/ml_dsa_codecs.h +++ b/deps/openssl/openssl/providers/implementations/encode_decode/ml_dsa_codecs.h @@ -1,5 +1,5 @@ /* - * Copyright 2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2025-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -24,13 +24,9 @@ __owur ML_DSA_KEY *ossl_ml_dsa_d2i_PKCS8(const uint8_t *prvenc, int prvlen, int evp_type, PROV_CTX *provctx, const char *propq); __owur int ossl_ml_dsa_key_to_text(BIO *out, const ML_DSA_KEY *key, int selection); -__owur - __owur int - ossl_ml_dsa_i2d_pubkey(const ML_DSA_KEY *key, unsigned char **out); -__owur - __owur int - ossl_ml_dsa_i2d_prvkey(const ML_DSA_KEY *key, unsigned char **out, - PROV_CTX *provctx); +__owur int ossl_ml_dsa_i2d_pubkey(const ML_DSA_KEY *key, unsigned char **out); +__owur int ossl_ml_dsa_i2d_prvkey(const ML_DSA_KEY *key, unsigned char **out, + PROV_CTX *provctx); #endif /* OPENSSL_NO_ML_DSA */ #endif /* PROV_ML_DSA_CODECS_H */ diff --git a/deps/openssl/openssl/providers/implementations/encode_decode/ml_kem_codecs.h b/deps/openssl/openssl/providers/implementations/encode_decode/ml_kem_codecs.h index 01ef8bbba505..b9add59bb12b 100644 --- a/deps/openssl/openssl/providers/implementations/encode_decode/ml_kem_codecs.h +++ b/deps/openssl/openssl/providers/implementations/encode_decode/ml_kem_codecs.h @@ -1,5 +1,5 @@ /* - * Copyright 2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2025-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -24,13 +24,9 @@ __owur ML_KEM_KEY *ossl_ml_kem_d2i_PKCS8(const uint8_t *prvenc, int prvlen, int evp_type, PROV_CTX *provctx, const char *propq); __owur int ossl_ml_kem_key_to_text(BIO *out, const ML_KEM_KEY *key, int selection); -__owur - __owur int - ossl_ml_kem_i2d_pubkey(const ML_KEM_KEY *key, unsigned char **out); -__owur - __owur int - ossl_ml_kem_i2d_prvkey(const ML_KEM_KEY *key, unsigned char **out, - PROV_CTX *provctx); +__owur int ossl_ml_kem_i2d_pubkey(const ML_KEM_KEY *key, unsigned char **out); +__owur int ossl_ml_kem_i2d_prvkey(const ML_KEM_KEY *key, unsigned char **out, + PROV_CTX *provctx); #endif /* OPENSSL_NO_ML_KEM */ #endif /* PROV_ML_KEM_CODECS_H */ diff --git a/deps/openssl/openssl/providers/implementations/exchange/dh_exch.c b/deps/openssl/openssl/providers/implementations/exchange/dh_exch.c index 94d4254ed5d2..243ffc6bdcf2 100644 --- a/deps/openssl/openssl/providers/implementations/exchange/dh_exch.c +++ b/deps/openssl/openssl/providers/implementations/exchange/dh_exch.c @@ -1,5 +1,5 @@ /* - * Copyright 2019-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -146,12 +146,15 @@ static int dh_init(void *vpdhctx, void *vdh, const OSSL_PARAM params[]) static int dh_match_params(DH *priv, DH *peer) { int ret; + int ignore_q = 1; FFC_PARAMS *dhparams_priv = ossl_dh_get0_params(priv); FFC_PARAMS *dhparams_peer = ossl_dh_get0_params(peer); + if (dhparams_priv != NULL && dhparams_priv->q != NULL) + ignore_q = 0; ret = dhparams_priv != NULL && dhparams_peer != NULL - && ossl_ffc_params_cmp(dhparams_priv, dhparams_peer, 1); + && ossl_ffc_params_cmp(dhparams_priv, dhparams_peer, ignore_q); if (!ret) ERR_raise(ERR_LIB_PROV, PROV_R_MISMATCHING_DOMAIN_PARAMETERS); return ret; diff --git a/deps/openssl/openssl/providers/implementations/include/prov/implementations.h b/deps/openssl/openssl/providers/implementations/include/prov/implementations.h index 8acfbb4624d3..058ec9d499d4 100644 --- a/deps/openssl/openssl/providers/implementations/include/prov/implementations.h +++ b/deps/openssl/openssl/providers/implementations/include/prov/implementations.h @@ -1,5 +1,5 @@ /* - * Copyright 2019-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2019-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -264,7 +264,9 @@ extern const OSSL_DISPATCH ossl_kmac256_internal_functions[]; #endif extern const OSSL_DISPATCH ossl_kmac128_functions[]; extern const OSSL_DISPATCH ossl_kmac256_functions[]; +#ifndef OPENSSL_NO_SIPHASH extern const OSSL_DISPATCH ossl_siphash_functions[]; +#endif extern const OSSL_DISPATCH ossl_poly1305_functions[]; /* KDFs / PRFs */ diff --git a/deps/openssl/openssl/providers/implementations/keymgmt/ecx_kmgmt.c b/deps/openssl/openssl/providers/implementations/keymgmt/ecx_kmgmt.c index 36bea3a48fd1..54af7a6a3956 100644 --- a/deps/openssl/openssl/providers/implementations/keymgmt/ecx_kmgmt.c +++ b/deps/openssl/openssl/providers/implementations/keymgmt/ecx_kmgmt.c @@ -1,5 +1,5 @@ /* - * Copyright 2020-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2020-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -35,6 +35,7 @@ static OSSL_FUNC_keymgmt_new_fn x25519_new_key; static OSSL_FUNC_keymgmt_new_fn x448_new_key; static OSSL_FUNC_keymgmt_new_fn ed25519_new_key; static OSSL_FUNC_keymgmt_new_fn ed448_new_key; +static OSSL_FUNC_keymgmt_free_fn ecx_free_key; static OSSL_FUNC_keymgmt_gen_init_fn x25519_gen_init; static OSSL_FUNC_keymgmt_gen_init_fn x448_gen_init; static OSSL_FUNC_keymgmt_gen_init_fn ed25519_gen_init; @@ -1007,10 +1008,15 @@ static int ed448_validate(const void *keydata, int selection, int checktype) return ecx_validate(keydata, selection, ECX_KEY_TYPE_ED448, ED448_KEYLEN); } +static void ecx_free_key(void *keydata) +{ + ossl_ecx_key_free((ECX_KEY *)keydata); +} + #define MAKE_KEYMGMT_FUNCTIONS(alg) \ const OSSL_DISPATCH ossl_##alg##_keymgmt_functions[] = { \ { OSSL_FUNC_KEYMGMT_NEW, (void (*)(void))alg##_new_key }, \ - { OSSL_FUNC_KEYMGMT_FREE, (void (*)(void))ossl_ecx_key_free }, \ + { OSSL_FUNC_KEYMGMT_FREE, (void (*)(void))ecx_free_key }, \ { OSSL_FUNC_KEYMGMT_GET_PARAMS, (void (*)(void))alg##_get_params }, \ { OSSL_FUNC_KEYMGMT_GETTABLE_PARAMS, (void (*)(void))alg##_gettable_params }, \ { OSSL_FUNC_KEYMGMT_SET_PARAMS, (void (*)(void))alg##_set_params }, \ @@ -1160,38 +1166,10 @@ static void *s390x_ecd_keygen25519(struct ecx_gen_ctx *gctx) 0xfe, 0x53, 0x6e, 0xcd, 0xd3, 0x36, 0x69, 0x21 }; static const unsigned char generator_y[] = { - 0x58, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, - 0x66, + 0x58, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, + 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, + 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, + 0x66, 0x66 }; unsigned char x_dst[32], buff[SHA512_DIGEST_LENGTH]; ECX_KEY *key = ossl_ecx_key_new(gctx->libctx, ECX_KEY_TYPE_ED25519, 1, diff --git a/deps/openssl/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c b/deps/openssl/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c index 7884f40ae58e..d95f021eef70 100644 --- a/deps/openssl/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c +++ b/deps/openssl/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c @@ -28,6 +28,7 @@ static OSSL_FUNC_keymgmt_new_fn ml_kem_512_new; static OSSL_FUNC_keymgmt_new_fn ml_kem_768_new; static OSSL_FUNC_keymgmt_new_fn ml_kem_1024_new; +static OSSL_FUNC_keymgmt_free_fn ml_kem_free_key; static OSSL_FUNC_keymgmt_gen_fn ml_kem_gen; static OSSL_FUNC_keymgmt_gen_init_fn ml_kem_512_gen_init; static OSSL_FUNC_keymgmt_gen_init_fn ml_kem_768_gen_init; @@ -814,6 +815,11 @@ static void *ml_kem_dup(const void *vkey, int selection) return ossl_ml_kem_key_dup(key, selection); } +static void ml_kem_free_key(void *keydata) +{ + ossl_ml_kem_key_free((ML_KEM_KEY *)keydata); +} + #ifndef FIPS_MODULE #define DISPATCH_LOAD_FN \ { OSSL_FUNC_KEYMGMT_LOAD, (OSSL_FUNC)ml_kem_load }, @@ -834,7 +840,7 @@ static void *ml_kem_dup(const void *vkey, int selection) } \ const OSSL_DISPATCH ossl_ml_kem_##bits##_keymgmt_functions[] = { \ { OSSL_FUNC_KEYMGMT_NEW, (OSSL_FUNC)ml_kem_##bits##_new }, \ - { OSSL_FUNC_KEYMGMT_FREE, (OSSL_FUNC)ossl_ml_kem_key_free }, \ + { OSSL_FUNC_KEYMGMT_FREE, (OSSL_FUNC)ml_kem_free_key }, \ { OSSL_FUNC_KEYMGMT_GET_PARAMS, (OSSL_FUNC)ml_kem_get_params }, \ { OSSL_FUNC_KEYMGMT_GETTABLE_PARAMS, (OSSL_FUNC)ml_kem_gettable_params }, \ { OSSL_FUNC_KEYMGMT_SET_PARAMS, (OSSL_FUNC)ml_kem_set_params }, \ diff --git a/deps/openssl/openssl/providers/implementations/keymgmt/mlx_kmgmt.c b/deps/openssl/openssl/providers/implementations/keymgmt/mlx_kmgmt.c index 46ed63039ec7..5d1902ce637c 100644 --- a/deps/openssl/openssl/providers/implementations/keymgmt/mlx_kmgmt.c +++ b/deps/openssl/openssl/providers/implementations/keymgmt/mlx_kmgmt.c @@ -1,5 +1,5 @@ /* - * Copyright 2024-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2024-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -733,15 +733,17 @@ static void *mlx_kem_dup(const void *vkey, int selection) || (ret = OPENSSL_memdup(key, sizeof(*ret))) == NULL) return NULL; - if (ret->propq != NULL - && (ret->propq = OPENSSL_strdup(ret->propq)) == NULL) { + ret->mkey = ret->xkey = NULL; + + if (key->propq != NULL + && (ret->propq = OPENSSL_strdup(key->propq)) == NULL) { OPENSSL_free(ret); return NULL; } /* Absent key material, nothing left to do */ - if (ret->mkey == NULL) { - if (ret->xkey == NULL) + if (key->mkey == NULL) { + if (key->xkey == NULL) return ret; /* Fail if the source key is an inconsistent state */ OPENSSL_free(ret->propq); @@ -751,7 +753,6 @@ static void *mlx_kem_dup(const void *vkey, int selection) switch (selection & OSSL_KEYMGMT_SELECT_KEYPAIR) { case 0: - ret->xkey = ret->mkey = NULL; ret->state = MLX_HAVE_NOKEYS; return ret; case OSSL_KEYMGMT_SELECT_KEYPAIR: diff --git a/deps/openssl/openssl/providers/implementations/macs/poly1305_prov.c b/deps/openssl/openssl/providers/implementations/macs/poly1305_prov.c index 2ee237531e69..22ff0a283739 100644 --- a/deps/openssl/openssl/providers/implementations/macs/poly1305_prov.c +++ b/deps/openssl/openssl/providers/implementations/macs/poly1305_prov.c @@ -1,5 +1,5 @@ /* - * Copyright 2018-2023 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2018-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -38,6 +38,7 @@ static OSSL_FUNC_mac_final_fn poly1305_final; struct poly1305_data_st { void *provctx; int updated; + int key_set; POLY1305 poly1305; /* Poly1305 data */ }; @@ -87,6 +88,7 @@ static int poly1305_setkey(struct poly1305_data_st *ctx, } Poly1305_Init(&ctx->poly1305, key); ctx->updated = 0; + ctx->key_set = 1; return 1; } @@ -125,6 +127,10 @@ static int poly1305_final(void *vmacctx, unsigned char *out, size_t *outl, if (!ossl_prov_is_running()) return 0; + if (!ctx->key_set) { + ERR_raise(ERR_LIB_PROV, PROV_R_NO_KEY_SET); + return 0; + } ctx->updated = 1; Poly1305_Final(&ctx->poly1305, out); *outl = poly1305_size(); diff --git a/deps/openssl/openssl/providers/implementations/signature/rsa_sig.c b/deps/openssl/openssl/providers/implementations/signature/rsa_sig.c index fcdfebbbffdc..28f3e15b5985 100644 --- a/deps/openssl/openssl/providers/implementations/signature/rsa_sig.c +++ b/deps/openssl/openssl/providers/implementations/signature/rsa_sig.c @@ -977,8 +977,19 @@ static int rsa_verify_recover(void *vprsactx, break; case RSA_PKCS1_PADDING: { + int mdsize = EVP_MD_get_size(prsactx->md); size_t sltmp; + if (mdsize <= 0) { + ERR_raise(ERR_LIB_PROV, PROV_R_INVALID_DIGEST_LENGTH); + return 0; + } + if (routsize < (size_t)mdsize) { + ERR_raise_data(ERR_LIB_PROV, PROV_R_OUTPUT_BUFFER_TOO_SMALL, + "buffer size is %d, should be %d", + routsize, mdsize); + return 0; + } ret = ossl_rsa_verify(prsactx->mdnid, NULL, 0, rout, &sltmp, sig, siglen, prsactx->rsa); if (ret <= 0) { @@ -994,7 +1005,15 @@ static int rsa_verify_recover(void *vprsactx, return 0; } } else { - ret = RSA_public_decrypt(siglen, sig, rout, prsactx->rsa, + int rsasize = RSA_size(prsactx->rsa); + + if (routsize < (size_t)rsasize) { + ERR_raise_data(ERR_LIB_PROV, PROV_R_OUTPUT_BUFFER_TOO_SMALL, + "buffer size is %d, should be %d", + routsize, rsasize); + return 0; + } + ret = RSA_public_decrypt((int)siglen, sig, rout, prsactx->rsa, prsactx->pad_mode); if (ret <= 0) { ERR_raise(ERR_LIB_PROV, ERR_R_RSA_LIB); diff --git a/deps/openssl/openssl/providers/implementations/signature/slh_dsa_sig.c b/deps/openssl/openssl/providers/implementations/signature/slh_dsa_sig.c index c2ee2e6bed8d..c6d4e04c1b84 100644 --- a/deps/openssl/openssl/providers/implementations/signature/slh_dsa_sig.c +++ b/deps/openssl/openssl/providers/implementations/signature/slh_dsa_sig.c @@ -1,5 +1,5 @@ /* - * Copyright 2024-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2024-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -222,8 +222,9 @@ static int slh_dsa_sign(void *vctx, unsigned char *sig, size_t *siglen, ctx->context_string, ctx->context_string_len, opt_rand, ctx->msg_encode, sig, siglen, sigsize); - if (opt_rand != add_rand) - OPENSSL_cleanse(opt_rand, n); + /* Only cleanse the temporary buffer generated for this signature. */ + if (opt_rand == add_rand) + OPENSSL_cleanse(add_rand, sizeof(add_rand)); return ret; } diff --git a/deps/openssl/openssl/ssl/quic/quic_ackm.c b/deps/openssl/openssl/ssl/quic/quic_ackm.c index 503a6eae19ec..58318a123a85 100644 --- a/deps/openssl/openssl/ssl/quic/quic_ackm.c +++ b/deps/openssl/openssl/ssl/quic/quic_ackm.c @@ -1,5 +1,5 @@ /* - * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -117,6 +117,8 @@ tx_pkt_history_add_actual(struct tx_pkt_history_st *h, return 0; lh_OSSL_ACKM_TX_PKT_insert(h->map, pkt); + if (lh_OSSL_ACKM_TX_PKT_error(h->map)) + return 0; ossl_list_tx_history_insert_tail(&h->packets, pkt); return 1; diff --git a/deps/openssl/openssl/ssl/quic/quic_cfq.c b/deps/openssl/openssl/ssl/quic/quic_cfq.c index 3c59234ff0ff..1782828c17de 100644 --- a/deps/openssl/openssl/ssl/quic/quic_cfq.c +++ b/deps/openssl/openssl/ssl/quic/quic_cfq.c @@ -1,5 +1,5 @@ /* - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -7,6 +7,7 @@ * https://www.openssl.org/source/license.html */ +#include "internal/quic_channel.h" #include "internal/quic_cfq.h" #include "internal/numbers.h" @@ -307,6 +308,20 @@ void ossl_quic_cfq_mark_lost(QUIC_CFQ *cfq, QUIC_CFQ_ITEM *item, } } +int ossl_quic_cfq_discard_unreliable(QUIC_CFQ *cfq, QUIC_CFQ_ITEM *item) +{ + int discarded; + + if (ossl_quic_cfq_item_is_unreliable(item)) { + ossl_quic_cfq_release(cfq, item); + discarded = 1; + } else { + discarded = 0; + } + + return discarded; +} + /* * Releases a CFQ item. The item may be in either state (NEW or TX) prior to the * call. The QUIC_CFQ_ITEM pointer must not be used following this call. diff --git a/deps/openssl/openssl/ssl/quic/quic_channel.c b/deps/openssl/openssl/ssl/quic/quic_channel.c index 13692e5bd09e..9534cbcaf7f9 100644 --- a/deps/openssl/openssl/ssl/quic/quic_channel.c +++ b/deps/openssl/openssl/ssl/quic/quic_channel.c @@ -2213,6 +2213,12 @@ static void ch_rx_check_forged_pkt_limit(QUIC_CHANNEL *ch) "forgery limit"); } +void ossl_ch_reset_rx_state(QUIC_CHANNEL *ch) +{ + ch->did_crypto_frame = 0; + ch->seen_path_challenge = 0; +} + /* Process queued incoming packets and handle frames, if any. */ static int ch_rx(QUIC_CHANNEL *ch, int channel_only, int *notify_other_threads) { @@ -3622,7 +3628,6 @@ static void ch_on_idle_timeout(QUIC_CHANNEL *ch) * @return 1 on success, 0 on failure to set required elements. */ static int ch_on_new_conn_common(QUIC_CHANNEL *ch, const BIO_ADDR *peer, - const QUIC_CONN_ID *peer_scid, const QUIC_CONN_ID *peer_dcid, const QUIC_CONN_ID *peer_odcid) { @@ -3631,7 +3636,6 @@ static int ch_on_new_conn_common(QUIC_CHANNEL *ch, const BIO_ADDR *peer, return 0; ch->init_dcid = *peer_dcid; - ch->cur_remote_dcid = *peer_scid; ch->odcid.id_len = 0; if (peer_odcid != NULL) @@ -3675,7 +3679,6 @@ static int ch_on_new_conn_common(QUIC_CHANNEL *ch, const BIO_ADDR *peer, /* Called when we, as a server, get a new incoming connection. */ int ossl_quic_channel_on_new_conn(QUIC_CHANNEL *ch, const BIO_ADDR *peer, - const QUIC_CONN_ID *peer_scid, const QUIC_CONN_ID *peer_dcid) { if (!ossl_assert(ch->state == QUIC_CHANNEL_STATE_IDLE && ch->is_server)) @@ -3685,7 +3688,7 @@ int ossl_quic_channel_on_new_conn(QUIC_CHANNEL *ch, const BIO_ADDR *peer, if (!ossl_quic_lcidm_generate_initial(ch->lcidm, ch, &ch->cur_local_cid)) return 0; - return ch_on_new_conn_common(ch, peer, peer_scid, peer_dcid, NULL); + return ch_on_new_conn_common(ch, peer, peer_dcid, NULL); } /** @@ -3712,7 +3715,6 @@ int ossl_quic_channel_on_new_conn(QUIC_CHANNEL *ch, const BIO_ADDR *peer, * met (e.g., channel is not idle or not a server, or binding fails). */ int ossl_quic_bind_channel(QUIC_CHANNEL *ch, const BIO_ADDR *peer, - const QUIC_CONN_ID *peer_scid, const QUIC_CONN_ID *peer_dcid, const QUIC_CONN_ID *peer_odcid) { @@ -3730,7 +3732,7 @@ int ossl_quic_bind_channel(QUIC_CHANNEL *ch, const BIO_ADDR *peer, * peer_odcid <=> is initial dst conn id chosen by peer in its * first initial packet we received without token. */ - return ch_on_new_conn_common(ch, peer, peer_scid, peer_dcid, peer_odcid); + return ch_on_new_conn_common(ch, peer, peer_dcid, peer_odcid); } SSL *ossl_quic_channel_get0_ssl(QUIC_CHANNEL *ch) @@ -4064,3 +4066,13 @@ uint64_t ossl_quic_channel_get_max_idle_timeout_actual(const QUIC_CHANNEL *ch) { return ch->max_idle_timeout; } + +uint64_t ossl_quic_channel_get_path_challenge_count(const QUIC_CHANNEL *ch) +{ + return ch->path_challenge_rx; +} + +uint64_t ossl_quic_channel_get_path_response_count(const QUIC_CHANNEL *ch) +{ + return ch->path_response_tx; +} diff --git a/deps/openssl/openssl/ssl/quic/quic_channel_local.h b/deps/openssl/openssl/ssl/quic/quic_channel_local.h index ae443fccca1e..eb082d6cea7a 100644 --- a/deps/openssl/openssl/ssl/quic/quic_channel_local.h +++ b/deps/openssl/openssl/ssl/quic/quic_channel_local.h @@ -12,6 +12,28 @@ #include "internal/quic_stream_map.h" #include "internal/quic_tls.h" +/* + * This is a part of PATH_CHALLENGE flood [1] mitigation. This limits the + * number of PATH_CHALLENGE frames QUIC stack is willing to process for + * connection. Local QUIC stack creates PATH_RESPONSE frame for PATH_CHALLENGE + * frame it receives from remote peer. The response frame is put Control Frame + * Queue waiting to be dispatched. The PATH_RESPONSE frame is removed from CFQ + * after it is dispatched. The QUIC_PATH_RESPONSE_QLEN limits the number of + * PATH_RESPONSE frames waiting to be dispatched. No new PATH_RESPONSE frames + * are inserted into CFQ if queue limit is exceeded. + * + * QUIC implementations use different limits for PATH_RESPONSE queue lengths: + * quic-go defines maxPathResponses as 256 + * quiche from cloadflare sets DEFAULT_MAX_PATH_CHALLENGE_RX_QUEUE_LEN to 3 + * t-quic from tencent chooses MAX_PATH_CHALS_RECV to be 8 + * + * OpenSSL here introduces QUIC_PATH_RESPONSE_QLEN as 32. + * + * [1] https://www.ietf.org/archive/id/draft-chen-quic-logical-vuln-mitigations-00.txt + * (section 4.2) + */ +#define QUIC_PATH_RESPONSE_QLEN 32 + /* * QUIC Channel Structure * ====================== @@ -457,6 +479,18 @@ struct quic_channel_st { /* Has qlog been requested? */ unsigned int is_tserver_ch : 1; + /* + * RFC 9000 Section 9.2.1 says: + * However, an endpoint SHOULD NOT send multiple + * PATH_CHALLENGE frames in a single packet. + * The counter here allows us to detect multiple presence + * of PATH_CHALLENGE frame in packet. We process only the + * first PATH_CHALLENGE frame found in packet. Remaining PATH_CHALLENGE + * frames are ignored. + * seen_path_challenge flag is always reset before + * ossl_quic_handle_frames() gets called. + */ + unsigned int seen_path_challenge : 1; /* Saved error stack in case permanent error was encountered */ ERR_STATE *err_state; @@ -467,6 +501,15 @@ struct quic_channel_st { /* Title for qlog purposes. We own this copy. */ char *qlog_title; + /* + * number of path responses waiting to be dispatched + * from control frame queue (CFQ) + */ + unsigned int path_response_limit; + /* number of path challenge frames received */ + unsigned int path_challenge_rx; + /* number of path response frames sent */ + unsigned int path_response_tx; }; #endif diff --git a/deps/openssl/openssl/ssl/quic/quic_fifd.c b/deps/openssl/openssl/ssl/quic/quic_fifd.c index 03b8cebd3057..8daaa4722006 100644 --- a/deps/openssl/openssl/ssl/quic/quic_fifd.c +++ b/deps/openssl/openssl/ssl/quic/quic_fifd.c @@ -1,5 +1,5 @@ /* - * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -310,3 +310,46 @@ void ossl_quic_fifd_set_qlog_cb(QUIC_FIFD *fifd, QLOG *(*get_qlog_cb)(void *arg) fifd->get_qlog_cb = get_qlog_cb; fifd->get_qlog_cb_arg = get_qlog_cb_arg; } + +static void txpim_pkt_remove_cfq_item(QUIC_TXPIM_PKT *pkt, QUIC_CFQ_ITEM *cfq_item) +{ + QUIC_CFQ_ITEM *prev = cfq_item->pkt_prev; + + if (prev != NULL) { + prev->pkt_next = cfq_item->pkt_next; + } else { + pkt->retx_head = cfq_item->pkt_next; + } + + if (cfq_item->pkt_next != NULL) + cfq_item->pkt_next->pkt_prev = prev; + + cfq_item->pkt_prev = NULL; + cfq_item->pkt_next = NULL; +} + +void ossl_quic_fifd_pkt_discard_unreliable(QUIC_FIFD *fifd, QUIC_TXPIM_PKT *pkt) +{ + QUIC_CFQ_ITEM *cfq_item, *cfq_next; + + /* + * The packet has been written to network. We can discard frames we don't + * retransmit when loss is detected. + */ + cfq_item = pkt->retx_head; + while (cfq_item != NULL) { + /* + * Discarded items are moved to free list. If item + * got moved to free list we must also remove it from + * cfq list kept in pkt, so ACKM does not find it when + * receives an ACK for pkt. + */ + if (ossl_quic_cfq_discard_unreliable(fifd->cfq, cfq_item)) { + cfq_next = cfq_item->pkt_next; + txpim_pkt_remove_cfq_item(pkt, cfq_item); + cfq_item = cfq_next; + } else { + cfq_item = cfq_item->pkt_next; + } + } +} diff --git a/deps/openssl/openssl/ssl/quic/quic_impl.c b/deps/openssl/openssl/ssl/quic/quic_impl.c index a8f9ac92c2a4..97efa4908a49 100644 --- a/deps/openssl/openssl/ssl/quic/quic_impl.c +++ b/deps/openssl/openssl/ssl/quic/quic_impl.c @@ -681,6 +681,9 @@ static void quic_unref_port_bios(QUIC_PORT *port) { BIO *b; + if (port == NULL) + return; + b = ossl_quic_port_get_net_rbio(port); BIO_free_all(b); @@ -1818,6 +1821,7 @@ static int create_channel(QUIC_CONNECTION *qc, SSL_CTX *ctx) if (qc->port == NULL) { QUIC_RAISE_NON_NORMAL_ERROR(NULL, ERR_R_INTERNAL_ERROR, NULL); ossl_quic_engine_free(qc->engine); + qc->engine = NULL; return 0; } @@ -1825,7 +1829,9 @@ static int create_channel(QUIC_CONNECTION *qc, SSL_CTX *ctx) if (qc->ch == NULL) { QUIC_RAISE_NON_NORMAL_ERROR(NULL, ERR_R_INTERNAL_ERROR, NULL); ossl_quic_port_free(qc->port); + qc->port = NULL; ossl_quic_engine_free(qc->engine); + qc->engine = NULL; return 0; } @@ -4008,14 +4014,14 @@ static void quic_classify_stream(QUIC_CONNECTION *qc, uint64_t *app_error_code) { int local_init; - uint64_t final_size; + uint64_t scratch_pad; /* throw away value */ local_init = (ossl_quic_stream_is_server_init(qs) == qc->as_server); if (app_error_code != NULL) *app_error_code = UINT64_MAX; else - app_error_code = &final_size; /* throw away value */ + app_error_code = &scratch_pad; if (!ossl_quic_stream_is_bidi(qs) && local_init != is_write) { /* @@ -4048,7 +4054,7 @@ static void quic_classify_stream(QUIC_CONNECTION *qc, *app_error_code = !is_write ? qs->peer_reset_stream_aec : qs->peer_stop_sending_aec; - } else if (is_write && ossl_quic_sstream_get_final_size(qs->sstream, &final_size)) { + } else if (is_write && qs->have_final_size) { /* * Stream has been finished. Stream reset takes precedence over this for * the write case as peer may not have received all data. @@ -4292,7 +4298,7 @@ SSL *ossl_quic_new_listener(SSL_CTX *ctx, uint64_t flags) if ((ql = OPENSSL_zalloc(sizeof(*ql))) == NULL) { QUIC_RAISE_NON_NORMAL_ERROR(NULL, ERR_R_CRYPTO_LIB, NULL); - goto err; + return NULL; } #if defined(OPENSSL_THREADS) @@ -4340,8 +4346,8 @@ SSL *ossl_quic_new_listener(SSL_CTX *ctx, uint64_t flags) return &ql->obj.ssl; err: - if (ql != NULL) - ossl_quic_engine_free(ql->engine); + ossl_quic_port_free(ql->port); + ossl_quic_engine_free(ql->engine); #if defined(OPENSSL_THREADS) ossl_crypto_mutex_free(&ql->mutex); @@ -4488,7 +4494,7 @@ SSL *ossl_quic_new_from_listener(SSL *ssl, uint64_t flags) #endif /* Create the handshake layer. */ - qc->tls = ossl_ssl_connection_new_int(ql->obj.ssl.ctx, NULL, TLS_method()); + qc->tls = ossl_ssl_connection_new_int(ql->obj.ssl.ctx, &qc->obj.ssl, TLS_method()); if (qc->tls == NULL || (sc = SSL_CONNECTION_FROM_SSL(qc->tls)) == NULL) { QUIC_RAISE_NON_NORMAL_ERROR(NULL, ERR_R_INTERNAL_ERROR, NULL); goto err; diff --git a/deps/openssl/openssl/ssl/quic/quic_port.c b/deps/openssl/openssl/ssl/quic/quic_port.c index 1e247e1ec624..200022ac2c56 100644 --- a/deps/openssl/openssl/ssl/quic/quic_port.c +++ b/deps/openssl/openssl/ssl/quic/quic_port.c @@ -1,5 +1,5 @@ /* - * Copyright 2023-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2023-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -549,9 +549,10 @@ static QUIC_CHANNEL *port_make_channel(QUIC_PORT *port, SSL *tls, OSSL_QRX *qrx, * If we're using qlog, make sure the tls get further configured properly */ ch->use_qlog = 1; - if (ch->tls->ctx->qlog_title != NULL) { + if (ch->tls != NULL && ch->tls->ctx->qlog_title != NULL) { + OPENSSL_free(ch->qlog_title); if ((ch->qlog_title = OPENSSL_strdup(ch->tls->ctx->qlog_title)) == NULL) { - OPENSSL_free(ch); + ossl_quic_channel_free(ch); return NULL; } } @@ -729,7 +730,7 @@ static void port_rx_pre(QUIC_PORT *port) * to *new_ch. */ static void port_bind_channel(QUIC_PORT *port, const BIO_ADDR *peer, - const QUIC_CONN_ID *scid, const QUIC_CONN_ID *dcid, + const QUIC_CONN_ID *dcid, const QUIC_CONN_ID *odcid, OSSL_QRX *qrx, QUIC_CHANNEL **new_ch) { @@ -766,8 +767,10 @@ static void port_bind_channel(QUIC_PORT *port, const BIO_ADDR *peer, if (!ossl_quic_provide_initial_secret(ch->port->engine->libctx, ch->port->engine->propq, dcid, /* is_server */ 1, - ch->qrx, NULL)) + ch->qrx, NULL)) { + ossl_quic_channel_free(ch); return; + } if (odcid->id_len != 0) { /* @@ -776,7 +779,7 @@ static void port_bind_channel(QUIC_PORT *port, const BIO_ADDR *peer, * See RFC 9000 s. 8.1 */ ossl_quic_tx_packetiser_set_validated(ch->txp); - if (!ossl_quic_bind_channel(ch, peer, scid, dcid, odcid)) { + if (!ossl_quic_bind_channel(ch, peer, dcid, odcid)) { ossl_quic_channel_free(ch); return; } @@ -785,7 +788,7 @@ static void port_bind_channel(QUIC_PORT *port, const BIO_ADDR *peer, * No odcid means we didn't do server validation, so we need to * generate a cid via ossl_quic_channel_on_new_conn */ - if (!ossl_quic_channel_on_new_conn(ch, peer, scid, dcid)) { + if (!ossl_quic_channel_on_new_conn(ch, peer, dcid)) { ossl_quic_channel_free(ch); return; } @@ -1332,8 +1335,7 @@ static void port_send_version_negotiation(QUIC_PORT *port, BIO_ADDR *peer, * configurable in the future. */ static int port_validate_token(QUIC_PKT_HDR *hdr, QUIC_PORT *port, - BIO_ADDR *peer, QUIC_CONN_ID *odcid, - QUIC_CONN_ID *scid, uint8_t *gen_new_token) + BIO_ADDR *peer, QUIC_CONN_ID *odcid, uint8_t *gen_new_token) { int ret = 0; QUIC_VALIDATION_TOKEN token = { 0 }; @@ -1393,11 +1395,9 @@ static int port_validate_token(QUIC_PKT_HDR *hdr, QUIC_PORT *port, != 0) goto err; *odcid = token.odcid; - *scid = token.rscid; } else { if (!ossl_quic_lcidm_get_unused_cid(port->lcidm, odcid)) goto err; - *scid = hdr->src_conn_id; } /* @@ -1486,7 +1486,7 @@ static void port_default_packet_handler(QUIC_URXE *e, void *arg, PACKET pkt; QUIC_PKT_HDR hdr; QUIC_CHANNEL *ch = NULL, *new_ch = NULL; - QUIC_CONN_ID odcid, scid; + QUIC_CONN_ID odcid; uint8_t gen_new_token = 0; OSSL_QRX *qrx = NULL; OSSL_QRX *qrx_src = NULL; @@ -1516,6 +1516,13 @@ static void port_default_packet_handler(QUIC_URXE *e, void *arg, if (!port->allow_incoming) goto undesirable; + /* + * packet without destination connection id is invalid/corrupted here. + * stop wasting CPU cycles now. + */ + if (dcid == NULL) + goto undesirable; + /* * We have got a packet for an unknown DCID. This might be an attempt to * open a new connection. @@ -1636,8 +1643,7 @@ static void port_default_packet_handler(QUIC_URXE *e, void *arg, */ if (hdr.token != NULL && port_validate_token(&hdr, port, &e->peer, - &odcid, &scid, - &gen_new_token) + &odcid, &gen_new_token) == 0) { /* * RFC 9000 s 8.1.3 @@ -1666,11 +1672,13 @@ static void port_default_packet_handler(QUIC_URXE *e, void *arg, * forget qrx so channel can create a new one * with valid initial encryption level keys. */ - qrx_src = qrx; - qrx = NULL; + if (qrx != NULL) { + qrx_src = qrx; + qrx = NULL; + } } - port_bind_channel(port, &e->peer, &scid, &hdr.dst_conn_id, + port_bind_channel(port, &e->peer, &hdr.dst_conn_id, &odcid, qrx, &new_ch); /* diff --git a/deps/openssl/openssl/ssl/quic/quic_record_rx.c b/deps/openssl/openssl/ssl/quic/quic_record_rx.c index d9e2b4323bdf..8897cc6c2df0 100644 --- a/deps/openssl/openssl/ssl/quic/quic_record_rx.c +++ b/deps/openssl/openssl/ssl/quic/quic_record_rx.c @@ -1,5 +1,5 @@ /* - * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -1031,7 +1031,13 @@ static int qrx_process_pkt(OSSL_QRX *qrx, QUIC_URXE *urxe, */ rxe = qrx_ensure_free_rxe(qrx, PACKET_remaining(pkt)); if (rxe == NULL) - return 0; + /* + * Allocation failure, treat as malformed as we cannot process this + * packet. The header has not been read yet so we do not know the + * packet size and cannot skip just this packet, so we drop the rest of + * the datagram instead. + */ + goto malformed; /* Have we already processed this packet? */ if (pkt_is_marked(&urxe->processed, pkt_idx)) diff --git a/deps/openssl/openssl/ssl/quic/quic_record_shared.c b/deps/openssl/openssl/ssl/quic/quic_record_shared.c index 29accf602e59..05d4d00b138b 100644 --- a/deps/openssl/openssl/ssl/quic/quic_record_shared.c +++ b/deps/openssl/openssl/ssl/quic/quic_record_shared.c @@ -87,9 +87,6 @@ static void el_teardown_keyslot(OSSL_QRL_ENC_LEVEL_SET *els, { OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0); - if (!ossl_qrl_enc_level_set_has_keyslot(els, enc_level, el->state, keyslot)) - return; - if (el->cctx[keyslot] != NULL) { EVP_CIPHER_CTX_free(el->cctx[keyslot]); el->cctx[keyslot] = NULL; @@ -98,26 +95,18 @@ static void el_teardown_keyslot(OSSL_QRL_ENC_LEVEL_SET *els, OPENSSL_cleanse(el->iv[keyslot], sizeof(el->iv[keyslot])); } -static int el_setup_keyslot(OSSL_QRL_ENC_LEVEL_SET *els, - uint32_t enc_level, - unsigned char tgt_state, - size_t keyslot, - const unsigned char *secret, - size_t secret_len) +static int el_build_keyslot(OSSL_QRL_ENC_LEVEL *el, + const unsigned char *secret, size_t secret_len, + EVP_CIPHER_CTX **out_cctx, unsigned char *out_iv, size_t *out_iv_len) { - OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0); unsigned char key[EVP_MAX_KEY_LENGTH]; size_t key_len = 0, iv_len = 0; const char *cipher_name = NULL; EVP_CIPHER *cipher = NULL; EVP_CIPHER_CTX *cctx = NULL; - if (!ossl_assert(el != NULL - && ossl_qrl_enc_level_set_has_keyslot(els, enc_level, - tgt_state, keyslot))) { - ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_INVALID_ARGUMENT); - return 0; - } + *out_cctx = NULL; + *out_iv_len = 0; cipher_name = ossl_qrl_get_suite_cipher_name(el->suite_id); iv_len = ossl_qrl_get_suite_cipher_iv_len(el->suite_id); @@ -133,25 +122,15 @@ static int el_setup_keyslot(OSSL_QRL_ENC_LEVEL_SET *els, return 0; } - assert(el->cctx[keyslot] == NULL); - - /* Derive "quic iv" key. */ - if (!tls13_hkdf_expand_ex(el->libctx, el->propq, - el->md, - secret, - quic_v1_iv_label, - sizeof(quic_v1_iv_label), - NULL, 0, - el->iv[keyslot], iv_len, 1)) + /* Derive "quic iv" into caller's buffer. */ + if (!tls13_hkdf_expand_ex(el->libctx, el->propq, el->md, secret, + quic_v1_iv_label, sizeof(quic_v1_iv_label), NULL, 0, + out_iv, iv_len, 1)) goto err; - /* Derive "quic key" key. */ - if (!tls13_hkdf_expand_ex(el->libctx, el->propq, - el->md, - secret, - quic_v1_key_label, - sizeof(quic_v1_key_label), - NULL, 0, + /* Derive "quic key" into local. */ + if (!tls13_hkdf_expand_ex(el->libctx, el->propq, el->md, secret, + quic_v1_key_label, sizeof(quic_v1_key_label), NULL, 0, key, key_len, 1)) goto err; @@ -173,12 +152,13 @@ static int el_setup_keyslot(OSSL_QRL_ENC_LEVEL_SET *els, } /* IV will be changed on RX/TX so we don't need to use a real value here. */ - if (!EVP_CipherInit_ex(cctx, cipher, NULL, key, el->iv[keyslot], 0)) { + if (!EVP_CipherInit_ex(cctx, cipher, NULL, key, out_iv, 0)) { ERR_raise(ERR_LIB_SSL, ERR_R_EVP_LIB); goto err; } - el->cctx[keyslot] = cctx; + *out_cctx = cctx; + *out_iv_len = iv_len; /* Zeroize intermediate keys. */ OPENSSL_cleanse(key, sizeof(key)); @@ -188,11 +168,47 @@ static int el_setup_keyslot(OSSL_QRL_ENC_LEVEL_SET *els, err: EVP_CIPHER_CTX_free(cctx); EVP_CIPHER_free(cipher); - OPENSSL_cleanse(el->iv[keyslot], sizeof(el->iv[keyslot])); OPENSSL_cleanse(key, sizeof(key)); + OPENSSL_cleanse(out_iv, iv_len); return 0; } +static void el_install_keyslot(OSSL_QRL_ENC_LEVEL *el, size_t keyslot, + EVP_CIPHER_CTX *new_cctx, const unsigned char *new_iv, size_t new_iv_len) +{ + assert(el->cctx[keyslot] == NULL); + assert(new_iv_len <= sizeof(el->iv[keyslot])); + + el->cctx[keyslot] = new_cctx; + memcpy(el->iv[keyslot], new_iv, new_iv_len); +} + +static int el_setup_keyslot(OSSL_QRL_ENC_LEVEL_SET *els, uint32_t enc_level, + unsigned char tgt_state, size_t keyslot, const unsigned char *secret, + size_t secret_len) +{ + OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0); + EVP_CIPHER_CTX *new_cctx = NULL; + unsigned char new_iv[EVP_MAX_IV_LENGTH]; + size_t new_iv_len = EVP_MAX_IV_LENGTH; + + if (!ossl_assert(el != NULL + && ossl_qrl_enc_level_set_has_keyslot(els, enc_level, + tgt_state, keyslot))) { + ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_INVALID_ARGUMENT); + return 0; + } + + if (!el_build_keyslot(el, secret, secret_len, &new_cctx, new_iv, + &new_iv_len)) + return 0; + + el_install_keyslot(el, keyslot, new_cctx, new_iv, new_iv_len); + + OPENSSL_cleanse(new_iv, sizeof(new_iv)); + return 1; +} + int ossl_qrl_enc_level_set_provide_secret(OSSL_QRL_ENC_LEVEL_SET *els, OSSL_LIB_CTX *libctx, const char *propq, @@ -346,6 +362,9 @@ int ossl_qrl_enc_level_set_key_update(OSSL_QRL_ENC_LEVEL_SET *els, uint32_t enc_level) { OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0); + EVP_CIPHER_CTX *new_cctx = NULL; + unsigned char new_iv[EVP_MAX_IV_LENGTH]; + size_t new_iv_len = EVP_MAX_IV_LENGTH; size_t secret_len; unsigned char new_ku[EVP_MAX_KEY_LENGTH]; @@ -383,13 +402,15 @@ int ossl_qrl_enc_level_set_key_update(OSSL_QRL_ENC_LEVEL_SET *els, new_ku, secret_len, 1)) return 0; - el_teardown_keyslot(els, enc_level, 0); - - /* Setup keyslot for CURRENT "quic ku" key. */ - if (!el_setup_keyslot(els, enc_level, QRL_EL_STATE_PROV_NORMAL, - 0, el->ku, secret_len)) + /* Build new keyslot first so if it fails, teardown is not done. */ + if (!el_build_keyslot(el, el->ku, secret_len, &new_cctx, new_iv, + &new_iv_len)) return 0; + el_teardown_keyslot(els, enc_level, 0); + el_install_keyslot(el, 0, new_cctx, new_iv, new_iv_len); + OPENSSL_cleanse(new_iv, sizeof(new_iv)); + ++el->key_epoch; el->op_count = 0; memcpy(el->ku, new_ku, secret_len); diff --git a/deps/openssl/openssl/ssl/quic/quic_record_tx.c b/deps/openssl/openssl/ssl/quic/quic_record_tx.c index 28158ae03895..93d1203c37d8 100644 --- a/deps/openssl/openssl/ssl/quic/quic_record_tx.c +++ b/deps/openssl/openssl/ssl/quic/quic_record_tx.c @@ -1,5 +1,5 @@ /* - * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -259,9 +259,9 @@ static TXE *qtx_ensure_free_txe(OSSL_QTX *qtx, size_t alloc_len) * of the TXE might change; the new address is returned, or NULL on failure, in * which case the original TXE remains valid. */ -static TXE *qtx_resize_txe(OSSL_QTX *qtx, TXE_LIST *txl, TXE *txe, size_t n) +static TXE *qtx_resize_txe(OSSL_QTX *qtx, TXE *txe, size_t n) { - TXE *txe2, *p; + TXE *txe2; /* Should never happen. */ if (txe == NULL) @@ -270,27 +270,21 @@ static TXE *qtx_resize_txe(OSSL_QTX *qtx, TXE_LIST *txl, TXE *txe, size_t n) if (n >= SIZE_MAX - sizeof(TXE)) return NULL; - /* Remove the item from the list to avoid accessing freed memory */ - p = ossl_list_txe_prev(txe); - ossl_list_txe_remove(txl, txe); + /* + * to resize txe, the caller must detach it from the list first, + * fail if txe is still attached. + */ + if (!ossl_assert(ossl_list_txe_prev(txe) == NULL + && ossl_list_txe_next(txe) == NULL)) + return NULL; /* * NOTE: We do not clear old memory, although it does contain decrypted * data. */ txe2 = OPENSSL_realloc(txe, sizeof(TXE) + n); - if (txe2 == NULL) { - if (p == NULL) - ossl_list_txe_insert_head(txl, txe); - else - ossl_list_txe_insert_after(txl, p, txe); + if (txe2 == NULL) return NULL; - } - - if (p == NULL) - ossl_list_txe_insert_head(txl, txe2); - else - ossl_list_txe_insert_after(txl, p, txe2); if (qtx->cons == txe) qtx->cons = txe2; @@ -303,13 +297,12 @@ static TXE *qtx_resize_txe(OSSL_QTX *qtx, TXE_LIST *txl, TXE *txe, size_t n) * Ensure the data buffer attached to an TXE is at least n bytes in size. * Returns NULL on failure. */ -static TXE *qtx_reserve_txe(OSSL_QTX *qtx, TXE_LIST *txl, - TXE *txe, size_t n) +static TXE *qtx_reserve_txe(OSSL_QTX *qtx, TXE *txe, size_t n) { if (txe->alloc_len >= n) return txe; - return qtx_resize_txe(qtx, txl, txe, n); + return qtx_resize_txe(qtx, txe, n); } /* Move a TXE from pending to free. */ @@ -830,6 +823,16 @@ int ossl_qtx_write_pkt(OSSL_QTX *qtx, const OSSL_QTX_PKT *pkt) * serialize/encrypt the packet. We always encrypt packets as soon as * our caller gives them to us, which relieves the caller of any need to * keep the plaintext around. + * + * the txe can have three distinct states: + * - attached to free list + * - attached to tx list + * - detached. + * + * if txe is detached (not member of free/tx list), then it is kept + * in qtx->cons. The qtx_ensure_cons() here either returns the txe + * from free list or existing ->cons txe. The txe we obtain here + * is detached. */ txe = qtx_ensure_cons(qtx); if (txe == NULL) @@ -839,8 +842,20 @@ int ossl_qtx_write_pkt(OSSL_QTX *qtx, const OSSL_QTX_PKT *pkt) * Ensure TXE has at least MDPL bytes allocated. This should only be * possible if the MDPL has increased. */ - if (!qtx_reserve_txe(qtx, NULL, txe, qtx->mdpl)) + txe = qtx_reserve_txe(qtx, txe, qtx->mdpl); + if (txe == NULL) { + /* + * realloc of txe failed. however it is still kept in ->cons, + * no memory leak. + * The question is what we should do here to handle error, + * is doing `return 0` enough? or shall we discard ->cons and + * put it back to free list? + * or just stop coalescing the packet and dispatch it to network + * right now so the next packet tx can start from fresh? + * I think this is the problem for another day. + */ return 0; + } if (!was_coalescing) { /* Set addresses in TXE. */ @@ -867,6 +882,11 @@ int ossl_qtx_write_pkt(OSSL_QTX *qtx, const OSSL_QTX_PKT *pkt) /* * We failed due to insufficient length, so end the current * datagram and try again. + * + * the ossl_qtx_finish_dgram() also puts the txe (-.cons) to + * tx list, so ->cons becomes attached again. The function also + * sets ->cons to NULL so the next loop iteration starts with + * fresh txe (which is also safe to resize). */ ossl_qtx_finish_dgram(qtx); was_coalescing = 0; diff --git a/deps/openssl/openssl/ssl/quic/quic_rx_depack.c b/deps/openssl/openssl/ssl/quic/quic_rx_depack.c index 786af9b4c221..7ab59f01a1cd 100644 --- a/deps/openssl/openssl/ssl/quic/quic_rx_depack.c +++ b/deps/openssl/openssl/ssl/quic/quic_rx_depack.c @@ -931,6 +931,22 @@ static int depack_do_frame_retire_conn_id(PACKET *pkt, static void free_path_response(unsigned char *buf, size_t buf_len, void *arg) { + QUIC_CHANNEL *ch = (QUIC_CHANNEL *)arg; + + assert(ch->path_response_limit > 0); + + ch->path_response_limit--; + + /* + * Assume path response frame is being freed on behalf of + * finished TX operation. This is for unit testing purposes + * only. The counter is also bumped when channel is being + * destroyed and CFQ (control frame queue) is freed. + * This currently does not matter for check_pc_flood + * in test/radix/quic_tests.c. + */ + ch->path_response_tx++; + OPENSSL_free(buf); } @@ -951,33 +967,41 @@ static int depack_do_frame_path_challenge(PACKET *pkt, return 0; } - /* - * RFC 9000 s. 8.2.2: On receiving a PATH_CHALLENGE frame, an endpoint MUST - * respond by echoing the data contained in the PATH_CHALLENGE frame in a - * PATH_RESPONSE frame. - * - * TODO(QUIC FUTURE): We should try to avoid allocation here in the future. - */ - encoded_len = sizeof(uint64_t) + 1; - if ((encoded = OPENSSL_malloc(encoded_len)) == NULL) - goto err; + if (ch->seen_path_challenge == 0 + && ch->path_response_limit < QUIC_PATH_RESPONSE_QLEN) { + /* + * RFC 9000 s. 8.2.2: On receiving a PATH_CHALLENGE frame, an endpoint + * MUST respond by echoing the data contained in the PATH_CHALLENGE + * frame in a PATH_RESPONSE frame. + * + * TODO(QUIC FUTURE): We should try to avoid allocation here in the + * future. + */ + encoded_len = sizeof(uint64_t) + 1; + if ((encoded = OPENSSL_malloc(encoded_len)) == NULL) + goto err; - if (!WPACKET_init_static_len(&wpkt, encoded, encoded_len, 0)) - goto err; + if (!WPACKET_init_static_len(&wpkt, encoded, encoded_len, 0)) + goto err; - if (!ossl_quic_wire_encode_frame_path_response(&wpkt, frame_data)) { - WPACKET_cleanup(&wpkt); - goto err; - } + if (!ossl_quic_wire_encode_frame_path_response(&wpkt, frame_data)) { + WPACKET_cleanup(&wpkt); + goto err; + } - WPACKET_finish(&wpkt); + WPACKET_finish(&wpkt); - if (!ossl_quic_cfq_add_frame(ch->cfq, 0, QUIC_PN_SPACE_APP, - OSSL_QUIC_FRAME_TYPE_PATH_RESPONSE, - QUIC_CFQ_ITEM_FLAG_UNRELIABLE, - encoded, encoded_len, - free_path_response, NULL)) - goto err; + if (!ossl_quic_cfq_add_frame(ch->cfq, 0, QUIC_PN_SPACE_APP, + OSSL_QUIC_FRAME_TYPE_PATH_RESPONSE, + QUIC_CFQ_ITEM_FLAG_UNRELIABLE, + encoded, encoded_len, + free_path_response, ch)) + goto err; + ch->seen_path_challenge = 1; + ch->path_response_limit++; + } + + ch->path_challenge_rx++; return 1; @@ -1432,7 +1456,7 @@ int ossl_quic_handle_frames(QUIC_CHANNEL *ch, OSSL_QRX_PKT *qpacket) if (ch == NULL) return 0; - ch->did_crypto_frame = 0; + ossl_ch_reset_rx_state(ch); /* Initialize |ackm_data| (and reinitialize |ok|)*/ memset(&ackm_data, 0, sizeof(ackm_data)); diff --git a/deps/openssl/openssl/ssl/quic/quic_stream_map.c b/deps/openssl/openssl/ssl/quic/quic_stream_map.c index b8175849a019..84ac6b714e38 100644 --- a/deps/openssl/openssl/ssl/quic/quic_stream_map.c +++ b/deps/openssl/openssl/ssl/quic/quic_stream_map.c @@ -437,6 +437,13 @@ int ossl_quic_stream_map_notify_totally_acked(QUIC_STREAM_MAP *qsm, case QUIC_SSTREAM_STATE_DATA_SENT: qs->send_state = QUIC_SSTREAM_STATE_DATA_RECVD; + /* + * Remember final size in case SSL_get_stream_write_state() + * gets called. + */ + qs->have_final_size = ossl_quic_sstream_get_final_size(qs->sstream, + NULL); + /* We no longer need a QUIC_SSTREAM in this state. */ ossl_quic_sstream_free(qs->sstream); qs->sstream = NULL; diff --git a/deps/openssl/openssl/ssl/quic/quic_txp.c b/deps/openssl/openssl/ssl/quic/quic_txp.c index 44aaad868d2f..5ce8e77f61e0 100644 --- a/deps/openssl/openssl/ssl/quic/quic_txp.c +++ b/deps/openssl/openssl/ssl/quic/quic_txp.c @@ -1,5 +1,5 @@ /* - * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -3133,6 +3133,8 @@ static int txp_pkt_commit(OSSL_QUIC_TX_PACKETISER *txp, --probe_info->pto[pn_space]; } + ossl_quic_fifd_pkt_discard_unreliable(&txp->fifd, tpkt); + return rc; } diff --git a/deps/openssl/openssl/ssl/quic/uint_set.c b/deps/openssl/openssl/ssl/quic/uint_set.c index e217816a395b..4b723869e853 100644 --- a/deps/openssl/openssl/ssl/quic/uint_set.c +++ b/deps/openssl/openssl/ssl/quic/uint_set.c @@ -174,6 +174,7 @@ int ossl_uint_set_insert(UINT_SET *s, const UINT_RANGE *range) for (x = ossl_list_uint_set_next(x); x != NULL; x = xnext) { xnext = ossl_list_uint_set_next(x); ossl_list_uint_set_remove(s, x); + OPENSSL_free(x); } return 1; } diff --git a/deps/openssl/openssl/ssl/record/methods/ktls_meth.c b/deps/openssl/openssl/ssl/record/methods/ktls_meth.c index bfdcc24687f2..e4fbba577ca1 100644 --- a/deps/openssl/openssl/ssl/record/methods/ktls_meth.c +++ b/deps/openssl/openssl/ssl/record/methods/ktls_meth.c @@ -1,5 +1,5 @@ /* - * Copyright 2018-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2018-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -472,11 +472,16 @@ static int ktls_initialise_write_packets(OSSL_RECORD_LAYER *rl, wb = &bufs[0]; wb->type = templates[0].type; + /* + * Free any internal buffer allocated during a previous write retry + * (see tls_retry_write_records). App buffers are not ours to free. + */ + if (!TLS_BUFFER_is_app_buffer(wb)) + OPENSSL_free(TLS_BUFFER_get_buf(wb)); + /* * ktls doesn't modify the buffer, but to avoid a warning we need * to discard the const qualifier. - * This doesn't leak memory because the buffers have never been allocated - * with KTLS */ TLS_BUFFER_set_buf(wb, (unsigned char *)templates[0].buf); TLS_BUFFER_set_offset(wb, 0); @@ -547,15 +552,6 @@ static int ktls_alloc_buffers(OSSL_RECORD_LAYER *rl) return tls_alloc_buffers(rl); } -static int ktls_free_buffers(OSSL_RECORD_LAYER *rl) -{ - /* We use the application buffer directly for writing */ - if (rl->direction == OSSL_RECORD_DIRECTION_WRITE) - return 1; - - return tls_free_buffers(rl); -} - static struct record_functions_st ossl_ktls_funcs = { ktls_set_crypto_state, ktls_cipher, @@ -602,5 +598,5 @@ const OSSL_RECORD_METHOD ossl_ktls_record_method = { NULL, tls_increment_sequence_ctr, ktls_alloc_buffers, - ktls_free_buffers + tls_free_buffers }; diff --git a/deps/openssl/openssl/ssl/record/methods/tls_common.c b/deps/openssl/openssl/ssl/record/methods/tls_common.c index bf035b13d54f..9f957b7cc656 100644 --- a/deps/openssl/openssl/ssl/record/methods/tls_common.c +++ b/deps/openssl/openssl/ssl/record/methods/tls_common.c @@ -1455,7 +1455,7 @@ tls_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq, int vers, static void tls_int_free(OSSL_RECORD_LAYER *rl) { BIO_free(rl->prev); - BIO_free(rl->bio); + BIO_free_all(rl->bio); BIO_free(rl->next); ossl_tls_buffer_release(&rl->rbuf); @@ -1975,6 +1975,28 @@ int tls_retry_write_records(OSSL_RECORD_LAYER *rl) tls_release_write_buffer(rl); return OSSL_RECORD_RETURN_SUCCESS; } else if (i <= 0) { + /* + * If the app buffer is used directly (kTLS) and the caller is + * allowed to move it, copy the unsent data so the original + * buffer can be safely released. + */ + if (TLS_BUFFER_is_app_buffer(thiswb) + && (rl->mode & SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER) != 0) { + size_t left = TLS_BUFFER_get_left(thiswb); + unsigned char *buf; + + buf = OPENSSL_malloc(left); + if (buf == NULL) { + RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR); + return OSSL_RECORD_RETURN_FATAL; + } + memcpy(buf, + TLS_BUFFER_get_buf(thiswb) + TLS_BUFFER_get_offset(thiswb), + left); + TLS_BUFFER_set_buf(thiswb, buf); + TLS_BUFFER_set_offset(thiswb, 0); + TLS_BUFFER_set_app_buffer(thiswb, 0); + } if (rl->isdtls) { /* * For DTLS, just drop it. That's kind of the whole point in @@ -2001,7 +2023,7 @@ int tls_set1_bio(OSSL_RECORD_LAYER *rl, BIO *bio) { if (bio != NULL && !BIO_up_ref(bio)) return 0; - BIO_free(rl->bio); + BIO_free_all(rl->bio); rl->bio = bio; return 1; diff --git a/deps/openssl/openssl/ssl/ssl_ciph.c b/deps/openssl/openssl/ssl/ssl_ciph.c index 7dccec626065..fd2c4b08333b 100644 --- a/deps/openssl/openssl/ssl/ssl_ciph.c +++ b/deps/openssl/openssl/ssl/ssl_ciph.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -1265,6 +1265,10 @@ static int ciphersuite_cb(const char *elem, int len, void *arg) /* Arbitrary sized temp buffer for the cipher name. Should be big enough */ char name[80]; + /* CONF_parse_list signals empty elements with elem == NULL; skip them */ + if (elem == NULL || len == 0) + return 1; + if (len > (int)(sizeof(name) - 1)) /* Anyway return 1 so we can parse rest of the list */ return 1; diff --git a/deps/openssl/openssl/ssl/ssl_rsa.c b/deps/openssl/openssl/ssl/ssl_rsa.c index 17ccb5462fb4..740460f5c2e0 100644 --- a/deps/openssl/openssl/ssl/ssl_rsa.c +++ b/deps/openssl/openssl/ssl/ssl_rsa.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -1039,7 +1039,9 @@ static int ssl_set_cert_and_key(SSL *ssl, SSL_CTX *ctx, X509 *x509, EVP_PKEY *pr goto out; } } - if (ssl_cert_lookup_by_pkey(pubkey, &i, ctx) == NULL) { + if (ssl_cert_lookup_by_pkey(pubkey, &i, + sc != NULL ? SSL_CONNECTION_GET_CTX(sc) : ctx) + == NULL) { ERR_raise(ERR_LIB_SSL, SSL_R_UNKNOWN_CERTIFICATE_TYPE); goto out; } diff --git a/deps/openssl/openssl/ssl/statem/extensions_cust.c b/deps/openssl/openssl/ssl/statem/extensions_cust.c index ce1c69bbdc1d..f6161e195cd3 100644 --- a/deps/openssl/openssl/ssl/statem/extensions_cust.c +++ b/deps/openssl/openssl/ssl/statem/extensions_cust.c @@ -1,5 +1,5 @@ /* - * Copyright 2014-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2014-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -343,9 +343,6 @@ int custom_exts_copy_conn(custom_ext_methods *dst, if (methdst == NULL) return 0; - for (i = 0; i < dst->meths_count; i++) - custom_ext_copy_old_cb(&methdst[i], &dst->meths[i], &err); - dst->meths = methdst; methdst += dst->meths_count; diff --git a/deps/openssl/openssl/ssl/statem/extensions_srvr.c b/deps/openssl/openssl/ssl/statem/extensions_srvr.c index cdb914daedcf..5218547f591f 100644 --- a/deps/openssl/openssl/ssl/statem/extensions_srvr.c +++ b/deps/openssl/openssl/ssl/statem/extensions_srvr.c @@ -1,5 +1,5 @@ /* - * Copyright 2016-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -1342,6 +1342,10 @@ int tls_parse_ctos_psk(SSL_CONNECTION *s, PACKET *pkt, unsigned int context, } idlen = PACKET_remaining(&identity); + if (idlen == 0) { + SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_EXTENSION); + return 0; + } if (s->psk_find_session_cb != NULL && !s->psk_find_session_cb(ussl, PACKET_data(&identity), idlen, &sess)) { @@ -1440,13 +1444,13 @@ int tls_parse_ctos_psk(SSL_CONNECTION *s, PACKET *pkt, unsigned int context, if (ret == SSL_TICKET_EMPTY) { SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_EXTENSION); - return 0; + goto err; } if (ret == SSL_TICKET_FATAL_ERR_MALLOC || ret == SSL_TICKET_FATAL_ERR_OTHER) { SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR); - return 0; + goto err; } if (ret == SSL_TICKET_NONE || ret == SSL_TICKET_NO_DECRYPT) continue; @@ -1501,7 +1505,12 @@ int tls_parse_ctos_psk(SSL_CONNECTION *s, PACKET *pkt, unsigned int context, SSL_SESSION_free(sess); sess = NULL; s->ext.early_data_ok = 0; - s->ext.ticket_expected = 0; + /* + * We fall back to a full handshake. The new session ticket will be + * issued to the client with the newly negotiated ciphersuite, + * allowing successful resumption on future connections. + */ + s->ext.ticket_expected = 1; continue; } break; diff --git a/deps/openssl/openssl/ssl/statem/statem.c b/deps/openssl/openssl/ssl/statem/statem.c index 3342cb06d208..00631bf55e0e 100644 --- a/deps/openssl/openssl/ssl/statem/statem.c +++ b/deps/openssl/openssl/ssl/statem/statem.c @@ -1,5 +1,5 @@ /* - * Copyright 2015-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2015-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -151,7 +151,7 @@ void ossl_statem_send_fatal(SSL_CONNECTION *s, int al) return; ossl_statem_set_in_init(s, 1); s->statem.state = MSG_FLOW_ERROR; - if (al != SSL_AD_NO_ALERT) + if (al != SSL_AD_NO_ALERT && s->rlayer.wrlmethod != NULL) ssl3_send_alert(s, SSL3_AL_FATAL, al); } @@ -541,22 +541,6 @@ static void init_read_state_machine(SSL_CONNECTION *s) st->read_state = READ_STATE_HEADER; } -static int grow_init_buf(SSL_CONNECTION *s, size_t size) -{ - - size_t msg_offset = (char *)s->init_msg - s->init_buf->data; - - if (!BUF_MEM_grow_clean(s->init_buf, (int)size)) - return 0; - - if (size < msg_offset) - return 0; - - s->init_msg = s->init_buf->data + msg_offset; - - return 1; -} - /* * This function implements the sub-state machine when the message flow is in * MSG_FLOW_READING. The valid sub-states and transitions are: @@ -653,14 +637,6 @@ static SUB_STATE_RETURN read_state_machine(SSL_CONNECTION *s) return SUB_STATE_ERROR; } - /* dtls_get_message already did this */ - if (!SSL_CONNECTION_IS_DTLS(s) - && s->s3.tmp.message_size > 0 - && !grow_init_buf(s, s->s3.tmp.message_size + SSL3_HM_HEADER_LENGTH)) { - SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_BUF_LIB); - return SUB_STATE_ERROR; - } - st->read_state = READ_STATE_BODY; /* Fall through */ diff --git a/deps/openssl/openssl/ssl/statem/statem_clnt.c b/deps/openssl/openssl/ssl/statem/statem_clnt.c index 0619fbd6f13a..b317b9392435 100644 --- a/deps/openssl/openssl/ssl/statem/statem_clnt.c +++ b/deps/openssl/openssl/ssl/statem/statem_clnt.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2607,8 +2607,10 @@ MSG_PROCESS_RETURN tls_process_certificate_request(SSL_CONNECTION *s, s->s3.tmp.valid_flags = OPENSSL_zalloc(s->ssl_pkey_num * sizeof(uint32_t)); /* Give up for good if allocation didn't work */ - if (s->s3.tmp.valid_flags == NULL) - return 0; + if (s->s3.tmp.valid_flags == NULL) { + SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_CRYPTO_LIB); + return MSG_PROCESS_ERROR; + } if (SSL_CONNECTION_IS_TLS13(s)) { PACKET reqctx, extensions; diff --git a/deps/openssl/openssl/ssl/statem/statem_lib.c b/deps/openssl/openssl/ssl/statem/statem_lib.c index aa9d196780eb..7e3be12f7a71 100644 --- a/deps/openssl/openssl/ssl/statem/statem_lib.c +++ b/deps/openssl/openssl/ssl/statem/statem_lib.c @@ -1661,9 +1661,25 @@ int tls_get_message_header(SSL_CONNECTION *s, int *mt) return 1; } +static int grow_init_buf(SSL_CONNECTION *s, size_t size) +{ + + size_t msg_offset = (char *)s->init_msg - s->init_buf->data; + + if (!BUF_MEM_grow_clean(s->init_buf, size)) + return 0; + + if (size < msg_offset) + return 0; + + s->init_msg = s->init_buf->data + msg_offset; + + return 1; +} + int tls_get_message_body(SSL_CONNECTION *s, size_t *len) { - size_t n, readbytes; + size_t toread, readbytes; unsigned char *p; int i; SSL *ssl = SSL_CONNECTION_GET_SSL(s); @@ -1675,18 +1691,30 @@ int tls_get_message_body(SSL_CONNECTION *s, size_t *len) return 1; } - p = s->init_msg; - n = s->s3.tmp.message_size - s->init_num; - while (n > 0) { + toread = s->s3.tmp.message_size - s->init_num; + while (toread > 0) { + size_t chunk = toread > SSL3_RT_MAX_PLAIN_LENGTH ? SSL3_RT_MAX_PLAIN_LENGTH : toread; + + /* + * We incrementally allocate the buffer to guard against the peer + * claiming a very large message size and then not sending it. + */ + if (!grow_init_buf(s, s->init_num + chunk + SSL3_HM_HEADER_LENGTH)) { + SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_BUF_LIB); + return 0; + } + + /* init_msg location can change after grow_init_buf */ + p = s->init_msg; i = ssl->method->ssl_read_bytes(ssl, SSL3_RT_HANDSHAKE, NULL, - &p[s->init_num], n, 0, &readbytes); + &p[s->init_num], chunk, 0, &readbytes); if (i <= 0) { s->rwstate = SSL_READING; *len = 0; return 0; } s->init_num += readbytes; - n -= readbytes; + toread -= readbytes; } /* diff --git a/deps/openssl/openssl/ssl/statem/statem_srvr.c b/deps/openssl/openssl/ssl/statem/statem_srvr.c index 6079176f9988..b2f8a0ebc43d 100644 --- a/deps/openssl/openssl/ssl/statem/statem_srvr.c +++ b/deps/openssl/openssl/ssl/statem/statem_srvr.c @@ -1,5 +1,5 @@ /* - * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved. * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved * Copyright 2005 Nokia. All rights reserved. * @@ -2026,6 +2026,19 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s) s->peer_ciphers = ciphers; s->session->verify_result = X509_V_OK; + /* + * Per RFC 4851, Section 3.2.2: + * If the ClientHello contains both a Session ID and a PAC-Opaque in + * the SessionTicket extension, and the server resumes the session + * using the PAC-Opaque, it should echo the same Session ID in the + * ServerHello. + */ + if (clienthello->session_id_len > 0) { + memcpy(s->session->session_id, clienthello->session_id, + clienthello->session_id_len); + s->session->session_id_length = clienthello->session_id_len; + } + ciphers = NULL; /* check if some cipher was preferred by call back */ diff --git a/deps/openssl/openssl/ssl/t1_lib.c b/deps/openssl/openssl/ssl/t1_lib.c index ded6a1eadfb8..e11fa8bc638e 100644 --- a/deps/openssl/openssl/ssl/t1_lib.c +++ b/deps/openssl/openssl/ssl/t1_lib.c @@ -1237,9 +1237,14 @@ typedef struct { size_t gidmax; /* The memory allocation chunk size for the group IDs */ size_t gidcnt; /* Number of groups */ uint16_t *gid_arr; /* The IDs of the supported groups (flat list) */ - size_t tplmax; /* The memory allocation chunk size for the tuple counters */ - size_t tplcnt; /* Number of tuples */ - size_t *tuplcnt_arr; /* The number of groups inside a tuple */ + size_t tplmax; /* Allocated length of tuplcnt_arr */ + /* + * Number of *closed* (fully parsed) tuples. During parsing there is + * always one additional active tuple being built, stored at index tplcnt. + * tuplcnt_arr therefore always needs at least tplcnt + 1 allocated slots. + */ + size_t tplcnt; + size_t *tuplcnt_arr; /* Per-tuple group counts; [0..tplcnt-1] closed, [tplcnt] active */ size_t ksidmax; /* The memory allocation chunk size */ size_t ksidcnt; /* Number of key shares */ uint16_t *ksid_arr; /* The IDs of the key share groups (flat list) */ @@ -1522,12 +1527,20 @@ static int gid_cb(const char *elem, int len, void *arg) return retval; } +/* + * Ensure tuplcnt_arr has room for at least tplcnt + 2 entries so that + * close_tuple() can safely increment tplcnt and write the new active-tuple + * slot at index tplcnt + 1. Must be called before that increment. + */ static int grow_tuples(gid_cb_st *garg) { static size_t max_tplcnt = (~(size_t)0) / sizeof(size_t); - /* This uses OPENSSL_realloc_array() in newer releases */ - if (garg->tplcnt == garg->tplmax) { + /* + * Ensure we have room for at least one additional tuple. + * (tplcnt + 1 are in active use). + */ + if (garg->tplcnt + 1 == garg->tplmax) { size_t newcnt = garg->tplmax + GROUPLIST_INCREMENT; size_t newsz = newcnt * sizeof(size_t); size_t *tmp; @@ -1542,15 +1555,25 @@ static int grow_tuples(gid_cb_st *garg) return 1; } +/* + * Finalise the active tuple (at index tplcnt) and open a fresh one. + * tplcnt is the count of closed tuples; the active tuple lives at tplcnt + * throughout parsing. After this call tplcnt is incremented and the new + * active tuple at the updated index is initialised to 0. + * Empty tuples (gidcnt == 0) are discarded without advancing tplcnt. + */ static int close_tuple(gid_cb_st *garg) { size_t gidcnt = garg->tuplcnt_arr[garg->tplcnt]; if (gidcnt == 0) - return 1; + return 1; /* Discard empty tuple; no need to open a new slot */ + + /* Grow before the increment: the new active slot will be at tplcnt + 1 */ if (!grow_tuples(garg)) return 0; + /* Promote closed tuple and initialise the new active tuple slot */ garg->tuplcnt_arr[++garg->tplcnt] = 0; return 1; } diff --git a/deps/openssl/openssl/ssl/t1_trce.c b/deps/openssl/openssl/ssl/t1_trce.c index e8075d04278c..89df1710674c 100644 --- a/deps/openssl/openssl/ssl/t1_trce.c +++ b/deps/openssl/openssl/ssl/t1_trce.c @@ -1,5 +1,5 @@ /* - * Copyright 2012-2025 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2012-2026 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -1328,33 +1328,46 @@ static int ssl_print_certificate(BIO *bio, const SSL_CONNECTION *sc, int indent, return 1; } -static int ssl_print_raw_public_key(BIO *bio, const SSL *ssl, int server, - int indent, const unsigned char **pmsg, - size_t *pmsglen) +static int ssl_print_raw_public_key(BIO *bio, const SSL_CONNECTION *sc, + int server, int indent, const unsigned char **pmsg, size_t *pmsglen) { EVP_PKEY *pkey; + SSL_CTX *ctx = SSL_CONNECTION_GET_CTX(sc); size_t clen; const unsigned char *msg = *pmsg; size_t msglen = *pmsglen; + int has_spki_len; - if (msglen < 3) - return 0; - clen = (msg[0] << 16) | (msg[1] << 8) | msg[2]; - if (msglen < clen + 3) - return 0; - - msg += 3; + /* + * In TLS 1.2 and prior the SPKI is the entire payload of the extension, + * and does not have a separate length prefix + */ + has_spki_len = SSL_CONNECTION_IS_DTLS(sc) + ? DTLS_VERSION_GT(sc->version, DTLS1_2_VERSION) + : sc->version > TLS1_2_VERSION; + if (has_spki_len) { + if (msglen < 3) + return 0; + clen = (msg[0] << 16) | (msg[1] << 8) | msg[2]; + if (msglen < clen + 3) + return 0; + msg += 3; + *pmsg += clen + 3; + *pmsglen -= clen + 3; + } else { + clen = msglen; + *pmsg += msglen; + *pmsglen -= msglen; + } BIO_indent(bio, indent, 80); BIO_printf(bio, "raw_public_key, length=%d\n", (int)clen); - pkey = d2i_PUBKEY_ex(NULL, &msg, clen, ssl->ctx->libctx, ssl->ctx->propq); + pkey = d2i_PUBKEY_ex(NULL, &msg, (long)clen, ctx->libctx, ctx->propq); if (pkey == NULL) return 0; EVP_PKEY_print_public(bio, pkey, indent + 2, NULL); EVP_PKEY_free(pkey); - *pmsg += clen + 3; - *pmsglen -= clen + 3; return 1; } @@ -1376,7 +1389,7 @@ static int ssl_print_certificates(BIO *bio, const SSL_CONNECTION *sc, int server msg += 3; if ((server && sc->ext.server_cert_type == TLSEXT_cert_type_rpk) || (!server && sc->ext.client_cert_type == TLSEXT_cert_type_rpk)) { - if (!ssl_print_raw_public_key(bio, &sc->ssl, server, indent, &msg, &clen)) + if (!ssl_print_raw_public_key(bio, sc, server, indent, &msg, &clen)) return 0; if (SSL_CONNECTION_IS_TLS13(sc) && !ssl_print_extensions(bio, indent + 2, server, diff --git a/deps/openssl/openssl/util/missingcrypto.txt b/deps/openssl/openssl/util/missingcrypto.txt index 269c1d3fa106..16ca0e49dfa0 100644 --- a/deps/openssl/openssl/util/missingcrypto.txt +++ b/deps/openssl/openssl/util/missingcrypto.txt @@ -199,12 +199,8 @@ BIO_method_name(3) BIO_new_NDEF(3) BIO_new_PKCS7(3) BIO_new_dgram_sctp(3) -BIO_nread(3) -BIO_nread0(3) BIO_number_read(3) BIO_number_written(3) -BIO_nwrite(3) -BIO_nwrite0(3) BIO_s_datagram_sctp(3) BIO_s_log(3) BIO_set_tcp_ndelay(3) diff --git a/deps/openssl/openssl/util/missingcrypto111.txt b/deps/openssl/openssl/util/missingcrypto111.txt index f3402ada7e60..b6068ec09287 100644 --- a/deps/openssl/openssl/util/missingcrypto111.txt +++ b/deps/openssl/openssl/util/missingcrypto111.txt @@ -226,12 +226,8 @@ BIO_new_NDEF(3) BIO_new_PKCS7(3) BIO_new_dgram(3) BIO_new_dgram_sctp(3) -BIO_nread(3) -BIO_nread0(3) BIO_number_read(3) BIO_number_written(3) -BIO_nwrite(3) -BIO_nwrite0(3) BIO_s_datagram(3) BIO_s_datagram_sctp(3) BIO_s_log(3) diff --git a/deps/undici/src/docs/docs/api/Client.md b/deps/undici/src/docs/docs/api/Client.md index 680375d1479e..d3d115fdef6b 100644 --- a/deps/undici/src/docs/docs/api/Client.md +++ b/deps/undici/src/docs/docs/api/Client.md @@ -24,6 +24,9 @@ Returns: `Client` * **keepAliveTimeoutThreshold** `number | null` (optional) - Default: `2e3` - A number of milliseconds subtracted from server *keep-alive* hints when overriding `keepAliveTimeout` to account for timing inaccuracies caused by e.g. transport latency. Defaults to 2 seconds. * **maxHeaderSize** `number | null` (optional) - Default: `--max-http-header-size` or `16384` - The maximum length of request headers in bytes. Defaults to Node.js' --max-http-header-size or 16KiB. * **maxResponseSize** `number | null` (optional) - Default: `-1` - The maximum length of response body in bytes. Set to `-1` to disable. +* **webSocket** `WebSocketOptions` (optional) - WebSocket-specific configuration options. + * **maxFragments** `number` (optional) - Default: `131072` - Maximum number of fragments in a message. Set to 0 to disable the limit. + * **maxPayloadSize** `number` (optional) - Default: `134217728` (128 MB) - Maximum allowed payload size in bytes for WebSocket messages. Applied to uncompressed messages, compressed frame payloads, and decompressed (permessage-deflate) messages. Set to 0 to disable the limit. * **pipelining** `number | null` (optional) - Default: `1` - The amount of concurrent requests to be sent over the single TCP/TLS connection according to [RFC7230](https://tools.ietf.org/html/rfc7230#section-6.3.2). Carefully consider your workload and environment before enabling concurrent requests as pipelining may reduce performance if used incorrectly. Pipelining is sensitive to network stack settings as well as head of line blocking caused by e.g. long running requests. Set to `0` to disable keep-alive connections. * **connect** `ConnectOptions | Function | null` (optional) - Default: `null`. * **strictContentLength** `Boolean` (optional) - Default: `true` - Whether to treat request content length mismatches as errors. If true, an error is thrown when the request content-length header doesn't match the length of the request body. **Security Warning:** Disabling this option can expose your application to HTTP Request Smuggling attacks, where mismatched content-length headers cause servers and proxies to interpret request boundaries differently. This can lead to cache poisoning, credential hijacking, and bypassing security controls. Only disable this in controlled environments where you fully trust the request source. diff --git a/deps/undici/src/docs/docs/api/Cookies.md b/deps/undici/src/docs/docs/api/Cookies.md index 0cad37914d62..2368db43a790 100644 --- a/deps/undici/src/docs/docs/api/Cookies.md +++ b/deps/undici/src/docs/docs/api/Cookies.md @@ -80,6 +80,33 @@ Arguments: Returns: `Cookie[]` +## `parseCookie(cookie)` + +Parses a single `Set-Cookie` header value into a `Cookie` object. + +```js +import { parseCookie } from 'undici' + +console.log(parseCookie('undici=getSetCookies; Secure; SameSite=Lax')) +// { +// name: 'undici', +// value: 'getSetCookies', +// secure: true, +// sameSite: 'Lax' +// } +``` + +Notes: + +* The cookie value is returned as it appears in the header. Percent-encoded sequences such as `%20` or `%0D%0A` are **not** decoded. +* `sameSite` is only set for exact case-insensitive matches of `Strict`, `Lax`, or `None`. + +Arguments: + +* **cookie** `string` + +Returns: `Cookie | null` + ## `setCookie(headers, cookie)` Appends a cookie to the `Set-Cookie` header. diff --git a/deps/undici/src/docs/docs/api/Socks5ProxyAgent.md b/deps/undici/src/docs/docs/api/Socks5ProxyAgent.md index ef6fc635a8f7..3ef0f852f27a 100644 --- a/deps/undici/src/docs/docs/api/Socks5ProxyAgent.md +++ b/deps/undici/src/docs/docs/api/Socks5ProxyAgent.md @@ -22,6 +22,7 @@ Extends: [`PoolOptions`](/docs/docs/api/Pool.md#parameter-pooloptions) * **password** `string` (optional) - SOCKS5 proxy password for authentication. Can also be provided in the proxy URL. * **connect** `Function` (optional) - Custom connector function for the proxy connection. * **proxyTls** `BuildOptions` (optional) - TLS options for the proxy connection (when using SOCKS5 over TLS). +* **requestTls** `BuildOptions` (optional) - TLS options applied to the HTTPS connection to the target server through the SOCKS5 tunnel. Use this to configure `ca`, `cert`, `key`, `rejectUnauthorized`, `servername`, etc. for the target HTTPS endpoint. Examples: diff --git a/deps/undici/src/lib/api/api-request.js b/deps/undici/src/lib/api/api-request.js index f6d15f75b0ec..a6341af531b8 100644 --- a/deps/undici/src/lib/api/api-request.js +++ b/deps/undici/src/lib/api/api-request.js @@ -21,7 +21,7 @@ class RequestHandler extends AsyncResource { throw new InvalidArgumentError('invalid callback') } - if (highWaterMark && (typeof highWaterMark !== 'number' || highWaterMark < 0)) { + if (highWaterMark != null && (!Number.isFinite(highWaterMark) || highWaterMark < 0)) { throw new InvalidArgumentError('invalid highWaterMark') } diff --git a/deps/undici/src/lib/cache/sqlite-cache-store.js b/deps/undici/src/lib/cache/sqlite-cache-store.js index 7cb4aa7e2466..7a5fc999f470 100644 --- a/deps/undici/src/lib/cache/sqlite-cache-store.js +++ b/deps/undici/src/lib/cache/sqlite-cache-store.js @@ -216,7 +216,7 @@ module.exports = class SqliteCacheStore { SELECT id FROM cacheInterceptorV${VERSION} - ORDER BY cachedAt DESC + ORDER BY cachedAt ASC LIMIT ? ) `) @@ -283,7 +283,6 @@ module.exports = class SqliteCacheStore { existingValue.id ) } else { - this.#prune() // New response, let's insert it this.#insertValueQuery.run( url, @@ -299,6 +298,7 @@ module.exports = class SqliteCacheStore { value.cachedAt, value.staleAt ) + this.#prune() } } @@ -409,7 +409,7 @@ module.exports = class SqliteCacheStore { const now = Date.now() for (const value of values) { if (now >= value.deleteAt && !canBeExpired) { - return undefined + continue } let matches = true diff --git a/deps/undici/src/lib/core/connect.js b/deps/undici/src/lib/core/connect.js index a49af91486e6..89a20c740a75 100644 --- a/deps/undici/src/lib/core/connect.js +++ b/deps/undici/src/lib/core/connect.js @@ -38,6 +38,22 @@ const SessionCache = class WeakSessionCache { return } + if (this._sessionCache.has(sessionKey)) { + this._sessionCache.delete(sessionKey) + } else if (this._sessionCache.size >= this._maxCachedSessions) { + for (const [key, ref] of this._sessionCache) { + if (ref.deref() === undefined) { + this._sessionCache.delete(key) + return + } + } + + const oldest = this._sessionCache.keys().next() + if (!oldest.done) { + this._sessionCache.delete(oldest.value) + } + } + this._sessionCache.set(sessionKey, new WeakRef(session)) this._sessionRegistry.register(session, sessionKey) } diff --git a/deps/undici/src/lib/core/request.js b/deps/undici/src/lib/core/request.js index 829da6f8fc1d..326d58fb43f8 100644 --- a/deps/undici/src/lib/core/request.js +++ b/deps/undici/src/lib/core/request.js @@ -27,6 +27,21 @@ const { headerNameLowerCasedRecord } = require('./constants') // Verifies that a given path is valid does not contain control chars \x00 to \x20 const invalidPathRegex = /[^\u0021-\u00ff]/ +function isValidContentLengthHeaderValue (val) { + if (typeof val !== 'string' || val.length === 0) { + return false + } + + for (let i = 0; i < val.length; i++) { + const charCode = val.charCodeAt(i) + if (charCode < 48 || charCode > 57) { + return false + } + } + + return true +} + const kHandler = Symbol('handler') class Request { @@ -402,10 +417,10 @@ function processHeader (request, key, val) { if (request.contentLength !== null) { throw new InvalidArgumentError('duplicate content-length header') } - request.contentLength = parseInt(val, 10) - if (!Number.isFinite(request.contentLength)) { + if (!isValidContentLengthHeaderValue(val)) { throw new InvalidArgumentError('invalid content-length header') } + request.contentLength = parseInt(val, 10) } else if (request.contentType === null && headerName === 'content-type') { request.contentType = val request.headers.push(key, val) diff --git a/deps/undici/src/lib/core/socks5-client.js b/deps/undici/src/lib/core/socks5-client.js index 5d175d70366a..90f6d0a680f4 100644 --- a/deps/undici/src/lib/core/socks5-client.js +++ b/deps/undici/src/lib/core/socks5-client.js @@ -7,6 +7,7 @@ const { debuglog } = require('node:util') const { parseAddress } = require('./socks5-utils') const debug = debuglog('undici:socks5') +const EMPTY_BUFFER = Buffer.alloc(0) // SOCKS5 constants const SOCKS_VERSION = 0x05 @@ -51,6 +52,7 @@ const STATES = { INITIAL: 'initial', HANDSHAKING: 'handshaking', AUTHENTICATING: 'authenticating', + AUTHENTICATED: 'authenticated', CONNECTING: 'connecting', CONNECTED: 'connected', ERROR: 'error', @@ -72,7 +74,10 @@ class Socks5Client extends EventEmitter { this.socket = socket this.options = options this.state = STATES.INITIAL - this.buffer = Buffer.alloc(0) + this.buffer = EMPTY_BUFFER + this.onSocketData = this.onData.bind(this) + this.onSocketError = this.onError.bind(this) + this.onSocketClose = this.onClose.bind(this) // Authentication settings this.authMethods = [] @@ -82,9 +87,9 @@ class Socks5Client extends EventEmitter { this.authMethods.push(AUTH_METHODS.NO_AUTH) // Socket event handlers - this.socket.on('data', this.onData.bind(this)) - this.socket.on('error', this.onError.bind(this)) - this.socket.on('close', this.onClose.bind(this)) + this.socket.on('data', this.onSocketData) + this.socket.on('error', this.onSocketError) + this.socket.on('close', this.onSocketClose) } /** @@ -139,6 +144,11 @@ class Socks5Client extends EventEmitter { } } + markAuthenticated () { + this.state = STATES.AUTHENTICATED + this.emit('authenticated') + } + /** * Start the SOCKS5 handshake */ @@ -189,7 +199,7 @@ class Socks5Client extends EventEmitter { debug('server selected auth method', method) if (method === AUTH_METHODS.NO_AUTH) { - this.emit('authenticated') + this.markAuthenticated() } else if (method === AUTH_METHODS.USERNAME_PASSWORD) { this.state = STATES.AUTHENTICATING this.sendAuthRequest() @@ -254,7 +264,7 @@ class Socks5Client extends EventEmitter { this.buffer = this.buffer.subarray(2) debug('authentication successful') - this.emit('authenticated') + this.markAuthenticated() } /** @@ -263,8 +273,12 @@ class Socks5Client extends EventEmitter { * @param {number} port - Target port */ connect (address, port) { - if (this.state === STATES.CONNECTED) { - throw new InvalidArgumentError('Already connected') + if (this.state === STATES.CONNECTING || this.state === STATES.CONNECTED) { + throw new InvalidArgumentError('Connection already in progress') + } + + if (this.state !== STATES.AUTHENTICATED) { + throw new InvalidArgumentError('Client must be authenticated before CONNECT') } debug('connecting to', address, port) @@ -363,8 +377,9 @@ class Socks5Client extends EventEmitter { const boundPort = this.buffer.readUInt16BE(offset) - this.buffer = this.buffer.subarray(responseLength) + this.buffer = EMPTY_BUFFER this.state = STATES.CONNECTED + this.socket.removeListener('data', this.onSocketData) debug('connected, bound address:', boundAddress, 'port:', boundPort) this.emit('connected', { address: boundAddress, port: boundPort }) diff --git a/deps/undici/src/lib/core/socks5-utils.js b/deps/undici/src/lib/core/socks5-utils.js index 2b5a3662bf56..e6098bef05fc 100644 --- a/deps/undici/src/lib/core/socks5-utils.js +++ b/deps/undici/src/lib/core/socks5-utils.js @@ -46,34 +46,43 @@ function parseAddress (address) { */ function parseIPv6 (address) { const buffer = Buffer.alloc(16) - const parts = address.split(':') - let partIndex = 0 - let bufferIndex = 0 + let normalizedAddress = address + + // Expand an embedded IPv4 tail into the last two IPv6 groups. + if (address.includes('.')) { + const lastColonIndex = address.lastIndexOf(':') + const ipv4Part = address.slice(lastColonIndex + 1) + + if (net.isIPv4(ipv4Part)) { + const octets = ipv4Part.split('.').map(Number) + const high = ((octets[0] << 8) | octets[1]).toString(16) + const low = ((octets[2] << 8) | octets[3]).toString(16) + normalizedAddress = `${address.slice(0, lastColonIndex)}:${high}:${low}` + } + } // Handle compressed notation (::) - const doubleColonIndex = address.indexOf('::') + const doubleColonIndex = normalizedAddress.indexOf('::') if (doubleColonIndex !== -1) { - // Count non-empty parts - const nonEmptyParts = parts.filter(p => p.length > 0).length - const skipParts = 8 - nonEmptyParts - - for (let i = 0; i < parts.length; i++) { - if (parts[i] === '' && i === doubleColonIndex / 3) { - // Skip empty parts for :: - bufferIndex += skipParts * 2 - } else if (parts[i] !== '') { - const value = parseInt(parts[i], 16) - buffer.writeUInt16BE(value, bufferIndex) - bufferIndex += 2 - } + const before = normalizedAddress.slice(0, doubleColonIndex) + const after = normalizedAddress.slice(doubleColonIndex + 2) + const beforeParts = before === '' ? [] : before.split(':') + const afterParts = after === '' ? [] : after.split(':') + + let bufferIndex = 0 + for (const part of beforeParts) { + buffer.writeUInt16BE(parseInt(part, 16), bufferIndex) + bufferIndex += 2 + } + bufferIndex = 16 - afterParts.length * 2 + for (const part of afterParts) { + buffer.writeUInt16BE(parseInt(part, 16), bufferIndex) + bufferIndex += 2 } } else { - // No compression, parse normally - for (const part of parts) { - if (part === '') continue - const value = parseInt(part, 16) - buffer.writeUInt16BE(value, partIndex * 2) - partIndex++ + const parts = normalizedAddress.split(':') + for (let i = 0; i < parts.length; i++) { + buffer.writeUInt16BE(parseInt(parts[i], 16), i * 2) } } diff --git a/deps/undici/src/lib/dispatcher/agent.js b/deps/undici/src/lib/dispatcher/agent.js index 939b0ad55d39..09fdd4be3d5e 100644 --- a/deps/undici/src/lib/dispatcher/agent.js +++ b/deps/undici/src/lib/dispatcher/agent.js @@ -35,7 +35,7 @@ class Agent extends DispatcherBase { throw new InvalidArgumentError('maxOrigins must be a number greater than 0') } - super() + super(options) if (connect && typeof connect !== 'function') { connect = { ...connect } diff --git a/deps/undici/src/lib/dispatcher/balanced-pool.js b/deps/undici/src/lib/dispatcher/balanced-pool.js index fa0fa97288ea..c21c081c45c4 100644 --- a/deps/undici/src/lib/dispatcher/balanced-pool.js +++ b/deps/undici/src/lib/dispatcher/balanced-pool.js @@ -54,7 +54,7 @@ class BalancedPool extends PoolBase { throw new InvalidArgumentError('factory must be a function.') } - super() + super(opts) this[kOptions] = { ...util.deepClone(opts) } this[kOptions].interceptors = opts.interceptors diff --git a/deps/undici/src/lib/dispatcher/client-h1.js b/deps/undici/src/lib/dispatcher/client-h1.js index 939e0814bcd4..7d179967110a 100644 --- a/deps/undici/src/lib/dispatcher/client-h1.js +++ b/deps/undici/src/lib/dispatcher/client-h1.js @@ -57,6 +57,9 @@ const constants = require('../llhttp/constants.js') const EMPTY_BUF = Buffer.alloc(0) const FastBuffer = Buffer[Symbol.species] const removeAllListeners = util.removeAllListeners +const kIdleSocketValidation = Symbol('kIdleSocketValidation') +const kIdleSocketValidationTimeout = Symbol('kIdleSocketValidationTimeout') +const kSocketUsed = Symbol('kSocketUsed') let extractBody @@ -69,9 +72,9 @@ function lazyllhttp () { let useWasmSIMD = process.arch !== 'ppc64' // The Env Variable UNDICI_NO_WASM_SIMD allows explicitly overriding the default behavior if (process.env.UNDICI_NO_WASM_SIMD === '1') { - useWasmSIMD = true - } else if (process.env.UNDICI_NO_WASM_SIMD === '0') { useWasmSIMD = false + } else if (process.env.UNDICI_NO_WASM_SIMD === '0') { + useWasmSIMD = true } if (useWasmSIMD) { @@ -216,6 +219,7 @@ class Parser { */ this.socket = socket this.timeout = null + this.timeoutWeakRef = new WeakRef(this) this.timeoutValue = null this.timeoutType = null this.statusCode = 0 @@ -253,9 +257,9 @@ class Parser { if (delay) { if (type & USE_FAST_TIMER) { - this.timeout = timers.setFastTimeout(onParserTimeout, delay, new WeakRef(this)) + this.timeout = timers.setFastTimeout(onParserTimeout, delay, this.timeoutWeakRef) } else { - this.timeout = setTimeout(onParserTimeout, delay, new WeakRef(this)) + this.timeout = setTimeout(onParserTimeout, delay, this.timeoutWeakRef) this.timeout?.unref() } } @@ -349,16 +353,7 @@ class Parser { this.paused = true socket.unshift(data) } else { - const ptr = llhttp.llhttp_get_error_reason(this.ptr) - let message = '' - if (ptr) { - const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0) - message = - 'Response does not match the HTTP/1.1 protocol (' + - Buffer.from(llhttp.memory.buffer, ptr, len).toString() + - ')' - } - throw new HTTPParserError(message, constants.ERROR[ret], data) + throw this.createError(ret, data) } } } catch (err) { @@ -366,6 +361,54 @@ class Parser { } } + finish () { + assert(currentParser === null) + assert(this.ptr != null) + assert(!this.paused) + + const { llhttp } = this + + let ret + + try { + currentParser = this + ret = llhttp.llhttp_finish(this.ptr) + } finally { + currentParser = null + } + + if (ret === constants.ERROR.OK) { + return null + } + + if (ret === constants.ERROR.PAUSED || ret === constants.ERROR.PAUSED_UPGRADE) { + this.paused = true + return null + } + + return this.createError(ret, EMPTY_BUF) + } + + createError (ret, data) { + const { llhttp, contentLength, bytesRead } = this + + if (contentLength && bytesRead !== parseInt(contentLength, 10)) { + return new ResponseContentLengthMismatchError() + } + + const ptr = llhttp.llhttp_get_error_reason(this.ptr) + let message = '' + if (ptr) { + const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0) + message = + 'Response does not match the HTTP/1.1 protocol (' + + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + + ')' + } + + return new HTTPParserError(message, constants.ERROR[ret], data) + } + destroy () { assert(currentParser === null) assert(this.ptr != null) @@ -400,6 +443,11 @@ class Parser { return -1 } + if (client[kRunning] === 0) { + util.destroy(socket, new SocketError('bad response', util.getSocketInfo(socket))) + return -1 + } + const request = client[kQueue][client[kRunningIdx]] if (!request) { return -1 @@ -528,6 +576,11 @@ class Parser { return -1 } + if (client[kRunning] === 0) { + util.destroy(socket, new SocketError('bad response', util.getSocketInfo(socket))) + return -1 + } + const request = client[kQueue][client[kRunningIdx]] if (!request) { @@ -706,6 +759,7 @@ class Parser { request.onComplete(headers) client[kQueue][client[kRunningIdx]++] = null + socket[kSocketUsed] = client[kPending] === 0 if (socket[kWriting]) { assert(client[kRunning] === 0) @@ -782,6 +836,9 @@ function connectH1 (client, socket) { socket[kWriting] = false socket[kReset] = false socket[kBlocking] = false + socket[kIdleSocketValidation] = 0 + socket[kIdleSocketValidationTimeout] = null + socket[kSocketUsed] = false socket[kParser] = new Parser(client, socket, llhttpInstance) util.addListener(socket, 'error', onHttpSocketError) @@ -824,7 +881,7 @@ function connectH1 (client, socket) { * @returns {boolean} */ busy (request) { - if (socket[kWriting] || socket[kReset] || socket[kBlocking]) { + if (socket[kWriting] || socket[kReset] || socket[kBlocking] || socket[kIdleSocketValidation] === 1) { return true } @@ -870,8 +927,11 @@ function onHttpSocketError (err) { // On Mac OS, we get an ECONNRESET even if there is a full body to be forwarded // to the user. if (err.code === 'ECONNRESET' && parser.statusCode && !parser.shouldKeepAlive) { - // We treat all incoming data so for as a valid response. - parser.onMessageComplete() + const parserErr = parser.finish() + if (parserErr) { + this[kError] = parserErr + this[kClient][kOnError](parserErr) + } return } @@ -888,8 +948,10 @@ function onHttpSocketEnd () { const parser = this[kParser] if (parser.statusCode && !parser.shouldKeepAlive) { - // We treat all incoming data so far as a valid response. - parser.onMessageComplete() + const parserErr = parser.finish() + if (parserErr) { + util.destroy(this, parserErr) + } return } @@ -899,10 +961,11 @@ function onHttpSocketEnd () { function onHttpSocketClose () { const parser = this[kParser] + clearIdleSocketValidation(this) + if (parser) { if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) { - // We treat all incoming data so far as a valid response. - parser.onMessageComplete() + this[kError] = parser.finish() || this[kError] } this[kParser].destroy() @@ -946,6 +1009,28 @@ function onSocketClose () { this[kClosed] = true } +function clearIdleSocketValidation (socket) { + if (socket[kIdleSocketValidationTimeout]) { + clearTimeout(socket[kIdleSocketValidationTimeout]) + socket[kIdleSocketValidationTimeout] = null + } + + socket[kIdleSocketValidation] = 0 +} + +function scheduleIdleSocketValidation (client, socket) { + socket[kIdleSocketValidation] = 1 + socket[kIdleSocketValidationTimeout] = setTimeout(() => { + socket[kIdleSocketValidationTimeout] = null + socket[kIdleSocketValidation] = 2 + + if (client[kSocket] === socket && !socket.destroyed) { + client[kResume]() + } + }, 0) + socket[kIdleSocketValidationTimeout].unref?.() +} + /** * @param {import('./client.js')} client */ @@ -963,6 +1048,32 @@ function resumeH1 (client) { socket[kNoRef] = false } + if (client[kRunning] === 0 && client[kPending] > 0 && socket[kSocketUsed]) { + if (socket[kIdleSocketValidation] === 0) { + scheduleIdleSocketValidation(client, socket) + socket[kParser].readMore() + if (socket.destroyed) { + return + } + return + } + + if (socket[kIdleSocketValidation] === 1) { + socket[kParser].readMore() + if (socket.destroyed) { + return + } + return + } + } + + if (client[kRunning] === 0) { + socket[kParser].readMore() + if (socket.destroyed) { + return + } + } + if (client[kSize] === 0) { if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) { socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE) @@ -1061,6 +1172,7 @@ function writeH1 (client, request) { } const socket = client[kSocket] + clearIdleSocketValidation(socket) /** * @param {Error} [err] diff --git a/deps/undici/src/lib/dispatcher/client.js b/deps/undici/src/lib/dispatcher/client.js index f4feff1bbe0a..6ef97ba0a369 100644 --- a/deps/undici/src/lib/dispatcher/client.js +++ b/deps/undici/src/lib/dispatcher/client.js @@ -114,7 +114,8 @@ class Client extends DispatcherBase { useH2c, initialWindowSize, connectionWindowSize, - pingInterval + pingInterval, + webSocket } = {}) { if (keepAlive !== undefined) { throw new InvalidArgumentError('unsupported keepAlive, use pipelining=0 instead') @@ -222,7 +223,7 @@ class Client extends DispatcherBase { throw new InvalidArgumentError('pingInterval must be a positive integer, greater or equal to 0') } - super() + super({ webSocket }) if (typeof connect !== 'function') { connect = buildConnector({ @@ -235,9 +236,13 @@ class Client extends DispatcherBase { ...(typeof autoSelectFamily === 'boolean' ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : undefined), ...connect }) - } else if (socketPath != null) { + } else { const customConnect = connect - connect = (opts, callback) => customConnect({ ...opts, socketPath }, callback) + connect = (opts, callback) => customConnect({ + ...opts, + ...(socketPath != null ? { socketPath } : null), + ...(allowH2 != null ? { allowH2 } : null) + }, callback) } this[kUrl] = util.parseOrigin(url) diff --git a/deps/undici/src/lib/dispatcher/dispatcher-base.js b/deps/undici/src/lib/dispatcher/dispatcher-base.js index a6f471002571..feb2571abc2a 100644 --- a/deps/undici/src/lib/dispatcher/dispatcher-base.js +++ b/deps/undici/src/lib/dispatcher/dispatcher-base.js @@ -11,6 +11,7 @@ const { kDestroy, kClose, kClosed, kDestroyed, kDispatch } = require('../core/sy const kOnDestroyed = Symbol('onDestroyed') const kOnClosed = Symbol('onClosed') +const kWebSocketOptions = Symbol('webSocketOptions') class DispatcherBase extends Dispatcher { /** @type {boolean} */ @@ -25,6 +26,24 @@ class DispatcherBase extends Dispatcher { /** @type {Array|null} */ [kOnClosed] = null + /** + * @param {import('../../types/dispatcher').DispatcherOptions} [opts] + */ + constructor (opts) { + super() + this[kWebSocketOptions] = opts?.webSocket ?? {} + } + + /** + * @returns {import('../../types/dispatcher').WebSocketOptions} + */ + get webSocketOptions () { + return { + maxFragments: this[kWebSocketOptions].maxFragments ?? 131072, + maxPayloadSize: this[kWebSocketOptions].maxPayloadSize ?? 128 * 1024 * 1024 // 128 MB default + } + } + /** @returns {boolean} */ get destroyed () { return this[kDestroyed] diff --git a/deps/undici/src/lib/dispatcher/h2c-client.js b/deps/undici/src/lib/dispatcher/h2c-client.js index bd385225ea17..5fe7e778ba40 100644 --- a/deps/undici/src/lib/dispatcher/h2c-client.js +++ b/deps/undici/src/lib/dispatcher/h2c-client.js @@ -15,7 +15,7 @@ class H2CClient extends Client { ) } - const { connect, maxConcurrentStreams, pipelining, ...opts } = + const { maxConcurrentStreams, pipelining, ...opts } = clientOpts ?? {} let defaultMaxConcurrentStreams = 100 let defaultPipelining = 100 diff --git a/deps/undici/src/lib/dispatcher/pool.js b/deps/undici/src/lib/dispatcher/pool.js index 8419ac611e79..0c5dbe44da77 100644 --- a/deps/undici/src/lib/dispatcher/pool.js +++ b/deps/undici/src/lib/dispatcher/pool.js @@ -63,7 +63,7 @@ class Pool extends PoolBase { }) } - super() + super(options) this[kConnections] = connections || null this[kUrl] = util.parseOrigin(origin) diff --git a/deps/undici/src/lib/dispatcher/proxy-agent.js b/deps/undici/src/lib/dispatcher/proxy-agent.js index 1cf9cb51f4f8..d2a2f23cbff3 100644 --- a/deps/undici/src/lib/dispatcher/proxy-agent.js +++ b/deps/undici/src/lib/dispatcher/proxy-agent.js @@ -142,7 +142,8 @@ class ProxyAgent extends DispatcherBase { factory: agentFactory, username: opts.username || username, password: opts.password || password, - proxyTls: opts.proxyTls + proxyTls: opts.proxyTls, + requestTls: opts.requestTls }) } diff --git a/deps/undici/src/lib/dispatcher/socks5-proxy-agent.js b/deps/undici/src/lib/dispatcher/socks5-proxy-agent.js index a2dd2f428c71..544d3025ea9e 100644 --- a/deps/undici/src/lib/dispatcher/socks5-proxy-agent.js +++ b/deps/undici/src/lib/dispatcher/socks5-proxy-agent.js @@ -1,12 +1,11 @@ 'use strict' -const net = require('node:net') const { URL } = require('node:url') let tls // include tls conditionally since it is not always available const DispatcherBase = require('./dispatcher-base') const { InvalidArgumentError } = require('../core/errors') -const { Socks5Client } = require('../core/socks5-client') +const { Socks5Client, STATES } = require('../core/socks5-client') const { kDispatch, kClose, kDestroy } = require('../core/symbols') const Pool = require('./pool') const buildConnector = require('../core/connect') @@ -17,8 +16,10 @@ const debug = debuglog('undici:socks5-proxy') const kProxyUrl = Symbol('proxy url') const kProxyHeaders = Symbol('proxy headers') const kProxyAuth = Symbol('proxy auth') -const kPool = Symbol('pool') +const kProxyProtocol = Symbol('proxy protocol') +const kPools = Symbol('pools') const kConnector = Symbol('connector') +const kRequestTls = Symbol('request tls settings') // Static flag to ensure warning is only emitted once per process let experimentalWarningEmitted = false @@ -52,6 +53,8 @@ class Socks5ProxyAgent extends DispatcherBase { this[kProxyUrl] = url this[kProxyHeaders] = options.headers || {} + this[kProxyProtocol] = options.proxyTls ? 'https:' : 'http:' + this[kRequestTls] = options.requestTls // Extract auth from URL or options this[kProxyAuth] = { @@ -65,8 +68,8 @@ class Socks5ProxyAgent extends DispatcherBase { servername: options.proxyTls?.servername || url.hostname }) - // Pool for the actual HTTP connections (with SOCKS5 tunnel connect function) - this[kPool] = null + // Pools for the actual HTTP connections (with SOCKS5 tunnel connect function), keyed by origin + this[kPools] = new Map() } /** @@ -80,23 +83,18 @@ class Socks5ProxyAgent extends DispatcherBase { // Connect to the SOCKS5 proxy const socket = await new Promise((resolve, reject) => { - const onConnect = () => { - socket.removeListener('error', onError) - resolve(socket) - } - - const onError = (err) => { - socket.removeListener('connect', onConnect) - reject(err) - } - - const socket = net.connect({ + this[kConnector]({ + hostname: proxyHost, host: proxyHost, - port: proxyPort + port: proxyPort, + protocol: this[kProxyProtocol] + }, (err, socket) => { + if (err) { + reject(err) + } else { + resolve(socket) + } }) - - socket.once('connect', onConnect) - socket.once('error', onError) }) // Create SOCKS5 client @@ -130,7 +128,7 @@ class Socks5ProxyAgent extends DispatcherBase { } // Check if already authenticated (for NO_AUTH method) - if (socks5Client.state === 'authenticated') { + if (socks5Client.state === STATES.AUTHENTICATED) { clearTimeout(timeout) resolve() } else { @@ -171,15 +169,17 @@ class Socks5ProxyAgent extends DispatcherBase { /** * Dispatch a request through the SOCKS5 proxy */ - async [kDispatch] (opts, handler) { + [kDispatch] (opts, handler) { const { origin } = opts debug('dispatching request to', origin, 'via SOCKS5') try { - // Create Pool with custom connect function if we don't have one yet - if (!this[kPool] || this[kPool].destroyed || this[kPool].closed) { - this[kPool] = new Pool(origin, { + const originKey = String(origin) + let pool = this[kPools].get(originKey) + // Create a Pool per origin so requests are not routed to the wrong host + if (!pool || pool.destroyed || pool.closed) { + pool = new Pool(origin, { pipelining: opts.pipelining, connections: opts.connections, connect: async (connectOpts, callback) => { @@ -201,9 +201,9 @@ class Socks5ProxyAgent extends DispatcherBase { } debug('upgrading to TLS') finalSocket = tls.connect({ + ...this[kRequestTls], socket, - servername: targetHost, - ...connectOpts.tls || {} + servername: this[kRequestTls]?.servername || targetHost }) await new Promise((resolve, reject) => { @@ -219,14 +219,19 @@ class Socks5ProxyAgent extends DispatcherBase { } } }) + this[kPools].set(originKey, pool) } - // Dispatch the request through the pool - return this[kPool][kDispatch](opts, handler) + // Dispatch the request through the per-origin pool + return pool[kDispatch](opts, handler) } catch (err) { debug('dispatch error:', err) - if (typeof handler.onError === 'function') { + if (typeof handler.onResponseError === 'function') { + handler.onResponseError(null, err) + return false + } else if (typeof handler.onError === 'function') { handler.onError(err) + return false } else { throw err } @@ -234,15 +239,21 @@ class Socks5ProxyAgent extends DispatcherBase { } async [kClose] () { - if (this[kPool]) { - await this[kPool].close() + const closePromises = [] + for (const pool of this[kPools].values()) { + closePromises.push(pool.close()) } + this[kPools].clear() + await Promise.all(closePromises) } async [kDestroy] (err) { - if (this[kPool]) { - await this[kPool].destroy(err) + const destroyPromises = [] + for (const pool of this[kPools].values()) { + destroyPromises.push(pool.destroy(err)) } + this[kPools].clear() + await Promise.all(destroyPromises) } } diff --git a/deps/undici/src/lib/global.js b/deps/undici/src/lib/global.js index b61d779e498f..565aceb4a03d 100644 --- a/deps/undici/src/lib/global.js +++ b/deps/undici/src/lib/global.js @@ -2,7 +2,8 @@ // We include a version number for the Dispatcher API. In case of breaking changes, // this version number must be increased to avoid conflicts. -const globalDispatcher = Symbol.for('undici.globalDispatcher.1') +const globalDispatcher = Symbol.for('undici.globalDispatcher.2') +const legacyGlobalDispatcher = Symbol.for('undici.globalDispatcher.1') const { InvalidArgumentError } = require('./core/errors') const Agent = require('./dispatcher/agent') @@ -14,16 +15,24 @@ function setGlobalDispatcher (agent) { if (!agent || typeof agent.dispatch !== 'function') { throw new InvalidArgumentError('Argument agent must implement Agent') } + Object.defineProperty(globalThis, globalDispatcher, { value: agent, writable: true, enumerable: false, configurable: false }) + + Object.defineProperty(globalThis, legacyGlobalDispatcher, { + value: agent, + writable: true, + enumerable: false, + configurable: false + }) } function getGlobalDispatcher () { - return globalThis[globalDispatcher] + return globalThis[legacyGlobalDispatcher] } // These are the globals that can be installed by undici.install(). diff --git a/deps/undici/src/lib/handler/unwrap-handler.js b/deps/undici/src/lib/handler/unwrap-handler.js index e23b9666cf71..2949faea0fe9 100644 --- a/deps/undici/src/lib/handler/unwrap-handler.js +++ b/deps/undici/src/lib/handler/unwrap-handler.js @@ -13,6 +13,9 @@ class UnwrapController { [kResume] = null + rawHeaders = null + rawTrailers = null + constructor (abort) { this.#abort = abort } @@ -72,11 +75,13 @@ module.exports = class UnwrapHandler { } onUpgrade (statusCode, rawHeaders, socket) { + this.#controller.rawHeaders = rawHeaders this.#handler.onRequestUpgrade?.(this.#controller, statusCode, parseHeaders(rawHeaders), socket) } onHeaders (statusCode, rawHeaders, resume, statusMessage) { this.#controller[kResume] = resume + this.#controller.rawHeaders = rawHeaders this.#handler.onResponseStart?.(this.#controller, statusCode, parseHeaders(rawHeaders), statusMessage) return !this.#controller.paused } @@ -87,6 +92,7 @@ module.exports = class UnwrapHandler { } onComplete (rawTrailers) { + this.#controller.rawTrailers = rawTrailers this.#handler.onResponseEnd?.(this.#controller, parseHeaders(rawTrailers)) } diff --git a/deps/undici/src/lib/llhttp/wasm_build_env.txt b/deps/undici/src/lib/llhttp/wasm_build_env.txt index 3f5e2ae28590..80834a2d8619 100644 --- a/deps/undici/src/lib/llhttp/wasm_build_env.txt +++ b/deps/undici/src/lib/llhttp/wasm_build_env.txt @@ -1,5 +1,5 @@ -> undici@7.25.0 build:wasm +> undici@7.28.0 build:wasm > node build/wasm.js --docker > docker run --rm --platform=linux/x86_64 --user 1001:1001 --mount type=bind,source=/home/runner/work/node/node/deps/undici/src/lib/llhttp,target=/home/node/build/lib/llhttp --mount type=bind,source=/home/runner/work/node/node/deps/undici/src/build,target=/home/node/build/build --mount type=bind,source=/home/runner/work/node/node/deps/undici/src/deps,target=/home/node/build/deps -t ghcr.io/nodejs/wasm-builder@sha256:975f391d907e42a75b8c72eb77c782181e941608687d4d8694c3e9df415a0970 node build/wasm.js diff --git a/deps/undici/src/lib/mock/mock-call-history.js b/deps/undici/src/lib/mock/mock-call-history.js index d4a92b2b24bc..74de68247c7d 100644 --- a/deps/undici/src/lib/mock/mock-call-history.js +++ b/deps/undici/src/lib/mock/mock-call-history.js @@ -3,14 +3,14 @@ const { kMockCallHistoryAddLog } = require('./mock-symbols') const { InvalidArgumentError } = require('../core/errors') -function handleFilterCallsWithOptions (criteria, options, handler, store) { +function handleFilterCallsWithOptions (criteria, options, handler, store, allLogs) { switch (options.operator) { case 'OR': - store.push(...handler(criteria)) + store.push(...handler(criteria, allLogs)) return store case 'AND': - return handler.call({ logs: store }, criteria) + return handler(criteria, store) default: // guard -- should never happens because buildAndValidateFilterCallsOptions is called before throw new InvalidArgumentError('options.operator must to be a case insensitive string equal to \'OR\' or \'AND\'') @@ -35,14 +35,14 @@ function buildAndValidateFilterCallsOptions (options = {}) { } function makeFilterCalls (parameterName) { - return (parameterValue) => { + return (parameterValue, logs) => { if (typeof parameterValue === 'string' || parameterValue == null) { - return this.logs.filter((log) => { + return logs.filter((log) => { return log[parameterName] === parameterValue }) } if (parameterValue instanceof RegExp) { - return this.logs.filter((log) => { + return logs.filter((log) => { return parameterValue.test(log[parameterName]) }) } @@ -175,30 +175,30 @@ class MockCallHistory { const finalOptions = { operator: 'OR', ...buildAndValidateFilterCallsOptions(options) } - let maybeDuplicatedLogsFiltered = [] + let maybeDuplicatedLogsFiltered = finalOptions.operator === 'AND' ? this.logs : [] if ('protocol' in criteria) { - maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.protocol, finalOptions, this.filterCallsByProtocol, maybeDuplicatedLogsFiltered) + maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.protocol, finalOptions, this.filterCallsByProtocol, maybeDuplicatedLogsFiltered, this.logs) } if ('host' in criteria) { - maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.host, finalOptions, this.filterCallsByHost, maybeDuplicatedLogsFiltered) + maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.host, finalOptions, this.filterCallsByHost, maybeDuplicatedLogsFiltered, this.logs) } if ('port' in criteria) { - maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.port, finalOptions, this.filterCallsByPort, maybeDuplicatedLogsFiltered) + maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.port, finalOptions, this.filterCallsByPort, maybeDuplicatedLogsFiltered, this.logs) } if ('origin' in criteria) { - maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.origin, finalOptions, this.filterCallsByOrigin, maybeDuplicatedLogsFiltered) + maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.origin, finalOptions, this.filterCallsByOrigin, maybeDuplicatedLogsFiltered, this.logs) } if ('path' in criteria) { - maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.path, finalOptions, this.filterCallsByPath, maybeDuplicatedLogsFiltered) + maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.path, finalOptions, this.filterCallsByPath, maybeDuplicatedLogsFiltered, this.logs) } if ('hash' in criteria) { - maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.hash, finalOptions, this.filterCallsByHash, maybeDuplicatedLogsFiltered) + maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.hash, finalOptions, this.filterCallsByHash, maybeDuplicatedLogsFiltered, this.logs) } if ('fullUrl' in criteria) { - maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.fullUrl, finalOptions, this.filterCallsByFullUrl, maybeDuplicatedLogsFiltered) + maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.fullUrl, finalOptions, this.filterCallsByFullUrl, maybeDuplicatedLogsFiltered, this.logs) } if ('method' in criteria) { - maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.method, finalOptions, this.filterCallsByMethod, maybeDuplicatedLogsFiltered) + maybeDuplicatedLogsFiltered = handleFilterCallsWithOptions(criteria.method, finalOptions, this.filterCallsByMethod, maybeDuplicatedLogsFiltered, this.logs) } const uniqLogsFiltered = [...new Set(maybeDuplicatedLogsFiltered)] diff --git a/deps/undici/src/lib/util/cache.js b/deps/undici/src/lib/util/cache.js index 5968f4efe5f4..a8f112168e60 100644 --- a/deps/undici/src/lib/util/cache.js +++ b/deps/undici/src/lib/util/cache.js @@ -18,7 +18,7 @@ function makeCacheKey (opts) { let fullPath = opts.path || '/' - if (opts.query && !pathHasQueryOrFragment(opts.path)) { + if (opts.query && !pathHasQueryOrFragment(fullPath)) { fullPath = serializePathWithQuery(fullPath, opts.query) } @@ -228,6 +228,10 @@ function parseCacheControlHeader (header) { headers[headers.length - 1] = lastHeader } + for (let j = 0; j < headers.length; j++) { + headers[j] = headers[j].trim() + } + if (key in output) { output[key] = output[key].concat(headers) } else { @@ -236,10 +240,12 @@ function parseCacheControlHeader (header) { } } else { // Something like `no-cache="some-header"` + const fieldName = value.trim() + if (key in output) { - output[key] = output[key].concat(value) + output[key] = output[key].concat(fieldName) } else { - output[key] = [value] + output[key] = [fieldName] } } @@ -374,9 +380,11 @@ function assertCacheMethods (methods, name = 'CacheMethods') { * @returns {string} */ function makeDeduplicationKey (cacheKey, excludeHeaders) { - // Create a deterministic string key from the cache key - // Include origin, method, path, and sorted headers - let key = `${cacheKey.origin}:${cacheKey.method}:${cacheKey.path}` + // Use JSON.stringify to produce a collision-resistant key. + // Previous format used `:` and `=` delimiters without escaping, which + // allowed different header sets to produce identical keys (e.g. + // {a:"x:b=y"} vs {a:"x", b:"y"}). See: https://github.com/nodejs/undici/issues/5012 + const headers = {} if (cacheKey.headers) { const sortedHeaders = Object.keys(cacheKey.headers).sort() @@ -385,12 +393,11 @@ function makeDeduplicationKey (cacheKey, excludeHeaders) { if (excludeHeaders?.has(header.toLowerCase())) { continue } - const value = cacheKey.headers[header] - key += `:${header}=${Array.isArray(value) ? value.join(',') : value}` + headers[header] = cacheKey.headers[header] } } - return key + return JSON.stringify([cacheKey.origin, cacheKey.method, cacheKey.path, headers]) } module.exports = { diff --git a/deps/undici/src/lib/web/cookies/parse.js b/deps/undici/src/lib/web/cookies/parse.js index 74edf7ec6ac7..0e524908077c 100644 --- a/deps/undici/src/lib/web/cookies/parse.js +++ b/deps/undici/src/lib/web/cookies/parse.js @@ -4,7 +4,6 @@ const { collectASequenceOfCodePointsFast } = require('../infra') const { maxNameValuePairSize, maxAttributeValueSize } = require('./constants') const { isCTLExcludingHtab } = require('./util') const assert = require('node:assert') -const { unescape: qsUnescape } = require('node:querystring') /** * @description Parses the field-value attributes of a set-cookie header string. @@ -82,7 +81,7 @@ function parseSetCookie (header) { // store arbitrary data in a cookie-value SHOULD encode that data, for // example, using Base64 [RFC4648]. return { - name, value: qsUnescape(value), ...parseUnparsedAttributes(unparsedAttributes) + name, value, ...parseUnparsedAttributes(unparsedAttributes) } } @@ -280,32 +279,25 @@ function parseUnparsedAttributes (unparsedAttributes, cookieAttributeList = {}) // If the attribute-name case-insensitively matches the string // "SameSite", the user agent MUST process the cookie-av as follows: - // 1. Let enforcement be "Default". - let enforcement = 'Default' - const attributeValueLowercase = attributeValue.toLowerCase() - // 2. If cookie-av's attribute-value is a case-insensitive match for - // "None", set enforcement to "None". - if (attributeValueLowercase.includes('none')) { - enforcement = 'None' - } - // 3. If cookie-av's attribute-value is a case-insensitive match for - // "Strict", set enforcement to "Strict". - if (attributeValueLowercase.includes('strict')) { - enforcement = 'Strict' + // 1. If cookie-av's attribute-value is a case-insensitive match for + // "None", append an attribute to the cookie-attribute-list with an + // attribute-name of "SameSite" and an attribute-value of "None". + if (attributeValueLowercase === 'none') { + cookieAttributeList.sameSite = 'None' + } else if (attributeValueLowercase === 'strict') { + // 2. If cookie-av's attribute-value is a case-insensitive match for + // "Strict", append an attribute to the cookie-attribute-list with + // an attribute-name of "SameSite" and an attribute-value of + // "Strict". + cookieAttributeList.sameSite = 'Strict' + } else if (attributeValueLowercase === 'lax') { + // 3. If cookie-av's attribute-value is a case-insensitive match for + // "Lax", append an attribute to the cookie-attribute-list with an + // attribute-name of "SameSite" and an attribute-value of "Lax". + cookieAttributeList.sameSite = 'Lax' } - - // 4. If cookie-av's attribute-value is a case-insensitive match for - // "Lax", set enforcement to "Lax". - if (attributeValueLowercase.includes('lax')) { - enforcement = 'Lax' - } - - // 5. Append an attribute to the cookie-attribute-list with an - // attribute-name of "SameSite" and an attribute-value of - // enforcement. - cookieAttributeList.sameSite = enforcement } else { cookieAttributeList.unparsed ??= [] diff --git a/deps/undici/src/lib/web/fetch/formdata-parser.js b/deps/undici/src/lib/web/fetch/formdata-parser.js index b65848998f76..a4622ae10a35 100644 --- a/deps/undici/src/lib/web/fetch/formdata-parser.js +++ b/deps/undici/src/lib/web/fetch/formdata-parser.js @@ -204,7 +204,7 @@ function multipartFormDataParser (input, mimeType) { * Parses content-disposition attributes (e.g., name="value" or filename*=utf-8''encoded) * @param {Buffer} input * @param {{ position: number }} position - * @returns {{ name: string, value: string }} + * @returns {{ name: string, value: string, extended: boolean } | null} */ function parseContentDispositionAttribute (input, position) { // Skip leading semicolon and whitespace @@ -304,7 +304,7 @@ function parseContentDispositionAttribute (input, position) { value = decoder.decode(tokenValue) } - return { name: attrNameStr, value } + return { name: attrNameStr, value, extended: isExtended } } /** @@ -368,6 +368,9 @@ function parseMultipartFormDataHeaders (input, position) { switch (bufferToLowerCasedHeaderName(headerName)) { case 'content-disposition': { name = filename = null + // Track whether filename was set from the extended (RFC 5987) form so + // a subsequent legacy `filename` attribute does not override it. + let filenameIsExtended = false // Collect the disposition type (should be "form-data") const dispositionType = collectASequenceOfBytes( @@ -383,8 +386,8 @@ function parseMultipartFormDataHeaders (input, position) { // Parse attributes recursively until CRLF while ( position.position < input.length && - input[position.position] !== 0x0d && - input[position.position + 1] !== 0x0a + (input[position.position] !== 0x0d || + input[position.position + 1] !== 0x0a) ) { const attribute = parseContentDispositionAttribute(input, position) @@ -395,7 +398,15 @@ function parseMultipartFormDataHeaders (input, position) { if (attribute.name === 'name') { name = attribute.value } else if (attribute.name === 'filename') { - filename = attribute.value + // Per RFC 5987 §4.1, when both legacy and extended forms of the + // same parameter are present, the extended (filename*) form takes + // precedence regardless of the order they appear in. + if (attribute.extended) { + filename = attribute.value + filenameIsExtended = true + } else if (!filenameIsExtended) { + filename = attribute.value + } } } @@ -448,7 +459,7 @@ function parseMultipartFormDataHeaders (input, position) { // 2.9. If position does not point to a sequence of bytes starting with 0x0D 0x0A // (CR LF), return failure. Otherwise, advance position by 2 (past the newline). - if (input[position.position] !== 0x0d && input[position.position + 1] !== 0x0a) { + if (input[position.position] !== 0x0d || input[position.position + 1] !== 0x0a) { throw parsingError('expected CRLF') } else { position.position += 2 diff --git a/deps/undici/src/lib/web/fetch/index.js b/deps/undici/src/lib/web/fetch/index.js index c48ed041cc63..8aa86ff60ee2 100644 --- a/deps/undici/src/lib/web/fetch/index.js +++ b/deps/undici/src/lib/web/fetch/index.js @@ -1030,7 +1030,7 @@ function fetchFinale (fetchParams, response) { let responseStatus = 0 // 7. If fetchParams’s request’s mode is not "navigate" or response’s has-cross-origin-redirects is false: - if (fetchParams.request.mode !== 'navigator' || !response.hasCrossOriginRedirects) { + if (fetchParams.request.mode !== 'navigate' || !response.hasCrossOriginRedirects) { // 1. Set responseStatus to response’s status. responseStatus = response.status @@ -1433,7 +1433,10 @@ async function httpNetworkOrCacheFetch ( // 8. If contentLengthHeaderValue is non-null, then append // `Content-Length`/contentLengthHeaderValue to httpRequest’s header // list. - if (contentLengthHeaderValue != null) { + if ( + contentLengthHeaderValue != null && + !httpRequest.headersList.contains('content-length', true) + ) { httpRequest.headersList.append('content-length', contentLengthHeaderValue, true) } diff --git a/deps/undici/src/lib/web/webidl/index.js b/deps/undici/src/lib/web/webidl/index.js index 5518b4959062..58664859dc97 100644 --- a/deps/undici/src/lib/web/webidl/index.js +++ b/deps/undici/src/lib/web/webidl/index.js @@ -190,10 +190,10 @@ webidl.util.ConvertToInt = function (V, bitLength, signedness, flags) { } else { // 3. Otherwise: - // 1. Let lowerBound be -2^bitLength − 1. - lowerBound = Math.pow(-2, bitLength) - 1 + // 1. Let lowerBound be -2^(bitLength − 1). + lowerBound = -Math.pow(2, bitLength - 1) - // 2. Let upperBound be 2^bitLength − 1 − 1. + // 2. Let upperBound be 2^(bitLength − 1) − 1. upperBound = Math.pow(2, bitLength - 1) - 1 } @@ -272,9 +272,9 @@ webidl.util.ConvertToInt = function (V, bitLength, signedness, flags) { // 10. Set x to x modulo 2^bitLength. x = x % Math.pow(2, bitLength) - // 11. If signedness is "signed" and x ≥ 2^bitLength − 1, + // 11. If signedness is "signed" and x ≥ 2^(bitLength − 1), // then return x − 2^bitLength. - if (signedness === 'signed' && x >= Math.pow(2, bitLength) - 1) { + if (signedness === 'signed' && x >= Math.pow(2, bitLength - 1)) { return x - Math.pow(2, bitLength) } diff --git a/deps/undici/src/lib/web/websocket/permessage-deflate.js b/deps/undici/src/lib/web/websocket/permessage-deflate.js index 1f1a13038afb..6a6e43899c5a 100644 --- a/deps/undici/src/lib/web/websocket/permessage-deflate.js +++ b/deps/undici/src/lib/web/websocket/permessage-deflate.js @@ -8,40 +8,35 @@ const tail = Buffer.from([0x00, 0x00, 0xff, 0xff]) const kBuffer = Symbol('kBuffer') const kLength = Symbol('kLength') -// Default maximum decompressed message size: 4 MB -const kDefaultMaxDecompressedSize = 4 * 1024 * 1024 - class PerMessageDeflate { /** @type {import('node:zlib').InflateRaw} */ #inflate #options = {} - /** @type {boolean} */ - #aborted = false - - /** @type {Function|null} */ - #currentCallback = null + #maxPayloadSize = 0 /** * @param {Map} extensions */ - constructor (extensions) { + constructor (extensions, options) { this.#options.serverNoContextTakeover = extensions.has('server_no_context_takeover') this.#options.serverMaxWindowBits = extensions.get('server_max_window_bits') + + this.#maxPayloadSize = options.maxPayloadSize } + /** + * Decompress a compressed payload. + * @param {Buffer} chunk Compressed data + * @param {boolean} fin Final fragment flag + * @param {Function} callback Callback function + */ decompress (chunk, fin, callback) { // An endpoint uses the following algorithm to decompress a message. // 1. Append 4 octets of 0x00 0x00 0xff 0xff to the tail end of the // payload of the message. // 2. Decompress the resulting data using DEFLATE. - - if (this.#aborted) { - callback(new MessageSizeExceededError()) - return - } - if (!this.#inflate) { let windowBits = Z_DEFAULT_WINDOWBITS @@ -64,23 +59,12 @@ class PerMessageDeflate { this.#inflate[kLength] = 0 this.#inflate.on('data', (data) => { - if (this.#aborted) { - return - } - this.#inflate[kLength] += data.length - if (this.#inflate[kLength] > kDefaultMaxDecompressedSize) { - this.#aborted = true + if (this.#maxPayloadSize > 0 && this.#inflate[kLength] > this.#maxPayloadSize) { + callback(new MessageSizeExceededError()) this.#inflate.removeAllListeners() - this.#inflate.destroy() this.#inflate = null - - if (this.#currentCallback) { - const cb = this.#currentCallback - this.#currentCallback = null - cb(new MessageSizeExceededError()) - } return } @@ -93,14 +77,13 @@ class PerMessageDeflate { }) } - this.#currentCallback = callback this.#inflate.write(chunk) if (fin) { this.#inflate.write(tail) } this.#inflate.flush(() => { - if (this.#aborted || !this.#inflate) { + if (!this.#inflate) { return } @@ -108,7 +91,6 @@ class PerMessageDeflate { this.#inflate[kBuffer].length = 0 this.#inflate[kLength] = 0 - this.#currentCallback = null callback(null, full) }) diff --git a/deps/undici/src/lib/web/websocket/receiver.js b/deps/undici/src/lib/web/websocket/receiver.js index 384808d1b7e8..a37bd22265a8 100644 --- a/deps/undici/src/lib/web/websocket/receiver.js +++ b/deps/undici/src/lib/web/websocket/receiver.js @@ -39,18 +39,27 @@ class ByteParser extends Writable { /** @type {import('./websocket').Handler} */ #handler + /** @type {number} */ + #maxFragments + + /** @type {number} */ + #maxPayloadSize + /** * @param {import('./websocket').Handler} handler * @param {Map|null} extensions + * @param {{ maxFragments?: number, maxPayloadSize?: number }} [options] */ - constructor (handler, extensions) { + constructor (handler, extensions, options = {}) { super() this.#handler = handler this.#extensions = extensions == null ? new Map() : extensions + this.#maxFragments = options.maxFragments ?? 0 + this.#maxPayloadSize = options.maxPayloadSize ?? 0 if (this.#extensions.has('permessage-deflate')) { - this.#extensions.set('permessage-deflate', new PerMessageDeflate(extensions)) + this.#extensions.set('permessage-deflate', new PerMessageDeflate(extensions, options)) } } @@ -66,6 +75,19 @@ class ByteParser extends Writable { this.run(callback) } + #validatePayloadLength () { + if ( + this.#maxPayloadSize > 0 && + !isControlFrame(this.#info.opcode) && + this.#info.payloadLength + this.#fragmentsBytes > this.#maxPayloadSize + ) { + failWebsocketConnection(this.#handler, 1009, 'Payload size exceeds maximum allowed size') + return false + } + + return true + } + /** * Runs whenever a new chunk is received. * Callback is called whenever there are no more chunks buffering, @@ -154,6 +176,10 @@ class ByteParser extends Writable { if (payloadLength <= 125) { this.#info.payloadLength = payloadLength this.#state = parserStates.READ_DATA + + if (!this.#validatePayloadLength()) { + return + } } else if (payloadLength === 126) { this.#state = parserStates.PAYLOADLENGTH_16 } else if (payloadLength === 127) { @@ -178,6 +204,10 @@ class ByteParser extends Writable { this.#info.payloadLength = buffer.readUInt16BE(0) this.#state = parserStates.READ_DATA + + if (!this.#validatePayloadLength()) { + return + } } else if (this.#state === parserStates.PAYLOADLENGTH_64) { if (this.#byteOffset < 8) { return callback() @@ -200,6 +230,10 @@ class ByteParser extends Writable { this.#info.payloadLength = lower this.#state = parserStates.READ_DATA + + if (!this.#validatePayloadLength()) { + return + } } else if (this.#state === parserStates.READ_DATA) { if (this.#byteOffset < this.#info.payloadLength) { return callback() @@ -212,7 +246,9 @@ class ByteParser extends Writable { this.#state = parserStates.INFO } else { if (!this.#info.compressed) { - this.writeFragments(body) + if (!this.writeFragments(body)) { + return + } // If the frame is not fragmented, a message has been received. // If the frame is fragmented, it will terminate with a fin bit set @@ -224,29 +260,41 @@ class ByteParser extends Writable { this.#state = parserStates.INFO } else { - this.#extensions.get('permessage-deflate').decompress(body, this.#info.fin, (error, data) => { - if (error) { - // Use 1009 (Message Too Big) for decompression size limit errors - const code = error instanceof MessageSizeExceededError ? 1009 : 1007 - failWebsocketConnection(this.#handler, code, error.message) - return - } - - this.writeFragments(data) + this.#extensions.get('permessage-deflate').decompress( + body, + this.#info.fin, + (error, data) => { + if (error) { + const code = error instanceof MessageSizeExceededError ? 1009 : 1007 + failWebsocketConnection(this.#handler, code, error.message) + return + } + + if (!this.writeFragments(data)) { + return + } + + // Check cumulative fragment size + if (this.#maxPayloadSize > 0 && this.#fragmentsBytes > this.#maxPayloadSize) { + failWebsocketConnection(this.#handler, 1009, new MessageSizeExceededError().message) + return + } + + if (!this.#info.fin) { + this.#state = parserStates.INFO + this.#loop = true + this.run(callback) + return + } + + websocketMessageReceived(this.#handler, this.#info.binaryType, this.consumeFragments()) - if (!this.#info.fin) { - this.#state = parserStates.INFO this.#loop = true + this.#state = parserStates.INFO this.run(callback) - return - } - - websocketMessageReceived(this.#handler, this.#info.binaryType, this.consumeFragments()) - - this.#loop = true - this.#state = parserStates.INFO - this.run(callback) - }) + }, + this.#fragmentsBytes + ) this.#loop = false break @@ -305,8 +353,17 @@ class ByteParser extends Writable { } writeFragments (fragment) { + if ( + this.#maxFragments > 0 && + this.#fragments.length === this.#maxFragments + ) { + failWebsocketConnection(this.#handler, 1008, 'Too many message fragments') + return false + } + this.#fragmentsBytes += fragment.length this.#fragments.push(fragment) + return true } consumeFragments () { diff --git a/deps/undici/src/lib/web/websocket/stream/websocketstream.js b/deps/undici/src/lib/web/websocket/stream/websocketstream.js index ce3be84fc3d0..1da0292b4650 100644 --- a/deps/undici/src/lib/web/websocket/stream/websocketstream.js +++ b/deps/undici/src/lib/web/websocket/stream/websocketstream.js @@ -258,7 +258,14 @@ class WebSocketStream { #onConnectionEstablished (response, parsedExtensions) { this.#handler.socket = response.socket - const parser = new ByteParser(this.#handler, parsedExtensions) + // Get options from dispatcher options + const maxFragments = this.#handler.controller.dispatcher?.webSocketOptions?.maxFragments + const maxPayloadSize = this.#handler.controller.dispatcher?.webSocketOptions?.maxPayloadSize + + const parser = new ByteParser(this.#handler, parsedExtensions, { + maxFragments, + maxPayloadSize + }) parser.on('drain', () => this.#handler.onParserDrain()) parser.on('error', (err) => this.#handler.onParserError(err)) @@ -284,12 +291,6 @@ class WebSocketStream { start: (controller) => { this.#readableStreamController = controller }, - pull (controller) { - let chunk - while (controller.desiredSize > 0 && (chunk = response.socket.read()) !== null) { - controller.enqueue(chunk) - } - }, cancel: (reason) => this.#cancel(reason) }) @@ -338,7 +339,7 @@ class WebSocketStream { try { chunk = utf8Decode(data) } catch { - failWebsocketConnection(this.#handler, 'Received invalid UTF-8 in text frame.') + failWebsocketConnection(this.#handler, 1007, 'Received invalid UTF-8 in text frame.') return } } else if (type === opcodes.BINARY) { diff --git a/deps/undici/src/lib/web/websocket/websocket.js b/deps/undici/src/lib/web/websocket/websocket.js index da94ab5b3529..4f816ef17a7d 100644 --- a/deps/undici/src/lib/web/websocket/websocket.js +++ b/deps/undici/src/lib/web/websocket/websocket.js @@ -468,7 +468,14 @@ class WebSocket extends EventTarget { // once this happens, the connection is open this.#handler.socket = response.socket - const parser = new ByteParser(this.#handler, parsedExtensions) + const webSocketOptions = this.#handler.controller.dispatcher?.webSocketOptions + const maxFragments = webSocketOptions?.maxFragments + const maxPayloadSize = webSocketOptions?.maxPayloadSize + + const parser = new ByteParser(this.#handler, parsedExtensions, { + maxFragments, + maxPayloadSize + }) parser.on('drain', () => this.#handler.onParserDrain()) parser.on('error', (err) => this.#handler.onParserError(err)) diff --git a/deps/undici/src/package-lock.json b/deps/undici/src/package-lock.json index e78bb21bf1b0..81a8d5a4c447 100644 --- a/deps/undici/src/package-lock.json +++ b/deps/undici/src/package-lock.json @@ -1,12 +1,12 @@ { "name": "undici", - "version": "7.25.0", + "version": "7.28.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "undici", - "version": "7.25.0", + "version": "7.28.0", "license": "MIT", "devDependencies": { "@fastify/busboy": "3.2.0", @@ -76,13 +76,13 @@ "license": "MIT" }, "node_modules/@babel/code-frame": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", + "@babel/helper-validator-identifier": "^7.29.7", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" }, @@ -91,9 +91,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", - "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", "dev": true, "license": "MIT", "engines": { @@ -101,21 +101,21 @@ } }, "node_modules/@babel/core": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", - "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helpers": "^7.28.6", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/traverse": "^7.29.0", - "@babel/types": "^7.29.0", + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", @@ -132,14 +132,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.29.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", - "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz", + "integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.29.0", - "@babel/types": "^7.29.0", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" @@ -149,14 +149,14 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", - "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.28.6", - "@babel/helper-validator-option": "^7.27.1", + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -166,9 +166,9 @@ } }, "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", "dev": true, "license": "MIT", "engines": { @@ -176,29 +176,29 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", - "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6" + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", - "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.28.6" + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -208,9 +208,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", - "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz", + "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==", "dev": true, "license": "MIT", "engines": { @@ -218,9 +218,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", "dev": true, "license": "MIT", "engines": { @@ -228,9 +228,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", "dev": true, "license": "MIT", "engines": { @@ -238,9 +238,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", "dev": true, "license": "MIT", "engines": { @@ -248,27 +248,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", - "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", + "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0" + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.29.0" + "@babel/types": "^7.29.7" }, "bin": { "parser": "bin/babel-parser.js" @@ -333,13 +333,13 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", - "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.29.7.tgz", + "integrity": "sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -375,13 +375,13 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", - "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.29.7.tgz", + "integrity": "sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -501,13 +501,13 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz", - "integrity": "sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.29.7.tgz", + "integrity": "sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" + "@babel/helper-plugin-utils": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -517,33 +517,33 @@ } }, "node_modules/@babel/template": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", - "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6" + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz", + "integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7", "debug": "^4.3.1" }, "engines": { @@ -551,14 +551,14 @@ } }, "node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" }, "engines": { "node": ">=6.9.0" @@ -1438,17 +1438,17 @@ } }, "node_modules/@jest/console": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.3.0.tgz", - "integrity": "sha512-PAwCvFJ4696XP2qZj+LAn1BWjZaJ6RjG6c7/lkMaUJnkyMS34ucuIsfqYvfskVNvUI27R/u4P1HMYFnlVXG/Ww==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.4.1.tgz", + "integrity": "sha512-v3bhyxUh9Hgmo5p6hAOXe14/R3ZxZDOsvHleh4B07z3m/x4/ngPUXEm9XwK4sF4u+f+P2ORb0Ge+MgpaqRMVDA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.3.0", + "@jest/types": "30.4.1", "@types/node": "*", "chalk": "^4.1.2", - "jest-message-util": "30.3.0", - "jest-util": "30.3.0", + "jest-message-util": "30.4.1", + "jest-util": "30.4.1", "slash": "^3.0.0" }, "engines": { @@ -1456,38 +1456,39 @@ } }, "node_modules/@jest/core": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.3.0.tgz", - "integrity": "sha512-U5mVPsBxLSO6xYbf+tgkymLx+iAhvZX43/xI1+ej2ZOPnPdkdO1CzDmFKh2mZBn2s4XZixszHeQnzp1gm/DIxw==", + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.4.2.tgz", + "integrity": "sha512-TZJA6cPJUFxoWhxaLo8t0VX/MZX2wPWr0uIDvLSHIvN4gu9h02vSzqI2kBADG1ExqQlC+cY09xKMSreivvrChQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "30.3.0", - "@jest/pattern": "30.0.1", - "@jest/reporters": "30.3.0", - "@jest/test-result": "30.3.0", - "@jest/transform": "30.3.0", - "@jest/types": "30.3.0", + "@jest/console": "30.4.1", + "@jest/pattern": "30.4.0", + "@jest/reporters": "30.4.1", + "@jest/test-result": "30.4.1", + "@jest/transform": "30.4.1", + "@jest/types": "30.4.1", "@types/node": "*", "ansi-escapes": "^4.3.2", "chalk": "^4.1.2", "ci-info": "^4.2.0", "exit-x": "^0.2.2", + "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.11", - "jest-changed-files": "30.3.0", - "jest-config": "30.3.0", - "jest-haste-map": "30.3.0", - "jest-message-util": "30.3.0", - "jest-regex-util": "30.0.1", - "jest-resolve": "30.3.0", - "jest-resolve-dependencies": "30.3.0", - "jest-runner": "30.3.0", - "jest-runtime": "30.3.0", - "jest-snapshot": "30.3.0", - "jest-util": "30.3.0", - "jest-validate": "30.3.0", - "jest-watcher": "30.3.0", - "pretty-format": "30.3.0", + "jest-changed-files": "30.4.1", + "jest-config": "30.4.2", + "jest-haste-map": "30.4.1", + "jest-message-util": "30.4.1", + "jest-regex-util": "30.4.0", + "jest-resolve": "30.4.1", + "jest-resolve-dependencies": "30.4.2", + "jest-runner": "30.4.2", + "jest-runtime": "30.4.2", + "jest-snapshot": "30.4.1", + "jest-util": "30.4.1", + "jest-validate": "30.4.1", + "jest-watcher": "30.4.1", + "pretty-format": "30.4.1", "slash": "^3.0.0" }, "engines": { @@ -1503,9 +1504,9 @@ } }, "node_modules/@jest/diff-sequences": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.3.0.tgz", - "integrity": "sha512-cG51MVnLq1ecVUaQ3fr6YuuAOitHK1S4WUJHnsPFE/quQr33ADUx1FfrTCpMCRxvy0Yr9BThKpDjSlcTi91tMA==", + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.4.0.tgz", + "integrity": "sha512-zOpzlfUs45l6u7jm39qr87JCHUDsaeCtvL+kQe/Vn9jSnRB4/5IPXISm0h9I1vZW/o00Kn4UTJ2MOlhnUGwv3g==", "dev": true, "license": "MIT", "engines": { @@ -1513,39 +1514,39 @@ } }, "node_modules/@jest/environment": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.3.0.tgz", - "integrity": "sha512-SlLSF4Be735yQXyh2+mctBOzNDx5s5uLv88/j8Qn1wH679PDcwy67+YdADn8NJnGjzlXtN62asGH/T4vWOkfaw==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.4.1.tgz", + "integrity": "sha512-AK9yNRqgKxiabqMoe4oW+3/TSSeV8vkdC7BGaxZdU0AFXfOpofTLqdru2GXKZghP3sdgwE9XXpnVwfZ8JnFV4w==", "dev": true, "license": "MIT", "dependencies": { - "@jest/fake-timers": "30.3.0", - "@jest/types": "30.3.0", + "@jest/fake-timers": "30.4.1", + "@jest/types": "30.4.1", "@types/node": "*", - "jest-mock": "30.3.0" + "jest-mock": "30.4.1" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/expect": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.3.0.tgz", - "integrity": "sha512-76Nlh4xJxk2D/9URCn3wFi98d2hb19uWE1idLsTt2ywhvdOldbw3S570hBgn25P4ICUZ/cBjybrBex2g17IDbg==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.4.1.tgz", + "integrity": "sha512-ginrj6TMgh2GshLUGCjO94Ptx9HhdZA/I6A9iUfyeLKFtdAjnKzHDgzgP9HYQgbxM1lbXScQ2eUBz2lGeVDPWA==", "dev": true, "license": "MIT", "dependencies": { - "expect": "30.3.0", - "jest-snapshot": "30.3.0" + "expect": "30.4.1", + "jest-snapshot": "30.4.1" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/expect-utils": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.3.0.tgz", - "integrity": "sha512-j0+W5iQQ8hBh7tHZkTQv3q2Fh/M7Je72cIsYqC4OaktgtO7v1So9UTjp6uPBHIaB6beoF/RRsCgMJKvti0wADA==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.4.1.tgz", + "integrity": "sha512-ZBn5CglH8fBsQsvs4VWNzD4aWfUYks+IdOOQU3MEK71ol/BcVm+P+rtb1KpiFBpSWSCE27uOahyyf1vfqOVbcQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1556,27 +1557,27 @@ } }, "node_modules/@jest/fake-timers": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.3.0.tgz", - "integrity": "sha512-WUQDs8SOP9URStX1DzhD425CqbN/HxUYCTwVrT8sTVBfMvFqYt/s61EK5T05qnHu0po6RitXIvP9otZxYDzTGQ==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.4.1.tgz", + "integrity": "sha512-iW5umdmfPeWzehrVhugFQZqCchSCud5S1l2YT0O9ZhjRR0ExclANDZkiSBwzqtnlOn0J1JXvO+HZ6rkuyOVOgQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.3.0", - "@sinonjs/fake-timers": "^15.0.0", + "@jest/types": "30.4.1", + "@sinonjs/fake-timers": "^15.4.0", "@types/node": "*", - "jest-message-util": "30.3.0", - "jest-mock": "30.3.0", - "jest-util": "30.3.0" + "jest-message-util": "30.4.1", + "jest-mock": "30.4.1", + "jest-util": "30.4.1" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/fake-timers/node_modules/@sinonjs/fake-timers": { - "version": "15.3.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-15.3.2.tgz", - "integrity": "sha512-mrn35Jl2pCpns+mE3HaZa1yPN5EYCRgiMI+135COjr2hr8Cls9DXqIZ57vZe2cz7y2XVSq92tcs6kGQcT1J8Rw==", + "version": "15.4.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-15.4.0.tgz", + "integrity": "sha512-DsG+8/LscQIQg68J6Ef3dv10u6nVyetYn923s3/sus5eaGfTo1of5WMZSLf0UJc9KDuKPilPH0UDJCjvNbDNCA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -1594,47 +1595,47 @@ } }, "node_modules/@jest/globals": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.3.0.tgz", - "integrity": "sha512-+owLCBBdfpgL3HU+BD5etr1SvbXpSitJK0is1kiYjJxAAJggYMRQz5hSdd5pq1sSggfxPbw2ld71pt4x5wwViA==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.4.1.tgz", + "integrity": "sha512-ZbuY4cmXC8DkxYjfvT2DbcHWL2T6vmsMhXCDcmTB2T0y0gaezBI77ufq5ZAIdcRkYZ7NEQEDg1xFeKbxUJ5v5Q==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "30.3.0", - "@jest/expect": "30.3.0", - "@jest/types": "30.3.0", - "jest-mock": "30.3.0" + "@jest/environment": "30.4.1", + "@jest/expect": "30.4.1", + "@jest/types": "30.4.1", + "jest-mock": "30.4.1" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/pattern": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz", - "integrity": "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==", + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.4.0.tgz", + "integrity": "sha512-RAWn3+f9u8BsHijKJ71uHcFp6vmyEt6VvoWXkl6hKF3qVIuWNmudVjg12DlBPGup/frIl5UcUlH5HfEuvHpEXg==", "dev": true, "license": "MIT", "dependencies": { "@types/node": "*", - "jest-regex-util": "30.0.1" + "jest-regex-util": "30.4.0" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/@jest/reporters": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.3.0.tgz", - "integrity": "sha512-a09z89S+PkQnL055bVj8+pe2Caed2PBOaczHcXCykW5ngxX9EWx/1uAwncxc/HiU0oZqfwseMjyhxgRjS49qPw==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.4.1.tgz", + "integrity": "sha512-/SnkPCzEQpUaBH81kjdEdDdo2WZl5hxw+BmLDGWjRkm8o7XlhjwsU36cqwe5PGBE5WYpBvDzRSdXx9rbGuJtNA==", "dev": true, "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "30.3.0", - "@jest/test-result": "30.3.0", - "@jest/transform": "30.3.0", - "@jest/types": "30.3.0", + "@jest/console": "30.4.1", + "@jest/test-result": "30.4.1", + "@jest/transform": "30.4.1", + "@jest/types": "30.4.1", "@jridgewell/trace-mapping": "^0.3.25", "@types/node": "*", "chalk": "^4.1.2", @@ -1647,9 +1648,9 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^5.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "30.3.0", - "jest-util": "30.3.0", - "jest-worker": "30.3.0", + "jest-message-util": "30.4.1", + "jest-util": "30.4.1", + "jest-worker": "30.4.1", "slash": "^3.0.0", "string-length": "^4.0.2", "v8-to-istanbul": "^9.0.1" @@ -1674,9 +1675,9 @@ "license": "MIT" }, "node_modules/@jest/schemas": { - "version": "30.0.5", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz", - "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.4.1.tgz", + "integrity": "sha512-i6b4qw5qnP8c5FEeBJg/uZQ4ddrkN6Ca8qISJh0pr7a5hfn3h3v5x60BEbOC7OYAGZNMs1LfFLwnW2CuK8F57Q==", "dev": true, "license": "MIT", "dependencies": { @@ -1687,13 +1688,13 @@ } }, "node_modules/@jest/snapshot-utils": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.3.0.tgz", - "integrity": "sha512-ORbRN9sf5PP82v3FXNSwmO1OTDR2vzR2YTaR+E3VkSBZ8zadQE6IqYdYEeFH1NIkeB2HIGdF02dapb6K0Mj05g==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.4.1.tgz", + "integrity": "sha512-ObY4ljvQ95mt6iwKtVLetR/4yXiAgl3H4nJxhztr0MTjrN97TwDYrnCp/kF60Ec9HdhkWTHSu+Hg05aXfngpOA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.3.0", + "@jest/types": "30.4.1", "chalk": "^4.1.2", "graceful-fs": "^4.2.11", "natural-compare": "^1.4.0" @@ -1718,14 +1719,14 @@ } }, "node_modules/@jest/test-result": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.3.0.tgz", - "integrity": "sha512-e/52nJGuD74AKTSe0P4y5wFRlaXP0qmrS17rqOMHeSwm278VyNyXE3gFO/4DTGF9w+65ra3lo3VKj0LBrzmgdQ==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.4.1.tgz", + "integrity": "sha512-/ZG7pgEiOmmWkN9TplKbOu4id2N5lh7FHwRwlkgBVAzGdRH+OkkQ8wX/kIxg4zmd3ZQvAL1RwL2yWsvNYYECTw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "30.3.0", - "@jest/types": "30.3.0", + "@jest/console": "30.4.1", + "@jest/types": "30.4.1", "@types/istanbul-lib-coverage": "^2.0.6", "collect-v8-coverage": "^1.0.2" }, @@ -1734,15 +1735,15 @@ } }, "node_modules/@jest/test-sequencer": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.3.0.tgz", - "integrity": "sha512-dgbWy9b8QDlQeRZcv7LNF+/jFiiYHTKho1xirauZ7kVwY7avjFF6uTT0RqlgudB5OuIPagFdVtfFMosjVbk1eA==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.4.1.tgz", + "integrity": "sha512-PeYE+4td5rKjoRPxztObrXU+H8hsjZfxKMXOcmrr34JerSyB/ROOxbbicz8B7A5j9R9VayDnVPvBmedqCsFCdw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/test-result": "30.3.0", + "@jest/test-result": "30.4.1", "graceful-fs": "^4.2.11", - "jest-haste-map": "30.3.0", + "jest-haste-map": "30.4.1", "slash": "^3.0.0" }, "engines": { @@ -1750,23 +1751,23 @@ } }, "node_modules/@jest/transform": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.3.0.tgz", - "integrity": "sha512-TLKY33fSLVd/lKB2YI1pH69ijyUblO/BQvCj566YvnwuzoTNr648iE0j22vRvVNk2HsPwByPxATg3MleS3gf5A==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.4.1.tgz", + "integrity": "sha512-Wz0LyktlTvRefoymh+n64hQ84KNXsRGcwdoZ8CSa0Ea+fgYcHZlnk+hDP7v2MS7il2bQ5uTEIxf4/NNfhMN4KQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/core": "^7.27.4", - "@jest/types": "30.3.0", + "@jest/types": "30.4.1", "@jridgewell/trace-mapping": "^0.3.25", "babel-plugin-istanbul": "^7.0.1", "chalk": "^4.1.2", "convert-source-map": "^2.0.0", "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.11", - "jest-haste-map": "30.3.0", - "jest-regex-util": "30.0.1", - "jest-util": "30.3.0", + "jest-haste-map": "30.4.1", + "jest-regex-util": "30.4.0", + "jest-util": "30.4.1", "pirates": "^4.0.7", "slash": "^3.0.0", "write-file-atomic": "^5.0.1" @@ -1776,14 +1777,14 @@ } }, "node_modules/@jest/types": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.3.0.tgz", - "integrity": "sha512-JHm87k7bA33hpBngtU8h6UBub/fqqA9uXfw+21j5Hmk7ooPHlboRNxHq0JcMtC+n8VJGP1mcfnD3Mk+XKe1oSw==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.4.1.tgz", + "integrity": "sha512-f1x/vJXIfjOlEmejYpbkbgw1gOqpPECwMvMEtBqe47j7H2Hg8h8w3o3ikhSXq3MI15kg+oQ0exWO0uCtTNJLoQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/pattern": "30.0.1", - "@jest/schemas": "30.0.5", + "@jest/pattern": "30.4.0", + "@jest/schemas": "30.4.1", "@types/istanbul-lib-coverage": "^2.0.6", "@types/istanbul-reports": "^3.0.4", "@types/node": "*", @@ -1873,16 +1874,22 @@ } }, "node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", - "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.5.tgz", + "integrity": "sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@tybys/wasm-util": "^0.10.0" + "@tybys/wasm-util": "^0.10.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" } }, "node_modules/@nodelib/fs.scandir": { @@ -1952,13 +1959,13 @@ } }, "node_modules/@pkgr/core": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz", - "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.3.6.tgz", + "integrity": "sha512-SEeaJLb3qBNF/OaXnaR1NmmBbFYk1zC0ZH/52fATcRPLFg/p791YrcyFFy44Bo9sLaGuSuLp5Q6axbb/O+v/RA==", "dev": true, "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + "node": "^14.18.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/pkgr" @@ -2053,9 +2060,9 @@ } }, "node_modules/@tybys/wasm-util": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", - "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", "dev": true, "license": "MIT", "optional": true, @@ -2120,9 +2127,9 @@ } }, "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", "dev": true, "license": "MIT" }, @@ -2168,9 +2175,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.19.39", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.39.tgz", - "integrity": "sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==", + "version": "20.19.43", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz", + "integrity": "sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==", "dev": true, "license": "MIT", "dependencies": { @@ -2209,17 +2216,17 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.1.tgz", - "integrity": "sha512-BOziFIfE+6osHO9FoJG4zjoHUcvI7fTNBSpdAwrNH0/TLvzjsk2oo8XSSOT2HhqUyhZPfHv4UOffoJ9oEEQ7Ag==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.61.0.tgz", + "integrity": "sha512-bFNvl9ZczlVb+wR2Akszf3gHfKVj/8WanXaGJ3UstTA7brNKg0cNdk6X1Psu5V7MZ2oQtzZKOEzIUehaoxbDGw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.59.1", - "@typescript-eslint/type-utils": "8.59.1", - "@typescript-eslint/utils": "8.59.1", - "@typescript-eslint/visitor-keys": "8.59.1", + "@typescript-eslint/scope-manager": "8.61.0", + "@typescript-eslint/type-utils": "8.61.0", + "@typescript-eslint/utils": "8.61.0", + "@typescript-eslint/visitor-keys": "8.61.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" @@ -2232,7 +2239,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.59.1", + "@typescript-eslint/parser": "^8.61.0", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } @@ -2248,16 +2255,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.1.tgz", - "integrity": "sha512-HDQH9O/47Dxi1ceDhBXdaldtf/WV9yRYMjbjCuNk3qnaTD564qwv61Y7+gTxwxRKzSrgO5uhtw584igXVuuZkA==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.61.0.tgz", + "integrity": "sha512-5B7PfA2e1NQGCnDHd/0lW7W3gvp3d59Ryw54FYO8Uswxo9f6ikw3AZV+Xj/TvpImmpsiYyUqAfhC6kJID1jF6w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.59.1", - "@typescript-eslint/types": "8.59.1", - "@typescript-eslint/typescript-estree": "8.59.1", - "@typescript-eslint/visitor-keys": "8.59.1", + "@typescript-eslint/scope-manager": "8.61.0", + "@typescript-eslint/types": "8.61.0", + "@typescript-eslint/typescript-estree": "8.61.0", + "@typescript-eslint/visitor-keys": "8.61.0", "debug": "^4.4.3" }, "engines": { @@ -2273,14 +2280,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.1.tgz", - "integrity": "sha512-+MuHQlHiEr00Of/IQbE/MmEoi44znZHbR/Pz7Opq4HryUOlRi+/44dro9Ycy8Fyo+/024IWtw8m4JUMCGTYxDg==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.61.0.tgz", + "integrity": "sha512-DV42F7MLJO6Rax7SK1yg43tcnEfGUrurSpSxKuVX+a3RCTzBlH3fuxprrOJXKCJGAaw82xXocikJ0uQaqwXgGA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.59.1", - "@typescript-eslint/types": "^8.59.1", + "@typescript-eslint/tsconfig-utils": "^8.61.0", + "@typescript-eslint/types": "^8.61.0", "debug": "^4.4.3" }, "engines": { @@ -2295,14 +2302,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.1.tgz", - "integrity": "sha512-LwuHQI4pDOYVKvmH2dkaJo6YZCSgouVgnS/z7yBPKBMvgtBvyLqiLy9Z6b7+m/TRcX1NFYUqZetI5Y+aT4GEfg==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.61.0.tgz", + "integrity": "sha512-IWdXFHFSb6mlC3HPc7QsLDm5zYEbUla6trDEHf32D3/dnuUyXd87plScSNXSbm0/RxMvObpI17sv/EDTGrGZkA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.59.1", - "@typescript-eslint/visitor-keys": "8.59.1" + "@typescript-eslint/types": "8.61.0", + "@typescript-eslint/visitor-keys": "8.61.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2313,9 +2320,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.1.tgz", - "integrity": "sha512-/0nEyPbX7gRsk0Uwfe4ALwwgxuA66d/l2mhRDNlAvaj4U3juhUtJNq0DsY8M2AYwwb9rEq2hrC3IcIcEt++iJA==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.61.0.tgz", + "integrity": "sha512-O5Amvdv9ztMpxpf+vmFULGG78IE6Qwdr3bCGvqwG4nwc9H2qXkOYJJnRbRHyMkQTjv1d03olqwwwzHLMqpFePQ==", "dev": true, "license": "MIT", "engines": { @@ -2330,15 +2337,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.59.1.tgz", - "integrity": "sha512-klWPBR2ciQHS3f++ug/mVnWKPjBUo7icEL3FAO1lhAR1Z1i5NQYZ1EannMSRYcq5qCv5wNALlXr6fksRHyYl7w==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.61.0.tgz", + "integrity": "sha512-TuBiQYIkd97yBfInHCTKVYMbX4kvEmpOEuixIuzCU9p8BGT1SfyyO0d0IfDMbPIHcjn/hWnusUX5e8v5Xg+X8A==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.59.1", - "@typescript-eslint/typescript-estree": "8.59.1", - "@typescript-eslint/utils": "8.59.1", + "@typescript-eslint/types": "8.61.0", + "@typescript-eslint/typescript-estree": "8.61.0", + "@typescript-eslint/utils": "8.61.0", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, @@ -2355,9 +2362,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.1.tgz", - "integrity": "sha512-ZDCjgccSdYPw5Bxh+my4Z0lJU96ZDN7jbBzvmEn0FZx3RtU1C7VWl6NbDx94bwY3V5YsgwRzJPOgeY2Q/nLG8A==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.61.0.tgz", + "integrity": "sha512-9QTQpZ5Iin4CdIodfbDQFSeiSJKidgYJYug1P9CC2xWgUTvlmixViqDZNciMjwLBZyJnG4tGmPl97rVAFb1AJg==", "dev": true, "license": "MIT", "engines": { @@ -2369,16 +2376,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.1.tgz", - "integrity": "sha512-OUd+vJS05sSkOip+BkZ/2NS8RMxrAAJemsC6vU3kmfLyeaJT0TftHkV9mcx2107MmsBVXXexhVu4F0TZXyMl4g==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.61.0.tgz", + "integrity": "sha512-42zatd5qSvvcV1JdDBCLxYRznvP4eIHpPoZXdkPFnAmanA4FuZ5dibSnCBggY8hQnqajPpoGjXFdZ7fIJKQnlA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.59.1", - "@typescript-eslint/tsconfig-utils": "8.59.1", - "@typescript-eslint/types": "8.59.1", - "@typescript-eslint/visitor-keys": "8.59.1", + "@typescript-eslint/project-service": "8.61.0", + "@typescript-eslint/tsconfig-utils": "8.61.0", + "@typescript-eslint/types": "8.61.0", + "@typescript-eslint/visitor-keys": "8.61.0", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", @@ -2407,9 +2414,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", "dev": true, "license": "MIT", "dependencies": { @@ -2436,9 +2443,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -2449,16 +2456,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.1.tgz", - "integrity": "sha512-3pIeoXhCeYH9FSCBI8P3iNwJlGuzPlYKkTlen2O9T1DSeeg8UG8jstq6BLk+Mda0qup7mgk4z4XL4OzRaxZ8LA==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.61.0.tgz", + "integrity": "sha512-3bzFt7ImFMW/jVYwJamDoe/dMOdFLSC6pom6rRjdh4SZJEYupyMzem8e7vKZLclLfpHjlwSAXOUxtKxGXUiLqA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.59.1", - "@typescript-eslint/types": "8.59.1", - "@typescript-eslint/typescript-estree": "8.59.1" + "@typescript-eslint/scope-manager": "8.61.0", + "@typescript-eslint/types": "8.61.0", + "@typescript-eslint/typescript-estree": "8.61.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2473,13 +2480,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.59.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.1.tgz", - "integrity": "sha512-LdDNl6C5iJExcM0Yh0PwAIBb9PrSiCsWamF/JyEZawm3kFDnRoaq3LGE4bpyRao/fWeGKKyw7icx0YxrLFC5Cg==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.61.0.tgz", + "integrity": "sha512-QVLZu3ZPQEE+HICQyAMZ2yLQhxf0meY/wx6Hx14YcTNj13JB3qHlX3lJ02L3fLGHgERRH71kvYDwiXIguT3AjQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.59.1", + "@typescript-eslint/types": "8.61.0", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -2504,16 +2511,16 @@ } }, "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.1.tgz", + "integrity": "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==", "dev": true, "license": "ISC" }, "node_modules/@unrs/resolver-binding-android-arm-eabi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", - "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.12.2.tgz", + "integrity": "sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==", "cpu": [ "arm" ], @@ -2525,9 +2532,9 @@ ] }, "node_modules/@unrs/resolver-binding-android-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", - "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.12.2.tgz", + "integrity": "sha512-YGCRZv/9GLhwmz6mYDeTsm/92BAyR28l6c2ReweVW5pWgfsitWLY8upvfRlGdoyD8HjeTHSYJWyZGD4KJA/nFQ==", "cpu": [ "arm64" ], @@ -2539,9 +2546,9 @@ ] }, "node_modules/@unrs/resolver-binding-darwin-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", - "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.12.2.tgz", + "integrity": "sha512-u9DiNT1auQMO20A9SyTuG3wUgQWB9Z7KjAg0uFuCDR1FsAY8A0CG2S6JpHS1xwm/w1G08bjXZDcyOCjv1WAm2w==", "cpu": [ "arm64" ], @@ -2553,9 +2560,9 @@ ] }, "node_modules/@unrs/resolver-binding-darwin-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", - "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.12.2.tgz", + "integrity": "sha512-f7rPLi/T1HVKZu/u6t87lroib16n8vrSzcyxI7lg4BGO9UF26KhQL44sd9eOUgrTYhvRXtWOIZT5PejdPyJfUA==", "cpu": [ "x64" ], @@ -2567,9 +2574,9 @@ ] }, "node_modules/@unrs/resolver-binding-freebsd-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", - "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.12.2.tgz", + "integrity": "sha512-BpcOjWCJub6nRZUS2zA20pmLvjtqAtGejETaIyRLiZiQf++cbrjltLA5NN/xaXfqeOBOSlMFbemIl5/S5tljmg==", "cpu": [ "x64" ], @@ -2581,9 +2588,9 @@ ] }, "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", - "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.12.2.tgz", + "integrity": "sha512-vZTDvdSISZjJx66OzJqtsOhzifbqRjbmI1Mnu49fQDwog5GtDI4QidRiEAYbZCRj9C8YZEW+3ZjqsyS9GR4k2A==", "cpu": [ "arm" ], @@ -2595,9 +2602,9 @@ ] }, "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", - "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.12.2.tgz", + "integrity": "sha512-BiPI+IrIlwcW4nLLMM21+B1dFPzd55yAVgVGrdgDjNef+ch03GdxrcyaIz8X9SsQirh/kCQ7mviyWlMxdh2D7g==", "cpu": [ "arm" ], @@ -2609,9 +2616,9 @@ ] }, "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", - "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.12.2.tgz", + "integrity": "sha512-zJc0H99FEPoFfSrNpa91HYfxzfAJCr502oxNK1cfdC9hlaFI43RT+JFCann9JUgZmLzzntChHyn13Sgn9ljHNg==", "cpu": [ "arm64" ], @@ -2626,9 +2633,9 @@ ] }, "node_modules/@unrs/resolver-binding-linux-arm64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", - "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.12.2.tgz", + "integrity": "sha512-KQ3Lki6l+Pz1k/eBipN41ES+YUK30beLGb9YqcB1O542cyLCNE6GaxrfcY3T6EezmGGk84wb5XyO9loTM9tkcA==", "cpu": [ "arm64" ], @@ -2642,10 +2649,44 @@ "linux" ] }, + "node_modules/@unrs/resolver-binding-linux-loong64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-gnu/-/resolver-binding-linux-loong64-gnu-1.12.2.tgz", + "integrity": "sha512-3SJGEh1DborhG6pyxvhPzCT4bbSIVihsvgJc13P1bHG7KLdNDaF9T3gsTwFc7Jw/5Y5/iWOjkEx7Zy0NvCGX3Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-loong64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-musl/-/resolver-binding-linux-loong64-musl-1.12.2.tgz", + "integrity": "sha512-jiuG/Obbel7uw1PwHNFfrkiKhLAF6mnyZ6aWlOAVN9WqKm8v0OFGnciJIHu8+CMvXLQ8AD51LPzAoUfT21D5Ew==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", - "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.12.2.tgz", + "integrity": "sha512-q7xRvVpmcfeL+LlZg8Pbbo6QaTZwDU5BaGZbwfhkEsXJn3Was8xYfE0RBH266xZt0rM6B7i8xAYIvjthuUIWHg==", "cpu": [ "ppc64" ], @@ -2660,9 +2701,9 @@ ] }, "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", - "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.12.2.tgz", + "integrity": "sha512-0CVdx6lcnT3Q9inOH8tsMIOJ6ImndllMjqJHg8RLVdB7Vq4SfkEXl9mCSsVNuNA4MCYycRicCUxPCabVHJRr6A==", "cpu": [ "riscv64" ], @@ -2677,9 +2718,9 @@ ] }, "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", - "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.12.2.tgz", + "integrity": "sha512-iOwlRo9vnp6R6ohHQS11n0NnfdXx/omhkocmIfaPRpQhKZ+3BDMkkdRVh53qjkFkpPddf+FETA28NwGN7l5l+w==", "cpu": [ "riscv64" ], @@ -2694,9 +2735,9 @@ ] }, "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", - "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.12.2.tgz", + "integrity": "sha512-HYJtLfXq94q8iZNFT1lknx258wlkkWhZeUXJRqzKBBUJ00CvZ+N33zgbCqimLjsyw5Va6uUxhVa12mI+kaveEw==", "cpu": [ "s390x" ], @@ -2711,9 +2752,9 @@ ] }, "node_modules/@unrs/resolver-binding-linux-x64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", - "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.12.2.tgz", + "integrity": "sha512-mPsUhunKKDih5O96Y6enDQyHc1SqBPlY1E/SfMWDM3EdJ95Z9CArPeCVwCCqbP45ljvivdEk8Fxn+SIb1rDAJQ==", "cpu": [ "x64" ], @@ -2728,9 +2769,9 @@ ] }, "node_modules/@unrs/resolver-binding-linux-x64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", - "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.12.2.tgz", + "integrity": "sha512-azrt6+5ydLd8Vt210AAFis/lZevSfPw93EJRIJG+xPu4WCJ8K0kppCTpMyLPcKT7H15M4Jnt2tMp5bOvCkRC6A==", "cpu": [ "x64" ], @@ -2744,10 +2785,24 @@ "linux" ] }, + "node_modules/@unrs/resolver-binding-openharmony-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-openharmony-arm64/-/resolver-binding-openharmony-arm64-1.12.2.tgz", + "integrity": "sha512-YZ9hP4O0X9PQb8eO980qmLNGH4zT3I9+SZTdt0Pr0YyuGQhYKoOZkV02VzrzyOZJ5xIJ3UFIenKkUkGg8GjgWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, "node_modules/@unrs/resolver-binding-wasm32-wasi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", - "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.12.2.tgz", + "integrity": "sha512-tYFDIkMxSflfEc/h92ZWNsZlHSwgimbNHSO3PL2JWQHfCuC2q316jMyYU9TIWZsFK2bQwyK5VAdYgn8ygPj69A==", "cpu": [ "wasm32" ], @@ -2755,16 +2810,18 @@ "license": "MIT", "optional": true, "dependencies": { - "@napi-rs/wasm-runtime": "^0.2.11" + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", - "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.12.2.tgz", + "integrity": "sha512-qzNyg3xL0VPQmCaUh+N5jSitce6k+uCBfMDesWRnlULOZaqUkaJ0ybdT+UqlAWJoQjuqfIU/0Ptx9bteN4D82g==", "cpu": [ "arm64" ], @@ -2776,9 +2833,9 @@ ] }, "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", - "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.12.2.tgz", + "integrity": "sha512-WD9sY00OfpHVGfsnHZoA8jVT+esS/Bg8z8jzxp5BnDCjjwsuKsPQrzswwpFy4J1AUJbXPRfkpcX0mXrzeXW79g==", "cpu": [ "ia32" ], @@ -2790,9 +2847,9 @@ ] }, "node_modules/@unrs/resolver-binding-win32-x64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", - "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.12.2.tgz", + "integrity": "sha512-nAB74NfSNKknqQ1RrYj6uz8FcXEomu/MATJZxh/x+BArzN2U3JbOYC0APYzUIGhVY3m5hRxA8VPNdPBoG8txlA==", "cpu": [ "x64" ], @@ -2817,9 +2874,9 @@ } }, "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", "dev": true, "license": "MIT", "bin": { @@ -3234,16 +3291,16 @@ } }, "node_modules/babel-jest": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.3.0.tgz", - "integrity": "sha512-gRpauEU2KRrCox5Z296aeVHR4jQ98BCnu0IO332D/xpHNOsIH/bgSRk9k6GbKIbBw8vFeN6ctuu6tV8WOyVfYQ==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.4.1.tgz", + "integrity": "sha512-fATAbM8piYxkiXQp3RBXmZHxZVNJZAVXXfyeyCN2Tida3+qJ8ea9UxhiJ2y4fLO90ZImKt6k9FlcH2+rLkJGhw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/transform": "30.3.0", + "@jest/transform": "30.4.1", "@types/babel__core": "^7.20.5", "babel-plugin-istanbul": "^7.0.1", - "babel-preset-jest": "30.3.0", + "babel-preset-jest": "30.4.0", "chalk": "^4.1.2", "graceful-fs": "^4.2.11", "slash": "^3.0.0" @@ -3313,9 +3370,9 @@ } }, "node_modules/babel-plugin-jest-hoist": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.3.0.tgz", - "integrity": "sha512-+TRkByhsws6sfPjVaitzadk1I0F5sPvOVUH5tyTSzhePpsGIVrdeunHSw/C36QeocS95OOk8lunc4rlu5Anwsg==", + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.4.0.tgz", + "integrity": "sha512-9EdtWM/sSfXLOGLwSn+GS6pIXyBnL07/8gyJlwFXjWy4DxMOyItqyUT29d4lQiS380EZwYlX7/At4PgBS+m2aA==", "dev": true, "license": "MIT", "dependencies": { @@ -3353,13 +3410,13 @@ } }, "node_modules/babel-preset-jest": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.3.0.tgz", - "integrity": "sha512-6ZcUbWHC+dMz2vfzdNwi87Z1gQsLNK2uLuK1Q89R11xdvejcivlYYwDlEv0FHX3VwEXpbBQ9uufB/MUNpZGfhQ==", + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-30.4.0.tgz", + "integrity": "sha512-lBY4jxsNmCnSiu7kquw8ZC9F4+XLMOKypT3RnNHPvU2Kpd4W0xaPuLr5ZkRyOsvLYAY4yaW1ZwTW4xB7NIiZzg==", "dev": true, "license": "MIT", "dependencies": { - "babel-plugin-jest-hoist": "30.3.0", + "babel-plugin-jest-hoist": "30.4.0", "babel-preset-current-node-syntax": "^1.2.0" }, "engines": { @@ -3377,9 +3434,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.10.23", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.23.tgz", - "integrity": "sha512-xwVXGqevyKPsiuQdLj+dZMVjidjJV508TBqexND5HrF89cGdCYCJFB3qhcxRHSeMctdCfbR1jrxBajhDy7o29g==", + "version": "2.10.37", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.37.tgz", + "integrity": "sha512-girxaJ7WZssDOFhzCGZTDKoTa1gk6A1TbflaYTpykLJ4UU9Fz9kx1aREM8JCuoVHbL8X8T/mJg7w2oYSq72Oig==", "dev": true, "license": "Apache-2.0", "bin": { @@ -3414,9 +3471,9 @@ } }, "node_modules/brace-expansion": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", - "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", + "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", "dev": true, "license": "MIT", "dependencies": { @@ -3670,9 +3727,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001791", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001791.tgz", - "integrity": "sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==", + "version": "1.0.30001799", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001799.tgz", + "integrity": "sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==", "dev": true, "funding": [ { @@ -3857,9 +3914,9 @@ "license": "MIT" }, "node_modules/comment-parser": { - "version": "1.4.6", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.6.tgz", - "integrity": "sha512-ObxuY6vnbWTN6Od72xfwN9DbzC7Y2vv8u1Soi9ahRKL37gb6y1qk6/dgjs+3JWuXJHWvsg3BXIwzd/rkmAwavg==", + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.7.tgz", + "integrity": "sha512-0h+uSNtQGW3D98eQt3jJ8L06Fves8hncB4V/PKdw/Qb8Hnk19VaKuTr55UNRYiSoVa7WwrFls+rh3ux9agmkeQ==", "dev": true, "license": "MIT", "engines": { @@ -4172,9 +4229,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.344", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.344.tgz", - "integrity": "sha512-4MxfbmNDm+KPh066EZy+eUnkcDPcZ35wNmOWzFuh/ijvHsve6kbLTLURy88uCNK5FbpN+yk2nQY6BYh1GEt+wg==", + "version": "1.5.372", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.372.tgz", + "integrity": "sha512-M3yhbAlilnwqC8D21t28UCDGHyitShTmmLRU/H+b74P6Ski16Nb9HONYEaVpMj/pwC7BEo5B95FpjODLCWbtfA==", "dev": true, "license": "ISC" }, @@ -4199,9 +4256,9 @@ "license": "MIT" }, "node_modules/enhanced-resolve": { - "version": "5.21.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.0.tgz", - "integrity": "sha512-otxSQPw4lkOZWkHpB3zaEQs6gWYEsmX4xQF68ElXC/TWvGxGMSGOvoNbaLXm6/cS/fSfHtsEdw90y20PCd+sCA==", + "version": "5.24.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.24.0.tgz", + "integrity": "sha512-SkE2t82KlkkxQRVMVLAGKxLfORGQfrkx5dkj+vlgXRVNEdPc4eZcR+J/Fvj8C+yKSFH5L0q3NFlyufOVQnCcYQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4312,9 +4369,9 @@ } }, "node_modules/es-iterator-helpers": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.3.2.tgz", - "integrity": "sha512-HVLACW1TppGYjJ8H6/jqH/pqOtKRw6wMlrB23xfExmFWxFquAIWCmwoLsOyN96K4a5KbmOf5At9ZUO3GZbetAw==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.3.3.tgz", + "integrity": "sha512-0PuBxFi+4uPanB97iDxCLWuHeYud2FALrw5HFZGtAF38UpJDbDC8frwp2cnDyae692CQ0dou60UwWfhgsa4U/g==", "dev": true, "license": "MIT", "dependencies": { @@ -4340,9 +4397,9 @@ } }, "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", "dev": true, "license": "MIT", "dependencies": { @@ -4541,9 +4598,9 @@ } }, "node_modules/eslint-compat-utils/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -4752,9 +4809,9 @@ } }, "node_modules/eslint-plugin-import-x/node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", "dev": true, "license": "MIT", "dependencies": { @@ -4781,9 +4838,9 @@ } }, "node_modules/eslint-plugin-import-x/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -4834,9 +4891,9 @@ } }, "node_modules/eslint-plugin-n/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -5120,27 +5177,27 @@ } }, "node_modules/expect": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-30.3.0.tgz", - "integrity": "sha512-1zQrciTiQfRdo7qJM1uG4navm8DayFa2TgCSRlzUyNkhcJ6XUZF3hjnpkyr3VhAqPH7i/9GkG7Tv5abz6fqz0Q==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-30.4.1.tgz", + "integrity": "sha512-PMARsyh/JtqC20HoGqlFcIlQAyqUtW4PlI1rup1uhYJtKuwAjbvWi3GQMAn+STdHum/dk8xrKfUM1+5SAwpolA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/expect-utils": "30.3.0", + "@jest/expect-utils": "30.4.1", "@jest/get-type": "30.1.0", - "jest-matcher-utils": "30.3.0", - "jest-message-util": "30.3.0", - "jest-mock": "30.3.0", - "jest-util": "30.3.0" + "jest-matcher-utils": "30.4.1", + "jest-message-util": "30.4.1", + "jest-mock": "30.4.1", + "jest-util": "30.4.1" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/fast-check": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/fast-check/-/fast-check-4.7.0.tgz", - "integrity": "sha512-NsZRtqvSSoCP0HbNjUD+r1JH8zqZalyp6gLY9e7OYs7NK9b6AHOs2baBFeBG7bVNsuoukh89x2Yg3rPsul8ziQ==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/fast-check/-/fast-check-4.8.0.tgz", + "integrity": "sha512-GOJ158CUMnN6cSahsv4+ExARvIDuzzinFjkp0E9WtiBa5zcVeLozVkWaE4IzFcc+Y48Wp1EDlUZsXRyAztQcSg==", "dev": true, "funding": [ { @@ -5396,18 +5453,21 @@ } }, "node_modules/function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.2.0.tgz", + "integrity": "sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" + "has-property-descriptors": "^1.0.2", + "hasown": "^2.0.4", + "is-callable": "^1.2.7", + "is-document.all": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -5589,9 +5649,9 @@ } }, "node_modules/glob/node_modules/brace-expansion": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", - "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz", + "integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==", "dev": true, "license": "MIT", "dependencies": { @@ -5784,9 +5844,9 @@ } }, "node_modules/hasown": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", - "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", "dev": true, "license": "MIT", "dependencies": { @@ -6062,9 +6122,9 @@ } }, "node_modules/is-bun-module/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -6088,13 +6148,13 @@ } }, "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz", + "integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==", "dev": true, "license": "MIT", "dependencies": { - "hasown": "^2.0.2" + "hasown": "^2.0.3" }, "engines": { "node": ">= 0.4" @@ -6138,6 +6198,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-document.all": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-document.all/-/is-document.all-1.0.0.tgz", + "integrity": "sha512-+XSoyS05OdBbhFuELhgTCpFNHkpBOJqtsZfUFFpe5QTw+9Sjbh8zitxhQkYAo6wV7e1Vb8cAPvpCk9jGam/82g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -6496,9 +6572,9 @@ } }, "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -6587,16 +6663,16 @@ } }, "node_modules/jest": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-30.3.0.tgz", - "integrity": "sha512-AkXIIFcaazymvey2i/+F94XRnM6TsVLZDhBMLsd1Sf/W0wzsvvpjeyUrCZD6HGG4SDYPgDJDBKeiJTBb10WzMg==", + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/jest/-/jest-30.4.2.tgz", + "integrity": "sha512-Yi1jqNC/Oq0N4hBgNH/YvBpP1P57QqundgytzYqy3yqAa7NZPNjSoi4SGbRAXDMdBzNE6xBCi5U7RgfrvMEUVQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/core": "30.3.0", - "@jest/types": "30.3.0", + "@jest/core": "30.4.2", + "@jest/types": "30.4.1", "import-local": "^3.2.0", - "jest-cli": "30.3.0" + "jest-cli": "30.4.2" }, "bin": { "jest": "bin/jest.js" @@ -6614,14 +6690,14 @@ } }, "node_modules/jest-changed-files": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.3.0.tgz", - "integrity": "sha512-B/7Cny6cV5At6M25EWDgf9S617lHivamL8vl6KEpJqkStauzcG4e+WPfDgMMF+H4FVH4A2PLRyvgDJan4441QA==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-30.4.1.tgz", + "integrity": "sha512-IuctmYrxi21iOSOaIXpJWalHyPAsVv0GeBHKDn8C1CA4W5htHn7INL+wdnL4Bo0+olEndvAFkmb++tIQJG+vvg==", "dev": true, "license": "MIT", "dependencies": { "execa": "^5.1.1", - "jest-util": "30.3.0", + "jest-util": "30.4.1", "p-limit": "^3.1.0" }, "engines": { @@ -6719,29 +6795,29 @@ } }, "node_modules/jest-circus": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.3.0.tgz", - "integrity": "sha512-PyXq5szeSfR/4f1lYqCmmQjh0vqDkURUYi9N6whnHjlRz4IUQfMcXkGLeEoiJtxtyPqgUaUUfyQlApXWBSN1RA==", + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-30.4.2.tgz", + "integrity": "sha512-rvHH7VlY6LgbJXJTQ87GW62g1FntOtbhh0zT+v04kC+pgL6aBKyYINXxWukCpj3dcIBMw5/XUbtDS9dU9JTXeQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "30.3.0", - "@jest/expect": "30.3.0", - "@jest/test-result": "30.3.0", - "@jest/types": "30.3.0", + "@jest/environment": "30.4.1", + "@jest/expect": "30.4.1", + "@jest/test-result": "30.4.1", + "@jest/types": "30.4.1", "@types/node": "*", "chalk": "^4.1.2", "co": "^4.6.0", "dedent": "^1.6.0", "is-generator-fn": "^2.1.0", - "jest-each": "30.3.0", - "jest-matcher-utils": "30.3.0", - "jest-message-util": "30.3.0", - "jest-runtime": "30.3.0", - "jest-snapshot": "30.3.0", - "jest-util": "30.3.0", + "jest-each": "30.4.1", + "jest-matcher-utils": "30.4.1", + "jest-message-util": "30.4.1", + "jest-runtime": "30.4.2", + "jest-snapshot": "30.4.1", + "jest-util": "30.4.1", "p-limit": "^3.1.0", - "pretty-format": "30.3.0", + "pretty-format": "30.4.1", "pure-rand": "^7.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.6" @@ -6768,21 +6844,21 @@ "license": "MIT" }, "node_modules/jest-cli": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.3.0.tgz", - "integrity": "sha512-l6Tqx+j1fDXJEW5bqYykDQQ7mQg+9mhWXtnj+tQZrTWYHyHoi6Be8HPumDSA+UiX2/2buEgjA58iJzdj146uCw==", + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-30.4.2.tgz", + "integrity": "sha512-jfA2ocvVHMXS2QijrJ0d31ektP+d/W0T5RpcTX2Pq+3sVqHlsXVCM2+FmwpL+bdY8OfHpIg9xMxLF17Zg0U49Q==", "dev": true, "license": "MIT", "dependencies": { - "@jest/core": "30.3.0", - "@jest/test-result": "30.3.0", - "@jest/types": "30.3.0", + "@jest/core": "30.4.2", + "@jest/test-result": "30.4.1", + "@jest/types": "30.4.1", "chalk": "^4.1.2", "exit-x": "^0.2.2", "import-local": "^3.2.0", - "jest-config": "30.3.0", - "jest-util": "30.3.0", - "jest-validate": "30.3.0", + "jest-config": "30.4.2", + "jest-util": "30.4.1", + "jest-validate": "30.4.1", "yargs": "^17.7.2" }, "bin": { @@ -6801,33 +6877,33 @@ } }, "node_modules/jest-config": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.3.0.tgz", - "integrity": "sha512-WPMAkMAtNDY9P/oKObtsRG/6KTrhtgPJoBTmk20uDn4Uy6/3EJnnaZJre/FMT1KVRx8cve1r7/FlMIOfRVWL4w==", + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-30.4.2.tgz", + "integrity": "sha512-rNHAShJQqQwFNoL0hbf3BphSBOWnpOUAKvidLS/AjNVLPfoj5mSf4jQMfW3cYOs6hXeZC7nF7mDHaBnbxELOzg==", "dev": true, "license": "MIT", "dependencies": { "@babel/core": "^7.27.4", "@jest/get-type": "30.1.0", - "@jest/pattern": "30.0.1", - "@jest/test-sequencer": "30.3.0", - "@jest/types": "30.3.0", - "babel-jest": "30.3.0", + "@jest/pattern": "30.4.0", + "@jest/test-sequencer": "30.4.1", + "@jest/types": "30.4.1", + "babel-jest": "30.4.1", "chalk": "^4.1.2", "ci-info": "^4.2.0", "deepmerge": "^4.3.1", "glob": "^10.5.0", "graceful-fs": "^4.2.11", - "jest-circus": "30.3.0", - "jest-docblock": "30.2.0", - "jest-environment-node": "30.3.0", - "jest-regex-util": "30.0.1", - "jest-resolve": "30.3.0", - "jest-runner": "30.3.0", - "jest-util": "30.3.0", - "jest-validate": "30.3.0", + "jest-circus": "30.4.2", + "jest-docblock": "30.4.0", + "jest-environment-node": "30.4.1", + "jest-regex-util": "30.4.0", + "jest-resolve": "30.4.1", + "jest-runner": "30.4.2", + "jest-util": "30.4.1", + "jest-validate": "30.4.1", "parse-json": "^5.2.0", - "pretty-format": "30.3.0", + "pretty-format": "30.4.1", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, @@ -6852,25 +6928,25 @@ } }, "node_modules/jest-diff": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.3.0.tgz", - "integrity": "sha512-n3q4PDQjS4LrKxfWB3Z5KNk1XjXtZTBwQp71OP0Jo03Z6V60x++K5L8k6ZrW8MY8pOFylZvHM0zsjS1RqlHJZQ==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.4.1.tgz", + "integrity": "sha512-CRpFK0RtLriVDGcPPAnR6HMVI8bSR2jnUIgralhauzYQZIb4RH9AtEInTuQr65LmmGggGcRT6HIASxwqsVsmlA==", "dev": true, "license": "MIT", "dependencies": { - "@jest/diff-sequences": "30.3.0", + "@jest/diff-sequences": "30.4.0", "@jest/get-type": "30.1.0", "chalk": "^4.1.2", - "pretty-format": "30.3.0" + "pretty-format": "30.4.1" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-docblock": { - "version": "30.2.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-30.2.0.tgz", - "integrity": "sha512-tR/FFgZKS1CXluOQzZvNH3+0z9jXr3ldGSD8bhyuxvlVUwbeLOGynkunvlTMxchC5urrKndYiwCFC0DLVjpOCA==", + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-30.4.0.tgz", + "integrity": "sha512-ZPMabUZCx5MpbZ2eBYSvZ0J8fvo3dR9oM+eeUpb3aKNQFuS2tu3Duw1TNlMoP8k3WQgKGJuhcMFvwcVuq6T7oA==", "dev": true, "license": "MIT", "dependencies": { @@ -6881,36 +6957,36 @@ } }, "node_modules/jest-each": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.3.0.tgz", - "integrity": "sha512-V8eMndg/aZ+3LnCJgSm13IxS5XSBM22QSZc9BtPK8Dek6pm+hfUNfwBdvsB3d342bo1q7wnSkC38zjX259qZNA==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-30.4.1.tgz", + "integrity": "sha512-/8MJbH6fuj48TstjrMf+u/pd06Qezz5xOXvZA6442heNOWr8bdeoGZX2d9fCn028CoMgYmroH9//zky5GfyYmA==", "dev": true, "license": "MIT", "dependencies": { "@jest/get-type": "30.1.0", - "@jest/types": "30.3.0", + "@jest/types": "30.4.1", "chalk": "^4.1.2", - "jest-util": "30.3.0", - "pretty-format": "30.3.0" + "jest-util": "30.4.1", + "pretty-format": "30.4.1" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-environment-node": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.3.0.tgz", - "integrity": "sha512-4i6HItw/JSiJVsC5q0hnKIe/hbYfZLVG9YJ/0pU9Hz2n/9qZe3Rhn5s5CUZA5ORZlcdT/vmAXRMyONXJwPrmYQ==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-30.4.1.tgz", + "integrity": "sha512-4FZYVOk85hz2AyT6BbarKy9u37g6DbrDyCdFhsnDdXqyrueYQvB+0zO4f/kqLCRD0BsPRXPMNJeQwihKZV8naw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "30.3.0", - "@jest/fake-timers": "30.3.0", - "@jest/types": "30.3.0", + "@jest/environment": "30.4.1", + "@jest/fake-timers": "30.4.1", + "@jest/types": "30.4.1", "@types/node": "*", - "jest-mock": "30.3.0", - "jest-util": "30.3.0", - "jest-validate": "30.3.0" + "jest-mock": "30.4.1", + "jest-util": "30.4.1", + "jest-validate": "30.4.1" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" @@ -6927,20 +7003,20 @@ } }, "node_modules/jest-haste-map": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.3.0.tgz", - "integrity": "sha512-mMi2oqG4KRU0R9QEtscl87JzMXfUhbKaFqOxmjb2CKcbHcUGFrJCBWHmnTiUqi6JcnzoBlO4rWfpdl2k/RfLCA==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-30.4.1.tgz", + "integrity": "sha512-rFrcONd8jeFsyw+Z9CrScJgglRf2+NFmNam8dKu7n+SoHqNYT47mn0DdEcVUZJpvh7Iz6/si7f7yUH7GJHVgnw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.3.0", + "@jest/types": "30.4.1", "@types/node": "*", "anymatch": "^3.1.3", "fb-watchman": "^2.0.2", "graceful-fs": "^4.2.11", - "jest-regex-util": "30.0.1", - "jest-util": "30.3.0", - "jest-worker": "30.3.0", + "jest-regex-util": "30.4.0", + "jest-util": "30.4.1", + "jest-worker": "30.4.1", "picomatch": "^4.0.3", "walker": "^1.0.8" }, @@ -6952,49 +7028,50 @@ } }, "node_modules/jest-leak-detector": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.3.0.tgz", - "integrity": "sha512-cuKmUUGIjfXZAiGJ7TbEMx0bcqNdPPI6P1V+7aF+m/FUJqFDxkFR4JqkTu8ZOiU5AaX/x0hZ20KaaIPXQzbMGQ==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-30.4.1.tgz", + "integrity": "sha512-IpmyiioeHxiWDhesHnUFmOxcTzwCwKpgACgWajtAP+nYQXiY7DakTxB6Bx9JFiRMljr0AX1PvnQdaU1KFoz6NQ==", "dev": true, "license": "MIT", "dependencies": { "@jest/get-type": "30.1.0", - "pretty-format": "30.3.0" + "pretty-format": "30.4.1" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-matcher-utils": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.3.0.tgz", - "integrity": "sha512-HEtc9uFQgaUHkC7nLSlQL3Tph4Pjxt/yiPvkIrrDCt9jhoLIgxaubo1G+CFOnmHYMxHwwdaSN7mkIFs6ZK8OhA==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.4.1.tgz", + "integrity": "sha512-zvYfX5CaeEkFrrLS9suWe9rvJrm9J1Iv3ua8kIBv9GEPzcnsfBf0bob37la7s67fs0nlBC3EuvkOLnXQKxtx4A==", "dev": true, "license": "MIT", "dependencies": { "@jest/get-type": "30.1.0", "chalk": "^4.1.2", - "jest-diff": "30.3.0", - "pretty-format": "30.3.0" + "jest-diff": "30.4.1", + "pretty-format": "30.4.1" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-message-util": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.3.0.tgz", - "integrity": "sha512-Z/j4Bo+4ySJ+JPJN3b2Qbl9hDq3VrXmnjjGEWD/x0BCXeOXPTV1iZYYzl2X8c1MaCOL+ewMyNBcm88sboE6YWw==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.4.1.tgz", + "integrity": "sha512-kwCKIvq0MCW1HzLoGola9Te6JUdzgV0loyKJ3Qghrkz9i5/RRIHsL95BMQc2HBBhlBKC4j22K9p11TGHH8RBpQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.27.1", - "@jest/types": "30.3.0", + "@jest/types": "30.4.1", "@types/stack-utils": "^2.0.3", "chalk": "^4.1.2", "graceful-fs": "^4.2.11", + "jest-util": "30.4.1", "picomatch": "^4.0.3", - "pretty-format": "30.3.0", + "pretty-format": "30.4.1", "slash": "^3.0.0", "stack-utils": "^2.0.6" }, @@ -7003,15 +7080,15 @@ } }, "node_modules/jest-mock": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.3.0.tgz", - "integrity": "sha512-OTzICK8CpE+t4ndhKrwlIdbM6Pn8j00lvmSmq5ejiO+KxukbLjgOflKWMn3KE34EZdQm5RqTuKj+5RIEniYhog==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.4.1.tgz", + "integrity": "sha512-/i8SVb8/NSB7RfNi8gfqu8gxLV23KaL5EpAttyb9iz8qWRIqXRLflycz/32wXsYkOnaUlx8NAKnJYtpsmXUmfw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.3.0", + "@jest/types": "30.4.1", "@types/node": "*", - "jest-util": "30.3.0" + "jest-util": "30.4.1" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" @@ -7036,9 +7113,9 @@ } }, "node_modules/jest-regex-util": { - "version": "30.0.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz", - "integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==", + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.4.0.tgz", + "integrity": "sha512-mWlvLviKIgIQ8VCuM1xRdD0TWp3zlzionlmDBjuXVBs+VkmXq6FgW9T4Emr7oGz/Rk6feDCGyiugolcQEyp3mg==", "dev": true, "license": "MIT", "engines": { @@ -7046,18 +7123,18 @@ } }, "node_modules/jest-resolve": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.3.0.tgz", - "integrity": "sha512-NRtTAHQlpd15F9rUR36jqwelbrDV/dY4vzNte3S2kxCKUJRYNd5/6nTSbYiak1VX5g8IoFF23Uj5TURkUW8O5g==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-30.4.1.tgz", + "integrity": "sha512-Zry8Yq/yJcNAZ7dJ5F2heic8AheXvbFZ7XI5V+h28nrYZ7Qoyy4dItq8OodjnYD270mvX+ZudmrNV9cysqhW5Q==", "dev": true, "license": "MIT", "dependencies": { "chalk": "^4.1.2", "graceful-fs": "^4.2.11", - "jest-haste-map": "30.3.0", + "jest-haste-map": "30.4.1", "jest-pnp-resolver": "^1.2.3", - "jest-util": "30.3.0", - "jest-validate": "30.3.0", + "jest-util": "30.4.1", + "jest-validate": "30.4.1", "slash": "^3.0.0", "unrs-resolver": "^1.7.11" }, @@ -7066,46 +7143,46 @@ } }, "node_modules/jest-resolve-dependencies": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.3.0.tgz", - "integrity": "sha512-9ev8s3YN6Hsyz9LV75XUwkCVFlwPbaFn6Wp75qnI0wzAINYWY8Fb3+6y59Rwd3QaS3kKXffHXsZMziMavfz/nw==", + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-30.4.2.tgz", + "integrity": "sha512-gDiVh1I+GxYzz9oXlyw+1wv6VOYX1WYxMOfjsA3iGKePV2oxmbHhwxfkALxNxYy1ciw6APWwkW2zZONwP97aEQ==", "dev": true, "license": "MIT", "dependencies": { - "jest-regex-util": "30.0.1", - "jest-snapshot": "30.3.0" + "jest-regex-util": "30.4.0", + "jest-snapshot": "30.4.1" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, "node_modules/jest-runner": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.3.0.tgz", - "integrity": "sha512-gDv6C9LGKWDPLia9TSzZwf4h3kMQCqyTpq+95PODnTRDO0g9os48XIYYkS6D236vjpBir2fF63YmJFtqkS5Duw==", + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-30.4.2.tgz", + "integrity": "sha512-2dw0PslVYXxffXGpLo+Ejad+KcI1Qkjn7f4X4619gf21oCUmL+SPfjqIa/losUem3yEOvfNZe/F1HWUcNpODcg==", "dev": true, "license": "MIT", "dependencies": { - "@jest/console": "30.3.0", - "@jest/environment": "30.3.0", - "@jest/test-result": "30.3.0", - "@jest/transform": "30.3.0", - "@jest/types": "30.3.0", + "@jest/console": "30.4.1", + "@jest/environment": "30.4.1", + "@jest/test-result": "30.4.1", + "@jest/transform": "30.4.1", + "@jest/types": "30.4.1", "@types/node": "*", "chalk": "^4.1.2", "emittery": "^0.13.1", "exit-x": "^0.2.2", "graceful-fs": "^4.2.11", - "jest-docblock": "30.2.0", - "jest-environment-node": "30.3.0", - "jest-haste-map": "30.3.0", - "jest-leak-detector": "30.3.0", - "jest-message-util": "30.3.0", - "jest-resolve": "30.3.0", - "jest-runtime": "30.3.0", - "jest-util": "30.3.0", - "jest-watcher": "30.3.0", - "jest-worker": "30.3.0", + "jest-docblock": "30.4.0", + "jest-environment-node": "30.4.1", + "jest-haste-map": "30.4.1", + "jest-leak-detector": "30.4.1", + "jest-message-util": "30.4.1", + "jest-resolve": "30.4.1", + "jest-runtime": "30.4.2", + "jest-util": "30.4.1", + "jest-watcher": "30.4.1", + "jest-worker": "30.4.1", "p-limit": "^3.1.0", "source-map-support": "0.5.13" }, @@ -7114,32 +7191,32 @@ } }, "node_modules/jest-runtime": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.3.0.tgz", - "integrity": "sha512-CgC+hIBJbuh78HEffkhNKcbXAytQViplcl8xupqeIWyKQF50kCQA8J7GeJCkjisC6hpnC9Muf8jV5RdtdFbGng==", + "version": "30.4.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-30.4.2.tgz", + "integrity": "sha512-3/5e8iPz2k/VLqlr8DgTftYyLUv8Su3FkCAO2/Od81UsUTpSxOrS6O5x5KkoQwyUjmpYyDJKeyAvg2T2nvpNkQ==", "dev": true, "license": "MIT", "dependencies": { - "@jest/environment": "30.3.0", - "@jest/fake-timers": "30.3.0", - "@jest/globals": "30.3.0", + "@jest/environment": "30.4.1", + "@jest/fake-timers": "30.4.1", + "@jest/globals": "30.4.1", "@jest/source-map": "30.0.1", - "@jest/test-result": "30.3.0", - "@jest/transform": "30.3.0", - "@jest/types": "30.3.0", + "@jest/test-result": "30.4.1", + "@jest/transform": "30.4.1", + "@jest/types": "30.4.1", "@types/node": "*", "chalk": "^4.1.2", "cjs-module-lexer": "^2.1.0", "collect-v8-coverage": "^1.0.2", "glob": "^10.5.0", "graceful-fs": "^4.2.11", - "jest-haste-map": "30.3.0", - "jest-message-util": "30.3.0", - "jest-mock": "30.3.0", - "jest-regex-util": "30.0.1", - "jest-resolve": "30.3.0", - "jest-snapshot": "30.3.0", - "jest-util": "30.3.0", + "jest-haste-map": "30.4.1", + "jest-message-util": "30.4.1", + "jest-mock": "30.4.1", + "jest-regex-util": "30.4.0", + "jest-resolve": "30.4.1", + "jest-snapshot": "30.4.1", + "jest-util": "30.4.1", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, @@ -7148,9 +7225,9 @@ } }, "node_modules/jest-snapshot": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.3.0.tgz", - "integrity": "sha512-f14c7atpb4O2DeNhwcvS810Y63wEn8O1HqK/luJ4F6M4NjvxmAKQwBUWjbExUtMxWJQ0wVgmCKymeJK6NZMnfQ==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-30.4.1.tgz", + "integrity": "sha512-tEOkkfOMppUyeiHwjZswOQ3lcnoTnws/q5FnGIaeIh/jmoU0ZlgMYRR8sTlTj+nNGCoJ0RDq6SfxGxCsyMTPmw==", "dev": true, "license": "MIT", "dependencies": { @@ -7159,20 +7236,20 @@ "@babel/plugin-syntax-jsx": "^7.27.1", "@babel/plugin-syntax-typescript": "^7.27.1", "@babel/types": "^7.27.3", - "@jest/expect-utils": "30.3.0", + "@jest/expect-utils": "30.4.1", "@jest/get-type": "30.1.0", - "@jest/snapshot-utils": "30.3.0", - "@jest/transform": "30.3.0", - "@jest/types": "30.3.0", + "@jest/snapshot-utils": "30.4.1", + "@jest/transform": "30.4.1", + "@jest/types": "30.4.1", "babel-preset-current-node-syntax": "^1.2.0", "chalk": "^4.1.2", - "expect": "30.3.0", + "expect": "30.4.1", "graceful-fs": "^4.2.11", - "jest-diff": "30.3.0", - "jest-matcher-utils": "30.3.0", - "jest-message-util": "30.3.0", - "jest-util": "30.3.0", - "pretty-format": "30.3.0", + "jest-diff": "30.4.1", + "jest-matcher-utils": "30.4.1", + "jest-message-util": "30.4.1", + "jest-util": "30.4.1", + "pretty-format": "30.4.1", "semver": "^7.7.2", "synckit": "^0.11.8" }, @@ -7181,9 +7258,9 @@ } }, "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -7194,13 +7271,13 @@ } }, "node_modules/jest-util": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.3.0.tgz", - "integrity": "sha512-/jZDa00a3Sz7rdyu55NLrQCIrbyIkbBxareejQI315f/i8HjYN+ZWsDLLpoQSiUIEIyZF/R8fDg3BmB8AtHttg==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.4.1.tgz", + "integrity": "sha512-vjQb1sACEiv13DKJMDToJpzVW0joCsIQrmbg0fi7CyOOt+g9jTuQl2A216pWRBYhOVt53XbL/2LbMKg1BECWOw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/types": "30.3.0", + "@jest/types": "30.4.1", "@types/node": "*", "chalk": "^4.1.2", "ci-info": "^4.2.0", @@ -7212,18 +7289,18 @@ } }, "node_modules/jest-validate": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.3.0.tgz", - "integrity": "sha512-I/xzC8h5G+SHCb2P2gWkJYrNiTbeL47KvKeW5EzplkyxzBRBw1ssSHlI/jXec0ukH2q7x2zAWQm7015iusg62Q==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-30.4.1.tgz", + "integrity": "sha512-PDWi4SOwLnwqNDfHZjOcsEFyZ4fc/2W2gVL3DEoyqnB6jCQMLRtfBong8s6omIw3lI0HWOus12xfnFmQtjW3fw==", "dev": true, "license": "MIT", "dependencies": { "@jest/get-type": "30.1.0", - "@jest/types": "30.3.0", + "@jest/types": "30.4.1", "camelcase": "^6.3.0", "chalk": "^4.1.2", "leven": "^3.1.0", - "pretty-format": "30.3.0" + "pretty-format": "30.4.1" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" @@ -7243,19 +7320,19 @@ } }, "node_modules/jest-watcher": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.3.0.tgz", - "integrity": "sha512-PJ1d9ThtTR8aMiBWUdcownq9mDdLXsQzJayTk4kmaBRHKvwNQn+ANveuhEBUyNI2hR1TVhvQ8D5kHubbzBHR/w==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-30.4.1.tgz", + "integrity": "sha512-/l9UonmvCwjHH7d2h3iAwIloLc1H0S8mJZ/LNK3i86hqwPAz8otUJjP9MfYtz9Tt77Su5FD2xGjZn8d31IZHlw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/test-result": "30.3.0", - "@jest/types": "30.3.0", + "@jest/test-result": "30.4.1", + "@jest/types": "30.4.1", "@types/node": "*", "ansi-escapes": "^4.3.2", "chalk": "^4.1.2", "emittery": "^0.13.1", - "jest-util": "30.3.0", + "jest-util": "30.4.1", "string-length": "^4.0.2" }, "engines": { @@ -7263,15 +7340,15 @@ } }, "node_modules/jest-worker": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.3.0.tgz", - "integrity": "sha512-DrCKkaQwHexjRUFTmPzs7sHQe0TSj9nvDALKGdwmK5mW9v7j90BudWirKAJHt3QQ9Dhrg1F7DogPzhChppkJpQ==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-30.4.1.tgz", + "integrity": "sha512-SHynN/q/QD++iNyvMdy+WMmbCGk8jIsNcRxycXbWubSOhvo6T+j2afcfUSl+3hYsiBebOTo0cT7c2H7CXugu1g==", "dev": true, "license": "MIT", "dependencies": { "@types/node": "*", "@ungap/structured-clone": "^1.3.0", - "jest-util": "30.3.0", + "jest-util": "30.4.1", "merge-stream": "^2.0.0", "supports-color": "^8.1.1" }, @@ -7303,10 +7380,20 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz", + "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], "license": "MIT", "dependencies": { "argparse": "^2.0.1" @@ -7370,9 +7457,9 @@ } }, "node_modules/jsondiffpatch": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/jsondiffpatch/-/jsondiffpatch-0.7.3.tgz", - "integrity": "sha512-zd4dqFiXSYyant2WgSXAZ9+yYqilNVvragVNkNRn2IFZKgjyULNrKRznqN4Zon0MkLueCg+3QaPVCnDAVP20OQ==", + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/jsondiffpatch/-/jsondiffpatch-0.7.6.tgz", + "integrity": "sha512-zE9+AXFq+MkTolDor2Cw1nJzLC0aleqPkYf52Kb4Kn4mJcka/gFHpGI2JBVEJCfWOvBl0OoxZS+wuLdislQcqg==", "dev": true, "license": "MIT", "dependencies": { @@ -7545,9 +7632,9 @@ } }, "node_modules/make-dir/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -7930,11 +8017,14 @@ "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.38", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", - "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", + "version": "2.0.47", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.47.tgz", + "integrity": "sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=18" + } }, "node_modules/normalize-package-data": { "version": "3.0.3", @@ -7953,9 +8043,9 @@ } }, "node_modules/normalize-package-data/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -8539,15 +8629,16 @@ } }, "node_modules/pretty-format": { - "version": "30.3.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.3.0.tgz", - "integrity": "sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ==", + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.4.1.tgz", + "integrity": "sha512-K6KiKMHTL4jjX4u3Kir2EW07nRfcqVTXIImx50wbjHQTcZPgg+gjVeNTIT3l3L1Rd4UefxfogquC9J37SoFyyw==", "dev": true, "license": "MIT", "dependencies": { - "@jest/schemas": "30.0.5", + "@jest/schemas": "30.4.1", "ansi-styles": "^5.2.0", - "react-is": "^18.3.1" + "react-is-18": "npm:react-is@^18.3.1", + "react-is-19": "npm:react-is@^19.2.5" }, "engines": { "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" @@ -8594,13 +8685,6 @@ "react-is": "^16.13.1" } }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true, - "license": "MIT" - }, "node_modules/proxy": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/proxy/-/proxy-2.2.0.tgz", @@ -8678,12 +8762,28 @@ } }, "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/react-is-18": { + "name": "react-is", "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true, "license": "MIT" }, + "node_modules/react-is-19": { + "name": "react-is", + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.7.tgz", + "integrity": "sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==", + "dev": true, + "license": "MIT" + }, "node_modules/read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -8925,14 +9025,14 @@ } }, "node_modules/resolve": { - "version": "2.0.0-next.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz", - "integrity": "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==", + "version": "2.0.0-next.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.7.tgz", + "integrity": "sha512-tqt+NBWwyaMgw3zDsnygx4CByWjQEJHOPMdslYhppaQSJUtL/D4JO9CcBBlhPoI8lz9oJIDXkwXfhF4aWqP8xQ==", "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "is-core-module": "^2.16.1", + "is-core-module": "^2.16.2", "node-exports-info": "^1.6.0", "object-keys": "^1.1.1", "path-parse": "^1.0.7", @@ -9177,15 +9277,15 @@ } }, "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" }, @@ -9534,19 +9634,20 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.11.tgz", + "integrity": "sha512-PwvK7BU+CMTJGYQCTZb5RWXIML92lftJLhQz1tBzgKiqGxJaMlBAa48POXaNAC2s4y8jr3EFqrkF9+44neS46w==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", "define-data-property": "^1.1.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" + "es-abstract": "^1.24.2", + "es-object-atoms": "^1.1.2", + "has-property-descriptors": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -9556,16 +9657,16 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.10.tgz", + "integrity": "sha512-2+3aDAOmPTmuFwjDnmJG2ctEkQKVki7vOSqaxkv42Mowj1V6PnvuwFCRrR5lChUux1TBskPjfkeTOhqczDMxTw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "es-object-atoms": "^1.1.2" }, "engines": { "node": ">= 0.4" @@ -9722,13 +9823,13 @@ } }, "node_modules/synckit": { - "version": "0.11.12", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.12.tgz", - "integrity": "sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==", + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.13.tgz", + "integrity": "sha512-eNRKgb3z66Yp3D2CixVujOUvXLFUTij/zVnV8KRyvFdQwpz7I5DS8UfRkTeLzb64u+dkzDSdelE24izu+zSSUg==", "dev": true, "license": "MIT", "dependencies": { - "@pkgr/core": "^0.2.9" + "@pkgr/core": "^0.3.6" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -9777,9 +9878,9 @@ } }, "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", "dev": true, "license": "MIT", "dependencies": { @@ -9806,9 +9907,9 @@ } }, "node_modules/tinyglobby": { - "version": "0.2.16", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", - "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", "dev": true, "license": "MIT", "dependencies": { @@ -9984,6 +10085,13 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/tsd/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -10096,18 +10204,18 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.8.tgz", + "integrity": "sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" + "call-bind": "^1.0.9", + "for-each": "^0.3.5", + "gopd": "^1.2.0", + "is-typed-array": "^1.1.15", + "possible-typed-array-names": "^1.1.0", + "reflect.getprototypeof": "^1.0.10" }, "engines": { "node": ">= 0.4" @@ -10131,16 +10239,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.59.1", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.59.1.tgz", - "integrity": "sha512-xqDcFVBmlrltH64lklOVp1wYxgJr6LVdg3NamBgH2OOQDLFdTKfIZXF5PfghrnXQKXZGTQs8tr1vL7fJvq8CTQ==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.61.0.tgz", + "integrity": "sha512-8y31Rd0eGTrDKqhy6vT0HtzhN+YLjQizwX3aA3hPXP/ynSfnrBXcQY5IzsP9/DM7+klX4IUncZZjkchP0z+rUw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.59.1", - "@typescript-eslint/parser": "8.59.1", - "@typescript-eslint/typescript-estree": "8.59.1", - "@typescript-eslint/utils": "8.59.1" + "@typescript-eslint/eslint-plugin": "8.61.0", + "@typescript-eslint/parser": "8.61.0", + "@typescript-eslint/typescript-estree": "8.61.0", + "@typescript-eslint/utils": "8.61.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -10174,9 +10282,9 @@ } }, "node_modules/undici": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.25.0.tgz", - "integrity": "sha512-ZgpWDC5gmNiuY9CnLVXEH8rl50xhRCuLNA97fAUnKi8RRuV4E6KG31pDTsLVUKnohJE0I3XDrTeEydAXRw47xg==", + "version": "6.27.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.27.0.tgz", + "integrity": "sha512-YmfV3YnEDzXRC5lZ2jWtWWHKGUm1zIt8AhesR1tens+HTNv+YZlN/dp6G727LOvMJ8xjP9Be7Y2Sdr96LDm+pg==", "dev": true, "license": "MIT", "engines": { @@ -10204,38 +10312,41 @@ } }, "node_modules/unrs-resolver": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", - "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.12.2.tgz", + "integrity": "sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==", "dev": true, "hasInstallScript": true, "license": "MIT", "dependencies": { - "napi-postinstall": "^0.3.0" + "napi-postinstall": "^0.3.4" }, "funding": { "url": "https://opencollective.com/unrs-resolver" }, "optionalDependencies": { - "@unrs/resolver-binding-android-arm-eabi": "1.11.1", - "@unrs/resolver-binding-android-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-x64": "1.11.1", - "@unrs/resolver-binding-freebsd-x64": "1.11.1", - "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", - "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", - "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-musl": "1.11.1", - "@unrs/resolver-binding-wasm32-wasi": "1.11.1", - "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", - "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", - "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + "@unrs/resolver-binding-android-arm-eabi": "1.12.2", + "@unrs/resolver-binding-android-arm64": "1.12.2", + "@unrs/resolver-binding-darwin-arm64": "1.12.2", + "@unrs/resolver-binding-darwin-x64": "1.12.2", + "@unrs/resolver-binding-freebsd-x64": "1.12.2", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.12.2", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.12.2", + "@unrs/resolver-binding-linux-arm64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-arm64-musl": "1.12.2", + "@unrs/resolver-binding-linux-loong64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-loong64-musl": "1.12.2", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-riscv64-musl": "1.12.2", + "@unrs/resolver-binding-linux-s390x-gnu": "1.12.2", + "@unrs/resolver-binding-linux-x64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-x64-musl": "1.12.2", + "@unrs/resolver-binding-openharmony-arm64": "1.12.2", + "@unrs/resolver-binding-wasm32-wasi": "1.12.2", + "@unrs/resolver-binding-win32-arm64-msvc": "1.12.2", + "@unrs/resolver-binding-win32-ia32-msvc": "1.12.2", + "@unrs/resolver-binding-win32-x64-msvc": "1.12.2" } }, "node_modules/update-browserslist-db": { @@ -10399,14 +10510,14 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.20", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", - "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", + "version": "1.1.22", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.22.tgz", + "integrity": "sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==", "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", + "call-bind": "^1.0.9", "call-bound": "^1.0.4", "for-each": "^0.3.5", "get-proto": "^1.0.1", @@ -10547,9 +10658,9 @@ } }, "node_modules/ws": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz", - "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz", + "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==", "dev": true, "license": "MIT", "engines": { @@ -10586,9 +10697,9 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz", - "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz", + "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==", "dev": true, "license": "ISC", "bin": { diff --git a/deps/undici/src/package.json b/deps/undici/src/package.json index 844cbc450fe3..25a191b25d17 100644 --- a/deps/undici/src/package.json +++ b/deps/undici/src/package.json @@ -1,6 +1,6 @@ { "name": "undici", - "version": "7.25.0", + "version": "7.28.0", "description": "An HTTP/1.1 client, written from scratch for Node.js", "homepage": "https://undici.nodejs.org", "bugs": { diff --git a/deps/undici/src/types/client.d.ts b/deps/undici/src/types/client.d.ts index a6e20221f68c..6541b49ee4c3 100644 --- a/deps/undici/src/types/client.d.ts +++ b/deps/undici/src/types/client.d.ts @@ -107,6 +107,8 @@ export declare namespace Client { * @default 60000 */ pingInterval?: number; + /** WebSocket-specific configuration options. */ + webSocket?: WebSocketOptions; } export interface SocketInfo { localAddress?: string @@ -118,6 +120,20 @@ export declare namespace Client { bytesWritten?: number bytesRead?: number } + export interface WebSocketOptions { + /** + * Maximum number of fragments in a message. Set to 0 to disable the limit. + * @default 131072 + */ + maxFragments?: number; + /** + * Maximum allowed payload size in bytes for WebSocket messages. + * Applied to uncompressed messages, compressed frame payloads, and decompressed (permessage-deflate) messages. + * Set to 0 to disable the limit. + * @default 134217728 (128 MB) + */ + maxPayloadSize?: number; + } } export default Client diff --git a/deps/undici/src/types/dispatcher.d.ts b/deps/undici/src/types/dispatcher.d.ts index 33dc6051626c..3f2ec3d498bd 100644 --- a/deps/undici/src/types/dispatcher.d.ts +++ b/deps/undici/src/types/dispatcher.d.ts @@ -212,6 +212,8 @@ declare namespace Dispatcher { get aborted(): boolean get paused(): boolean get reason(): Error | null + rawHeaders?: Buffer[] | string[] | IncomingHttpHeaders | null + rawTrailers?: Buffer[] | string[] | IncomingHttpHeaders | null abort(reason: Error): void pause(): void resume(): void diff --git a/deps/undici/undici.js b/deps/undici/undici.js index 903b1546d1c2..7527647408c7 100644 --- a/deps/undici/undici.js +++ b/deps/undici/undici.js @@ -2094,6 +2094,8 @@ var require_unwrap_handler = __commonJS({ #aborted = false; #abort; [kResume] = null; + rawHeaders = null; + rawTrailers = null; constructor(abort) { this.#abort = abort; } @@ -2143,10 +2145,12 @@ var require_unwrap_handler = __commonJS({ return this.#handler.onResponseStarted?.(); } onUpgrade(statusCode, rawHeaders, socket) { + this.#controller.rawHeaders = rawHeaders; this.#handler.onRequestUpgrade?.(this.#controller, statusCode, parseHeaders(rawHeaders), socket); } onHeaders(statusCode, rawHeaders, resume, statusMessage) { this.#controller[kResume] = resume; + this.#controller.rawHeaders = rawHeaders; this.#handler.onResponseStart?.(this.#controller, statusCode, parseHeaders(rawHeaders), statusMessage); return !this.#controller.paused; } @@ -2155,6 +2159,7 @@ var require_unwrap_handler = __commonJS({ return !this.#controller.paused; } onComplete(rawTrailers) { + this.#controller.rawTrailers = rawTrailers; this.#handler.onResponseEnd?.(this.#controller, parseHeaders(rawTrailers)); } onError(err) { @@ -2181,6 +2186,7 @@ var require_dispatcher_base = __commonJS({ var { kDestroy, kClose, kClosed, kDestroyed, kDispatch } = require_symbols(); var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed"); var kOnClosed = /* @__PURE__ */ Symbol("onClosed"); + var kWebSocketOptions = /* @__PURE__ */ Symbol("webSocketOptions"); var DispatcherBase = class extends Dispatcher2 { static { __name(this, "DispatcherBase"); @@ -2193,6 +2199,23 @@ var require_dispatcher_base = __commonJS({ [kClosed] = false; /** @type {Array|null} */ [kOnClosed] = null; + /** + * @param {import('../../types/dispatcher').DispatcherOptions} [opts] + */ + constructor(opts) { + super(); + this[kWebSocketOptions] = opts?.webSocket ?? {}; + } + /** + * @returns {import('../../types/dispatcher').WebSocketOptions} + */ + get webSocketOptions() { + return { + maxFragments: this[kWebSocketOptions].maxFragments ?? 131072, + maxPayloadSize: this[kWebSocketOptions].maxPayloadSize ?? 128 * 1024 * 1024 + // 128 MB default + }; + } /** @returns {boolean} */ get destroyed() { return this[kDestroyed]; @@ -2848,6 +2871,19 @@ var require_request = __commonJS({ var { channels } = require_diagnostics(); var { headerNameLowerCasedRecord } = require_constants(); var invalidPathRegex = /[^\u0021-\u00ff]/; + function isValidContentLengthHeaderValue(val) { + if (typeof val !== "string" || val.length === 0) { + return false; + } + for (let i = 0; i < val.length; i++) { + const charCode = val.charCodeAt(i); + if (charCode < 48 || charCode > 57) { + return false; + } + } + return true; + } + __name(isValidContentLengthHeaderValue, "isValidContentLengthHeaderValue"); var kHandler = /* @__PURE__ */ Symbol("handler"); var Request = class { static { @@ -3150,10 +3186,10 @@ var require_request = __commonJS({ if (request.contentLength !== null) { throw new InvalidArgumentError("duplicate content-length header"); } - request.contentLength = parseInt(val, 10); - if (!Number.isFinite(request.contentLength)) { + if (!isValidContentLengthHeaderValue(val)) { throw new InvalidArgumentError("invalid content-length header"); } + request.contentLength = parseInt(val, 10); } else if (request.contentType === null && headerName === "content-type") { request.contentType = val; request.headers.push(key, val); @@ -3218,6 +3254,20 @@ var require_connect = __commonJS({ if (this._maxCachedSessions === 0) { return; } + if (this._sessionCache.has(sessionKey)) { + this._sessionCache.delete(sessionKey); + } else if (this._sessionCache.size >= this._maxCachedSessions) { + for (const [key, ref] of this._sessionCache) { + if (ref.deref() === void 0) { + this._sessionCache.delete(key); + return; + } + } + const oldest = this._sessionCache.keys().next(); + if (!oldest.done) { + this._sessionCache.delete(oldest.value); + } + } this._sessionCache.set(sessionKey, new WeakRef(session)); this._sessionRegistry.register(session, sessionKey); } @@ -4918,7 +4968,7 @@ var require_webidl = __commonJS({ lowerBound = 0; upperBound = Math.pow(2, bitLength) - 1; } else { - lowerBound = Math.pow(-2, bitLength) - 1; + lowerBound = -Math.pow(2, bitLength - 1); upperBound = Math.pow(2, bitLength - 1) - 1; } let x = Number(V); @@ -4955,7 +5005,7 @@ var require_webidl = __commonJS({ } x = webidl.util.IntegerPart(x); x = x % Math.pow(2, bitLength); - if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) { + if (signedness === "signed" && x >= Math.pow(2, bitLength - 1)) { return x - Math.pow(2, bitLength); } return x; @@ -6541,7 +6591,7 @@ var require_formdata_parser = __commonJS({ ); value = decoder.decode(tokenValue); } - return { name: attrNameStr, value }; + return { name: attrNameStr, value, extended: isExtended }; } __name(parseContentDispositionAttribute, "parseContentDispositionAttribute"); function parseMultipartFormDataHeaders(input, position) { @@ -6577,6 +6627,7 @@ var require_formdata_parser = __commonJS({ switch (bufferToLowerCasedHeaderName(headerName)) { case "content-disposition": { name = filename = null; + let filenameIsExtended = false; const dispositionType = collectASequenceOfBytes( (char) => isToken(char), input, @@ -6585,7 +6636,7 @@ var require_formdata_parser = __commonJS({ if (dispositionType.toString("ascii").toLowerCase() !== "form-data") { throw parsingError("expected form-data for content-disposition header"); } - while (position.position < input.length && input[position.position] !== 13 && input[position.position + 1] !== 10) { + while (position.position < input.length && (input[position.position] !== 13 || input[position.position + 1] !== 10)) { const attribute = parseContentDispositionAttribute(input, position); if (!attribute) { break; @@ -6593,7 +6644,12 @@ var require_formdata_parser = __commonJS({ if (attribute.name === "name") { name = attribute.value; } else if (attribute.name === "filename") { - filename = attribute.value; + if (attribute.extended) { + filename = attribute.value; + filenameIsExtended = true; + } else if (!filenameIsExtended) { + filename = attribute.value; + } } } if (name === null) { @@ -6629,7 +6685,7 @@ var require_formdata_parser = __commonJS({ ); } } - if (input[position.position] !== 13 && input[position.position + 1] !== 10) { + if (input[position.position] !== 13 || input[position.position + 1] !== 10) { throw parsingError("expected CRLF"); } else { position.position += 2; @@ -7078,15 +7134,18 @@ var require_client_h1 = __commonJS({ var EMPTY_BUF = Buffer.alloc(0); var FastBuffer = Buffer[Symbol.species]; var removeAllListeners = util.removeAllListeners; + var kIdleSocketValidation = /* @__PURE__ */ Symbol("kIdleSocketValidation"); + var kIdleSocketValidationTimeout = /* @__PURE__ */ Symbol("kIdleSocketValidationTimeout"); + var kSocketUsed = /* @__PURE__ */ Symbol("kSocketUsed"); var extractBody; function lazyllhttp() { const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm() : void 0; let mod; let useWasmSIMD = process.arch !== "ppc64"; if (process.env.UNDICI_NO_WASM_SIMD === "1") { - useWasmSIMD = true; - } else if (process.env.UNDICI_NO_WASM_SIMD === "0") { useWasmSIMD = false; + } else if (process.env.UNDICI_NO_WASM_SIMD === "0") { + useWasmSIMD = true; } if (useWasmSIMD) { try { @@ -7208,6 +7267,7 @@ var require_client_h1 = __commonJS({ this.client = client; this.socket = socket; this.timeout = null; + this.timeoutWeakRef = new WeakRef(this); this.timeoutValue = null; this.timeoutType = null; this.statusCode = 0; @@ -7233,9 +7293,9 @@ var require_client_h1 = __commonJS({ } if (delay) { if (type & USE_FAST_TIMER) { - this.timeout = timers.setFastTimeout(onParserTimeout, delay, new WeakRef(this)); + this.timeout = timers.setFastTimeout(onParserTimeout, delay, this.timeoutWeakRef); } else { - this.timeout = setTimeout(onParserTimeout, delay, new WeakRef(this)); + this.timeout = setTimeout(onParserTimeout, delay, this.timeoutWeakRef); this.timeout?.unref(); } } @@ -7307,19 +7367,47 @@ var require_client_h1 = __commonJS({ this.paused = true; socket.unshift(data); } else { - const ptr = llhttp.llhttp_get_error_reason(this.ptr); - let message = ""; - if (ptr) { - const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0); - message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")"; - } - throw new HTTPParserError(message, constants.ERROR[ret], data); + throw this.createError(ret, data); } } } catch (err) { util.destroy(socket, err); } } + finish() { + assert(currentParser === null); + assert(this.ptr != null); + assert(!this.paused); + const { llhttp } = this; + let ret; + try { + currentParser = this; + ret = llhttp.llhttp_finish(this.ptr); + } finally { + currentParser = null; + } + if (ret === constants.ERROR.OK) { + return null; + } + if (ret === constants.ERROR.PAUSED || ret === constants.ERROR.PAUSED_UPGRADE) { + this.paused = true; + return null; + } + return this.createError(ret, EMPTY_BUF); + } + createError(ret, data) { + const { llhttp, contentLength, bytesRead } = this; + if (contentLength && bytesRead !== parseInt(contentLength, 10)) { + return new ResponseContentLengthMismatchError(); + } + const ptr = llhttp.llhttp_get_error_reason(this.ptr); + let message = ""; + if (ptr) { + const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0); + message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")"; + } + return new HTTPParserError(message, constants.ERROR[ret], data); + } destroy() { assert(currentParser === null); assert(this.ptr != null); @@ -7347,6 +7435,10 @@ var require_client_h1 = __commonJS({ if (socket.destroyed) { return -1; } + if (client[kRunning] === 0) { + util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket))); + return -1; + } const request = client[kQueue][client[kRunningIdx]]; if (!request) { return -1; @@ -7449,6 +7541,10 @@ var require_client_h1 = __commonJS({ if (socket.destroyed) { return -1; } + if (client[kRunning] === 0) { + util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket))); + return -1; + } const request = client[kQueue][client[kRunningIdx]]; if (!request) { return -1; @@ -7582,6 +7678,7 @@ var require_client_h1 = __commonJS({ } request.onComplete(headers); client[kQueue][client[kRunningIdx]++] = null; + socket[kSocketUsed] = client[kPending] === 0; if (socket[kWriting]) { assert(client[kRunning] === 0); util.destroy(socket, new InformationalError("reset")); @@ -7636,6 +7733,9 @@ var require_client_h1 = __commonJS({ socket[kWriting] = false; socket[kReset] = false; socket[kBlocking] = false; + socket[kIdleSocketValidation] = 0; + socket[kIdleSocketValidationTimeout] = null; + socket[kSocketUsed] = false; socket[kParser] = new Parser(client, socket, llhttpInstance); util.addListener(socket, "error", onHttpSocketError); util.addListener(socket, "readable", onHttpSocketReadable); @@ -7675,7 +7775,7 @@ var require_client_h1 = __commonJS({ * @returns {boolean} */ busy(request) { - if (socket[kWriting] || socket[kReset] || socket[kBlocking]) { + if (socket[kWriting] || socket[kReset] || socket[kBlocking] || socket[kIdleSocketValidation] === 1) { return true; } if (request) { @@ -7698,7 +7798,11 @@ var require_client_h1 = __commonJS({ assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); const parser = this[kParser]; if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); + const parserErr = parser.finish(); + if (parserErr) { + this[kError] = parserErr; + this[kClient][kOnError](parserErr); + } return; } this[kError] = err; @@ -7712,7 +7816,10 @@ var require_client_h1 = __commonJS({ function onHttpSocketEnd() { const parser = this[kParser]; if (parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); + const parserErr = parser.finish(); + if (parserErr) { + util.destroy(this, parserErr); + } return; } util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this))); @@ -7720,9 +7827,10 @@ var require_client_h1 = __commonJS({ __name(onHttpSocketEnd, "onHttpSocketEnd"); function onHttpSocketClose() { const parser = this[kParser]; + clearIdleSocketValidation(this); if (parser) { if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); + this[kError] = parser.finish() || this[kError]; } this[kParser].destroy(); this[kParser] = null; @@ -7753,6 +7861,26 @@ var require_client_h1 = __commonJS({ this[kClosed] = true; } __name(onSocketClose, "onSocketClose"); + function clearIdleSocketValidation(socket) { + if (socket[kIdleSocketValidationTimeout]) { + clearTimeout(socket[kIdleSocketValidationTimeout]); + socket[kIdleSocketValidationTimeout] = null; + } + socket[kIdleSocketValidation] = 0; + } + __name(clearIdleSocketValidation, "clearIdleSocketValidation"); + function scheduleIdleSocketValidation(client, socket) { + socket[kIdleSocketValidation] = 1; + socket[kIdleSocketValidationTimeout] = setTimeout(() => { + socket[kIdleSocketValidationTimeout] = null; + socket[kIdleSocketValidation] = 2; + if (client[kSocket] === socket && !socket.destroyed) { + client[kResume](); + } + }, 0); + socket[kIdleSocketValidationTimeout].unref?.(); + } + __name(scheduleIdleSocketValidation, "scheduleIdleSocketValidation"); function resumeH1(client) { const socket = client[kSocket]; if (socket && !socket.destroyed) { @@ -7765,6 +7893,29 @@ var require_client_h1 = __commonJS({ socket.ref(); socket[kNoRef] = false; } + if (client[kRunning] === 0 && client[kPending] > 0 && socket[kSocketUsed]) { + if (socket[kIdleSocketValidation] === 0) { + scheduleIdleSocketValidation(client, socket); + socket[kParser].readMore(); + if (socket.destroyed) { + return; + } + return; + } + if (socket[kIdleSocketValidation] === 1) { + socket[kParser].readMore(); + if (socket.destroyed) { + return; + } + return; + } + } + if (client[kRunning] === 0) { + socket[kParser].readMore(); + if (socket.destroyed) { + return; + } + } if (client[kSize] === 0) { if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) { socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE); @@ -7819,6 +7970,7 @@ var require_client_h1 = __commonJS({ process.emitWarning(new RequestContentLengthMismatchError()); } const socket = client[kSocket]; + clearIdleSocketValidation(socket); const abort = /* @__PURE__ */ __name((err) => { if (request.aborted || request.completed) { return; @@ -9072,7 +9224,8 @@ var require_client = __commonJS({ useH2c, initialWindowSize, connectionWindowSize, - pingInterval + pingInterval, + webSocket } = {}) { if (keepAlive !== void 0) { throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead"); @@ -9150,7 +9303,7 @@ var require_client = __commonJS({ if (pingInterval != null && (typeof pingInterval !== "number" || !Number.isInteger(pingInterval) || pingInterval < 0)) { throw new InvalidArgumentError("pingInterval must be a positive integer, greater or equal to 0"); } - super(); + super({ webSocket }); if (typeof connect2 !== "function") { connect2 = buildConnector({ ...tls, @@ -9162,9 +9315,13 @@ var require_client = __commonJS({ ...typeof autoSelectFamily === "boolean" ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, ...connect2 }); - } else if (socketPath != null) { + } else { const customConnect = connect2; - connect2 = /* @__PURE__ */ __name((opts, callback) => customConnect({ ...opts, socketPath }, callback), "connect"); + connect2 = /* @__PURE__ */ __name((opts, callback) => customConnect({ + ...opts, + ...socketPath != null ? { socketPath } : null, + ...allowH2 != null ? { allowH2 } : null + }, callback), "connect"); } this[kUrl] = util.parseOrigin(url); this[kConnector] = connect2; @@ -9556,7 +9713,7 @@ var require_pool = __commonJS({ ...connect }); } - super(); + super(options); this[kConnections] = connections || null; this[kUrl] = util.parseOrigin(origin); this[kOptions] = { ...util.deepClone(options), connect, allowH2, clientTtl, socketPath }; @@ -9633,7 +9790,7 @@ var require_agent = __commonJS({ if (typeof maxOrigins !== "number" || Number.isNaN(maxOrigins) || maxOrigins <= 0) { throw new InvalidArgumentError("maxOrigins must be a number greater than 0"); } - super(); + super(options); if (connect && typeof connect !== "function") { connect = { ...connect }; } @@ -9739,7 +9896,8 @@ var require_agent = __commonJS({ var require_global2 = __commonJS({ "lib/global.js"(exports2, module2) { "use strict"; - var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1"); + var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.2"); + var legacyGlobalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1"); var { InvalidArgumentError } = require_errors(); var Agent = require_agent(); if (getGlobalDispatcher2() === void 0) { @@ -9755,10 +9913,16 @@ var require_global2 = __commonJS({ enumerable: false, configurable: false }); + Object.defineProperty(globalThis, legacyGlobalDispatcher, { + value: agent, + writable: true, + enumerable: false, + configurable: false + }); } __name(setGlobalDispatcher2, "setGlobalDispatcher"); function getGlobalDispatcher2() { - return globalThis[globalDispatcher]; + return globalThis[legacyGlobalDispatcher]; } __name(getGlobalDispatcher2, "getGlobalDispatcher"); var installedExports = ( @@ -9820,28 +9984,37 @@ var require_socks5_utils = __commonJS({ __name(parseAddress, "parseAddress"); function parseIPv6(address) { const buffer = Buffer2.alloc(16); - const parts = address.split(":"); - let partIndex = 0; - let bufferIndex = 0; - const doubleColonIndex = address.indexOf("::"); + let normalizedAddress = address; + if (address.includes(".")) { + const lastColonIndex = address.lastIndexOf(":"); + const ipv4Part = address.slice(lastColonIndex + 1); + if (net.isIPv4(ipv4Part)) { + const octets = ipv4Part.split(".").map(Number); + const high = (octets[0] << 8 | octets[1]).toString(16); + const low = (octets[2] << 8 | octets[3]).toString(16); + normalizedAddress = `${address.slice(0, lastColonIndex)}:${high}:${low}`; + } + } + const doubleColonIndex = normalizedAddress.indexOf("::"); if (doubleColonIndex !== -1) { - const nonEmptyParts = parts.filter((p) => p.length > 0).length; - const skipParts = 8 - nonEmptyParts; - for (let i = 0; i < parts.length; i++) { - if (parts[i] === "" && i === doubleColonIndex / 3) { - bufferIndex += skipParts * 2; - } else if (parts[i] !== "") { - const value = parseInt(parts[i], 16); - buffer.writeUInt16BE(value, bufferIndex); - bufferIndex += 2; - } + const before = normalizedAddress.slice(0, doubleColonIndex); + const after = normalizedAddress.slice(doubleColonIndex + 2); + const beforeParts = before === "" ? [] : before.split(":"); + const afterParts = after === "" ? [] : after.split(":"); + let bufferIndex = 0; + for (const part of beforeParts) { + buffer.writeUInt16BE(parseInt(part, 16), bufferIndex); + bufferIndex += 2; + } + bufferIndex = 16 - afterParts.length * 2; + for (const part of afterParts) { + buffer.writeUInt16BE(parseInt(part, 16), bufferIndex); + bufferIndex += 2; } } else { - for (const part of parts) { - if (part === "") continue; - const value = parseInt(part, 16); - buffer.writeUInt16BE(value, partIndex * 2); - partIndex++; + const parts = normalizedAddress.split(":"); + for (let i = 0; i < parts.length; i++) { + buffer.writeUInt16BE(parseInt(parts[i], 16), i * 2); } } return buffer; @@ -9951,6 +10124,7 @@ var require_socks5_client = __commonJS({ var { debuglog } = require("node:util"); var { parseAddress } = require_socks5_utils(); var debug = debuglog("undici:socks5"); + var EMPTY_BUFFER = Buffer2.alloc(0); var SOCKS_VERSION = 5; var AUTH_METHODS = { NO_AUTH: 0, @@ -9983,6 +10157,7 @@ var require_socks5_client = __commonJS({ INITIAL: "initial", HANDSHAKING: "handshaking", AUTHENTICATING: "authenticating", + AUTHENTICATED: "authenticated", CONNECTING: "connecting", CONNECTED: "connected", ERROR: "error", @@ -10000,15 +10175,18 @@ var require_socks5_client = __commonJS({ this.socket = socket; this.options = options; this.state = STATES.INITIAL; - this.buffer = Buffer2.alloc(0); + this.buffer = EMPTY_BUFFER; + this.onSocketData = this.onData.bind(this); + this.onSocketError = this.onError.bind(this); + this.onSocketClose = this.onClose.bind(this); this.authMethods = []; if (options.username && options.password) { this.authMethods.push(AUTH_METHODS.USERNAME_PASSWORD); } this.authMethods.push(AUTH_METHODS.NO_AUTH); - this.socket.on("data", this.onData.bind(this)); - this.socket.on("error", this.onError.bind(this)); - this.socket.on("close", this.onClose.bind(this)); + this.socket.on("data", this.onSocketData); + this.socket.on("error", this.onSocketError); + this.socket.on("close", this.onSocketClose); } /** * Handle incoming data from the socket @@ -10057,6 +10235,10 @@ var require_socks5_client = __commonJS({ this.socket.destroy(); } } + markAuthenticated() { + this.state = STATES.AUTHENTICATED; + this.emit("authenticated"); + } /** * Start the SOCKS5 handshake */ @@ -10092,7 +10274,7 @@ var require_socks5_client = __commonJS({ this.buffer = this.buffer.subarray(2); debug("server selected auth method", method); if (method === AUTH_METHODS.NO_AUTH) { - this.emit("authenticated"); + this.markAuthenticated(); } else if (method === AUTH_METHODS.USERNAME_PASSWORD) { this.state = STATES.AUTHENTICATING; this.sendAuthRequest(); @@ -10139,7 +10321,7 @@ var require_socks5_client = __commonJS({ } this.buffer = this.buffer.subarray(2); debug("authentication successful"); - this.emit("authenticated"); + this.markAuthenticated(); } /** * Send CONNECT command @@ -10147,8 +10329,11 @@ var require_socks5_client = __commonJS({ * @param {number} port - Target port */ connect(address, port) { - if (this.state === STATES.CONNECTED) { - throw new InvalidArgumentError("Already connected"); + if (this.state === STATES.CONNECTING || this.state === STATES.CONNECTED) { + throw new InvalidArgumentError("Connection already in progress"); + } + if (this.state !== STATES.AUTHENTICATED) { + throw new InvalidArgumentError("Client must be authenticated before CONNECT"); } debug("connecting to", address, port); this.state = STATES.CONNECTING; @@ -10222,8 +10407,9 @@ var require_socks5_client = __commonJS({ offset += 16; } const boundPort = this.buffer.readUInt16BE(offset); - this.buffer = this.buffer.subarray(responseLength); + this.buffer = EMPTY_BUFFER; this.state = STATES.CONNECTED; + this.socket.removeListener("data", this.onSocketData); debug("connected, bound address:", boundAddress, "port:", boundPort); this.emit("connected", { address: boundAddress, port: boundPort }); } @@ -10268,12 +10454,11 @@ var require_socks5_client = __commonJS({ var require_socks5_proxy_agent = __commonJS({ "lib/dispatcher/socks5-proxy-agent.js"(exports2, module2) { "use strict"; - var net = require("node:net"); var { URL: URL2 } = require("node:url"); var tls; var DispatcherBase = require_dispatcher_base(); var { InvalidArgumentError } = require_errors(); - var { Socks5Client } = require_socks5_client(); + var { Socks5Client, STATES } = require_socks5_client(); var { kDispatch, kClose, kDestroy } = require_symbols(); var Pool = require_pool(); var buildConnector = require_connect(); @@ -10282,8 +10467,10 @@ var require_socks5_proxy_agent = __commonJS({ var kProxyUrl = /* @__PURE__ */ Symbol("proxy url"); var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers"); var kProxyAuth = /* @__PURE__ */ Symbol("proxy auth"); - var kPool = /* @__PURE__ */ Symbol("pool"); + var kProxyProtocol = /* @__PURE__ */ Symbol("proxy protocol"); + var kPools = /* @__PURE__ */ Symbol("pools"); var kConnector = /* @__PURE__ */ Symbol("connector"); + var kRequestTls = /* @__PURE__ */ Symbol("request tls settings"); var experimentalWarningEmitted = false; var Socks5ProxyAgent = class extends DispatcherBase { static { @@ -10307,6 +10494,8 @@ var require_socks5_proxy_agent = __commonJS({ } this[kProxyUrl] = url; this[kProxyHeaders] = options.headers || {}; + this[kProxyProtocol] = options.proxyTls ? "https:" : "http:"; + this[kRequestTls] = options.requestTls; this[kProxyAuth] = { username: options.username || (url.username ? decodeURIComponent(url.username) : null), password: options.password || (url.password ? decodeURIComponent(url.password) : null) @@ -10315,7 +10504,7 @@ var require_socks5_proxy_agent = __commonJS({ ...options.proxyTls, servername: options.proxyTls?.servername || url.hostname }); - this[kPool] = null; + this[kPools] = /* @__PURE__ */ new Map(); } /** * Create a SOCKS5 connection to the proxy @@ -10325,20 +10514,18 @@ var require_socks5_proxy_agent = __commonJS({ const proxyPort = parseInt(this[kProxyUrl].port) || 1080; debug("creating SOCKS5 connection to", proxyHost, proxyPort); const socket = await new Promise((resolve, reject) => { - const onConnect = /* @__PURE__ */ __name(() => { - socket2.removeListener("error", onError); - resolve(socket2); - }, "onConnect"); - const onError = /* @__PURE__ */ __name((err) => { - socket2.removeListener("connect", onConnect); - reject(err); - }, "onError"); - const socket2 = net.connect({ + this[kConnector]({ + hostname: proxyHost, host: proxyHost, - port: proxyPort + port: proxyPort, + protocol: this[kProxyProtocol] + }, (err, socket2) => { + if (err) { + reject(err); + } else { + resolve(socket2); + } }); - socket2.once("connect", onConnect); - socket2.once("error", onError); }); const socks5Client = new Socks5Client(socket, this[kProxyAuth]); socks5Client.on("error", (err) => { @@ -10360,7 +10547,7 @@ var require_socks5_proxy_agent = __commonJS({ socks5Client.removeListener("authenticated", onAuthenticated); reject(err); }, "onError"); - if (socks5Client.state === "authenticated") { + if (socks5Client.state === STATES.AUTHENTICATED) { clearTimeout(timeout); resolve(); } else { @@ -10392,12 +10579,14 @@ var require_socks5_proxy_agent = __commonJS({ /** * Dispatch a request through the SOCKS5 proxy */ - async [kDispatch](opts, handler) { + [kDispatch](opts, handler) { const { origin } = opts; debug("dispatching request to", origin, "via SOCKS5"); try { - if (!this[kPool] || this[kPool].destroyed || this[kPool].closed) { - this[kPool] = new Pool(origin, { + const originKey = String(origin); + let pool = this[kPools].get(originKey); + if (!pool || pool.destroyed || pool.closed) { + pool = new Pool(origin, { pipelining: opts.pipelining, connections: opts.connections, connect: /* @__PURE__ */ __name(async (connectOpts, callback) => { @@ -10414,9 +10603,9 @@ var require_socks5_proxy_agent = __commonJS({ } debug("upgrading to TLS"); finalSocket = tls.connect({ + ...this[kRequestTls], socket, - servername: targetHost, - ...connectOpts.tls || {} + servername: this[kRequestTls]?.servername || targetHost }); await new Promise((resolve, reject) => { finalSocket.once("secureConnect", resolve); @@ -10430,26 +10619,37 @@ var require_socks5_proxy_agent = __commonJS({ } }, "connect") }); + this[kPools].set(originKey, pool); } - return this[kPool][kDispatch](opts, handler); + return pool[kDispatch](opts, handler); } catch (err) { debug("dispatch error:", err); - if (typeof handler.onError === "function") { + if (typeof handler.onResponseError === "function") { + handler.onResponseError(null, err); + return false; + } else if (typeof handler.onError === "function") { handler.onError(err); + return false; } else { throw err; } } } async [kClose]() { - if (this[kPool]) { - await this[kPool].close(); + const closePromises = []; + for (const pool of this[kPools].values()) { + closePromises.push(pool.close()); } + this[kPools].clear(); + await Promise.all(closePromises); } async [kDestroy](err) { - if (this[kPool]) { - await this[kPool].destroy(err); + const destroyPromises = []; + for (const pool of this[kPools].values()) { + destroyPromises.push(pool.destroy(err)); } + this[kPools].clear(); + await Promise.all(destroyPromises); } }; module2.exports = Socks5ProxyAgent; @@ -10583,7 +10783,8 @@ var require_proxy_agent = __commonJS({ factory: agentFactory, username: opts.username || username, password: opts.password || password, - proxyTls: opts.proxyTls + proxyTls: opts.proxyTls, + requestTls: opts.requestTls }); } if (!this[kTunnelProxy] && protocol2 === "http:" && this[kProxy].protocol === "http:") { @@ -13177,7 +13378,7 @@ var require_fetch = __commonJS({ cacheState = ""; } let responseStatus = 0; - if (fetchParams.request.mode !== "navigator" || !response.hasCrossOriginRedirects) { + if (fetchParams.request.mode !== "navigate" || !response.hasCrossOriginRedirects) { responseStatus = response.status; const mimeType = extractMimeType(response.headersList); if (mimeType !== "failure") { @@ -13344,7 +13545,7 @@ var require_fetch = __commonJS({ if (contentLength != null) { contentLengthHeaderValue = isomorphicEncode(`${contentLength}`); } - if (contentLengthHeaderValue != null) { + if (contentLengthHeaderValue != null && !httpRequest.headersList.contains("content-length", true)) { httpRequest.headersList.append("content-length", contentLengthHeaderValue, true); } if (contentLength != null && httpRequest.keepalive) { @@ -14629,7 +14830,6 @@ var require_permessage_deflate = __commonJS({ var tail = Buffer.from([0, 0, 255, 255]); var kBuffer = /* @__PURE__ */ Symbol("kBuffer"); var kLength = /* @__PURE__ */ Symbol("kLength"); - var kDefaultMaxDecompressedSize = 4 * 1024 * 1024; var PerMessageDeflate = class { static { __name(this, "PerMessageDeflate"); @@ -14637,22 +14837,22 @@ var require_permessage_deflate = __commonJS({ /** @type {import('node:zlib').InflateRaw} */ #inflate; #options = {}; - /** @type {boolean} */ - #aborted = false; - /** @type {Function|null} */ - #currentCallback = null; + #maxPayloadSize = 0; /** * @param {Map} extensions */ - constructor(extensions) { + constructor(extensions, options) { this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover"); this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits"); + this.#maxPayloadSize = options.maxPayloadSize; } + /** + * Decompress a compressed payload. + * @param {Buffer} chunk Compressed data + * @param {boolean} fin Final fragment flag + * @param {Function} callback Callback function + */ decompress(chunk, fin, callback) { - if (this.#aborted) { - callback(new MessageSizeExceededError()); - return; - } if (!this.#inflate) { let windowBits = Z_DEFAULT_WINDOWBITS; if (this.#options.serverMaxWindowBits) { @@ -14671,20 +14871,11 @@ var require_permessage_deflate = __commonJS({ this.#inflate[kBuffer] = []; this.#inflate[kLength] = 0; this.#inflate.on("data", (data) => { - if (this.#aborted) { - return; - } this.#inflate[kLength] += data.length; - if (this.#inflate[kLength] > kDefaultMaxDecompressedSize) { - this.#aborted = true; + if (this.#maxPayloadSize > 0 && this.#inflate[kLength] > this.#maxPayloadSize) { + callback(new MessageSizeExceededError()); this.#inflate.removeAllListeners(); - this.#inflate.destroy(); this.#inflate = null; - if (this.#currentCallback) { - const cb = this.#currentCallback; - this.#currentCallback = null; - cb(new MessageSizeExceededError()); - } return; } this.#inflate[kBuffer].push(data); @@ -14694,19 +14885,17 @@ var require_permessage_deflate = __commonJS({ callback(err); }); } - this.#currentCallback = callback; this.#inflate.write(chunk); if (fin) { this.#inflate.write(tail); } this.#inflate.flush(() => { - if (this.#aborted || !this.#inflate) { + if (!this.#inflate) { return; } const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]); this.#inflate[kBuffer].length = 0; this.#inflate[kLength] = 0; - this.#currentCallback = null; callback(null, full); }); } @@ -14750,16 +14939,23 @@ var require_receiver = __commonJS({ #extensions; /** @type {import('./websocket').Handler} */ #handler; + /** @type {number} */ + #maxFragments; + /** @type {number} */ + #maxPayloadSize; /** * @param {import('./websocket').Handler} handler * @param {Map|null} extensions + * @param {{ maxFragments?: number, maxPayloadSize?: number }} [options] */ - constructor(handler, extensions) { + constructor(handler, extensions, options = {}) { super(); this.#handler = handler; this.#extensions = extensions == null ? /* @__PURE__ */ new Map() : extensions; + this.#maxFragments = options.maxFragments ?? 0; + this.#maxPayloadSize = options.maxPayloadSize ?? 0; if (this.#extensions.has("permessage-deflate")) { - this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions)); + this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions, options)); } } /** @@ -14772,6 +14968,13 @@ var require_receiver = __commonJS({ this.#loop = true; this.run(callback); } + #validatePayloadLength() { + if (this.#maxPayloadSize > 0 && !isControlFrame(this.#info.opcode) && this.#info.payloadLength + this.#fragmentsBytes > this.#maxPayloadSize) { + failWebsocketConnection(this.#handler, 1009, "Payload size exceeds maximum allowed size"); + return false; + } + return true; + } /** * Runs whenever a new chunk is received. * Callback is called whenever there are no more chunks buffering, @@ -14831,6 +15034,9 @@ var require_receiver = __commonJS({ if (payloadLength <= 125) { this.#info.payloadLength = payloadLength; this.#state = parserStates.READ_DATA; + if (!this.#validatePayloadLength()) { + return; + } } else if (payloadLength === 126) { this.#state = parserStates.PAYLOADLENGTH_16; } else if (payloadLength === 127) { @@ -14851,6 +15057,9 @@ var require_receiver = __commonJS({ const buffer = this.consume(2); this.#info.payloadLength = buffer.readUInt16BE(0); this.#state = parserStates.READ_DATA; + if (!this.#validatePayloadLength()) { + return; + } } else if (this.#state === parserStates.PAYLOADLENGTH_64) { if (this.#byteOffset < 8) { return callback(); @@ -14864,6 +15073,9 @@ var require_receiver = __commonJS({ } this.#info.payloadLength = lower; this.#state = parserStates.READ_DATA; + if (!this.#validatePayloadLength()) { + return; + } } else if (this.#state === parserStates.READ_DATA) { if (this.#byteOffset < this.#info.payloadLength) { return callback(); @@ -14874,30 +15086,43 @@ var require_receiver = __commonJS({ this.#state = parserStates.INFO; } else { if (!this.#info.compressed) { - this.writeFragments(body); + if (!this.writeFragments(body)) { + return; + } if (!this.#info.fragmented && this.#info.fin) { websocketMessageReceived(this.#handler, this.#info.binaryType, this.consumeFragments()); } this.#state = parserStates.INFO; } else { - this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error, data) => { - if (error) { - const code = error instanceof MessageSizeExceededError ? 1009 : 1007; - failWebsocketConnection(this.#handler, code, error.message); - return; - } - this.writeFragments(data); - if (!this.#info.fin) { - this.#state = parserStates.INFO; + this.#extensions.get("permessage-deflate").decompress( + body, + this.#info.fin, + (error, data) => { + if (error) { + const code = error instanceof MessageSizeExceededError ? 1009 : 1007; + failWebsocketConnection(this.#handler, code, error.message); + return; + } + if (!this.writeFragments(data)) { + return; + } + if (this.#maxPayloadSize > 0 && this.#fragmentsBytes > this.#maxPayloadSize) { + failWebsocketConnection(this.#handler, 1009, new MessageSizeExceededError().message); + return; + } + if (!this.#info.fin) { + this.#state = parserStates.INFO; + this.#loop = true; + this.run(callback); + return; + } + websocketMessageReceived(this.#handler, this.#info.binaryType, this.consumeFragments()); this.#loop = true; + this.#state = parserStates.INFO; this.run(callback); - return; - } - websocketMessageReceived(this.#handler, this.#info.binaryType, this.consumeFragments()); - this.#loop = true; - this.#state = parserStates.INFO; - this.run(callback); - }); + }, + this.#fragmentsBytes + ); this.#loop = false; break; } @@ -14945,8 +15170,13 @@ var require_receiver = __commonJS({ } } writeFragments(fragment) { + if (this.#maxFragments > 0 && this.#fragments.length === this.#maxFragments) { + failWebsocketConnection(this.#handler, 1008, "Too many message fragments"); + return false; + } this.#fragmentsBytes += fragment.length; this.#fragments.push(fragment); + return true; } consumeFragments() { const fragments = this.#fragments; @@ -15422,7 +15652,13 @@ var require_websocket = __commonJS({ */ #onConnectionEstablished(response, parsedExtensions) { this.#handler.socket = response.socket; - const parser = new ByteParser(this.#handler, parsedExtensions); + const webSocketOptions = this.#handler.controller.dispatcher?.webSocketOptions; + const maxFragments = webSocketOptions?.maxFragments; + const maxPayloadSize = webSocketOptions?.maxPayloadSize; + const parser = new ByteParser(this.#handler, parsedExtensions, { + maxFragments, + maxPayloadSize + }); parser.on("drain", () => this.#handler.onParserDrain()); parser.on("error", (err) => this.#handler.onParserError(err)); this.#parser = parser; @@ -16632,7 +16868,7 @@ var require_api_request = __commonJS({ if (typeof callback !== "function") { throw new InvalidArgumentError("invalid callback"); } - if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) { + if (highWaterMark != null && (!Number.isFinite(highWaterMark) || highWaterMark < 0)) { throw new InvalidArgumentError("invalid highWaterMark"); } if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { diff --git a/doc/api/errors.md b/doc/api/errors.md index c0925d4db860..52cacc6a11ba 100644 --- a/doc/api/errors.md +++ b/doc/api/errors.md @@ -1732,6 +1732,17 @@ added: v15.14.0 The limit of acceptable invalid HTTP/2 protocol frames sent by the peer, as specified through the `maxSessionInvalidFrames` option, has been exceeded. + + +### `ERR_HTTP2_TOO_MANY_ORIGINS` + + + +The number of uniq origin sent by the server has exceeded the value defined in +`options.maxOriginSetSize`. + ### `ERR_HTTP2_TRAILERS_ALREADY_SENT` diff --git a/doc/api/http2.md b/doc/api/http2.md index 50aa991401b0..fd4e62aab1dc 100644 --- a/doc/api/http2.md +++ b/doc/api/http2.md @@ -3260,6 +3260,8 @@ changes: This is similar to [`server.maxHeadersCount`][] or [`request.maxHeadersCount`][] in the `node:http` module. The minimum value is `1`. **Default:** `128`. + * `maxOriginSetSize` {number} Sets the maximum number of uniq origin the sever + can send via ORIGIN frames. **Default:** `128`. * `maxOutstandingPings` {number} Sets the maximum number of outstanding, unacknowledged pings. **Default:** `10`. * `maxReservedRemoteStreams` {number} Sets the maximum number of reserved push diff --git a/doc/changelogs/CHANGELOG_V24.md b/doc/changelogs/CHANGELOG_V24.md index 52d681ed6bc0..4dd457a98fcb 100644 --- a/doc/changelogs/CHANGELOG_V24.md +++ b/doc/changelogs/CHANGELOG_V24.md @@ -9,6 +9,7 @@ +24.17.0
24.16.0
24.15.0
24.14.1
@@ -64,6 +65,47 @@ * [io.js](CHANGELOG_IOJS.md) * [Archive](CHANGELOG_ARCHIVE.md) + + +## 2026-06-18, Version 24.17.0 'Krypton' (LTS), @aduh95 + +This is a security release. + +### Notable Changes + +* (CVE-2026-48618) tls: normalize hostname for server identity checks (Matteo Collina) – High +* (CVE-2026-48933) crypto: guard WebCrypto cipher output length (Filip Skokan) – High +* (CVE-2026-48615) lib,test: redact proxy credentials in tunnel errors (Matteo Collina) – Medium +* (CVE-2026-48619) http2: cap originSet size to prevent unbounded memory growth (Matteo Collina) – Medium +* (CVE-2026-48928) tls: fix case-sensitive SNI context matching (Matteo Collina) – Medium +* (CVE-2026-48930) dns,net: reject hostnames with embedded NUL bytes (Matteo Collina) – Medium +* (CVE-2026-48934) tls: bind reusable sessions to authenticated host (Matteo Collina) – Medium +* (CVE-2026-48937) deps: fix integration issues with the latest nghttp2 – Medium +* (CVE-2026-48617) permission: handle process.chdir on writereport (RafaelGSS) – Low +* (CVE-2026-48931) http: fix response queue poisoning in http.Agent (Matteo Collina) – Low +* (CVE-2026-48935) permission: disable FileHandle utimes with permission model (RafaelGSS) – Low + +### Commits + +* \[[`9e4dfc7bba`](https://github.com/nodejs/node/commit/9e4dfc7bba)] - **(CVE-2026-48933)** **crypto**: guard WebCrypto cipher output length (Filip Skokan) [nodejs-private/node-private#878](https://github.com/nodejs-private/node-private/pull/878) +* \[[`cb2aed980c`](https://github.com/nodejs/node/commit/cb2aed980c)] - **deps**: update llhttp to 9.4.2 (Antoine du Hamel) [nodejs-private/node-private#890](https://github.com/nodejs-private/node-private/pull/890) +* \[[`a8a0d12875`](https://github.com/nodejs/node/commit/a8a0d12875)] - **(CVE-2026-48937)** **deps**: fix integration issues with the latest nghttp2 (Tim Perry) [#62891](https://github.com/nodejs/node/pull/62891) +* \[[`66e6203c1c`](https://github.com/nodejs/node/commit/66e6203c1c)] - **(SEMVER-MAJOR)** **deps**: update nghttp2 to 1.69.0 (Node.js GitHub Bot) [#62891](https://github.com/nodejs/node/pull/62891) +* \[[`dd627ced27`](https://github.com/nodejs/node/commit/dd627ced27)] - **deps**: update archs files for openssl-3.5.7 (Node.js GitHub Bot) [#63820](https://github.com/nodejs/node/pull/63820) +* \[[`684bae568f`](https://github.com/nodejs/node/commit/684bae568f)] - **deps**: upgrade openssl sources to openssl-3.5.7 (Node.js GitHub Bot) [#63820](https://github.com/nodejs/node/pull/63820) +* \[[`3a631e7f83`](https://github.com/nodejs/node/commit/3a631e7f83)] - **deps**: fix aix implicit declaration in OpenSSL (Abdirahim Musse) [#62656](https://github.com/nodejs/node/pull/62656) +* \[[`cf44df3996`](https://github.com/nodejs/node/commit/cf44df3996)] - **deps**: update undici to 7.28.0 (Node.js GitHub Bot) [#63703](https://github.com/nodejs/node/pull/63703) +* \[[`138c70294b`](https://github.com/nodejs/node/commit/138c70294b)] - **(CVE-2026-48930)** **dns,net**: reject hostnames with embedded NUL bytes (Matteo Collina) [nodejs-private/node-private#868](https://github.com/nodejs-private/node-private/pull/868) +* \[[`be7e719c3f`](https://github.com/nodejs/node/commit/be7e719c3f)] - **(CVE-2026-48931)** **http**: fix response queue poisoning in http.Agent (Matteo Collina) [nodejs-private/node-private#846](https://github.com/nodejs-private/node-private/pull/846) +* \[[`cc7c11b4d1`](https://github.com/nodejs/node/commit/cc7c11b4d1)] - **(CVE-2026-48619)** **http2**: cap originSet size to prevent unbounded memory growth (Matteo Collina) [nodejs-private/node-private#855](https://github.com/nodejs-private/node-private/pull/855) +* \[[`9224427b92`](https://github.com/nodejs/node/commit/9224427b92)] - **(CVE-2026-48615)** **lib,test**: redact proxy credentials in tunnel errors (Matteo Collina) [nodejs-private/node-private#867](https://github.com/nodejs-private/node-private/pull/867) +* \[[`cf85d54839`](https://github.com/nodejs/node/commit/cf85d54839)] - **(CVE-2026-48935)** **permission**: disable FileHandle utimes with permission model (RafaelGSS) [nodejs-private/node-private#873](https://github.com/nodejs-private/node-private/pull/873) +* \[[`a1bbc24f96`](https://github.com/nodejs/node/commit/a1bbc24f96)] - **(CVE-2026-48617)** **permission**: handle process.chdir on writereport (RafaelGSS) [nodejs-private/node-private#870](https://github.com/nodejs-private/node-private/pull/870) +* \[[`e3723ff2d6`](https://github.com/nodejs/node/commit/e3723ff2d6)] - **test**: add session reuse host verification regressions (Matteo Collina) [nodejs-private/node-private#854](https://github.com/nodejs-private/node-private/pull/854) +* \[[`a77af4867b`](https://github.com/nodejs/node/commit/a77af4867b)] - **(CVE-2026-48934)** **tls**: bind reusable sessions to authenticated host (Matteo Collina) [nodejs-private/node-private#854](https://github.com/nodejs-private/node-private/pull/854) +* \[[`31beb4f707`](https://github.com/nodejs/node/commit/31beb4f707)] - **(CVE-2026-48928)** **tls**: fix case-sensitive SNI context matching (Matteo Collina) [nodejs-private/node-private#857](https://github.com/nodejs-private/node-private/pull/857) +* \[[`8e75c73f91`](https://github.com/nodejs/node/commit/8e75c73f91)] - **(CVE-2026-48618)** **tls**: normalize hostname for server identity checks (Matteo Collina) [nodejs-private/node-private#869](https://github.com/nodejs-private/node-private/pull/869) + ## 2026-05-21, Version 24.16.0 'Krypton' (LTS), @aduh95 diff --git a/lib/_http_agent.js b/lib/_http_agent.js index ea5d44306f09..1a8ef14d4d40 100644 --- a/lib/_http_agent.js +++ b/lib/_http_agent.js @@ -87,6 +87,16 @@ function freeSocketErrorListener(err) { socket.emit('agentRemove'); } +// Guard against unsolicited data arriving while a socket is idle in the +// freeSockets pool. When the HTTPParser is detached the data would sit +// in the TCP buffer and be silently consumed as the response for the +// *next* request that reuses the socket (response-queue poisoning). +// See: https://hackerone.com/reports/3582376 +function freeSocketDataGuard() { + debug('DATA on FREE socket - destroying poisoned socket'); + this.destroy(); +} + function Agent(options) { if (!(this instanceof Agent)) return new Agent(options); @@ -197,6 +207,8 @@ function Agent(options) { this.removeSocket(socket, options); socket.once('error', freeSocketErrorListener); + socket.on('data', freeSocketDataGuard); + socket.resume(); freeSockets.push(socket); }); @@ -588,6 +600,7 @@ Agent.prototype.keepSocketAlive = function keepSocketAlive(socket) { Agent.prototype.reuseSocket = function reuseSocket(socket, req) { debug('have free socket'); socket.removeListener('error', freeSocketErrorListener); + socket.removeListener('data', freeSocketDataGuard); req.reusedSocket = true; socket.ref(); }; diff --git a/lib/dns.js b/lib/dns.js index d4c7d2c3c0e4..9dffad8bf40d 100644 --- a/lib/dns.js +++ b/lib/dns.js @@ -84,7 +84,7 @@ const { validateNumber, validateOneOf, validatePort, - validateString, + validateStringWithoutNullBytes, } = require('internal/validators'); const { @@ -148,7 +148,7 @@ function lookup(hostname, options, callback) { // Parse arguments if (hostname) { - validateString(hostname, 'hostname'); + validateStringWithoutNullBytes(hostname, 'hostname'); } if (typeof options === 'function') { diff --git a/lib/internal/dns/promises.js b/lib/internal/dns/promises.js index 40d4d1c4c8e4..dcaae5346bbf 100644 --- a/lib/internal/dns/promises.js +++ b/lib/internal/dns/promises.js @@ -71,6 +71,7 @@ const { validateOneOf, validatePort, validateString, + validateStringWithoutNullBytes, } = require('internal/validators'); const kPerfHooksDnsLookupContext = Symbol('kPerfHooksDnsLookupContext'); @@ -201,7 +202,7 @@ function lookup(hostname, options) { // Parse arguments if (hostname) { - validateString(hostname, 'hostname'); + validateStringWithoutNullBytes(hostname, 'hostname'); } if (typeof options === 'number') { diff --git a/lib/internal/errors.js b/lib/internal/errors.js index 13e78a9410a4..e38181d4ce0d 100644 --- a/lib/internal/errors.js +++ b/lib/internal/errors.js @@ -1323,6 +1323,8 @@ E('ERR_HTTP2_STREAM_SELF_DEPENDENCY', E('ERR_HTTP2_TOO_MANY_CUSTOM_SETTINGS', 'Number of custom settings exceeds MAX_ADDITIONAL_SETTINGS', Error); E('ERR_HTTP2_TOO_MANY_INVALID_FRAMES', 'Too many invalid HTTP/2 frames', Error); +E('ERR_HTTP2_TOO_MANY_ORIGINS', + 'The server sent more ORIGIN frames than the allowed number of %s', Error); E('ERR_HTTP2_TRAILERS_ALREADY_SENT', 'Trailing headers have already been sent', Error); E('ERR_HTTP2_TRAILERS_NOT_READY', diff --git a/lib/internal/fs/promises.js b/lib/internal/fs/promises.js index 6751cca5334c..d7f83514a925 100644 --- a/lib/internal/fs/promises.js +++ b/lib/internal/fs/promises.js @@ -1154,6 +1154,9 @@ async function utimes(path, atime, mtime) { } async function futimes(handle, atime, mtime) { + if (permission.isEnabled()) { + throw new ERR_ACCESS_DENIED('futimes API is disabled when Permission Model is enabled.'); + } atime = toUnixTimestamp(atime, 'atime'); mtime = toUnixTimestamp(mtime, 'mtime'); return await PromisePrototypeThen( diff --git a/lib/internal/http.js b/lib/internal/http.js index 54f1121eb712..116d699f505a 100644 --- a/lib/internal/http.js +++ b/lib/internal/http.js @@ -99,7 +99,7 @@ function ipToInt(ip) { /** * Represents the proxy configuration for an agent. The built-in http and https agent * implementation have one of this when they are configured to use a proxy. - * @property {string} href - Full URL of the proxy server. + * @property {string} href - Proxy server URL with credentials redacted. * @property {string} protocol - Proxy protocol used to talk to the proxy server. * @property {string|undefined} auth - proxy-authorization header value, if username or password is provided. * @property {Array} bypassList - List of hosts to bypass the proxy. @@ -115,7 +115,13 @@ class ProxyConfig { } const { hostname, port, protocol, username, password } = parsedURL; - this.href = proxyUrl; + if (username || password) { + parsedURL.username = ''; + parsedURL.password = ''; + this.href = parsedURL.href; + } else { + this.href = proxyUrl; + } this.protocol = protocol; if (username || password) { diff --git a/lib/internal/http2/core.js b/lib/internal/http2/core.js index 273ddd15414b..6786285e3ee9 100644 --- a/lib/internal/http2/core.js +++ b/lib/internal/http2/core.js @@ -102,6 +102,7 @@ const { ERR_HTTP2_STREAM_ERROR, ERR_HTTP2_STREAM_SELF_DEPENDENCY, ERR_HTTP2_TOO_MANY_CUSTOM_SETTINGS, + ERR_HTTP2_TOO_MANY_ORIGINS, ERR_HTTP2_TRAILERS_ALREADY_SENT, ERR_HTTP2_TRAILERS_NOT_READY, ERR_HTTP2_UNSUPPORTED_PROTOCOL, @@ -255,6 +256,7 @@ const kInit = Symbol('init'); const kInfoHeaders = Symbol('sent-info-headers'); const kLocalSettings = Symbol('local-settings'); const kNativeFields = Symbol('kNativeFields'); +const kMaxOriginSetSize = Symbol('max-ORIGIN-set-size'); const kOptions = Symbol('options'); const kOwner = owner_symbol; const kOrigin = Symbol('origin'); @@ -723,8 +725,13 @@ function onOrigin(origins) { if (!session.encrypted || session.destroyed) return undefined; const originSet = initOriginSet(session); - for (let n = 0; n < origins.length; n++) + for (let n = 0; n < origins.length; n++) { + if (originSet.size >= session[kMaxOriginSetSize]) { + session.destroy(new ERR_HTTP2_TOO_MANY_ORIGINS(session[kMaxOriginSetSize])); + return; + } originSet.add(origins[n]); + } session.emit('origin', origins); } @@ -3579,6 +3586,13 @@ function connect(authority, options, listener) { assertIsObject(options, 'options'); options = { ...options }; + let { maxOriginSetSize } = options; + if (maxOriginSetSize != null) { + validateNumber(maxOriginSetSize, 'options.maxOriginSetSize', 0); + } else { + maxOriginSetSize = 128; + } + assertIsArray(options.remoteCustomSettings, 'options.remoteCustomSettings'); if (options.remoteCustomSettings) { options.remoteCustomSettings = [ ...options.remoteCustomSettings ]; @@ -3634,6 +3648,7 @@ function connect(authority, options, listener) { session[kAuthority] = `${options.servername || host}:${port}`; session[kProtocol] = protocol; + session[kMaxOriginSetSize] = maxOriginSetSize; if (typeof listener === 'function') session.once('connect', listener); diff --git a/lib/internal/process/report.js b/lib/internal/process/report.js index 58104bd1095a..7b34af0e289f 100644 --- a/lib/internal/process/report.js +++ b/lib/internal/process/report.js @@ -5,9 +5,11 @@ const { } = primordials; const { + ERR_ACCESS_DENIED, ERR_SYNTHETIC, } = require('internal/errors').codes; const { getValidatedPath } = require('internal/fs/utils'); +const permission = require('internal/process/permission'); const { validateBoolean, validateObject, @@ -26,6 +28,17 @@ const report = { file = getValidatedPath(file); } + if (permission.isEnabled()) { + const resource = file ?? process.cwd(); + if (!permission.has('fs.write', resource)) { + throw new ERR_ACCESS_DENIED( + 'Access to this API has been restricted', + 'FileSystemWrite', + resource, + ); + } + } + if (err === undefined) { err = new ERR_SYNTHETIC(); } else { diff --git a/lib/internal/tls/wrap.js b/lib/internal/tls/wrap.js index ce0d4cc0db6a..c2e8679f6cbc 100644 --- a/lib/internal/tls/wrap.js +++ b/lib/internal/tls/wrap.js @@ -113,6 +113,82 @@ const kIsVerified = Symbol('verified'); const noop = () => {}; +const kTLSSessionStatePrefix = Buffer.from('\0nodejs:tls:session:1\0'); + +function getSessionServerIdentity(options) { + return options?.servername || + options?.host || + options?.socket?._host || + 'localhost'; +} + +function wrapSessionState(session, options) { + if (!Buffer.isBuffer(session) || options?.isServer) + return session; + + const servername = Buffer.from(getSessionServerIdentity(options), 'utf8'); + const servernameLength = Buffer.allocUnsafe(2); + servernameLength.writeUInt16BE(servername.length, 0); + + return Buffer.concat([ + kTLSSessionStatePrefix, + servernameLength, + servername, + session, + ]); +} + +function unwrapSessionState(session) { + if (!Buffer.isBuffer(session) || + session.length < kTLSSessionStatePrefix.length + 2 || + Buffer.compare( + session.subarray(0, kTLSSessionStatePrefix.length), + kTLSSessionStatePrefix, + ) !== 0) { + return; + } + + const start = kTLSSessionStatePrefix.length; + const servernameLength = session.readUInt16BE(start); + const servernameStart = start + 2; + const servernameEnd = servernameStart + servernameLength; + if (session.length < servernameEnd) + return; + + return { + servername: session.toString('utf8', servernameStart, servernameEnd), + session: session.subarray(servernameEnd), + }; +} + +function getSessionForReuse(session, options) { + if (typeof session === 'string') + session = Buffer.from(session, 'latin1'); + + if (options?.isServer) + return session; + + const wrappedSession = unwrapSessionState(session); + if (wrappedSession !== undefined) { + const servername = getSessionServerIdentity(options); + if (wrappedSession.servername !== servername) { + debug('ignore session for %s: authenticated for %s', + servername, wrappedSession.servername); + return; + } + + return wrappedSession.session; + } + + if (Buffer.isBuffer(session) && options?.rejectUnauthorized !== false) { + debug('ignore raw session for verified client connection to %s', + getSessionServerIdentity(options)); + return; + } + + return session; +} + let ipServernameWarned = false; let tlsTracingWarned = false; @@ -341,10 +417,11 @@ function requestOCSPDone(socket) { function onnewsessionclient(sessionId, session) { debug('client emit session'); const owner = this[owner_symbol]; + const wrappedSession = wrapSessionState(session, owner[kConnectOptions]); if (owner[kIsVerified]) { - owner.emit('session', session); + owner.emit('session', wrappedSession); } else { - owner[kPendingSession] = session; + owner[kPendingSession] = wrappedSession; } } @@ -1134,9 +1211,19 @@ TLSSocket.prototype.setServername = function(name) { }; TLSSocket.prototype.setSession = function(session) { - if (typeof session === 'string') - session = Buffer.from(session, 'latin1'); - this._handle.setSession(session); + session = getSessionForReuse(session, this[kConnectOptions] || this._tlsOptions); + if (session !== undefined) + this._handle.setSession(session); +}; + +TLSSocket.prototype.getSession = function() { + if (!this._handle) + return null; + + return wrapSessionState( + this._handle.getSession(), + this[kConnectOptions] || this._tlsOptions, + ); }; TLSSocket.prototype.getPeerCertificate = function(detailed) { @@ -1195,7 +1282,6 @@ function makeSocketMethodProxy(name) { 'getFinished', 'getPeerFinished', 'getProtocol', - 'getSession', 'getTLSTicket', 'isSessionReused', 'enableTrace', @@ -1572,7 +1658,7 @@ Server.prototype.addContext = function(servername, context) { servername .replace(/([.^$+?\-\\[\]{}])/g, '\\$1') .replaceAll('*', '[^.]*') - }$`); + }$`, 'i'); const secureContext = context instanceof common.SecureContext ? context : tls.createSecureContext(context); @@ -1658,12 +1744,11 @@ function onConnectSecure() { // Verify that server's identity matches it's certificate's names // Unless server has resumed our existing session if (!verifyError && !this.isSessionReused()) { - const hostname = options.servername || - options.host || - (options.socket?._host) || - 'localhost'; const cert = this.getPeerCertificate(true); - verifyError = options.checkServerIdentity(hostname, cert); + verifyError = options.checkServerIdentity( + getSessionServerIdentity(options), + cert, + ); } if (verifyError) { @@ -1740,6 +1825,8 @@ exports.connect = function connect(...args) { const context = options.secureContext || tls.createSecureContext(options); + options.session = getSessionForReuse(options.session, options); + const tlssock = new TLSSocket(options.socket, { allowHalfOpen: options.allowHalfOpen, pipe: !!options.path, diff --git a/lib/internal/validators.js b/lib/internal/validators.js index 110b045a0634..967e0438e808 100644 --- a/lib/internal/validators.js +++ b/lib/internal/validators.js @@ -16,6 +16,7 @@ const { ObjectPrototypeHasOwnProperty, RegExpPrototypeExec, String, + StringPrototypeIncludes, StringPrototypeToUpperCase, StringPrototypeTrim, } = primordials; @@ -165,6 +166,14 @@ const validateString = hideStackFrames((value, name) => { throw new ERR_INVALID_ARG_TYPE(name, 'string', value); }); +/** @type {validateString} */ +const validateStringWithoutNullBytes = hideStackFrames((value, name) => { + validateString(value, name); + if (StringPrototypeIncludes(value, '\u0000')) { + throw new ERR_INVALID_ARG_VALUE(name, value, 'must be a string without null bytes'); + } +}); + /** * @callback validateNumber * @param {*} value @@ -677,6 +686,7 @@ module.exports = { validatePort, validateSignalName, validateString, + validateStringWithoutNullBytes, validateUint32, validateUndefined, validateUnion, diff --git a/lib/net.js b/lib/net.js index efd2029fb67d..800cf3dd27c3 100644 --- a/lib/net.js +++ b/lib/net.js @@ -135,6 +135,7 @@ const { validateNumber, validatePort, validateString, + validateStringWithoutNullBytes, } = require('internal/validators'); const kLastWriteQueueSize = Symbol('lastWriteQueueSize'); const { getOptionValue } = require('internal/options'); @@ -1371,7 +1372,7 @@ function lookupAndConnect(self, options) { const host = options.host || 'localhost'; let { port, autoSelectFamilyAttemptTimeout, autoSelectFamily } = options; - validateString(host, 'options.host'); + validateStringWithoutNullBytes(host, 'options.host'); if (localAddress && !isIP(localAddress)) { throw new ERR_INVALID_IP_ADDRESS(localAddress); diff --git a/lib/tls.js b/lib/tls.js index 4c5dece3be0f..ffc38e23c85d 100644 --- a/lib/tls.js +++ b/lib/tls.js @@ -68,6 +68,7 @@ const { Buffer } = require('buffer'); const { canonicalizeIP } = internalBinding('cares_wrap'); const tlsCommon = require('internal/tls/common'); const tlsWrap = require('internal/tls/wrap'); +const { domainToASCII } = require('internal/url'); const { validateString } = require('internal/validators'); const { @@ -403,6 +404,11 @@ exports.checkServerIdentity = function checkServerIdentity(hostname, cert) { const ips = []; hostname = '' + hostname; + const hostnameASCII = domainToASCII(hostname); + + // Remove trailing dots for error messages and matching. + hostname = unfqdn(hostname); + const hostnameASCIIWithoutFQDN = unfqdn(hostnameASCII); if (altNames) { const splitAltNames = altNames.includes('"') ? @@ -420,14 +426,14 @@ exports.checkServerIdentity = function checkServerIdentity(hostname, cert) { let valid = false; let reason = 'Unknown reason'; - hostname = unfqdn(hostname); // Remove trailing dot for error messages. - - if (net.isIP(hostname)) { - valid = ips.includes(canonicalizeIP(hostname)); - if (!valid) - reason = `IP: ${hostname} is not in the cert's list: ` + ips.join(', '); + if (net.isIP(hostnameASCIIWithoutFQDN)) { + valid = ips.includes(canonicalizeIP(hostnameASCIIWithoutFQDN)); + if (!valid) { + reason = + `IP: ${hostname} is not in the cert's list: ` + ips.join(', '); + } } else if (dnsNames.length > 0 || subject?.CN) { - const hostParts = splitHost(hostname); + const hostParts = splitHost(hostnameASCIIWithoutFQDN); const wildcard = (pattern) => check(hostParts, pattern, true); if (dnsNames.length > 0) { diff --git a/src/crypto/crypto_aes.cc b/src/crypto/crypto_aes.cc index fa619696ffd5..48f255175f22 100644 --- a/src/crypto/crypto_aes.cc +++ b/src/crypto/crypto_aes.cc @@ -118,7 +118,17 @@ WebCryptoCipherStatus AES_Cipher(Environment* env, } size_t total = 0; - int buf_len = data_len + ctx.getBlockSize() + (encrypt ? tag_len : 0); + const int block_size = ctx.getBlockSize(); + if (block_size < 0) { + return WebCryptoCipherStatus::FAILED; + } + int buf_len; + if (!TryGetIntCipherOutputLength( + data_len, + static_cast(block_size) + (encrypt ? tag_len : 0), + &buf_len)) { + return WebCryptoCipherStatus::FAILED; + } int out_len; ncrypto::Buffer buffer = { @@ -154,7 +164,7 @@ WebCryptoCipherStatus AES_Cipher(Environment* env, total += out_len; CHECK_LE(out_len, buf_len); - out_len = ctx.getBlockSize(); + out_len = block_size; if (!ctx.update({}, ptr + total, &out_len, true)) { return WebCryptoCipherStatus::FAILED; } diff --git a/src/crypto/crypto_chacha20_poly1305.cc b/src/crypto/crypto_chacha20_poly1305.cc index 0fd3e0517317..045236c69b6b 100644 --- a/src/crypto/crypto_chacha20_poly1305.cc +++ b/src/crypto/crypto_chacha20_poly1305.cc @@ -188,7 +188,17 @@ WebCryptoCipherStatus ChaCha20Poly1305CipherTraits::DoCipher( } size_t total = 0; - int buf_len = data_len + ctx.getBlockSize() + (encrypt ? tag_len : 0); + const int block_size = ctx.getBlockSize(); + if (block_size < 0) { + return WebCryptoCipherStatus::FAILED; + } + int buf_len; + if (!TryGetIntCipherOutputLength( + data_len, + static_cast(block_size) + (encrypt ? tag_len : 0), + &buf_len)) { + return WebCryptoCipherStatus::FAILED; + } int out_len; // Process additional authenticated data if present @@ -218,7 +228,7 @@ WebCryptoCipherStatus ChaCha20Poly1305CipherTraits::DoCipher( total += out_len; CHECK_LE(out_len, buf_len); - out_len = ctx.getBlockSize(); + out_len = block_size; if (!ctx.update({}, ptr + total, &out_len, true)) { return WebCryptoCipherStatus::FAILED; } diff --git a/src/crypto/crypto_cipher.h b/src/crypto/crypto_cipher.h index 006d18a71187..76298e430adb 100644 --- a/src/crypto/crypto_cipher.h +++ b/src/crypto/crypto_cipher.h @@ -10,6 +10,7 @@ #include "memory_tracker.h" #include "v8.h" +#include #include namespace node { @@ -124,6 +125,18 @@ enum class WebCryptoCipherStatus { FAILED }; +inline bool TryGetIntCipherOutputLength(size_t input_len, + size_t output_overhead, + int* output_len) { + static constexpr size_t kMaxLength = INT_MAX; + if (output_overhead > kMaxLength || + input_len > kMaxLength - output_overhead) { + return false; + } + *output_len = static_cast(input_len + output_overhead); + return true; +} + // CipherJob is a base implementation class for implementations of // one-shot sync and async ciphers. It has been added primarily to // support the AES and RSA ciphers underlying the WebCrypt API. diff --git a/src/node_http2.cc b/src/node_http2.cc index 084a4773673e..55bca557a81e 100644 --- a/src/node_http2.cc +++ b/src/node_http2.cc @@ -1265,6 +1265,24 @@ int Http2Session::OnFrameSent(nghttp2_session* handle, void* user_data) { Http2Session* session = static_cast(user_data); session->statistics_.frame_sent += 1; + + // If nghttp2 has internally terminated the session (e.g. due to a protocol + // error like oversized frames, padding errors, or HPACK compression + // failures), it calls nghttp2_session_terminate_session() directly which + // queues a GOAWAY but does not invoke any application-level callback. + // Detect that case here: a GOAWAY was sent but we never initiated it + // (no Close(), no session.close(), no session.goaway()). + // + // We set a flag here, and then throw the error at the end of + // SendPendingData, to wait until the GOAWAY is written before the session + // is torn down. + if (frame->hd.type == NGHTTP2_GOAWAY && !session->is_closing() && + !session->is_destroyed() && !session->IsGracefulCloseInitiated() && + !session->goaway_initiated_) { + Debug(session, "nghttp2 session terminated internally"); + session->internal_goaway_sent_ = true; + } + return 0; } @@ -1999,6 +2017,18 @@ uint8_t Http2Session::SendPendingData() { MaybeStopReading(); + // If nghttp2 has internally torn down the session (detected in OnFrameSent) + // during the nghttp2_session_mem_send loop above, at this point we error: + if (internal_goaway_sent_) { + internal_goaway_sent_ = false; + if (!is_closing() && !is_destroyed()) { + Isolate* isolate = env()->isolate(); + HandleScope scope(isolate); + Local arg = Integer::New(isolate, NGHTTP2_ERR_PROTO); + MakeCallback(env()->http2session_on_error_function(), 1, &arg); + } + } + return 0; } @@ -2940,6 +2970,7 @@ void Http2Session::Goaway(uint32_t code, if (is_destroyed()) return; + goaway_initiated_ = true; Http2Scope h2scope(this); // the last proc stream id is the most recently created Http2Stream. if (lastStreamID <= 0) diff --git a/src/node_http2.h b/src/node_http2.h index 259b71840b66..28245d7b98e0 100644 --- a/src/node_http2.h +++ b/src/node_http2.h @@ -971,6 +971,8 @@ class Http2Session : public AsyncWrap, // Flag to indicate that JavaScript has initiated a graceful closure bool graceful_close_initiated_ = false; + bool goaway_initiated_ = false; + bool internal_goaway_sent_ = false; }; struct Http2SessionPerformanceEntryTraits { diff --git a/src/node_version.h b/src/node_version.h index c83a03b776be..a7763b4d8254 100644 --- a/src/node_version.h +++ b/src/node_version.h @@ -23,7 +23,7 @@ #define SRC_NODE_VERSION_H_ #define NODE_MAJOR_VERSION 24 -#define NODE_MINOR_VERSION 16 +#define NODE_MINOR_VERSION 17 #define NODE_PATCH_VERSION 0 #define NODE_VERSION_IS_LTS 1 diff --git a/src/undici_version.h b/src/undici_version.h index eb6320d71dc6..284c8ef184ad 100644 --- a/src/undici_version.h +++ b/src/undici_version.h @@ -2,5 +2,5 @@ // Refer to tools/dep_updaters/update-undici.sh #ifndef SRC_UNDICI_VERSION_H_ #define SRC_UNDICI_VERSION_H_ -#define UNDICI_VERSION "7.25.0" +#define UNDICI_VERSION "7.28.0" #endif // SRC_UNDICI_VERSION_H_ diff --git a/test/cctest/test_node_crypto.cc b/test/cctest/test_node_crypto.cc index 53545da1a61e..0704109f901b 100644 --- a/test/cctest/test_node_crypto.cc +++ b/test/cctest/test_node_crypto.cc @@ -2,10 +2,13 @@ // and setting it to a file that does not exist. #define NODE_OPENSSL_SYSTEM_CERT_PATH "/missing/ca.pem" +#include "crypto/crypto_cipher.h" #include "crypto/crypto_context.h" +#include "gtest/gtest.h" #include "node_options.h" #include "openssl/err.h" -#include "gtest/gtest.h" + +#include /* * This test verifies that a call to NewRootCertDir with the build time @@ -48,3 +51,17 @@ TEST(NodeCrypto, MemoryTrackingConstants) { EXPECT_EQ(node::crypto::kSizeOf_X509, 128); EXPECT_EQ(node::crypto::kSizeOf_EVP_MD_CTX, 48); } + +TEST(NodeCrypto, TryGetIntCipherOutputLength) { + int output_len = 0; + + EXPECT_TRUE( + node::crypto::TryGetIntCipherOutputLength(INT_MAX - 16, 16, &output_len)); + EXPECT_EQ(output_len, INT_MAX); + + EXPECT_FALSE( + node::crypto::TryGetIntCipherOutputLength(INT_MAX - 15, 16, &output_len)); + + EXPECT_FALSE(node::crypto::TryGetIntCipherOutputLength( + 0, static_cast(INT_MAX) + 1, &output_len)); +} diff --git a/test/client-proxy/test-https-proxy-request-auth-failure.mjs b/test/client-proxy/test-https-proxy-request-auth-failure.mjs index ca0f82c97d86..0530ee03358d 100644 --- a/test/client-proxy/test-https-proxy-request-auth-failure.mjs +++ b/test/client-proxy/test-https-proxy-request-auth-failure.mjs @@ -53,6 +53,9 @@ const { code, signal, stderr } = await runProxiedRequest({ // The proxy client should get an error from proxy authentication failure. // Since the process exits cleanly but with an error, check for any error output assert.match(stderr, /407 Proxy Authentication Required/); +assert.match(stderr, /via http:\/\/localhost:\d+\/?/); +assert.doesNotMatch(stderr, /baduser/); +assert.doesNotMatch(stderr, /badpass/); assert.strictEqual(code, 0); assert.strictEqual(signal, null); diff --git a/test/parallel/test-dns-lookup.js b/test/parallel/test-dns-lookup.js index 404c5555c5fc..b13b50d042b6 100644 --- a/test/parallel/test-dns-lookup.js +++ b/test/parallel/test-dns-lookup.js @@ -23,6 +23,17 @@ const dnsPromises = dns.promises; assert.throws(() => dnsPromises.lookup(1, {}), err); } +{ + const err = { + code: 'ERR_INVALID_ARG_VALUE', + name: 'TypeError', + message: /The argument 'hostname' must be a string without null bytes\./, + }; + + assert.throws(() => dns.lookup('127.0.0.1\u0000.allowed.example', {}), err); + assert.throws(() => dnsPromises.lookup('127.0.0.1\u0000.allowed.example', {}), err); +} + // This also verifies different expectWarning notations. common.expectWarning({ // For 'internal/test/binding' module. diff --git a/test/parallel/test-http-agent-free-socket-data-guard.js b/test/parallel/test-http-agent-free-socket-data-guard.js new file mode 100644 index 000000000000..9c1a526aaebb --- /dev/null +++ b/test/parallel/test-http-agent-free-socket-data-guard.js @@ -0,0 +1,90 @@ +'use strict'; + +// Regression test for HackerOne report #3582376 +// HTTP Response Queue Poisoning via TOCTOU Race Condition in http.Agent +// +// When keepAlive is true, there is a window between a socket entering the +// freeSockets pool (parser detached) and being reassigned. If the server +// writes a full HTTP response during this window, it is consumed as the +// response for the *next* request — poisoning the response queue. +// +// The fix attaches a data guard listener + resume() on idle sockets so +// that unsolicited data causes the socket to be destroyed. + +const common = require('../common'); +const assert = require('assert'); +const http = require('http'); + +let serverSocket; + +const server = http.createServer(common.mustCall((req, res) => { + // Capture the raw socket on the first request + serverSocket ||= req.socket; + res.end(req.url); +}, 2)); // Expect request1 and request2 + +server.listen(0, common.mustCall(() => { + const agent = new http.Agent({ keepAlive: true }); + const options = { host: '127.0.0.1', port: server.address().port, agent }; + const name = agent.getName(options); + + // Step 1: Send request1 + const request1 = http.request({ ...options, path: '/request1' }); + request1.end(); + + request1.on('response', common.mustCall((response) => { + let body = ''; + response.setEncoding('utf8'); + response.on('data', (data) => { body += data; }); + response.on('end', common.mustCall(() => { + assert.strictEqual(body, '/request1'); + })); + })); + + request1.on('close', common.mustCall(() => { + // Use nextTick to ensure socket is in freeSockets + process.nextTick(common.mustCall(() => { + // Verify the socket is in the free pool with parser detached + assert.strictEqual(agent.freeSockets[name]?.length, 1); + const freeSocket = agent.freeSockets[name][0]; + assert.strictEqual(freeSocket.parser, null); + // With the fix, a data guard listener is attached + assert.strictEqual(freeSocket.listenerCount('data'), 1); + + // Step 2: Server injects a poisoned response while socket is idle + serverSocket.write( + 'HTTP/1.1 200 OK\r\n' + + 'X-Poisoned: true\r\n' + + 'Connection: keep-alive\r\n' + + 'Content-Length: 0\r\n' + + '\r\n' + ); + + // Step 3: Allow the event loop to poll I/O so the guard can fire. + // In a real attack, there is always time between the poison arriving + // and the next client request. setTimeout(0) runs after the I/O poll + // phase, giving the guard a chance to receive the poisoned data. + setTimeout(common.mustCall(() => { + // The guard should have destroyed the poisoned socket + assert.strictEqual(freeSocket.destroyed, true); + assert.strictEqual(agent.freeSockets[name], undefined); + + // Step 4: Send request2 — should get a fresh connection + const request2 = http.request({ ...options, path: '/request2' }); + request2.end(); + + request2.on('response', common.mustCall((response) => { + let body = ''; + response.setEncoding('utf8'); + response.on('data', (data) => { body += data; }); + response.on('end', common.mustCall(() => { + assert.strictEqual(response.headers['x-poisoned'], undefined); + assert.strictEqual(body, '/request2'); + agent.destroy(); + server.close(); + })); + })); + }), 50); + })); + })); +})); diff --git a/test/parallel/test-http-agent-keepalive.js b/test/parallel/test-http-agent-keepalive.js index f7424634df1b..e4f5c09de2db 100644 --- a/test/parallel/test-http-agent-keepalive.js +++ b/test/parallel/test-http-agent-keepalive.js @@ -149,7 +149,8 @@ server.listen(0, common.mustCall(() => { function checkListeners(socket) { const callback = common.mustCall(() => { if (!socket.destroyed) { - assert.strictEqual(socket.listenerCount('data'), 0); + // Sockets have freeSocketDataGuard while in the free pool. + assert.strictEqual(socket.listenerCount('data'), 1); assert.strictEqual(socket.listenerCount('drain'), 0); // Sockets have freeSocketErrorListener. assert.strictEqual(socket.listenerCount('error'), 1); diff --git a/test/parallel/test-http2-misbehaving-flow-control-paused.js b/test/parallel/test-http2-misbehaving-flow-control-paused.js index 7059cf950e69..b9a0d5cb81ec 100644 --- a/test/parallel/test-http2-misbehaving-flow-control-paused.js +++ b/test/parallel/test-http2-misbehaving-flow-control-paused.js @@ -47,23 +47,29 @@ const data = Buffer.from([ // Bad client! Bad! // // Fortunately, nghttp2 handles this situation for us by keeping track -// of the flow control window and responding with a FLOW_CONTROL_ERROR -// causing the stream to get shut down... -// -// At least, that's what is supposed to happen. +// of the flow control window and sending GOAWAY to end the session. let client; const server = h2.createServer({ settings: { initialWindowSize: 36 } }); + +server.on('session', common.mustCall((session) => { + session.on('error', common.expectsError({ + code: 'ERR_HTTP2_ERROR', + name: 'Error', + message: 'Protocol error' + })); +})); + server.on('stream', common.mustCall((stream) => { // Set the high water mark to zero, since otherwise we still accept // reads from the source stream (if we can consume them). stream._readableState.highWaterMark = 0; stream.pause(); stream.on('error', common.expectsError({ - code: 'ERR_HTTP2_STREAM_ERROR', + code: 'ERR_HTTP2_ERROR', name: 'Error', - message: 'Stream closed with error code NGHTTP2_FLOW_CONTROL_ERROR' + message: 'Protocol error' })); stream.on('close', common.mustCall(() => { server.close(); @@ -72,11 +78,14 @@ server.on('stream', common.mustCall((stream) => { stream.on('end', common.mustNotCall()); })); -server.listen(0, () => { - client = net.connect(server.address().port, () => { +server.listen(0, common.mustCall(() => { + client = net.connect(server.address().port, common.mustCall(() => { client.write(preamble); client.write(data); client.write(data); client.write(data); - }); -}); + + // TCP connection is closed by the server + client.on('close', common.mustCall()); + })); +})); diff --git a/test/parallel/test-http2-misbehaving-flow-control.js b/test/parallel/test-http2-misbehaving-flow-control.js index 0fb876ecdd40..fb0f7a1e0f9a 100644 --- a/test/parallel/test-http2-misbehaving-flow-control.js +++ b/test/parallel/test-http2-misbehaving-flow-control.js @@ -58,18 +58,24 @@ const data = Buffer.from([ // Bad client! Bad! // // Fortunately, nghttp2 handles this situation for us by keeping track -// of the flow control window and responding with a FLOW_CONTROL_ERROR -// causing the stream to get shut down... -// -// At least, that's what is supposed to happen. +// of the flow control window and sending GOAWAY to end the session. let client; const server = h2.createServer({ settings: { initialWindowSize: 18 } }); + +server.on('session', common.mustCall((session) => { + session.on('error', common.expectsError({ + code: 'ERR_HTTP2_ERROR', + name: 'Error', + message: 'Protocol error' + })); +})); + server.on('stream', common.mustCall((stream) => { stream.on('error', common.expectsError({ - code: 'ERR_HTTP2_STREAM_ERROR', + code: 'ERR_HTTP2_ERROR', name: 'Error', - message: 'Stream closed with error code NGHTTP2_FLOW_CONTROL_ERROR' + message: 'Protocol error' })); stream.on('close', common.mustCall(() => { server.close(common.mustCall()); @@ -82,10 +88,13 @@ server.on('stream', common.mustCall((stream) => { server.on('close', common.mustCall()); -server.listen(0, () => { - client = net.connect(server.address().port, () => { +server.listen(0, common.mustCall(() => { + client = net.connect(server.address().port, common.mustCall(() => { client.write(preamble); client.write(data); client.write(data); - }); -}); + + // TCP connection is closed by the server + client.on('close', common.mustCall()); + })); +})); diff --git a/test/parallel/test-http2-options-max-headers-exceeds-nghttp2.js b/test/parallel/test-http2-options-max-headers-exceeds-nghttp2.js index 7767dbbc5038..46f560f96c27 100644 --- a/test/parallel/test-http2-options-max-headers-exceeds-nghttp2.js +++ b/test/parallel/test-http2-options-max-headers-exceeds-nghttp2.js @@ -90,11 +90,19 @@ server.listen(0, common.mustCall(() => { 0, common.mustCall(() => { const client = h2.connect(`http://localhost:${server.address().port}`); - client.on('error', common.mustNotCall()); + // The server sends oversized headers that cause a compression error on + // the client side, so nghttp2 internally terminates the client session. + client.on('error', common.expectsError({ + code: 'ERR_HTTP2_ERROR', + name: 'Error', + })); const req = client.request(); req.on('response', common.mustNotCall()); - req.on('error', common.mustNotCall()); + req.on('error', common.expectsError({ + code: 'ERR_HTTP2_ERROR', + name: 'Error', + })); req.end(); }), ); diff --git a/test/parallel/test-http2-origin-set-max-size.mjs b/test/parallel/test-http2-origin-set-max-size.mjs new file mode 100644 index 000000000000..08bdf1ed7f97 --- /dev/null +++ b/test/parallel/test-http2-origin-set-max-size.mjs @@ -0,0 +1,110 @@ +import { + expectsError, + hasCrypto, + mustCall, + mustNotCall, + mustSucceed, + skip, +} from '../common/index.mjs'; +import * as fixtures from '../common/fixtures.mjs'; +import assert from 'node:assert'; + +if (!hasCrypto) + skip('missing crypto'); + +const { + createSecureServer, + connect, +} = await import('node:http2'); + +const key = fixtures.readKey('agent8-key.pem', 'binary'); +const cert = fixtures.readKey('agent8-cert.pem', 'binary'); +const ca = fixtures.readKey('fake-startcom-root-cert.pem', 'binary'); + +const server = createSecureServer({ key, cert }); +server.on('stream', (stream) => { + stream.respond(); + stream.end('ok'); +}); +server.on('session', (session) => { + let i = 0; + const timer = setInterval(() => { + try { + session.origin(...Array.from({ length: 10 }, () => `https://o${i++}.example.com`)); + } catch { + clearInterval(timer); + } + }, 10); + + session.on('close', () => { + clearInterval(timer); + }); +}); + +await new Promise((resolve) => server.listen(0, resolve)); + +// Test fantasist values +[Symbol(), '0', 1n, {}, [], true, false, /s/, () => {}].forEach((maxOriginSetSize) => { + assert.throws( + () => connect(`https://localhost:${server.address().port}`, { ca, maxOriginSetSize }), + { code: 'ERR_INVALID_ARG_TYPE' }, + ); +}); +[NaN, -1].forEach((maxOriginSetSize) => { + assert.throws( + () => connect(`https://localhost:${server.address().port}`, { ca, maxOriginSetSize }), + { code: 'ERR_OUT_OF_RANGE' }, + ); +}); + +await new Promise((resolve) => server.getConnections(mustSucceed((count) => { + assert.strictEqual(count, 0); + resolve(); +}))); + +// Test default value +await new Promise((resolve) => { + const client = connect(`https://localhost:${server.address().port}`, { ca }); + + client.on('origin', mustCall(12)); // Default value is 128, the first 12 frames should pass, the 13th one should error + client.on('error', expectsError({ + code: 'ERR_HTTP2_TOO_MANY_ORIGINS', + })); + client.on('goaway', mustNotCall()); + client.on('close', resolve); + + client.request().resume(); +}); + +// Test non-default values +await Promise.all([-0, 9, 1.5].map((maxOriginSetSize) => new Promise((resolve) => { + const client = connect(`https://localhost:${server.address().port}`, { ca, maxOriginSetSize }); + + client.on('origin', mustNotCall()); // The server send 10 origins on the first frame, that's already too many. + client.on('error', expectsError({ + code: 'ERR_HTTP2_TOO_MANY_ORIGINS', + })); + client.on('goaway', mustNotCall()); + client.on('close', resolve); + + client.request().resume(); +}))); + + +// Test values higher than the default value +await Promise.all([512, Infinity].map((maxOriginSetSize) => new Promise((resolve) => { + const client = connect(`https://localhost:${server.address().port}`, { ca, maxOriginSetSize }); + + client.on('origin', mustCall(() => { + if (client.originSet.length > 128) { + client.destroy(); + } + }, 13)); + client.on('error', mustNotCall()); + client.on('goaway', mustNotCall()); + client.on('close', resolve); + + client.request().resume(); +}))); + +server.close(); diff --git a/test/parallel/test-http2-session-cleanup-on-nghttp2-goaway.js b/test/parallel/test-http2-session-cleanup-on-nghttp2-goaway.js new file mode 100644 index 000000000000..f3576f9f59bc --- /dev/null +++ b/test/parallel/test-http2-session-cleanup-on-nghttp2-goaway.js @@ -0,0 +1,91 @@ +'use strict'; + +const common = require('../common'); + +if (!common.hasCrypto) + common.skip('missing crypto'); + +const http2 = require('http2'); +const net = require('net'); + +// When nghttp2 internally sends a GOAWAY frame due to a protocol error, it +// may call nghttp2_session_terminate_session() directly, bypassing the +// on_invalid_frame_recv_callback entirely. This test ensures that even +// in that scenario, we still correctly clean up the session & connection. +// +// This test reproduces this with a client who sends a frame header with +// a length exceeding the default max_frame_size (16384). nghttp2 responds +// with GOAWAY(FRAME_SIZE_ERROR) without notifying Node through any callback. + +const server = http2.createServer(); + +server.on('session', common.mustCall((session) => { + session.on('error', common.expectsError({ + code: 'ERR_HTTP2_ERROR', + name: 'Error', + message: 'Protocol error' + })); + + session.on('close', common.mustCall(() => server.close())); +})); + +server.listen(0, common.mustCall(() => { + const conn = net.connect({ + port: server.address().port, + allowHalfOpen: true, + }); + + // HTTP/2 client connection preface. + conn.write('PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n'); + + // Empty SETTINGS frame. + const settingsFrame = Buffer.alloc(9); + settingsFrame[3] = 0x04; // type: SETTINGS + conn.write(settingsFrame); + + let inbuf = Buffer.alloc(0); + let state = 'settingsHeader'; + let settingsFrameLength; + + conn.on('data', (chunk) => { + inbuf = Buffer.concat([inbuf, chunk]); + + switch (state) { + case 'settingsHeader': + if (inbuf.length < 9) return; + settingsFrameLength = inbuf.readUIntBE(0, 3); + inbuf = inbuf.slice(9); + state = 'readingSettings'; + // Fallthrough + case 'readingSettings': { + if (inbuf.length < settingsFrameLength) return; + inbuf = inbuf.slice(settingsFrameLength); + state = 'done'; + + // ACK the server SETTINGS. + const ack = Buffer.alloc(9); + ack[3] = 0x04; // type: SETTINGS + ack[4] = 0x01; // flag: ACK + conn.write(ack); + + // Send a HEADERS frame header claiming length 16385, which exceeds + // the default max_frame_size of 16384. nghttp2 checks the length + // before reading any payload, so no body is needed. This triggers + // nghttp2_session_terminate_session(FRAME_SIZE_ERROR) directly in + // nghttp2_session_mem_recv2 — bypassing on_invalid_frame_recv_callback. + const oversized = Buffer.alloc(9); + oversized.writeUIntBE(16385, 0, 3); // length: 16385 (one over max) + oversized[3] = 0x01; // type: HEADERS + oversized[4] = 0x04; // flags: END_HEADERS + oversized.writeUInt32BE(1, 5); // stream id: 1 + conn.write(oversized); + + // No need to write the data - the header alone triggers the check. + } + } + }); + + // The server must close the connection after sending GOAWAY: + conn.on('end', common.mustCall(() => conn.end())); + conn.on('close', common.mustCall()); +})); diff --git a/test/parallel/test-http2-session-reuse-different-authority.js b/test/parallel/test-http2-session-reuse-different-authority.js new file mode 100644 index 000000000000..d76f17a728f3 --- /dev/null +++ b/test/parallel/test-http2-session-reuse-different-authority.js @@ -0,0 +1,146 @@ +'use strict'; +const common = require('../common'); +if (!common.hasCrypto) + common.skip('missing crypto'); + +const assert = require('assert'); +const fixtures = require('../common/fixtures'); +const h2 = require('http2'); +const tls = require('tls'); +const { once } = require('events'); + +function load(name) { + return fixtures.readKey(name); +} + +const contexts = { + agent1: tls.createSecureContext({ + key: load('agent1-key.pem'), + cert: load('agent1-cert.pem'), + }), + agent3: tls.createSecureContext({ + key: load('agent3-key.pem'), + cert: load('agent3-cert.pem'), + }), +}; + +function makeRequest(server, authority, options) { + return new Promise((resolve, reject) => { + let session; + let settled = false; + + function done(err, result) { + if (settled) + return; + settled = true; + + if (err) { + client.destroy(); + reject(err); + return; + } + + client.close(); + resolve({ session, result }); + } + + const client = h2.connect(authority, { + ...options, + ALPNProtocols: ['h2'], + createConnection(url, connectOptions) { + const socket = tls.connect({ + ...connectOptions, + ALPNProtocols: ['h2'], + host: '127.0.0.1', + port: server.address().port, + servername: connectOptions.servername || url.hostname, + }); + + socket.once('session', (value) => { + if (session === undefined) + session = value; + }); + + return socket; + }, + }); + + client.once('error', (err) => done(err)); + client.once('connect', () => { + const req = client.request({ ':path': '/' }); + req.setEncoding('utf8'); + req.on('response', () => {}); + req.on('error', (err) => done(err)); + req.on('data', () => {}); + req.on('end', () => { + done(null, { + authority: client.socket.servername, + authorized: client.socket.authorized, + reused: client.socket.isSessionReused(), + authorizationError: client.socket.authorizationError, + }); + }); + req.end(); + }); + }); +} + +const server = h2.createSecureServer({ + key: load('agent1-key.pem'), + cert: load('agent1-cert.pem'), + allowHTTP1: false, + minVersion: 'TLSv1.2', + maxVersion: 'TLSv1.2', + SNICallback(servername, cb) { + cb(null, contexts[servername] || contexts.agent1); + }, +}); + +server.on('stream', (stream) => { + stream.respond({ ':status': 200 }); + stream.end('ok'); +}); + +(async function() { + server.listen(0); + await once(server, 'listening'); + + try { + const port = server.address().port; + const first = await makeRequest(server, `https://agent1:${port}`, { + ca: [load('ca1-cert.pem')], + minVersion: 'TLSv1.2', + maxVersion: 'TLSv1.2', + }); + + assert.strictEqual(first.result.authorized, true); + assert.strictEqual(first.result.reused, false); + assert(first.session); + + await assert.rejects( + makeRequest(server, `https://agent3:${port}`, { + ca: [load('ca1-cert.pem')], + minVersion: 'TLSv1.2', + maxVersion: 'TLSv1.2', + session: first.session, + }), + { + code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE', + }, + ); + + await assert.rejects( + makeRequest(server, `https://agent3:${port}`, { + ca: [load('ca1-cert.pem')], + minVersion: 'TLSv1.2', + maxVersion: 'TLSv1.2', + }), + { + code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE', + }, + ); + } finally { + server.close(); + await once(server, 'close'); + } +})().then(common.mustCall()); diff --git a/test/parallel/test-https-session-reuse-different-servername.js b/test/parallel/test-https-session-reuse-different-servername.js new file mode 100644 index 000000000000..138acd693501 --- /dev/null +++ b/test/parallel/test-https-session-reuse-different-servername.js @@ -0,0 +1,126 @@ +'use strict'; +const common = require('../common'); +if (!common.hasCrypto) + common.skip('missing crypto'); + +const assert = require('assert'); +const fixtures = require('../common/fixtures'); +const https = require('https'); +const tls = require('tls'); +const { once } = require('events'); + +function load(name) { + return fixtures.readKey(name); +} + +const contexts = { + agent1: tls.createSecureContext({ + key: load('agent1-key.pem'), + cert: load('agent1-cert.pem'), + }), + agent3: tls.createSecureContext({ + key: load('agent3-key.pem'), + cert: load('agent3-cert.pem'), + }), +}; + +function request(options) { + return new Promise((resolve, reject) => { + const req = https.get({ + ...options, + host: '127.0.0.1', + agent: false, + }, (res) => { + res.resume(); + res.once('end', () => resolve(res)); + }); + + req.once('error', reject); + }); +} + +async function requestAndCaptureSession(options) { + let sessionResolve; + const sessionPromise = new Promise((resolve) => { + sessionResolve = resolve; + }); + + const req = https.get({ + ...options, + host: '127.0.0.1', + agent: false, + }); + + req.on('socket', (socket) => { + socket.once('session', sessionResolve); + }); + + const res = await new Promise((resolve, reject) => { + req.once('response', resolve); + req.once('error', reject); + }); + + assert.strictEqual(res.socket.authorized, true); + assert.strictEqual(res.socket.isSessionReused(), false); + + res.resume(); + await once(res, 'end'); + + const session = await sessionPromise; + assert(session); + return session; +} + +const server = https.createServer({ + key: load('agent1-key.pem'), + cert: load('agent1-cert.pem'), + minVersion: 'TLSv1.2', + maxVersion: 'TLSv1.2', + SNICallback(servername, cb) { + cb(null, contexts[servername] || contexts.agent1); + }, +}, (req, res) => { + res.end('ok'); +}); + +(async function() { + server.listen(0); + await once(server, 'listening'); + + try { + const session = await requestAndCaptureSession({ + port: server.address().port, + servername: 'agent1', + rejectUnauthorized: true, + ca: [load('ca1-cert.pem')], + }); + + await assert.rejects( + request({ + port: server.address().port, + servername: 'agent3', + session, + rejectUnauthorized: true, + ca: [load('ca1-cert.pem')], + }), + { + code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE', + }, + ); + + await assert.rejects( + request({ + port: server.address().port, + servername: 'agent3', + rejectUnauthorized: true, + ca: [load('ca1-cert.pem')], + }), + { + code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE', + }, + ); + } finally { + server.close(); + await once(server, 'close'); + } +})().then(common.mustCall()); diff --git a/test/parallel/test-net-connect-options-invalid.js b/test/parallel/test-net-connect-options-invalid.js index 3c748b151610..fadbedf3594c 100644 --- a/test/parallel/test-net-connect-options-invalid.js +++ b/test/parallel/test-net-connect-options-invalid.js @@ -37,3 +37,16 @@ const net = require('net'); name: 'TypeError', }); } + +{ + assert.throws(() => { + net.createConnection({ + host: '127.0.0.1\u0000.allowed.example', + port: 8080, + }); + }, { + code: 'ERR_INVALID_ARG_VALUE', + name: 'TypeError', + message: /The property 'options\.host' must be a string without null bytes\./, + }); +} diff --git a/test/parallel/test-permission-fs-filehandle-utimes.js b/test/parallel/test-permission-fs-filehandle-utimes.js new file mode 100644 index 000000000000..881574f89925 --- /dev/null +++ b/test/parallel/test-permission-fs-filehandle-utimes.js @@ -0,0 +1,33 @@ +// Flags: --permission --allow-fs-read=* +'use strict'; + +const common = require('../common'); +const { isMainThread } = require('worker_threads'); + +if (!isMainThread) { + common.skip('This test only works on a main thread'); +} + +if (!common.hasCrypto) { + common.skip('no crypto'); +} + +const assert = require('assert'); +const { open } = require('fs/promises'); +const fixtures = require('../common/fixtures'); + +const regularFile = fixtures.path('permission', 'deny', 'regular-file.md'); + +// FileHandle.utimes() must be blocked when the permission model is enabled, +// consistent with fs.futimes() / fs.futimesSync(). +(async () => { + const fh = await open(regularFile, 'r'); + try { + await assert.rejects( + fh.utimes(Date.now(), Date.now()), + common.expectsError({ code: 'ERR_ACCESS_DENIED' }), + ); + } finally { + await fh.close(); + } +})().then(common.mustCall()); diff --git a/test/parallel/test-permission-fs-write-report.js b/test/parallel/test-permission-fs-write-report.js index a5f8d74904fe..595f83b26807 100644 --- a/test/parallel/test-permission-fs-write-report.js +++ b/test/parallel/test-permission-fs-write-report.js @@ -1,7 +1,7 @@ -// Flags: --permission --allow-fs-read=* 'use strict'; const common = require('../common'); +const { spawnSyncAndExitWithoutError } = require('../common/child_process'); const { isMainThread } = require('worker_threads'); if (!isMainThread) { @@ -12,7 +12,21 @@ if (!common.hasCrypto) { common.skip('no crypto'); } +// We need to define the flags dynamically to account for the `NODE_TEST_DIR` env var. +if (!process.permission) { + spawnSyncAndExitWithoutError(process.execPath, [ + '--permission', + '--allow-fs-read=*', `--allow-fs-write=${process.env.NODE_TEST_DIR || './test'}/.tmp.*`, '--allow-child-process', + __filename, + ]); + return; +} + const assert = require('assert'); +const path = require('path'); +const tmpdir = require('../common/tmpdir'); + +tmpdir.refresh(); { assert.throws(() => { @@ -33,3 +47,29 @@ const assert = require('assert'); resource: process.cwd(), })); } + +{ + const reportPath = path.join(tmpdir.path, 'report.json'); + spawnSyncAndExitWithoutError( + process.execPath, + [ + '--permission', + '--allow-fs-read=*', + `--allow-fs-write=${tmpdir.path}/*`, + '-e', + `process.report.writeReport(${JSON.stringify(reportPath)})`, + ] + ); +} + +spawnSyncAndExitWithoutError( + process.execPath, + [ + '--permission', + '--allow-fs-read=*', + `--allow-fs-write=${tmpdir.path}`, + '-e', + 'process.report.writeReport()', + ], + { cwd: tmpdir.path } +); diff --git a/test/parallel/test-tls-check-server-identity.js b/test/parallel/test-tls-check-server-identity.js index 6918638230c4..4863fca55165 100644 --- a/test/parallel/test-tls-check-server-identity.js +++ b/test/parallel/test-tls-check-server-identity.js @@ -381,6 +381,15 @@ const tests = [ error: 'Host: localhost. is not in the cert\'s altnames: ' + 'DNS:a.com' }, + { + host: 'foo。bar.example.com', + cert: { + subjectaltname: 'DNS:*.example.com', + subject: {} + }, + error: 'Host: foo。bar.example.com. is not in the cert\'s altnames: ' + + 'DNS:*.example.com' + }, // IDNA { host: 'xn--bcher-kva.example.com', diff --git a/test/parallel/test-tls-session-reuse-different-servername.js b/test/parallel/test-tls-session-reuse-different-servername.js new file mode 100644 index 000000000000..c3ae4be15785 --- /dev/null +++ b/test/parallel/test-tls-session-reuse-different-servername.js @@ -0,0 +1,122 @@ +'use strict'; +const common = require('../common'); +if (!common.hasCrypto) + common.skip('missing crypto'); + +const assert = require('assert'); +const fixtures = require('../common/fixtures'); +const tls = require('tls'); +const { once } = require('events'); + +function load(name) { + return fixtures.readKey(name); +} + +const contexts = { + agent1: tls.createSecureContext({ + key: load('agent1-key.pem'), + cert: load('agent1-cert.pem'), + }), + agent3: tls.createSecureContext({ + key: load('agent3-key.pem'), + cert: load('agent3-cert.pem'), + }), +}; + +function connect(options) { + return new Promise((resolve, reject) => { + const socket = tls.connect(options); + socket.once('secureConnect', () => resolve(socket)); + socket.once('error', reject); + socket.resume(); + }); +} + +async function connectAndCaptureSession(options) { + const socket = tls.connect(options); + const sessionPromise = once(socket, 'session').then(([session]) => session); + + socket.resume(); + await once(socket, 'secureConnect'); + + assert.strictEqual(socket.authorized, true); + assert.strictEqual(socket.isSessionReused(), false); + + const session = await sessionPromise; + assert(session); + + await once(socket, 'close'); + return session; +} + +async function testVersion(minVersion, maxVersion) { + const server = tls.createServer({ + key: load('agent1-key.pem'), + cert: load('agent1-cert.pem'), + minVersion, + maxVersion, + SNICallback(servername, cb) { + cb(null, contexts[servername] || contexts.agent1); + }, + }, (socket) => { + socket.end('ok'); + }); + + server.listen(0); + await once(server, 'listening'); + + try { + const port = server.address().port; + const session = await connectAndCaptureSession({ + port, + host: '127.0.0.1', + servername: 'agent1', + minVersion, + maxVersion, + ca: [load('ca1-cert.pem')], + }); + + await assert.rejects( + connect({ + port, + host: '127.0.0.1', + servername: 'agent3', + session, + minVersion, + maxVersion, + ca: [load('ca1-cert.pem')], + }).then((socket) => { + socket.destroy(); + return socket; + }), + { + code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE', + }, + ); + + await assert.rejects( + connect({ + port, + host: '127.0.0.1', + servername: 'agent3', + minVersion, + maxVersion, + ca: [load('ca1-cert.pem')], + }).then((socket) => { + socket.destroy(); + return socket; + }), + { + code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE', + }, + ); + } finally { + server.close(); + await once(server, 'close'); + } +} + +(async function() { + await testVersion('TLSv1.2', 'TLSv1.2'); + await testVersion('TLSv1.3', 'TLSv1.3'); +})().then(common.mustCall()); diff --git a/test/parallel/test-tls-sni-case-insensitive.js b/test/parallel/test-tls-sni-case-insensitive.js new file mode 100644 index 000000000000..9a28a8c660ff --- /dev/null +++ b/test/parallel/test-tls-sni-case-insensitive.js @@ -0,0 +1,79 @@ +'use strict'; +const common = require('../common'); +if (!common.hasCrypto) + common.skip('missing crypto'); + +// Test that SNI context matching is case-insensitive, as required by +// RFC 6066 Section 3 and RFC 6125. Uppercase SNI hostnames must select +// the same context as their lowercase equivalents. + +const assert = require('assert'); +const tls = require('tls'); +const fixtures = require('../common/fixtures'); + +function loadPEM(n) { + return fixtures.readKey(`${n}.pem`); +} + +const serverOptions = { + key: loadPEM('agent2-key'), + cert: loadPEM('agent2-cert'), +}; + +const SNIContexts = { + 'a.example.com': { + key: loadPEM('agent1-key'), + cert: loadPEM('agent1-cert'), + }, + '*.test.com': { + key: loadPEM('agent3-key'), + cert: loadPEM('agent3-cert'), + }, +}; + +const tests = [ + // Exact match, uppercase + { servername: 'A.EXAMPLE.COM', expectedCert: 'agent1', desc: 'uppercase exact' }, + // Mixed case + { servername: 'A.Example.Com', expectedCert: 'agent1', desc: 'mixed case exact' }, + // Wildcard match, uppercase + { servername: 'B.TEST.COM', expectedCert: 'agent3', desc: 'uppercase wildcard' }, + // Wildcard match, mixed case + { servername: 'b.Test.Com', expectedCert: 'agent3', desc: 'mixed case wildcard' }, + // Lowercase still works + { servername: 'a.example.com', expectedCert: 'agent1', desc: 'lowercase exact' }, +]; + +let remaining = tests.length; + +for (const { servername, expectedCert, desc } of tests) { + const server = tls.createServer(serverOptions, common.mustCall((c) => { + // The server should have selected the correct SNI context regardless of case + const cert = c.getCertificate(); + assert.strictEqual( + cert.subject.CN, expectedCert, + `${desc}: expected server cert CN=${expectedCert}, got ${cert.subject.CN}` + ); + c.end(); + })); + + server.addContext('a.example.com', SNIContexts['a.example.com']); + server.addContext('*.test.com', SNIContexts['*.test.com']); + + server.listen(0, common.mustCall(() => { + const client = tls.connect({ + port: server.address().port, + servername, + rejectUnauthorized: false, + }, common.mustCall(() => { + client.end(); + })); + + client.on('close', common.mustCall(() => { + server.close(); + if (--remaining === 0) { + process.stdout.write('all tests passed\n'); + } + })); + })); +}