| From ede106afd7d70a8f962acf10a4e3f4a50a70cb15 Mon Sep 17 00:00:00 2001 |
| From: Fabrice Fontaine <fontaine.fabrice@gmail.com> |
| Date: Sun, 1 Oct 2023 11:27:09 +0200 |
| Subject: [PATCH] lib/transport/tls-context.c: fix libressl build |
| |
| Fix the following build failure with libressl raised since version 4.0.0 |
| and |
| https://github.com/syslog-ng/syslog-ng/commit/bc05f28a4b511ac9090195280163a7f822712ceb: |
| |
| lib/transport/tls-context.c: In function 'tls_context_setup_cmd_context': |
| lib/transport/tls-context.c:320:3: error: unknown type name 'SSL_CONF_CTX'; did you mean 'SSL_AEAD_CTX'? |
| 320 | SSL_CONF_CTX *ssl_conf_ctx = SSL_CONF_CTX_new(); |
| | ^~~~~~~~~~~~ |
| | SSL_AEAD_CTX |
| |
| Fixes: |
| - http://autobuild.buildroot.org/results/dc4d60d752e579ef054915eee3d7e3e73c25929b |
| |
| Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> |
| Upstream: https://github.com/syslog-ng/syslog-ng/pull/4655 |
| --- |
| cmake/openssl_functions.cmake | 1 + |
| configure.ac | 1 + |
| lib/transport/tls-context.c | 4 ++++ |
| syslog-ng-config.h.in | 1 + |
| 4 files changed, 7 insertions(+) |
| |
| diff --git a/cmake/openssl_functions.cmake b/cmake/openssl_functions.cmake |
| index 5afbd7f12..da06ca59a 100644 |
| --- a/cmake/openssl_functions.cmake |
| +++ b/cmake/openssl_functions.cmake |
| @@ -41,6 +41,7 @@ function (openssl_set_defines) |
| X509_get_extension_flags |
| DH_set0_pqg |
| BN_get_rfc3526_prime_2048 |
| + SSL_CONF_CTX_new |
| SSL_CTX_set_num_tickets |
| SSL_CTX_set_ciphersuites |
| SSL_CTX_set1_sigalgs_list |
| diff --git a/configure.ac b/configure.ac |
| index d636bbefa..46e43db7b 100644 |
| --- a/configure.ac |
| +++ b/configure.ac |
| @@ -1136,6 +1136,7 @@ AC_CHECK_DECLS([EVP_MD_CTX_reset], [], [], [[#include <openssl/evp.h>]]) |
| AC_CHECK_DECLS([ASN1_STRING_get0_data], [], [], [[#include <openssl/asn1.h>]]) |
| AC_CHECK_DECLS([DH_set0_pqg], [], [], [[#include <openssl/dh.h>]]) |
| AC_CHECK_DECLS([BN_get_rfc3526_prime_2048], [], [], [[#include <openssl/bn.h>]]) |
| +AC_CHECK_DECLS([SSL_CONF_CTX_new],[], [], [[#include <openssl/ssl.h>]]) |
| AC_CHECK_DECLS([SSL_CTX_set_num_tickets],[], [], [[#include <openssl/ssl.h>]]) |
| AC_CHECK_DECLS([SSL_CTX_set1_sigalgs_list],[], [], [[#include <openssl/ssl.h>]]) |
| AC_CHECK_DECLS([SSL_CTX_set1_client_sigalgs_list],[], [], [[#include <openssl/ssl.h>]]) |
| diff --git a/lib/transport/tls-context.c b/lib/transport/tls-context.c |
| index be2fea68d..713b63f31 100644 |
| --- a/lib/transport/tls-context.c |
| +++ b/lib/transport/tls-context.c |
| @@ -314,6 +314,7 @@ tls_context_setup_sigalgs(TLSContext *self) |
| return TRUE; |
| } |
| |
| +#if SYSLOG_NG_HAVE_DECL_SSL_CONF_CTX_new |
| static gboolean |
| tls_context_setup_cmd_context(TLSContext *self) |
| { |
| @@ -347,6 +348,7 @@ tls_context_setup_cmd_context(TLSContext *self) |
| SSL_CONF_CTX_free(ssl_conf_ctx); |
| return result; |
| } |
| +#endif |
| |
| static PKCS12 * |
| _load_pkcs12_file(TLSContext *self, const gchar *pkcs12_file) |
| @@ -593,8 +595,10 @@ tls_context_setup_context(TLSContext *self) |
| if (!tls_context_setup_sigalgs(self)) |
| goto error; |
| |
| +#if SYSLOG_NG_HAVE_DECL_SSL_CONF_CTX_new |
| if (!tls_context_setup_cmd_context(self)) |
| goto error; |
| +#endif |
| |
| return TLS_CONTEXT_SETUP_OK; |
| |
| diff --git a/syslog-ng-config.h.in b/syslog-ng-config.h.in |
| index 412294d2a..6d01b84a0 100644 |
| --- a/syslog-ng-config.h.in |
| +++ b/syslog-ng-config.h.in |
| @@ -60,6 +60,7 @@ |
| #cmakedefine ENV_LD_LIBRARY_PATH @ENV_LD_LIBRARY_PATH@ |
| #cmakedefine01 SYSLOG_NG_HAVE_DECL_EVP_MD_CTX_RESET |
| #cmakedefine01 SYSLOG_NG_HAVE_DECL_ASN1_STRING_GET0_DATA |
| +#cmakedefine01 SYSLOG_NG_HAVE_DECL_SSL_CONF_CTX_new |
| #cmakedefine01 SYSLOG_NG_HAVE_DECL_SSL_CTX_GET0_PARAM |
| #cmakedefine01 SYSLOG_NG_HAVE_DECL_SSL_CTX_SET_CIPHERSUITES |
| #cmakedefine01 SYSLOG_NG_HAVE_DECL_SSL_CTX_SET1_SIGALGS_LIST |
| -- |
| 2.40.1 |
| |