diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2021-04-29 20:56:56 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2021-04-30 09:04:19 +0200 |
commit | b5586bd42a35d294e014d665bc47c49ae4dfbde5 (patch) | |
tree | 3e9ec49258612431a6d9e987374518f35ba30065 /external | |
parent | c112868f6cc6a3ba937778435dcca1fe986bf124 (diff) |
external: update libxmlsec to 1.2.32
And drop the 2 upstreamed patches.
Change-Id: Ia821023d9cc06df5e9e7aef82c070ad1c98b67e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114894
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'external')
-rw-r--r-- | external/xmlsec/0001-xmlSecX509DataGetNodeContent-don-t-return-0-for-non-.patch.1 | 68 | ||||
-rw-r--r-- | external/xmlsec/UnpackedTarball_xmlsec.mk | 2 | ||||
-rw-r--r-- | external/xmlsec/windows7.patch.1 | 25 |
3 files changed, 0 insertions, 95 deletions
diff --git a/external/xmlsec/0001-xmlSecX509DataGetNodeContent-don-t-return-0-for-non-.patch.1 b/external/xmlsec/0001-xmlSecX509DataGetNodeContent-don-t-return-0-for-non-.patch.1 deleted file mode 100644 index 51607ca6ee73..000000000000 --- a/external/xmlsec/0001-xmlSecX509DataGetNodeContent-don-t-return-0-for-non-.patch.1 +++ /dev/null @@ -1,68 +0,0 @@ -From a39b110cb2c25680259a38b2f397b350151bc6e7 Mon Sep 17 00:00:00 2001 -From: Michael Stahl <michael.stahl@allotropia.de> -Date: Wed, 7 Apr 2021 16:43:48 +0200 -Subject: [PATCH] xmlSecX509DataGetNodeContent(): don't return 0 for non-empty - elements - -LibreOffice wants to write the content of KeyInfo itself and thus writes -X509Certificate element with content. - -But then xmlSecMSCngKeyDataX509XmlWrite() writes a duplicate -X509Certificate element, which then makes a new additional consistency -check in LO unhappy. - -The duplicate is written because xmlSecX509DataGetNodeContent() returns -0 because it only checks for empty nodes; if there are only non-empty -nodes a fallback to XMLSEC_X509DATA_DEFAULT occurs in all backends. - -Change the return value to be non-0 without changing the signature of -the function, as it is apparently public. - -This doesn't happen in LO in the NSS backend due to another accident, -where the private key flag isn't set when the X509Certificate is read, -but otherwise the code is the same. ---- - src/x509.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/src/x509.c b/src/x509.c -index ed8788ae..dac8bd2b 100644 ---- a/src/x509.c -+++ b/src/x509.c -@@ -60,22 +60,33 @@ xmlSecX509DataGetNodeContent (xmlNodePtr node, xmlSecKeyInfoCtxPtr keyInfoCtx) { - if(xmlSecCheckNodeName(cur, xmlSecNodeX509Certificate, xmlSecDSigNs)) { - if(xmlSecIsEmptyNode(cur) == 1) { - content |= XMLSEC_X509DATA_CERTIFICATE_NODE; -+ } else { -+ /* ensure return value isn't 0 if there are non-empty elements */ -+ content |= (XMLSEC_X509DATA_CERTIFICATE_NODE << 16); - } - } else if(xmlSecCheckNodeName(cur, xmlSecNodeX509SubjectName, xmlSecDSigNs)) { - if(xmlSecIsEmptyNode(cur) == 1) { - content |= XMLSEC_X509DATA_SUBJECTNAME_NODE; -+ } else { -+ content |= (XMLSEC_X509DATA_SUBJECTNAME_NODE << 16); - } - } else if(xmlSecCheckNodeName(cur, xmlSecNodeX509IssuerSerial, xmlSecDSigNs)) { - if(xmlSecIsEmptyNode(cur) == 1) { - content |= XMLSEC_X509DATA_ISSUERSERIAL_NODE; -+ } else { -+ content |= (XMLSEC_X509DATA_ISSUERSERIAL_NODE << 16); - } - } else if(xmlSecCheckNodeName(cur, xmlSecNodeX509SKI, xmlSecDSigNs)) { - if(xmlSecIsEmptyNode(cur) == 1) { - content |= XMLSEC_X509DATA_SKI_NODE; -+ } else { -+ content |= (XMLSEC_X509DATA_SKI_NODE << 16); - } - } else if(xmlSecCheckNodeName(cur, xmlSecNodeX509CRL, xmlSecDSigNs)) { - if(xmlSecIsEmptyNode(cur) == 1) { - content |= XMLSEC_X509DATA_CRL_NODE; -+ } else { -+ content |= (XMLSEC_X509DATA_CRL_NODE << 16); - } - } else { - /* todo: fail on unknown child node? */ --- -2.30.2 - diff --git a/external/xmlsec/UnpackedTarball_xmlsec.mk b/external/xmlsec/UnpackedTarball_xmlsec.mk index 2b05eb80bc53..3ad978cdb829 100644 --- a/external/xmlsec/UnpackedTarball_xmlsec.mk +++ b/external/xmlsec/UnpackedTarball_xmlsec.mk @@ -8,8 +8,6 @@ # xmlsec_patches := -xmlsec_patches += windows7.patch.1 -xmlsec_patches += 0001-xmlSecX509DataGetNodeContent-don-t-return-0-for-non-.patch.1 $(eval $(call gb_UnpackedTarball_UnpackedTarball,xmlsec)) diff --git a/external/xmlsec/windows7.patch.1 b/external/xmlsec/windows7.patch.1 deleted file mode 100644 index ccefc96c1c01..000000000000 --- a/external/xmlsec/windows7.patch.1 +++ /dev/null @@ -1,25 +0,0 @@ -From 21bbcb04b62352331a15a0b8463ebb27a9b858bc Mon Sep 17 00:00:00 2001 -From: Aleksey Sanin <aleksey@aleksey.com> -Date: Thu, 12 Nov 2020 11:17:01 -0800 -Subject: [PATCH] Fix DLL loading on windows - ---- - src/dl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/dl.c b/src/dl.c -index e934fe4e..a511df43 100644 ---- a/src/dl.c -+++ b/src/dl.c -@@ -148,7 +148,7 @@ xmlSecCryptoDLLibraryCreate(const xmlChar* name) { - #endif /* XMLSEC_DL_LIBLTDL */ - - #ifdef XMLSEC_DL_WIN32 --#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP) -+#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP) - lib->handle = LoadLibraryA((char*)lib->filename); - #else - LPWSTR wcLibFilename = xmlSecWin32ConvertUtf8ToUnicode(lib->filename); --- -2.25.1 - |