libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

commit 1689be3a275dd8b4bb26c2f8501bd6050ac17e98
parent f8502a2e07a5e3402431d6218252879c46621f46
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date:   Wed, 12 Oct 2022 18:27:24 +0300

daemon: merged processing of two similar options

Diffstat:
Msrc/microhttpd/daemon.c | 52++++++++++++++++++++++------------------------------
1 file changed, 22 insertions(+), 30 deletions(-)

diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c @@ -6416,26 +6416,38 @@ parse_options_va (struct MHD_Daemon *daemon, #endif break; case MHD_OPTION_HTTPS_PRIORITIES: + case MHD_OPTION_HTTPS_PRIORITIES_APPEND: pstr = va_arg (ap, const char *); if (0 != (daemon->options & MHD_USE_TLS)) { - int init_res; if (NULL != daemon->priority_cache) gnutls_priority_deinit (daemon->priority_cache); - init_res = gnutls_priority_init (&daemon->priority_cache, - pstr, - NULL); - if (GNUTLS_E_SUCCESS != init_res) + + if (MHD_OPTION_HTTPS_PRIORITIES == opt) { + int init_res; + init_res = gnutls_priority_init (&daemon->priority_cache, + pstr, + NULL); + if (GNUTLS_E_SUCCESS != init_res) + { #ifdef HAVE_MESSAGES - MHD_DLOG (daemon, - _ ("Setting priorities to `%s' failed: %s\n"), - pstr, - gnutls_strerror (init_res)); + MHD_DLOG (daemon, + _ ("Setting priorities to `%s' failed: %s\n"), + pstr, + gnutls_strerror (init_res)); #endif + daemon->priority_cache = NULL; + return MHD_NO; + } + } + else + { + /* The cache has been deinited */ daemon->priority_cache = NULL; - return MHD_NO; + if (! daemon_tls_priorities_init_append (daemon, pstr)) + return MHD_NO; } } #ifdef HAVE_MESSAGES @@ -6446,26 +6458,6 @@ parse_options_va (struct MHD_Daemon *daemon, opt); #endif break; - case MHD_OPTION_HTTPS_PRIORITIES_APPEND: - pstr = va_arg (ap, - const char *); - if (0 != (daemon->options & MHD_USE_TLS)) - { - if (NULL != daemon->priority_cache) - gnutls_priority_deinit (daemon->priority_cache); - daemon->priority_cache = NULL; - /* The next function log error messages if needed */ - if (! daemon_tls_priorities_init_append (daemon, pstr)) - return MHD_NO; - } -#ifdef HAVE_MESSAGES - else - MHD_DLOG (daemon, - _ ("MHD HTTPS option %d passed to MHD but " \ - "MHD_USE_TLS not set.\n"), - opt); -#endif - break; case MHD_OPTION_HTTPS_CERT_CALLBACK: #if GNUTLS_VERSION_MAJOR < 3 #ifdef HAVE_MESSAGES