diff options
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/quic/quic.c | 1 | ||||
-rw-r--r-- | src/plugins/quic/quic_crypto.h | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/plugins/quic/quic.c b/src/plugins/quic/quic.c index 898846d8ea4..3dab5eb4d07 100644 --- a/src/plugins/quic/quic.c +++ b/src/plugins/quic/quic.c @@ -2570,6 +2570,7 @@ quic_init (vlib_main_t * vm) transport_register_protocol (TRANSPORT_PROTO_QUIC, &quic_proto, FIB_PROTOCOL_IP6, ~0); + quic_load_openssl3_legacy_provider (); clib_bitmap_alloc (qm->available_crypto_engines, app_crypto_engine_n_types ()); quic_register_cipher_suite (CRYPTO_ENGINE_PICOTLS, diff --git a/src/plugins/quic/quic_crypto.h b/src/plugins/quic/quic_crypto.h index 2adb20237a3..7299b613053 100644 --- a/src/plugins/quic/quic_crypto.h +++ b/src/plugins/quic/quic_crypto.h @@ -18,6 +18,19 @@ #include <quicly.h> +#if OPENSSL_VERSION_NUMBER >= 0x30000000L +#include <openssl/provider.h> + +#define quic_load_openssl3_legacy_provider() \ + do \ + { \ + (void) OSSL_PROVIDER_load (NULL, "legacy"); \ + } \ + while (0) +#else +#define quic_load_openssl3_legacy_provider() +#endif + struct quic_ctx_t; extern ptls_cipher_suite_t *quic_crypto_cipher_suites[]; |