configure.ac | 2 external/xmlsec/0001-xmlsec-core-Fix-deprecated-LibXML2-warnings-840.patch.1 | 443 ++++++++++ external/xmlsec/UnpackedTarball_xmlsec.mk | 2 3 files changed, 446 insertions(+), 1 deletion(-)
New commits: commit 2ff0a3485d925df99b0372499fac56e3e524b27d Author: Michael Stahl <[email protected]> AuthorDate: Thu Jul 31 12:28:44 2025 +0200 Commit: Michael Stahl <[email protected]> CommitDate: Thu Oct 23 18:17:14 2025 +0200 xmlsec: fix ATTRIBUTE_UNUSED compile failure Mohit reports that it fails to build with gcc14: keysstore.c:133:56: error: expected ';', ',' or ')' before 'ATTRIBUTE_UNUSED' 133 | xmlSecKeysMngrPtr keysMngr ATTRIBUTE_UNUSED) { | ^~~~~~~~~~~~~~~~ symkeys.c:132:96: error: expected ';', ',' or ')' before 'ATTRIBUTE_UNUSED' 132 | xmlSecNssSymKeyDataGenerate(xmlSecKeyDataPtr data, xmlSecSize sizeBits, xmlSecKeyDataType type ATTRIBUTE_UNUSED) { | ^~~~~~~~~~~~~~~~ The problem appears to be that ATTRIBUTE_UNUSED is not defined - it is defined in the file include/xmlsec/private.h but that is not included in the symkeys.c nor keysstore.c in src/nss but the file /usr/include/libxml2/libxml/xmlversion.h is included in those files (as seen in .dep/libxmlsec1_nss_la-symkeys.Plo) and that one also defines ATTRIBUTE_UNUSED - so my impression is that it only ever worked by accident. Backport relevant looking commit from xmlsec 1.3.6, removing configure.ac changes and 2 hunks in .c files that used different calls: 1 out of 12 hunks FAILED -- saving rejects to file configure.ac.rej 1 out of 2 hunks FAILED -- saving rejects to file src/keysmngr.c.rej 1 out of 2 hunks FAILED -- saving rejects to file src/templates.c.rej Change-Id: I6fcc817c6e05b4ead77cc70ea6a9ffa0fc000cd9 (cherry picked from commit 2235dbd07cc7373740573dda7f31f44256cda576) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192876 Tested-by: Jenkins CollaboraOffice <[email protected]> Reviewed-by: Stephan Bergmann <[email protected]> diff --git a/external/xmlsec/0001-xmlsec-core-Fix-deprecated-LibXML2-warnings-840.patch.1 b/external/xmlsec/0001-xmlsec-core-Fix-deprecated-LibXML2-warnings-840.patch.1 new file mode 100644 index 000000000000..472a87e54699 --- /dev/null +++ b/external/xmlsec/0001-xmlsec-core-Fix-deprecated-LibXML2-warnings-840.patch.1 @@ -0,0 +1,443 @@ +From 22bb1045ffd62795b2e26140d1b3c1bf43f4de69 Mon Sep 17 00:00:00 2001 +From: lsh123 <[email protected]> +Date: Thu, 29 Aug 2024 22:47:41 -0400 +Subject: [PATCH] (xmlsec-core) Fix deprecated LibXML2 warnings (#840) + +--- + apps/xmlsec.c | 9 +++- + configure.ac | 89 ++++++++++++++++++---------------------- + include/xmlsec/private.h | 10 ++--- + include/xmlsec/xmlsec.h | 41 +++++++++--------- + src/gcrypt/signatures.c | 1 + + src/gcrypt/symkeys.c | 1 + + src/gnutls/asymkeys.c | 1 + + src/gnutls/keysstore.c | 1 + + src/keysmngr.c | 3 +- + src/mscng/certkeys.c | 1 + + src/mscng/symkeys.c | 1 + + src/mscng/x509vfy.c | 1 + + src/mscrypto/certkeys.c | 1 + + src/mscrypto/symkeys.c | 1 + + src/mscrypto/x509vfy.c | 1 + + src/nss/keysstore.c | 1 + + src/nss/symkeys.c | 1 + + src/openssl/keysstore.c | 1 + + src/parser.c | 29 ++++++++++--- + src/templates.c | 3 +- + src/xmlsec.c | 27 ++++++------ + src/xpath.c | 4 +- + 22 files changed, 131 insertions(+), 97 deletions(-) + +diff --git a/apps/xmlsec.c b/apps/xmlsec.c +index 0969af3c..e22637a1 100644 +--- a/apps/xmlsec.c ++++ b/apps/xmlsec.c +@@ -1356,7 +1356,14 @@ xmlSecAppExecute(xmlSecAppCommand command, const char** utf8_argv, int argc) { + + /* enable XXE? */ + if(xmlSecAppCmdLineParamIsSet(&xxeParam)) { +- xmlSecSetExternalEntityLoader( NULL ); // reset to libxml2's default handler ++ /* new parser option XML_PARSE_NO_XXE available since 2.13.0 */ ++#if LIBXML_VERSION < 21300 ++ xmlSecSetExternalEntityLoader(NULL); /* reset to libxml2's default handler */ ++#else /* LIBXML_VERSION < 21300 */ ++ int options = xmlSecParserGetDefaultOptions(); ++ options &= (~(XML_PARSE_NO_XXE)); ++ xmlSecParserSetDefaultOptions(options); ++#endif /* LIBXML_VERSION < 21300 */ + } + + /* enable verbose mode? */ +diff --git a/include/xmlsec/private.h b/include/xmlsec/private.h +index d7bc2406..a23c0002 100644 +--- a/include/xmlsec/private.h ++++ b/include/xmlsec/private.h +@@ -654,13 +654,13 @@ struct _xmlSecCryptoDLFunctions { + * + * Macro used to signal to GCC unused function parameters + */ +-#ifdef __GNUC__ + #ifndef ATTRIBUTE_UNUSED ++#ifdef __GNUC__ ++#define ATTRIBUTE_UNUSED __attribute__((unused)) ++#else /* __GNUC__ */ + #define ATTRIBUTE_UNUSED +-#endif +-#else +-#define ATTRIBUTE_UNUSED +-#endif ++#endif /* __GNUC__ */ ++#endif /* ATTRIBUTE_UNUSED */ + + /** + * UNREFERENCED_PARAMETER: +diff --git a/include/xmlsec/xmlsec.h b/include/xmlsec/xmlsec.h +index 9cce5331..14b7cd73 100644 +--- a/include/xmlsec/xmlsec.h ++++ b/include/xmlsec/xmlsec.h +@@ -22,6 +22,26 @@ + extern "C" { + #endif /* __cplusplus */ + ++/** ++ * XMLSEC_DEPRECATED: ++ * ++ * Marks function as deprecated. ++ */ ++#if !defined(IN_XMLSEC) && !defined(IN_XMLSEC_CRYPTO) ++#if defined(__GNUC__) ++#define XMLSEC_DEPRECATED __attribute__((deprecated)) ++#elif defined(__clang__) ++#define XMLSEC_DEPRECATED __attribute__((deprecated)) ++#elif defined(_MSC_VER) ++#define XMLSEC_DEPRECATED __declspec(deprecated) ++#else /* defined(_MSC_VER) */ ++#warning "WARNING: You need to implement XMLSEC_DEPRECATED for this compiler" ++#define XMLSEC_DEPRECATED ++#endif /* defined(_MSC_VER) */ ++#else /* !defined(IN_XMLSEC) && !defined(IN_XMLSEC_CRYPTO) */ ++#define XMLSEC_DEPRECATED ++#endif /* !defined(IN_XMLSEC) && !defined(IN_XMLSEC_CRYPTO) */ ++ + /*********************************************************************** + * + * Basic types to make ports to exotic platforms easier +@@ -93,28 +113,11 @@ typedef struct _xmlSecEncCtx xmlSecEncCtx, *xmlSecEncCtxPtr; + XMLSEC_EXPORT int xmlSecInit (void); + XMLSEC_EXPORT int xmlSecShutdown (void); + XMLSEC_EXPORT const xmlChar * xmlSecGetDefaultCrypto (void); ++ + XMLSEC_EXPORT void xmlSecSetExternalEntityLoader (xmlExternalEntityLoader entityLoader); + XMLSEC_EXPORT xmlSecSize xmlSecStrlen (const xmlChar * str); + +-/** +- * XMLSEC_DEPRECATED: +- * +- * Marks function as deprecated. +- */ +-#if !defined(IN_XMLSEC) && !defined(IN_XMLSEC_CRYPTO) +-#if defined(__GNUC__) +-#define XMLSEC_DEPRECATED __attribute__((deprecated)) +-#elif defined(__clang__) +-#define XMLSEC_DEPRECATED __attribute__((deprecated)) +-#elif defined(_MSC_VER) +-#define XMLSEC_DEPRECATED __declspec(deprecated) +-#else /* defined(_MSC_VER) */ +-#warning "WARNING: You need to implement XMLSEC_DEPRECATED for this compiler" +-#define XMLSEC_DEPRECATED +-#endif /* defined(_MSC_VER) */ +-#else /* !defined(IN_XMLSEC) && !defined(IN_XMLSEC_CRYPTO) */ +-#define XMLSEC_DEPRECATED +-#endif /* !defined(IN_XMLSEC) && !defined(IN_XMLSEC_CRYPTO) */ ++ + + /*********************************************************************** + * +diff --git a/src/gcrypt/signatures.c b/src/gcrypt/signatures.c +index 3cfe5293..d09aeb66 100644 +--- a/src/gcrypt/signatures.c ++++ b/src/gcrypt/signatures.c +@@ -22,6 +22,7 @@ + #include <xmlsec/keys.h> + #include <xmlsec/transforms.h> + #include <xmlsec/errors.h> ++#include <xmlsec/private.h> + + #include <xmlsec/gcrypt/crypto.h> + +diff --git a/src/gcrypt/symkeys.c b/src/gcrypt/symkeys.c +index cb2c1e69..49083a42 100644 +--- a/src/gcrypt/symkeys.c ++++ b/src/gcrypt/symkeys.c +@@ -22,6 +22,7 @@ + #include <xmlsec/keyinfo.h> + #include <xmlsec/transforms.h> + #include <xmlsec/errors.h> ++#include <xmlsec/private.h> + + #include <xmlsec/gcrypt/crypto.h> + #include "../keysdata_helpers.h" +diff --git a/src/gnutls/asymkeys.c b/src/gnutls/asymkeys.c +index 511f0306..d23a53fe 100644 +--- a/src/gnutls/asymkeys.c ++++ b/src/gnutls/asymkeys.c +@@ -27,6 +27,7 @@ + #include <xmlsec/keys.h> + #include <xmlsec/transforms.h> + #include <xmlsec/xmltree.h> ++#include <xmlsec/private.h> + + #include <xmlsec/gnutls/crypto.h> + +diff --git a/src/gnutls/keysstore.c b/src/gnutls/keysstore.c +index 4472cfe7..4c391683 100644 +--- a/src/gnutls/keysstore.c ++++ b/src/gnutls/keysstore.c +@@ -25,6 +25,7 @@ + #include <xmlsec/base64.h> + #include <xmlsec/errors.h> + #include <xmlsec/keysmngr.h> ++#include <xmlsec/private.h> + + #include <xmlsec/gnutls/crypto.h> + #include <xmlsec/gnutls/keysstore.h> +diff --git a/src/keysmngr.c b/src/keysmngr.c +index 635669fb..92a3ccca 100644 +--- a/src/keysmngr.c ++++ b/src/keysmngr.c +@@ -30,6 +30,7 @@ + #include <xmlsec/transforms.h> + #include <xmlsec/keysmngr.h> + #include <xmlsec/errors.h> ++#include <xmlsec/parser.h> + #include <xmlsec/private.h> + + #include "cast_helpers.h" +diff --git a/src/mscng/certkeys.c b/src/mscng/certkeys.c +index dc3138a6..41393b40 100644 +--- a/src/mscng/certkeys.c ++++ b/src/mscng/certkeys.c +@@ -26,6 +26,7 @@ + #include <xmlsec/keys.h> + #include <xmlsec/transforms.h> + #include <xmlsec/xmltree.h> ++#include <xmlsec/private.h> + + #include <xmlsec/mscng/certkeys.h> + #include <xmlsec/mscng/crypto.h> +diff --git a/src/mscng/symkeys.c b/src/mscng/symkeys.c +index 34728167..0c9e79e3 100644 +--- a/src/mscng/symkeys.c ++++ b/src/mscng/symkeys.c +@@ -23,6 +23,7 @@ + #include <xmlsec/transforms.h> + #include <xmlsec/errors.h> + #include <xmlsec/bn.h> ++#include <xmlsec/private.h> + + #include <xmlsec/mscng/crypto.h> + +diff --git a/src/mscng/x509vfy.c b/src/mscng/x509vfy.c +index 4593fa45..c6497c98 100644 +--- a/src/mscng/x509vfy.c ++++ b/src/mscng/x509vfy.c +@@ -27,6 +27,7 @@ + #include <xmlsec/keyinfo.h> + #include <xmlsec/keysmngr.h> + #include <xmlsec/xmltree.h> ++#include <xmlsec/private.h> + + #include <xmlsec/mscng/crypto.h> + #include <xmlsec/mscng/x509.h> +diff --git a/src/mscrypto/certkeys.c b/src/mscrypto/certkeys.c +index 2a20b8bd..8f94f70e 100644 +--- a/src/mscrypto/certkeys.c ++++ b/src/mscrypto/certkeys.c +@@ -32,6 +32,7 @@ + #include <xmlsec/transforms.h> + #include <xmlsec/errors.h> + #include <xmlsec/bn.h> ++#include <xmlsec/private.h> + + #include <xmlsec/mscrypto/certkeys.h> + #include <xmlsec/mscrypto/crypto.h> +diff --git a/src/mscrypto/symkeys.c b/src/mscrypto/symkeys.c +index e4fb190c..121f7876 100644 +--- a/src/mscrypto/symkeys.c ++++ b/src/mscrypto/symkeys.c +@@ -24,6 +24,7 @@ + #include <xmlsec/keyinfo.h> + #include <xmlsec/transforms.h> + #include <xmlsec/errors.h> ++#include <xmlsec/private.h> + + #include <xmlsec/mscrypto/crypto.h> + +diff --git a/src/mscrypto/x509vfy.c b/src/mscrypto/x509vfy.c +index 00af88d2..54366a50 100644 +--- a/src/mscrypto/x509vfy.c ++++ b/src/mscrypto/x509vfy.c +@@ -31,6 +31,7 @@ + #include <xmlsec/bn.h> + #include <xmlsec/errors.h> + #include <xmlsec/xmltree.h> ++#include <xmlsec/private.h> + + #include <xmlsec/mscrypto/crypto.h> + #include <xmlsec/mscrypto/x509.h> +diff --git a/src/nss/keysstore.c b/src/nss/keysstore.c +index d233ec8b..c7c16e33 100644 +--- a/src/nss/keysstore.c ++++ b/src/nss/keysstore.c +@@ -38,6 +38,7 @@ + #include <xmlsec/base64.h> + #include <xmlsec/errors.h> + #include <xmlsec/keysmngr.h> ++#include <xmlsec/private.h> + + #include <xmlsec/nss/crypto.h> + #include <xmlsec/nss/keysstore.h> +diff --git a/src/nss/symkeys.c b/src/nss/symkeys.c +index f94b72a2..9e8b7aa9 100644 +--- a/src/nss/symkeys.c ++++ b/src/nss/symkeys.c +@@ -23,6 +23,7 @@ + #include <xmlsec/keyinfo.h> + #include <xmlsec/transforms.h> + #include <xmlsec/errors.h> ++#include <xmlsec/private.h> + + #include <xmlsec/nss/crypto.h> + +diff --git a/src/openssl/keysstore.c b/src/openssl/keysstore.c +index ac4adf39..e4d861f6 100644 +--- a/src/openssl/keysstore.c ++++ b/src/openssl/keysstore.c +@@ -25,6 +25,7 @@ + #include <xmlsec/base64.h> + #include <xmlsec/errors.h> + #include <xmlsec/keysmngr.h> ++#include <xmlsec/private.h> + + #include <xmlsec/openssl/crypto.h> + #include <xmlsec/openssl/keysstore.h> +diff --git a/src/parser.c b/src/parser.c +index 4c6404da..9485be10 100644 +--- a/src/parser.c ++++ b/src/parser.c +@@ -567,20 +567,39 @@ void + xmlSecParsePrepareCtxt(xmlParserCtxtPtr ctxt) { + xmlSecAssert(ctxt != NULL); + ++#if LIBXML_VERSION < 21300 + /* required for c14n! */ + ctxt->loadsubset = XML_DETECT_IDS | XML_COMPLETE_ATTRS; + ctxt->replaceEntities = 1; ++#else /* LIBXML_VERSION < 21300 */ ++ xmlCtxtSetOptions(ctxt, xmlSecParserGetDefaultOptions()); ++#endif /* LIBXML_VERSION < 21300 */ + + xmlCtxtUseOptions(ctxt, xmlSecParserGetDefaultOptions()); + } + ++ + /* +- * XML_PARSE_NONET to support c14n +- * XML_PARSE_NODICT to avoid problems with moving nodes around +- * XML_PARSE_HUGE to enable parsing of XML documents with large text nodes ++ * To block network access and loading of external entities: ++ * - XML_PARSE_NO_XXE: disable loading of external content (available >= 2.13.0), ++ * it disables XML_PARSE_DTDLOAD | XML_PARSE_DTDATTR ut we keep those in defaults ++ * to make it work if XML_PARSE_NO_XXE is disabled (e.g. with --xxe option) ++ * - XML_PARSE_NONET: forbid network access ++ * ++ * To support c14n: ++ * - XML_PARSE_NOENT: substitute entities ++ * - XML_PARSE_DTDLOAD: load the external subset (disabled with XML_PARSE_NO_XXE) ++ * - XML_PARSE_DTDATTR: default DTD attributes (disabled with XML_PARSE_NO_XXE) ++ * ++ * Misc: ++ * XML_PARSE_NODICT: do not reuse the context dictionary (to avoid problems with moving nodes around) ++ * XML_PARSE_HUGE: relax any hardcoded limit from the parser (to enable parsing of XML documents with large text nodes) + */ +-static int g_xmlsec_parser_default_options = XML_PARSE_NONET | XML_PARSE_NODICT | XML_PARSE_HUGE; +- ++#if LIBXML_VERSION < 21300 ++static int g_xmlsec_parser_default_options = XML_PARSE_NONET | XML_PARSE_NOENT | XML_PARSE_DTDLOAD | XML_PARSE_DTDATTR | XML_PARSE_NODICT | XML_PARSE_HUGE; ++#else /* LIBXML_VERSION < 21300 */ ++static int g_xmlsec_parser_default_options = XML_PARSE_NO_XXE | XML_PARSE_NONET | XML_PARSE_NOENT | XML_PARSE_DTDLOAD | XML_PARSE_DTDATTR | XML_PARSE_NODICT | XML_PARSE_HUGE; ++#endif /* LIBXML_VERSION < 21300 */ + /** + * xmlSecParserGetDefaultOptions: + * +diff --git a/src/templates.c b/src/templates.c +index 4fcbf774..32efdeba 100644 +--- a/src/templates.c ++++ b/src/templates.c +@@ -26,6 +26,7 @@ + #include <xmlsec/strings.h> + #include <xmlsec/base64.h> + #include <xmlsec/templates.h> ++#include <xmlsec/parser.h> + #include <xmlsec/errors.h> + + +diff --git a/src/xmlsec.c b/src/xmlsec.c +index 4fdc78fe..8187ff8b 100644 +--- a/src/xmlsec.c ++++ b/src/xmlsec.c +@@ -29,26 +29,20 @@ + #include <xmlsec/transforms.h> + #include <xmlsec/app.h> + #include <xmlsec/io.h> ++#include <xmlsec/parser.h> + #include <xmlsec/errors.h> + + #include "cast_helpers.h" + +-/* +- * Custom external entity handler, denies all files except the initial +- * document we're parsing (input_id == 1) +- */ ++ + /* default external entity loader, pointer saved during xmlInit */ +-static xmlExternalEntityLoader +-xmlSecDefaultExternalEntityLoader = NULL; ++static xmlExternalEntityLoader xmlSecDefaultExternalEntityLoader = NULL; + ++/* new parser option XML_PARSE_NO_XXE available since 2.13.0 */ ++#if LIBXML_VERSION < 21300 + /* +- * xmlSecNoXxeExternalEntityLoader: +- * @URL: the URL for the entity to load +- * @ID: public ID for the entity to load +- * @ctxt: XML parser context, or NULL +- * +- * See libxml2's xmlLoadExternalEntity and xmlNoNetExternalEntityLoader. +- * This function prevents any external (file or network) entities from being loaded. ++ * Custom external entity handler, denies all files except the initial ++ * document we're parsing (input_id == 1) + */ + static xmlParserInputPtr + xmlSecNoXxeExternalEntityLoader(const char *URL, const char *ID, +@@ -64,6 +58,8 @@ xmlSecNoXxeExternalEntityLoader(const char *URL, const char *ID, + return(NULL); + } + ++#endif /* LIBXML_VERSION < 21300 */ ++ + /** + * xmlSecSetExternalEntityLoader: + * @entityLoader: the new entity resolver function, or NULL to restore libxml2's default handler +@@ -113,8 +109,11 @@ xmlSecInit(void) { + if (!xmlSecDefaultExternalEntityLoader) { + xmlSecDefaultExternalEntityLoader = xmlGetExternalEntityLoader(); + } +- xmlSetExternalEntityLoader(xmlSecNoXxeExternalEntityLoader); + ++ /* new parser option XML_PARSE_NO_XXE available since 2.13.0 and is set as default options for parsers */ ++#if LIBXML_VERSION < 21300 ++ xmlSetExternalEntityLoader(xmlSecNoXxeExternalEntityLoader); ++#endif /* LIBXML_VERSION < 21300 */ + + /* we use rand() function to generate id attributes */ + srand((unsigned int)time(NULL)); +diff --git a/src/xpath.c b/src/xpath.c +index 9d8291c7..1f3821be 100644 +--- a/src/xpath.c ++++ b/src/xpath.c +@@ -111,9 +111,9 @@ xmlSecXPathDataCreate(xmlSecXPathDataType type) { + } + break; + case xmlSecXPathDataTypeXPointer: +- data->ctx = xmlXPtrNewContext(NULL, NULL, NULL); /* we'll set doc in the context later */ ++ data->ctx = xmlXPathNewContext(NULL); /* we'll set doc in the context later */ + if(data->ctx == NULL) { +- xmlSecXmlError("xmlXPtrNewContext", NULL); ++ xmlSecXmlError("xmlXPathNewContext", NULL); + xmlSecXPathDataDestroy(data); + return(NULL); + } +-- +2.50.1 + diff --git a/external/xmlsec/UnpackedTarball_xmlsec.mk b/external/xmlsec/UnpackedTarball_xmlsec.mk index 906aece5f7ed..5f6c6271adb6 100644 --- a/external/xmlsec/UnpackedTarball_xmlsec.mk +++ b/external/xmlsec/UnpackedTarball_xmlsec.mk @@ -12,6 +12,8 @@ xmlsec_patches := xmlsec_patches += old-nss.patch.1 # Remove this when Windows 7 is no longer supported xmlsec_patches += BCryptKeyDerivation.patch.1 +# backport 1.3.6 fix for ATTRIBUTE_UNUSED +xmlsec_patches += 0001-xmlsec-core-Fix-deprecated-LibXML2-warnings-840.patch.1 $(eval $(call gb_UnpackedTarball_UnpackedTarball,xmlsec)) commit dd659b38a90aae8b07bf3e95c13ef9c9d32f2334 Author: Michael Stahl <[email protected]> AuthorDate: Wed Oct 1 15:55:08 2025 +0200 Commit: Michael Stahl <[email protected]> CommitDate: Thu Oct 23 18:17:07 2025 +0200 configure: openssl 3.0.18 evidently needs perl Time::Piece Can't locate Time/Piece.pm in @INC (you may need to install the Time::Piece module) (@INC entries checked: ...) at Makefile.in line 37. Change-Id: Ia47eeb971f7bf91972f46be46330f10e64682799 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191735 Tested-by: Jenkins Reviewed-by: Michael Stahl <[email protected]> (cherry picked from commit 0622d8d160b54b120e3955b6b0e177a2a25ca0d1) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191753 Reviewed-by: Christian Lohmaier <[email protected]> (cherry picked from commit 4d33d0e89c2138e581720fb9d3494c10e792d64d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192875 Tested-by: Jenkins CollaboraOffice <[email protected]> Reviewed-by: Stephan Bergmann <[email protected]> diff --git a/configure.ac b/configure.ac index d64504b70e44..d3d67db973ff 100644 --- a/configure.ac +++ b/configure.ac @@ -6568,7 +6568,7 @@ if test "$with_system_hsqldb" = "yes"; then fi if test "$enable_openssl" = "yes" -a "$with_system_openssl" != "yes"; then # OpenSSL needs that to build - perl_use_string="$perl_use_string ; use FindBin" + perl_use_string="$perl_use_string ; use FindBin ; use Time::Piece" fi if $PERL -e "$perl_use_string">/dev/null 2>&1; then AC_MSG_RESULT([all modules found])
