From c987f30245023f3bdf4dbe5296ed39f2d8faa98b Mon Sep 17 00:00:00 2001 From: Valentine Krasnobaeva Date: Thu, 23 Jan 2025 13:46:46 +0100 Subject: [PATCH] BUG/MINOR: ssl: put ssl_sock_load_ca under SSL_NO_GENERATE_CERTIFICATES ssl_sock_load_ca and ssl_sock_free_ca definitions are compiled only, if SSL_NO_GENERATE_CERTIFICATES is not set. In case, when we set this define and build haproxy, linker throws an error. So, let's fix this. This should be backported in all stable versions. --- src/ssl_sock.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/ssl_sock.c b/src/ssl_sock.c index 23316c2e5..5d9593a81 100644 --- a/src/ssl_sock.c +++ b/src/ssl_sock.c @@ -4788,8 +4788,10 @@ int ssl_sock_prepare_bind_conf(struct bind_conf *bind_conf) /* initialize all certificate contexts */ err += ssl_sock_prepare_all_ctx(bind_conf); +#ifndef SSL_NO_GENERATE_CERTIFICATES /* initialize CA variables if the certificates generation is enabled */ err += ssl_sock_load_ca(bind_conf); +#endif return -err; } @@ -4881,7 +4883,9 @@ REGISTER_POST_DEINIT(ssl_sock_deinit); /* Destroys all the contexts for a bind_conf. This is used during deinit(). */ void ssl_sock_destroy_bind_conf(struct bind_conf *bind_conf) { +#ifndef SSL_NO_GENERATE_CERTIFICATES ssl_sock_free_ca(bind_conf); +#endif ssl_sock_free_all_ctx(bind_conf); ssl_sock_free_ssl_conf(&bind_conf->ssl_conf); free(bind_conf->ca_sign_file);