quic: fix quic plugin with openssl 3.x 47/37847/3
authorDave Wallace <dwallacelf@gmail.com>
Tue, 20 Dec 2022 22:41:43 +0000 (17:41 -0500)
committerBeno�t Ganne <bganne@cisco.com>
Wed, 21 Dec 2022 14:51:34 +0000 (14:51 +0000)
- 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>
src/plugins/quic/quic.c
src/plugins/quic/quic_crypto.h
test/asf/test_quic.py

index 898846d..3dab5eb 100644 (file)
@@ -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,
index 2adb202..7299b61 100644 (file)
 
 #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[];
index e7224bc..6651d74 100644 (file)
@@ -6,7 +6,7 @@ import os
 import subprocess
 import signal
 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 vpp_ip_route import VppIpTable, VppIpRoute, VppRoutePath
 
@@ -52,7 +52,6 @@ class QUICAppWorker(Worker):
         return False
 
 
-@tag_fixme_ubuntu2204
 class QUICTestCase(VppTestCase):
     """QUIC Test Case"""