This is an automated email from the git hooks/post-receive script.

git pushed a commit to reference refs/pull/47/head
in repository efl.

View the commit online.

commit 234385d107ffd853f79e095e48fecea98b1bb843
Author: Carsten Haitzler <ras...@rasterman.com>
AuthorDate: Mon Apr 28 12:53:01 2025 +0100

    eldbus - silence gcc 15 warnings
    
    nmo bug here - just warnings for perfectly ok code and people using
    -Werror ...
    
    fixes #85
---
 src/lib/eldbus/eldbus_core.c         |  2 +-
 src/lib/emile/emile_cipher_openssl.c | 54 ++++++++++++++++++++++++++----------
 2 files changed, 41 insertions(+), 15 deletions(-)

diff --git a/src/lib/eldbus/eldbus_core.c b/src/lib/eldbus/eldbus_core.c
index 513314741a..3f4aedd442 100644
--- a/src/lib/eldbus/eldbus_core.c
+++ b/src/lib/eldbus/eldbus_core.c
@@ -103,7 +103,7 @@ eldbus_fd_handler_del(Eldbus_Handler_Data *hd)
 }
 
 static void
-_eldbus_fork_reset()
+_eldbus_fork_reset(void *data EINA_UNUSED)
 {
    int i;
 
diff --git a/src/lib/emile/emile_cipher_openssl.c b/src/lib/emile/emile_cipher_openssl.c
index 7dd2033db1..52575e653a 100644
--- a/src/lib/emile/emile_cipher_openssl.c
+++ b/src/lib/emile/emile_cipher_openssl.c
@@ -313,7 +313,6 @@ EAPI Emile_SSL *
 emile_cipher_server_listen(Emile_Cipher_Type t)
 {
    Emile_SSL *r;
-   DH *dh_params = NULL;
    int options;
    int dh = 0;
 
@@ -343,20 +342,47 @@ emile_cipher_server_listen(Emile_Cipher_Type t)
 
    if (!r->ssl_ctx) goto on_error;
 
-   dh_params = DH_new();
-   if (!dh_params) goto on_error;
-   if (!DH_generate_parameters_ex(dh_params, 1024, DH_GENERATOR_5, NULL))
-     goto on_error;
-   if (!DH_check(dh_params, &dh))
-     goto on_error;
-   if ((dh & DH_CHECK_P_NOT_PRIME) || (dh & DH_CHECK_P_NOT_SAFE_PRIME))
-     goto on_error;
-   if (!DH_generate_key(dh_params))
-     goto on_error;
-   if (!SSL_CTX_set_tmp_dh(r->ssl_ctx, dh_params))
-     goto on_error;
+//#define OPENSSL_DH_OLD 1
+
+   do
+     {
+#ifdef OPENSSL_DH_OLD
+       DH *dh_params = DH_new();
+       if (!dh_params) goto on_error;
+       if (!DH_generate_parameters_ex(dh_params, 1024, DH_GENERATOR_5, NULL))
+         goto on_error;
+       if (!DH_check(dh_params, &dh))
+         goto on_error;
+       if ((dh & DH_CHECK_P_NOT_PRIME) || (dh & DH_CHECK_P_NOT_SAFE_PRIME))
+         goto on_error;
+       if (!DH_generate_key(dh_params))
+         goto on_error;
+       if (!SSL_CTX_set_tmp_dh(r->ssl_ctx, dh_params))
+         goto on_error;
+       DH_free(dh_params);
+#else
+       EVP_PKEY *params = NULL;
+       EVP_PKEY_CTX *pctx = EVP_PKEY_CTX_new_id(EVP_PKEY_DH, NULL);
+       if (!pctx)
+         goto on_error;
+       if (EVP_PKEY_paramgen_init(pctx) <= 0)
+         goto on_error2;
+       if (EVP_PKEY_CTX_set_dh_paramgen_prime_len(pctx, 1024) <= 0)
+         goto on_error2;
+       if (EVP_PKEY_CTX_set_dh_paramgen_generator(pctx, 5) <= 0)
+         goto on_error2;
+       if (EVP_PKEY_paramgen(pctx, &params) <= 0)
+         goto on_error2;
+       if (SSL_CTX_set0_tmp_dh_pkey(r->ssl_ctx, params) <= 0)
+         goto on_error2;
+on_error2:
+       if (params) EVP_PKEY_free(params);
+       EVP_PKEY_CTX_free(pctx);
+       if (!params) goto on_error;
+#endif
+     }
+   while (0);
 
-   DH_free(dh_params);
    INF("DH params successfully generated and applied!");
 
    if (!SSL_CTX_set_cipher_list(r->ssl_ctx,

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to