git: 29c7d4a9f835 - main - security/xmlsec1: fix build when using libressl
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 06 May 2022 20:25:03 UTC
The branch main has been updated by hrs: URL: https://cgit.FreeBSD.org/ports/commit/?id=29c7d4a9f83548fee47722fcc60ad33bbdfa9f87 commit 29c7d4a9f83548fee47722fcc60ad33bbdfa9f87 Author: Hiroki Sato <hrs@FreeBSD.org> AuthorDate: 2022-05-06 20:23:19 +0000 Commit: Hiroki Sato <hrs@FreeBSD.org> CommitDate: 2022-05-06 20:24:48 +0000 security/xmlsec1: fix build when using libressl PR: 263826 --- security/xmlsec1/files/patch-src-openssl-app.c | 70 ++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/security/xmlsec1/files/patch-src-openssl-app.c b/security/xmlsec1/files/patch-src-openssl-app.c new file mode 100644 index 000000000000..c723cad64dad --- /dev/null +++ b/security/xmlsec1/files/patch-src-openssl-app.c @@ -0,0 +1,70 @@ +--- src/openssl/app.c.orig 2022-05-03 23:36:17.000000000 +0900 ++++ src/openssl/app.c 2022-05-07 05:18:46.065103000 +0900 +@@ -43,6 +43,29 @@ + + #include "openssl_compat.h" + ++#if defined(XMLSEC_OPENSSL_API_110) && defined(LIBRESSL_VERSION_NUMBER) ++static UI_METHOD * ++ui_null_create(void) ++{ ++ return (UI_create_method("OpenSSL NULL UI")); ++} ++static void ++ui_null_destroy(UI_METHOD *ui) ++{ ++ UI_destroy_method(ui); ++} ++#else ++static const UI_METHOD * ++ui_null_create(void) ++{ ++ return (UI_null()); ++} ++static void ++ui_null_destroy(const UI_METHOD *ui) ++{ ++} ++#endif ++ + static int xmlSecOpenSSLAppLoadRANDFile (const char *filename); + static int xmlSecOpenSSLAppSaveRANDFile (const char *filename); + static int xmlSecOpenSSLDefaultPasswordCallback (char *buf, +@@ -415,6 +438,11 @@ + EVP_PKEY* pKey = NULL; + int engineInit = 0; + int ret; ++#if defined(XMLSEC_OPENSSL_API_110) && defined(LIBRESSL_VERSION_NUMBER) ++ UI_METHOD *ui_null = ui_null_create(); ++#else ++ const UI_METHOD *ui_null = ui_null_create(); ++#endif + + #ifndef OPENSSL_NO_ENGINE + xmlSecAssert2(engineName != NULL, NULL); +@@ -437,7 +465,7 @@ + } + } + +- if(ENGINE_ctrl_cmd(engine, "SET_USER_INTERFACE", 0, (void *)UI_null(), 0, 1) < 0) { ++ if(ENGINE_ctrl_cmd(engine, "SET_USER_INTERFACE", 0, (void *)ui_null, 0, 1) < 0) { + xmlSecOpenSSLError("ENGINE_ctrl_cmd_string(SET_USER_INTERFACE)", NULL); + goto done; + } +@@ -453,7 +481,7 @@ + + /* load private key */ + pKey = ENGINE_load_private_key(engine, engineKeyId, +- (UI_METHOD *)UI_null(), ++ (UI_METHOD *)ui_null, + NULL); + if(pKey == NULL) { + xmlSecOpenSSLError("ENGINE_load_private_key", NULL); +@@ -484,6 +512,7 @@ + data = NULL; + + done: ++ ui_null_destroy(ui_null); + /* cleanup */ + if(pKey != NULL) { + EVP_PKEY_free(pKey);