0002-lib-transport-tls-context.c-fix-libressl-build.patch 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. From ede106afd7d70a8f962acf10a4e3f4a50a70cb15 Mon Sep 17 00:00:00 2001
  2. From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  3. Date: Sun, 1 Oct 2023 11:27:09 +0200
  4. Subject: [PATCH] lib/transport/tls-context.c: fix libressl build
  5. Fix the following build failure with libressl raised since version 4.0.0
  6. and
  7. https://github.com/syslog-ng/syslog-ng/commit/bc05f28a4b511ac9090195280163a7f822712ceb:
  8. lib/transport/tls-context.c: In function 'tls_context_setup_cmd_context':
  9. lib/transport/tls-context.c:320:3: error: unknown type name 'SSL_CONF_CTX'; did you mean 'SSL_AEAD_CTX'?
  10. 320 | SSL_CONF_CTX *ssl_conf_ctx = SSL_CONF_CTX_new();
  11. | ^~~~~~~~~~~~
  12. | SSL_AEAD_CTX
  13. Fixes:
  14. - http://autobuild.buildroot.org/results/dc4d60d752e579ef054915eee3d7e3e73c25929b
  15. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
  16. Upstream: https://github.com/syslog-ng/syslog-ng/pull/4655
  17. ---
  18. cmake/openssl_functions.cmake | 1 +
  19. configure.ac | 1 +
  20. lib/transport/tls-context.c | 4 ++++
  21. syslog-ng-config.h.in | 1 +
  22. 4 files changed, 7 insertions(+)
  23. diff --git a/cmake/openssl_functions.cmake b/cmake/openssl_functions.cmake
  24. index 5afbd7f12..da06ca59a 100644
  25. --- a/cmake/openssl_functions.cmake
  26. +++ b/cmake/openssl_functions.cmake
  27. @@ -41,6 +41,7 @@ function (openssl_set_defines)
  28. X509_get_extension_flags
  29. DH_set0_pqg
  30. BN_get_rfc3526_prime_2048
  31. + SSL_CONF_CTX_new
  32. SSL_CTX_set_num_tickets
  33. SSL_CTX_set_ciphersuites
  34. SSL_CTX_set1_sigalgs_list
  35. diff --git a/configure.ac b/configure.ac
  36. index d636bbefa..46e43db7b 100644
  37. --- a/configure.ac
  38. +++ b/configure.ac
  39. @@ -1136,6 +1136,7 @@ AC_CHECK_DECLS([EVP_MD_CTX_reset], [], [], [[#include <openssl/evp.h>]])
  40. AC_CHECK_DECLS([ASN1_STRING_get0_data], [], [], [[#include <openssl/asn1.h>]])
  41. AC_CHECK_DECLS([DH_set0_pqg], [], [], [[#include <openssl/dh.h>]])
  42. AC_CHECK_DECLS([BN_get_rfc3526_prime_2048], [], [], [[#include <openssl/bn.h>]])
  43. +AC_CHECK_DECLS([SSL_CONF_CTX_new],[], [], [[#include <openssl/ssl.h>]])
  44. AC_CHECK_DECLS([SSL_CTX_set_num_tickets],[], [], [[#include <openssl/ssl.h>]])
  45. AC_CHECK_DECLS([SSL_CTX_set1_sigalgs_list],[], [], [[#include <openssl/ssl.h>]])
  46. AC_CHECK_DECLS([SSL_CTX_set1_client_sigalgs_list],[], [], [[#include <openssl/ssl.h>]])
  47. diff --git a/lib/transport/tls-context.c b/lib/transport/tls-context.c
  48. index be2fea68d..713b63f31 100644
  49. --- a/lib/transport/tls-context.c
  50. +++ b/lib/transport/tls-context.c
  51. @@ -314,6 +314,7 @@ tls_context_setup_sigalgs(TLSContext *self)
  52. return TRUE;
  53. }
  54. +#if SYSLOG_NG_HAVE_DECL_SSL_CONF_CTX_new
  55. static gboolean
  56. tls_context_setup_cmd_context(TLSContext *self)
  57. {
  58. @@ -347,6 +348,7 @@ tls_context_setup_cmd_context(TLSContext *self)
  59. SSL_CONF_CTX_free(ssl_conf_ctx);
  60. return result;
  61. }
  62. +#endif
  63. static PKCS12 *
  64. _load_pkcs12_file(TLSContext *self, const gchar *pkcs12_file)
  65. @@ -593,8 +595,10 @@ tls_context_setup_context(TLSContext *self)
  66. if (!tls_context_setup_sigalgs(self))
  67. goto error;
  68. +#if SYSLOG_NG_HAVE_DECL_SSL_CONF_CTX_new
  69. if (!tls_context_setup_cmd_context(self))
  70. goto error;
  71. +#endif
  72. return TLS_CONTEXT_SETUP_OK;
  73. diff --git a/syslog-ng-config.h.in b/syslog-ng-config.h.in
  74. index 412294d2a..6d01b84a0 100644
  75. --- a/syslog-ng-config.h.in
  76. +++ b/syslog-ng-config.h.in
  77. @@ -60,6 +60,7 @@
  78. #cmakedefine ENV_LD_LIBRARY_PATH @ENV_LD_LIBRARY_PATH@
  79. #cmakedefine01 SYSLOG_NG_HAVE_DECL_EVP_MD_CTX_RESET
  80. #cmakedefine01 SYSLOG_NG_HAVE_DECL_ASN1_STRING_GET0_DATA
  81. +#cmakedefine01 SYSLOG_NG_HAVE_DECL_SSL_CONF_CTX_new
  82. #cmakedefine01 SYSLOG_NG_HAVE_DECL_SSL_CTX_GET0_PARAM
  83. #cmakedefine01 SYSLOG_NG_HAVE_DECL_SSL_CTX_SET_CIPHERSUITES
  84. #cmakedefine01 SYSLOG_NG_HAVE_DECL_SSL_CTX_SET1_SIGALGS_LIST
  85. --
  86. 2.40.1