From df09a72007131395075e86d073031513ea4e4637 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 29 Nov 2024 15:02:11 +0100 Subject: [PATCH] expand test to force OpenSSL --- src/tests/client_server/libtest.h | 13 +++++++++++++ src/tests/client_server/libtest_convenience.c | 19 +++++++++++++++++++ src/tests/client_server/test_tls.c | 8 ++++++++ 3 files changed, 40 insertions(+) diff --git a/src/tests/client_server/libtest.h b/src/tests/client_server/libtest.h index add22545..6713d451 100644 --- a/src/tests/client_server/libtest.h +++ b/src/tests/client_server/libtest.h @@ -652,6 +652,19 @@ MHDT_server_setup_gnutls (const void *cls, struct MHD_Daemon *d); +/** + * Initialize MHD daemon with TLS support using OpenSSL, binding to any free + * port. + * + * @param cls closure + * @param[in,out] d daemon to initialize + * @return error message, NULL on success + */ +const char * +MHDT_server_setup_openssl (const void *cls, + struct MHD_Daemon *d); + + /** * Function that runs an MHD daemon until * a read() against @a finsig succeeds. diff --git a/src/tests/client_server/libtest_convenience.c b/src/tests/client_server/libtest_convenience.c index 0c22cc72..20782af3 100644 --- a/src/tests/client_server/libtest_convenience.c +++ b/src/tests/client_server/libtest_convenience.c @@ -172,6 +172,25 @@ MHDT_server_setup_gnutls (const void *cls, } +const char * +MHDT_server_setup_openssl (const void *cls, + struct MHD_Daemon *d) +{ + const struct MHD_DaemonOptionAndValue *options = cls; + const char *err; + + err = MHDT_server_setup_minimal (options, + d); + if (NULL != err) + return err; + err = server_setup_tls (d, + MHD_TLS_BACKEND_OPENSSL); + if (NULL != err) + return err; + return NULL; +} + + void MHDT_server_run_minimal (void *cls, int finsig, diff --git a/src/tests/client_server/test_tls.c b/src/tests/client_server/test_tls.c index f75233e0..82430452 100644 --- a/src/tests/client_server/test_tls.c +++ b/src/tests/client_server/test_tls.c @@ -157,6 +157,14 @@ main (int argc, char *argv[]) .server_runner = &MHDT_server_run_minimal, }, #endif +#if MHD_USE_OPENSSL + { + .label = "auto-selected mode, single threaded, forcing OpenSSL", + .server_setup = &MHDT_server_setup_openssl, + .server_setup_cls = thread1auto, + .server_runner = &MHDT_server_run_minimal, + }, +#endif #if 1 /* FIXME: remove once MHD_daemon_process_blocking has been implemented */