buildroot/package/syslog-ng/0002-lib-transport-tls-cont...

98 lines
3.6 KiB
Diff

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