quic: fix quic plugin with openssl 3.x

- load openssl legacy providers during quic init
  when building with openssl 3.0 or greater
- re-enable quic 'make test' testcases on
  ubuntu-22.04

Type: fix

Change-Id: Icfd429b6bc1bddf9f9937baa44cc47cd535ac5f2
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
This commit is contained in:
Dave Wallace
2022-12-20 17:41:43 -05:00
committed by Beno�t Ganne
parent 15952b261f
commit 24adebad27
3 changed files with 15 additions and 2 deletions

View File

@ -2570,6 +2570,7 @@ quic_init (vlib_main_t * vm)
transport_register_protocol (TRANSPORT_PROTO_QUIC, &quic_proto, transport_register_protocol (TRANSPORT_PROTO_QUIC, &quic_proto,
FIB_PROTOCOL_IP6, ~0); FIB_PROTOCOL_IP6, ~0);
quic_load_openssl3_legacy_provider ();
clib_bitmap_alloc (qm->available_crypto_engines, clib_bitmap_alloc (qm->available_crypto_engines,
app_crypto_engine_n_types ()); app_crypto_engine_n_types ());
quic_register_cipher_suite (CRYPTO_ENGINE_PICOTLS, quic_register_cipher_suite (CRYPTO_ENGINE_PICOTLS,

View File

@ -18,6 +18,19 @@
#include <quicly.h> #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; struct quic_ctx_t;
extern ptls_cipher_suite_t *quic_crypto_cipher_suites[]; extern ptls_cipher_suite_t *quic_crypto_cipher_suites[];

View File

@ -6,7 +6,7 @@ import os
import subprocess import subprocess
import signal import signal
from config import config from config import config
from framework import tag_fixme_vpp_workers, tag_fixme_ubuntu2204 from framework import tag_fixme_vpp_workers
from framework import VppTestCase, VppTestRunner, Worker from framework import VppTestCase, VppTestRunner, Worker
from vpp_ip_route import VppIpTable, VppIpRoute, VppRoutePath from vpp_ip_route import VppIpTable, VppIpRoute, VppRoutePath
@ -52,7 +52,6 @@ class QUICAppWorker(Worker):
return False return False
@tag_fixme_ubuntu2204
class QUICTestCase(VppTestCase): class QUICTestCase(VppTestCase):
"""QUIC Test Case""" """QUIC Test Case"""