Forráskód Böngészése

Update to OpenSSL 3.3.1

For RCU mapping to plain locks, see comments in conf_mod.c

Source commit: b10a31df63a30f656a6f406e0f7b5ce924a3fb76
Martin Prikryl 1 éve
szülő
commit
6f5b37be11

+ 1 - 1
libs/openssl/Makefile

@@ -24,7 +24,7 @@ CFLAG= \
     -DOPENSSL_NO_SEED -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_ENGINE -DOPENSSL_NO_ZLIB \
     -DOPENSSL_NO_QUIC -DOPENSSL_NO_BROTLI -DOPENSSL_NO_COMP -DOPENSSL_NO_COMP_ALG \
     -DOPENSSL_NO_TFO -DOPENSSL_NO_ASYNC \
-    -DNO_INTERLOCKEDOR64 \
+    -DNO_INTERLOCKEDOR64 -DOPENSSL_NO_QLOG \
     -DWINSCP
 
 # Copied from generated OpenSSL "makefile"

+ 29 - 0
libs/openssl/crypto/conf/conf_mod.c

@@ -11,7 +11,9 @@
 #define OPENSSL_SUPPRESS_DEPRECATED
 
 #include "internal/cryptlib.h"
+#ifndef WinSCP
 #include "internal/rcu.h"
+#endif
 #include <stdio.h>
 #include <ctype.h>
 #include <openssl/crypto.h>
@@ -24,6 +26,33 @@
 #include <openssl/engine.h>
 #include "conf_local.h"
 
+#ifdef WINSCP
+
+// UPGRADE
+// RCU cannot be used in C++ Builder XE6 as it does not support Interlocked* intrinsic.
+// Mapping RCU API to plain locks.
+// This is effectivelly a rollback of
+// https://github.com/openssl/openssl/commit/504e72fc1a1432d5266bd6e8909648c49884a36c
+
+// Localized to this unit only, as it is the only one that uses RCU currently.
+// And we want to know when more uses emerge.
+
+#define CRYPTO_RCU_LOCK CRYPTO_RWLOCK
+
+#define ossl_rcu_lock_new(num_writers) CRYPTO_THREAD_lock_new()
+#define ossl_rcu_lock_free CRYPTO_THREAD_lock_free
+// CRYPTO_THREAD_*_lock return boolean result, while ossl_rcu_*_lock are void.
+// But the CRYPTO_THREAD_*_lock actually always returns 1/true, so it's safe to ignore the result.
+#define ossl_rcu_read_lock CRYPTO_THREAD_read_lock
+#define ossl_rcu_write_lock CRYPTO_THREAD_write_lock
+#define ossl_rcu_write_unlock CRYPTO_THREAD_unlock
+#define ossl_rcu_read_unlock CRYPTO_THREAD_unlock
+#define ossl_synchronize_rcu(lock)
+#define ossl_rcu_deref(p) (*(p))
+#define ossl_rcu_assign_ptr(p, v) (*(p)) = (*(v))
+
+#endif // WINSCP
+
 DEFINE_STACK_OF(CONF_MODULE)
 DEFINE_STACK_OF(CONF_IMODULE)
 

+ 4 - 0
libs/openssl/crypto/params_idx.c

@@ -1477,6 +1477,10 @@ int ossl_param_find_pidx(const char *s)
                             }
                         }
                         break;
+                    case 'd':
+                        if (strcmp("erive-from-pq", s + 5) == 0)
+                            return PIDX_PKEY_PARAM_RSA_DERIVE_FROM_PQ;
+                        break;
                     case 'e':
                         switch(s[5]) {
                         default:

+ 5 - 0
libs/openssl/crypto/threads_win.c

@@ -32,7 +32,9 @@
 #include "internal/common.h"
 #include "internal/thread_arch.h"
 #include "internal/rcu.h"
+#ifndef WINSCP
 #include "rcu_internal.h"
+#endif
 
 #if defined(OPENSSL_THREADS) && !defined(CRYPTO_TDEBUG) && defined(OPENSSL_SYS_WINDOWS)
 
@@ -43,6 +45,8 @@ typedef struct {
 } CRYPTO_win_rwlock;
 # endif
 
+#ifndef WINSCP
+
 static CRYPTO_THREAD_LOCAL rcu_thr_key;
 
 # define READER_SHIFT 0
@@ -391,6 +395,7 @@ void ossl_rcu_assign_uptr(void **p, void **v)
     InterlockedExchangePointer((void * volatile *)p, (void *)*v);
 }
 
+#endif // WINSCP
 
 CRYPTO_RWLOCK *CRYPTO_THREAD_lock_new(void)
 {

+ 70 - 69
libs/openssl/include/internal/param_names.h

@@ -14,7 +14,7 @@
 int ossl_param_find_pidx(const char *s);
 
 /* Parameter name definitions - generated by util/perl/OpenSSL/paramnames.pm */
-#define NUM_PIDX 290
+#define NUM_PIDX 291
 
 #define PIDX_ALG_PARAM_CIPHER 0
 #define PIDX_ALG_PARAM_DIGEST 1
@@ -291,86 +291,87 @@ int ossl_param_find_pidx(const char *s);
 #define PIDX_PKEY_PARAM_RSA_COEFFICIENT8 221
 #define PIDX_PKEY_PARAM_RSA_COEFFICIENT9 222
 #define PIDX_PKEY_PARAM_RSA_D 223
+#define PIDX_PKEY_PARAM_RSA_DERIVE_FROM_PQ 224
 #define PIDX_PKEY_PARAM_RSA_DIGEST PIDX_PKEY_PARAM_DIGEST
 #define PIDX_PKEY_PARAM_RSA_DIGEST_PROPS PIDX_PKEY_PARAM_PROPERTIES
-#define PIDX_PKEY_PARAM_RSA_E 224
-#define PIDX_PKEY_PARAM_RSA_EXPONENT 225
-#define PIDX_PKEY_PARAM_RSA_EXPONENT1 226
-#define PIDX_PKEY_PARAM_RSA_EXPONENT10 227
-#define PIDX_PKEY_PARAM_RSA_EXPONENT2 228
-#define PIDX_PKEY_PARAM_RSA_EXPONENT3 229
-#define PIDX_PKEY_PARAM_RSA_EXPONENT4 230
-#define PIDX_PKEY_PARAM_RSA_EXPONENT5 231
-#define PIDX_PKEY_PARAM_RSA_EXPONENT6 232
-#define PIDX_PKEY_PARAM_RSA_EXPONENT7 233
-#define PIDX_PKEY_PARAM_RSA_EXPONENT8 234
-#define PIDX_PKEY_PARAM_RSA_EXPONENT9 235
-#define PIDX_PKEY_PARAM_RSA_FACTOR 236
-#define PIDX_PKEY_PARAM_RSA_FACTOR1 237
-#define PIDX_PKEY_PARAM_RSA_FACTOR10 238
-#define PIDX_PKEY_PARAM_RSA_FACTOR2 239
-#define PIDX_PKEY_PARAM_RSA_FACTOR3 240
-#define PIDX_PKEY_PARAM_RSA_FACTOR4 241
-#define PIDX_PKEY_PARAM_RSA_FACTOR5 242
-#define PIDX_PKEY_PARAM_RSA_FACTOR6 243
-#define PIDX_PKEY_PARAM_RSA_FACTOR7 244
-#define PIDX_PKEY_PARAM_RSA_FACTOR8 245
-#define PIDX_PKEY_PARAM_RSA_FACTOR9 246
+#define PIDX_PKEY_PARAM_RSA_E 225
+#define PIDX_PKEY_PARAM_RSA_EXPONENT 226
+#define PIDX_PKEY_PARAM_RSA_EXPONENT1 227
+#define PIDX_PKEY_PARAM_RSA_EXPONENT10 228
+#define PIDX_PKEY_PARAM_RSA_EXPONENT2 229
+#define PIDX_PKEY_PARAM_RSA_EXPONENT3 230
+#define PIDX_PKEY_PARAM_RSA_EXPONENT4 231
+#define PIDX_PKEY_PARAM_RSA_EXPONENT5 232
+#define PIDX_PKEY_PARAM_RSA_EXPONENT6 233
+#define PIDX_PKEY_PARAM_RSA_EXPONENT7 234
+#define PIDX_PKEY_PARAM_RSA_EXPONENT8 235
+#define PIDX_PKEY_PARAM_RSA_EXPONENT9 236
+#define PIDX_PKEY_PARAM_RSA_FACTOR 237
+#define PIDX_PKEY_PARAM_RSA_FACTOR1 238
+#define PIDX_PKEY_PARAM_RSA_FACTOR10 239
+#define PIDX_PKEY_PARAM_RSA_FACTOR2 240
+#define PIDX_PKEY_PARAM_RSA_FACTOR3 241
+#define PIDX_PKEY_PARAM_RSA_FACTOR4 242
+#define PIDX_PKEY_PARAM_RSA_FACTOR5 243
+#define PIDX_PKEY_PARAM_RSA_FACTOR6 244
+#define PIDX_PKEY_PARAM_RSA_FACTOR7 245
+#define PIDX_PKEY_PARAM_RSA_FACTOR8 246
+#define PIDX_PKEY_PARAM_RSA_FACTOR9 247
 #define PIDX_PKEY_PARAM_RSA_MASKGENFUNC PIDX_PKEY_PARAM_MASKGENFUNC
 #define PIDX_PKEY_PARAM_RSA_MGF1_DIGEST PIDX_PKEY_PARAM_MGF1_DIGEST
 #define PIDX_PKEY_PARAM_RSA_N 129
-#define PIDX_PKEY_PARAM_RSA_PRIMES 247
-#define PIDX_PKEY_PARAM_RSA_PSS_SALTLEN 248
-#define PIDX_PKEY_PARAM_RSA_TEST_P1 249
-#define PIDX_PKEY_PARAM_RSA_TEST_P2 250
-#define PIDX_PKEY_PARAM_RSA_TEST_Q1 251
-#define PIDX_PKEY_PARAM_RSA_TEST_Q2 252
-#define PIDX_PKEY_PARAM_RSA_TEST_XP 253
-#define PIDX_PKEY_PARAM_RSA_TEST_XP1 254
-#define PIDX_PKEY_PARAM_RSA_TEST_XP2 255
-#define PIDX_PKEY_PARAM_RSA_TEST_XQ 256
-#define PIDX_PKEY_PARAM_RSA_TEST_XQ1 257
-#define PIDX_PKEY_PARAM_RSA_TEST_XQ2 258
-#define PIDX_PKEY_PARAM_SECURITY_BITS 259
+#define PIDX_PKEY_PARAM_RSA_PRIMES 248
+#define PIDX_PKEY_PARAM_RSA_PSS_SALTLEN 249
+#define PIDX_PKEY_PARAM_RSA_TEST_P1 250
+#define PIDX_PKEY_PARAM_RSA_TEST_P2 251
+#define PIDX_PKEY_PARAM_RSA_TEST_Q1 252
+#define PIDX_PKEY_PARAM_RSA_TEST_Q2 253
+#define PIDX_PKEY_PARAM_RSA_TEST_XP 254
+#define PIDX_PKEY_PARAM_RSA_TEST_XP1 255
+#define PIDX_PKEY_PARAM_RSA_TEST_XP2 256
+#define PIDX_PKEY_PARAM_RSA_TEST_XQ 257
+#define PIDX_PKEY_PARAM_RSA_TEST_XQ1 258
+#define PIDX_PKEY_PARAM_RSA_TEST_XQ2 259
+#define PIDX_PKEY_PARAM_SECURITY_BITS 260
 #define PIDX_PKEY_PARAM_USE_COFACTOR_ECDH PIDX_PKEY_PARAM_USE_COFACTOR_FLAG
-#define PIDX_PKEY_PARAM_USE_COFACTOR_FLAG 260
-#define PIDX_PROV_PARAM_BUILDINFO 261
-#define PIDX_PROV_PARAM_CORE_MODULE_FILENAME 262
-#define PIDX_PROV_PARAM_CORE_PROV_NAME 263
-#define PIDX_PROV_PARAM_CORE_VERSION 264
-#define PIDX_PROV_PARAM_DRBG_TRUNC_DIGEST 265
-#define PIDX_PROV_PARAM_NAME 266
-#define PIDX_PROV_PARAM_SECURITY_CHECKS 267
-#define PIDX_PROV_PARAM_SELF_TEST_DESC 268
-#define PIDX_PROV_PARAM_SELF_TEST_PHASE 269
-#define PIDX_PROV_PARAM_SELF_TEST_TYPE 270
-#define PIDX_PROV_PARAM_STATUS 271
-#define PIDX_PROV_PARAM_TLS1_PRF_EMS_CHECK 272
+#define PIDX_PKEY_PARAM_USE_COFACTOR_FLAG 261
+#define PIDX_PROV_PARAM_BUILDINFO 262
+#define PIDX_PROV_PARAM_CORE_MODULE_FILENAME 263
+#define PIDX_PROV_PARAM_CORE_PROV_NAME 264
+#define PIDX_PROV_PARAM_CORE_VERSION 265
+#define PIDX_PROV_PARAM_DRBG_TRUNC_DIGEST 266
+#define PIDX_PROV_PARAM_NAME 267
+#define PIDX_PROV_PARAM_SECURITY_CHECKS 268
+#define PIDX_PROV_PARAM_SELF_TEST_DESC 269
+#define PIDX_PROV_PARAM_SELF_TEST_PHASE 270
+#define PIDX_PROV_PARAM_SELF_TEST_TYPE 271
+#define PIDX_PROV_PARAM_STATUS 272
+#define PIDX_PROV_PARAM_TLS1_PRF_EMS_CHECK 273
 #define PIDX_PROV_PARAM_VERSION 108
-#define PIDX_RAND_PARAM_GENERATE 273
-#define PIDX_RAND_PARAM_MAX_REQUEST 274
-#define PIDX_RAND_PARAM_STATE 275
-#define PIDX_RAND_PARAM_STRENGTH 276
-#define PIDX_RAND_PARAM_TEST_ENTROPY 277
-#define PIDX_RAND_PARAM_TEST_NONCE 278
-#define PIDX_SIGNATURE_PARAM_ALGORITHM_ID 279
-#define PIDX_SIGNATURE_PARAM_CONTEXT_STRING 280
+#define PIDX_RAND_PARAM_GENERATE 274
+#define PIDX_RAND_PARAM_MAX_REQUEST 275
+#define PIDX_RAND_PARAM_STATE 276
+#define PIDX_RAND_PARAM_STRENGTH 277
+#define PIDX_RAND_PARAM_TEST_ENTROPY 278
+#define PIDX_RAND_PARAM_TEST_NONCE 279
+#define PIDX_SIGNATURE_PARAM_ALGORITHM_ID 280
+#define PIDX_SIGNATURE_PARAM_CONTEXT_STRING 281
 #define PIDX_SIGNATURE_PARAM_DIGEST PIDX_PKEY_PARAM_DIGEST
 #define PIDX_SIGNATURE_PARAM_DIGEST_SIZE PIDX_PKEY_PARAM_DIGEST_SIZE
-#define PIDX_SIGNATURE_PARAM_INSTANCE 281
-#define PIDX_SIGNATURE_PARAM_KAT 282
+#define PIDX_SIGNATURE_PARAM_INSTANCE 282
+#define PIDX_SIGNATURE_PARAM_KAT 283
 #define PIDX_SIGNATURE_PARAM_MGF1_DIGEST PIDX_PKEY_PARAM_MGF1_DIGEST
 #define PIDX_SIGNATURE_PARAM_MGF1_PROPERTIES PIDX_PKEY_PARAM_MGF1_PROPERTIES
-#define PIDX_SIGNATURE_PARAM_NONCE_TYPE 283
+#define PIDX_SIGNATURE_PARAM_NONCE_TYPE 284
 #define PIDX_SIGNATURE_PARAM_PAD_MODE PIDX_PKEY_PARAM_PAD_MODE
 #define PIDX_SIGNATURE_PARAM_PROPERTIES PIDX_PKEY_PARAM_PROPERTIES
-#define PIDX_SIGNATURE_PARAM_PSS_SALTLEN 248
-#define PIDX_STORE_PARAM_ALIAS 284
+#define PIDX_SIGNATURE_PARAM_PSS_SALTLEN 249
+#define PIDX_STORE_PARAM_ALIAS 285
 #define PIDX_STORE_PARAM_DIGEST 1
-#define PIDX_STORE_PARAM_EXPECT 285
-#define PIDX_STORE_PARAM_FINGERPRINT 286
-#define PIDX_STORE_PARAM_INPUT_TYPE 287
-#define PIDX_STORE_PARAM_ISSUER 266
+#define PIDX_STORE_PARAM_EXPECT 286
+#define PIDX_STORE_PARAM_FINGERPRINT 287
+#define PIDX_STORE_PARAM_INPUT_TYPE 288
+#define PIDX_STORE_PARAM_ISSUER 267
 #define PIDX_STORE_PARAM_PROPERTIES 4
-#define PIDX_STORE_PARAM_SERIAL 288
-#define PIDX_STORE_PARAM_SUBJECT 289
+#define PIDX_STORE_PARAM_SERIAL 289
+#define PIDX_STORE_PARAM_SUBJECT 290

+ 1 - 1
libs/openssl/include/openssl/conf.h

@@ -68,7 +68,7 @@ SKM_DEFINE_STACK_OF_INTERNAL(CONF_VALUE, CONF_VALUE, CONF_VALUE)
 #define sk_CONF_VALUE_deep_copy(sk, copyfunc, freefunc) ((STACK_OF(CONF_VALUE) *)OPENSSL_sk_deep_copy(ossl_check_const_CONF_VALUE_sk_type(sk), ossl_check_CONF_VALUE_copyfunc_type(copyfunc), ossl_check_CONF_VALUE_freefunc_type(freefunc)))
 #define sk_CONF_VALUE_set_cmp_func(sk, cmp) ((sk_CONF_VALUE_compfunc)OPENSSL_sk_set_cmp_func(ossl_check_CONF_VALUE_sk_type(sk), ossl_check_CONF_VALUE_compfunc_type(cmp)))
 DEFINE_LHASH_OF_INTERNAL(CONF_VALUE);
-#define lh_CONF_VALUE_new(hfn, cmp) ((LHASH_OF(CONF_VALUE) *)OPENSSL_LH_new(ossl_check_CONF_VALUE_lh_hashfunc_type(hfn), ossl_check_CONF_VALUE_lh_compfunc_type(cmp)))
+#define lh_CONF_VALUE_new(hfn, cmp) ((LHASH_OF(CONF_VALUE) *)OPENSSL_LH_set_thunks(OPENSSL_LH_new(ossl_check_CONF_VALUE_lh_hashfunc_type(hfn), ossl_check_CONF_VALUE_lh_compfunc_type(cmp)), lh_CONF_VALUE_hash_thunk, lh_CONF_VALUE_comp_thunk, lh_CONF_VALUE_doall_thunk, lh_CONF_VALUE_doall_arg_thunk))
 #define lh_CONF_VALUE_free(lh) OPENSSL_LH_free(ossl_check_CONF_VALUE_lh_type(lh))
 #define lh_CONF_VALUE_flush(lh) OPENSSL_LH_flush(ossl_check_CONF_VALUE_lh_type(lh))
 #define lh_CONF_VALUE_insert(lh, ptr) ((CONF_VALUE *)OPENSSL_LH_insert(ossl_check_CONF_VALUE_lh_type(lh), ossl_check_CONF_VALUE_lh_plain_type(ptr)))

+ 1 - 0
libs/openssl/include/openssl/core_names.h

@@ -384,6 +384,7 @@ extern "C" {
 # define OSSL_PKEY_PARAM_RSA_COEFFICIENT8 "rsa-coefficient8"
 # define OSSL_PKEY_PARAM_RSA_COEFFICIENT9 "rsa-coefficient9"
 # define OSSL_PKEY_PARAM_RSA_D "d"
+# define OSSL_PKEY_PARAM_RSA_DERIVE_FROM_PQ "rsa-derive-from-pq"
 # define OSSL_PKEY_PARAM_RSA_DIGEST OSSL_PKEY_PARAM_DIGEST
 # define OSSL_PKEY_PARAM_RSA_DIGEST_PROPS OSSL_PKEY_PARAM_PROPERTIES
 # define OSSL_PKEY_PARAM_RSA_E "e"

+ 1 - 1
libs/openssl/include/openssl/err.h

@@ -372,7 +372,7 @@ typedef struct ERR_string_data_st {
 } ERR_STRING_DATA;
 
 DEFINE_LHASH_OF_INTERNAL(ERR_STRING_DATA);
-#define lh_ERR_STRING_DATA_new(hfn, cmp) ((LHASH_OF(ERR_STRING_DATA) *)OPENSSL_LH_new(ossl_check_ERR_STRING_DATA_lh_hashfunc_type(hfn), ossl_check_ERR_STRING_DATA_lh_compfunc_type(cmp)))
+#define lh_ERR_STRING_DATA_new(hfn, cmp) ((LHASH_OF(ERR_STRING_DATA) *)OPENSSL_LH_set_thunks(OPENSSL_LH_new(ossl_check_ERR_STRING_DATA_lh_hashfunc_type(hfn), ossl_check_ERR_STRING_DATA_lh_compfunc_type(cmp)), lh_ERR_STRING_DATA_hash_thunk, lh_ERR_STRING_DATA_comp_thunk, lh_ERR_STRING_DATA_doall_thunk, lh_ERR_STRING_DATA_doall_arg_thunk))
 #define lh_ERR_STRING_DATA_free(lh) OPENSSL_LH_free(ossl_check_ERR_STRING_DATA_lh_type(lh))
 #define lh_ERR_STRING_DATA_flush(lh) OPENSSL_LH_flush(ossl_check_ERR_STRING_DATA_lh_type(lh))
 #define lh_ERR_STRING_DATA_insert(lh, ptr) ((ERR_STRING_DATA *)OPENSSL_LH_insert(ossl_check_ERR_STRING_DATA_lh_type(lh), ossl_check_ERR_STRING_DATA_lh_plain_type(ptr)))

+ 2 - 2
libs/openssl/include/openssl/lhash.h

@@ -360,7 +360,7 @@ OSSL_DEPRECATEDIN_3_1 void OPENSSL_LH_node_usage_stats_bio(const OPENSSL_LHASH *
     LHASH_OF(type)
 
 DEFINE_LHASH_OF_INTERNAL(OPENSSL_STRING);
-#define lh_OPENSSL_STRING_new(hfn, cmp) ((LHASH_OF(OPENSSL_STRING) *)OPENSSL_LH_new(ossl_check_OPENSSL_STRING_lh_hashfunc_type(hfn), ossl_check_OPENSSL_STRING_lh_compfunc_type(cmp)))
+#define lh_OPENSSL_STRING_new(hfn, cmp) ((LHASH_OF(OPENSSL_STRING) *)OPENSSL_LH_set_thunks(OPENSSL_LH_new(ossl_check_OPENSSL_STRING_lh_hashfunc_type(hfn), ossl_check_OPENSSL_STRING_lh_compfunc_type(cmp)), lh_OPENSSL_STRING_hash_thunk, lh_OPENSSL_STRING_comp_thunk, lh_OPENSSL_STRING_doall_thunk, lh_OPENSSL_STRING_doall_arg_thunk))
 #define lh_OPENSSL_STRING_free(lh) OPENSSL_LH_free(ossl_check_OPENSSL_STRING_lh_type(lh))
 #define lh_OPENSSL_STRING_flush(lh) OPENSSL_LH_flush(ossl_check_OPENSSL_STRING_lh_type(lh))
 #define lh_OPENSSL_STRING_insert(lh, ptr) ((OPENSSL_STRING *)OPENSSL_LH_insert(ossl_check_OPENSSL_STRING_lh_type(lh), ossl_check_OPENSSL_STRING_lh_plain_type(ptr)))
@@ -375,7 +375,7 @@ DEFINE_LHASH_OF_INTERNAL(OPENSSL_STRING);
 #define lh_OPENSSL_STRING_set_down_load(lh, dl) OPENSSL_LH_set_down_load(ossl_check_OPENSSL_STRING_lh_type(lh), dl)
 #define lh_OPENSSL_STRING_doall(lh, dfn) OPENSSL_LH_doall(ossl_check_OPENSSL_STRING_lh_type(lh), ossl_check_OPENSSL_STRING_lh_doallfunc_type(dfn))
 DEFINE_LHASH_OF_INTERNAL(OPENSSL_CSTRING);
-#define lh_OPENSSL_CSTRING_new(hfn, cmp) ((LHASH_OF(OPENSSL_CSTRING) *)OPENSSL_LH_new(ossl_check_OPENSSL_CSTRING_lh_hashfunc_type(hfn), ossl_check_OPENSSL_CSTRING_lh_compfunc_type(cmp)))
+#define lh_OPENSSL_CSTRING_new(hfn, cmp) ((LHASH_OF(OPENSSL_CSTRING) *)OPENSSL_LH_set_thunks(OPENSSL_LH_new(ossl_check_OPENSSL_CSTRING_lh_hashfunc_type(hfn), ossl_check_OPENSSL_CSTRING_lh_compfunc_type(cmp)), lh_OPENSSL_CSTRING_hash_thunk, lh_OPENSSL_CSTRING_comp_thunk, lh_OPENSSL_CSTRING_doall_thunk, lh_OPENSSL_CSTRING_doall_arg_thunk))
 #define lh_OPENSSL_CSTRING_free(lh) OPENSSL_LH_free(ossl_check_OPENSSL_CSTRING_lh_type(lh))
 #define lh_OPENSSL_CSTRING_flush(lh) OPENSSL_LH_flush(ossl_check_OPENSSL_CSTRING_lh_type(lh))
 #define lh_OPENSSL_CSTRING_insert(lh, ptr) ((OPENSSL_CSTRING *)OPENSSL_LH_insert(ossl_check_OPENSSL_CSTRING_lh_type(lh), ossl_check_OPENSSL_CSTRING_lh_plain_type(ptr)))

+ 5 - 5
libs/openssl/include/openssl/opensslv.h

@@ -28,8 +28,8 @@ extern "C" {
  * These macros express version number MAJOR.MINOR.PATCH exactly
  */
 # define OPENSSL_VERSION_MAJOR  3
-# define OPENSSL_VERSION_MINOR  2
-# define OPENSSL_VERSION_PATCH  2
+# define OPENSSL_VERSION_MINOR  3
+# define OPENSSL_VERSION_PATCH  1
 
 /*
  * Additional version information
@@ -74,8 +74,8 @@ extern "C" {
  * longer variant with OPENSSL_VERSION_PRE_RELEASE_STR and
  * OPENSSL_VERSION_BUILD_METADATA_STR appended.
  */
-# define OPENSSL_VERSION_STR "3.2.2"
-# define OPENSSL_FULL_VERSION_STR "3.2.2"
+# define OPENSSL_VERSION_STR "3.3.1"
+# define OPENSSL_FULL_VERSION_STR "3.3.1"
 
 /*
  * SECTION 3: ADDITIONAL METADATA
@@ -88,7 +88,7 @@ extern "C" {
  * SECTION 4: BACKWARD COMPATIBILITY
  */
 
-# define OPENSSL_VERSION_TEXT "OpenSSL 3.2.2 4 Jun 2024"
+# define OPENSSL_VERSION_TEXT "OpenSSL 3.3.1 4 Jun 2024"
 
 /* Synthesize OPENSSL_VERSION_NUMBER with the layout 0xMNN00PPSL */
 # ifdef OPENSSL_VERSION_PRE_RELEASE