You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by tr...@apache.org on 2019/11/13 02:23:38 UTC
[openoffice] branch trunk updated: Upgrade libxslt to version
1.1.34 and libxml2 to version 2.9.10.
This is an automated email from the ASF dual-hosted git repository.
truckman pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/openoffice.git
The following commit(s) were added to refs/heads/trunk by this push:
new fb46da0 Upgrade libxslt to version 1.1.34 and libxml2 to version 2.9.10.
fb46da0 is described below
commit fb46da01d3ec3c7ebbe1d9b1d53817c9cd8ac630
Author: Don Lewis <tr...@apache.org>
AuthorDate: Tue Nov 12 18:32:23 2019 -0800
Upgrade libxslt to version 1.1.34 and libxml2 to version 2.9.10.
This version of libxslt contains the bugfix and three CVE patches that
we had cherry picked from upstream.
---
main/external_deps.lst | 8 +-
main/libxml2/libxml2-configure.patch | 84 ++++++++---------
main/libxml2/makefile.mk | 12 +--
main/libxslt/libxslt-CVE-2019-11068.patch | 120 ------------------------
main/libxslt/libxslt-CVE-2019-13117.patch | 29 ------
main/libxslt/libxslt-CVE-2019-13118.patch | 71 --------------
main/libxslt/libxslt-backup_Xpath_context.patch | 93 ------------------
main/libxslt/libxslt-configure.patch | 53 +++++++----
main/libxslt/libxslt-win_manifest.patch | 15 ++-
main/libxslt/libxsltversion.mk | 2 +-
main/libxslt/makefile.mk | 10 +-
11 files changed, 101 insertions(+), 396 deletions(-)
diff --git a/main/external_deps.lst b/main/external_deps.lst
index 1ad42e6..65a48dc 100644
--- a/main/external_deps.lst
+++ b/main/external_deps.lst
@@ -169,14 +169,14 @@ if ( true )
URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
if (SYSTEM_LIBXML != YES)
- MD5 = c04a5a0a042eaa157e8e8c9eabe76bd6
- name = libxml2-2.9.9.tar.gz
+ MD5 = 10942a1dc23137a8aa07f0639cbfece5
+ name = libxml2-2.9.10.tar.gz
URL1 = http://xmlsoft.org/sources/$(name)
URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
if (SYSTEM_LIBXSLT != YES)
- MD5 = b3bd254a03e46d58f8ad1e4559cd2c2f
- name = libxslt-1.1.33.tar.gz
+ MD5 = db8765c8d076f1b6caafd9f2542a304a
+ name = libxslt-1.1.34.tar.gz
URL1 = http://xmlsoft.org/sources/$(name)
URL2 = $(OOO_EXTRAS)$(MD5)-$(name)
diff --git a/main/libxml2/libxml2-configure.patch b/main/libxml2/libxml2-configure.patch
index 91c5845..b0f6fb6 100644
--- a/main/libxml2/libxml2-configure.patch
+++ b/main/libxml2/libxml2-configure.patch
@@ -1,7 +1,7 @@
-diff -ur misc/libxml2-2.9.9/include/libxml/xmlversion.h misc/build/libxml2-2.9.9/include/libxml/xmlversion.h
---- misc/libxml2-2.9.9/include/libxml/xmlversion.h 2018-03-05 07:54:29.000000000 -0800
-+++ misc/build/libxml2-2.9.9/include/libxml/xmlversion.h 2018-08-22 22:53:15.488158000 -0700
-@@ -273,7 +273,7 @@
+diff -ur misc/libxml2-2.9.10/include/libxml/xmlversion.h misc/build/libxml2-2.9.10/include/libxml/xmlversion.h
+--- misc/libxml2-2.9.10/include/libxml/xmlversion.h 2018-03-05 07:54:29.000000000 -0800
++++ misc/build/libxml2-2.9.10/include/libxml/xmlversion.h 2018-08-22 22:53:15.488158000 -0700
+@@ -270,7 +270,7 @@
*
* Whether iconv support is available
*/
@@ -10,7 +10,7 @@ diff -ur misc/libxml2-2.9.9/include/libxml/xmlversion.h misc/build/libxml2-2.9.9
#define LIBXML_ICONV_ENABLED
#endif
-@@ -300,7 +300,7 @@
+@@ -297,7 +297,7 @@
*
* Whether Debugging module is configured in
*/
@@ -19,9 +19,9 @@ diff -ur misc/libxml2-2.9.9/include/libxml/xmlversion.h misc/build/libxml2-2.9.9
#define LIBXML_DEBUG_ENABLED
#endif
-diff -ur misc/libxml2-2.9.9/xml2-config.in misc/build/libxml2-2.9.9/xml2-config.in
---- misc/libxml2-2.9.9/xml2-config.in 2016-06-07 03:04:14.000000000 -0700
-+++ misc/build/libxml2-2.9.9/xml2-config.in 2018-08-22 22:53:15.489086000 -0700
+diff -ur misc/libxml2-2.9.10/xml2-config.in misc/build/libxml2-2.9.10/xml2-config.in
+--- misc/libxml2-2.9.10/xml2-config.in 2016-06-07 03:04:14.000000000 -0700
++++ misc/build/libxml2-2.9.10/xml2-config.in 2019-11-07 22:50:00.185459398 -0800
@@ -1,9 +1,14 @@
#! /bin/sh
@@ -41,51 +41,45 @@ diff -ur misc/libxml2-2.9.9/xml2-config.in misc/build/libxml2-2.9.9/xml2-config.
usage()
{
-@@ -67,7 +72,8 @@
+@@ -65,7 +70,8 @@
;;
--cflags)
-- echo @XML_INCLUDEDIR@ @XML_CFLAGS@
-+ echo -I${includedir}
-+# echo @XML_INCLUDEDIR@ @XML_CFLAGS@
+- cflags="@XML_INCLUDEDIR@ @XML_CFLAGS@"
++ cflags="-I${includedir}"
++# cflags="@XML_INCLUDEDIR@ @XML_CFLAGS@"
;;
--libtool-libs)
-@@ -82,19 +88,26 @@
+@@ -80,18 +86,19 @@
;;
--libs)
-- if [ "`uname`" = "Linux" ]
-- then
-- if [ "@XML_LIBDIR@" = "-L/usr/lib" -o "@XML_LIBDIR@" = "-L/usr/lib64" ]
-- then
-- echo @XML_LIBS@ @MODULE_PLATFORM_LIBS@
-- else
-- echo @XML_LIBDIR@ @XML_LIBS@ @MODULE_PLATFORM_LIBS@
-- fi
-- else
-- echo @XML_LIBDIR@ @XML_LIBS@ @MODULE_PLATFORM_LIBS@ @WIN32_EXTRA_LIBADD@
-- fi
-+ echo -L${libdir} ${LIBXML2LIB} -lm
-+# if [ "`uname`" = "Linux" ]
-+# then
-+# if [ "@XML_LIBDIR@" = "-L/usr/lib" -o "@XML_LIBDIR@" = "-L/usr/lib64" ]
-+# then
-+# echo @XML_LIBS@ @MODULE_PLATFORM_LIBS@
-+# else
-+# echo @XML_LIBDIR@ @XML_LIBS@ @MODULE_PLATFORM_LIBS@
-+# fi
-+# else
-+# echo @XML_LIBDIR@ @XML_LIBS@ @MODULE_PLATFORM_LIBS@ @WIN32_EXTRA_LIBADD@
-+# fi
-+
- ;;
+- if [ "$2" = "--dynamic" ]; then
+- shift
+- libs="@XML_LIBS@"
+- else
+- libs="@XML_LIBS@ @XML_PRIVATE_LIBS@ @MODULE_PLATFORM_LIBS@"
+- fi
+-
+- if [ "@XML_LIBDIR@" != "-L/usr/lib" -a "@XML_LIBDIR@" != "-L/usr/lib64" ]; then
+- libs="@XML_LIBDIR@ $libs"
+- fi
+-
+- libs="$libs @WIN32_EXTRA_LIBADD@"
++ libs="-L${libdir} ${LIBXML2LIB} -lm"
++ if [ "$2" = "--dynamic" ]; then
++ shift
++# libs="@XML_LIBS@"
++# else
++# libs="@XML_LIBS@ @XML_PRIVATE_LIBS@ @MODULE_PLATFORM_LIBS@"
++ fi
++#
++# if [ "@XML_LIBDIR@" != "-L/usr/lib" -a "@XML_LIBDIR@" != "-L/usr/lib64" ]; then
++# libs="@XML_LIBDIR@ $libs"
++# fi
++#
++# libs="$libs @WIN32_EXTRA_LIBADD@"
+ ;;
-+ print) # ugly configure hack
-+ exit 0
-+ ;;
-+
-+
*)
- usage
- exit 1
diff --git a/main/libxml2/makefile.mk b/main/libxml2/makefile.mk
index 934ff33..be13d7a 100644
--- a/main/libxml2/makefile.mk
+++ b/main/libxml2/makefile.mk
@@ -38,10 +38,10 @@ all:
# --- Files --------------------------------------------------------
-LIBXML2VERSION=2.9.9
+LIBXML2VERSION=2.9.10
TARFILE_NAME=$(PRJNAME)-$(LIBXML2VERSION)
-TARFILE_MD5=c04a5a0a042eaa157e8e8c9eabe76bd6
+TARFILE_MD5=10942a1dc23137a8aa07f0639cbfece5
PATCH_FILES=libxml2-configure.patch
@@ -62,13 +62,13 @@ xml2_LIBS+=$(MINGW_SHARED_LIBSTDCPP)
.ENDIF
CONFIGURE_DIR=
CONFIGURE_ACTION=.$/configure
-CONFIGURE_FLAGS=--enable-ipv6=no --without-python --without-zlib --enable-static=no --without-debug --build=i586-pc-mingw32 --host=i586-pc-mingw32 lt_cv_cc_dll_switch="-shared" CC="$(xml2_CC)" LDFLAGS="-no-undefined -Wl,--enable-runtime-pseudo-reloc-v2 -L$(ILIB:s/;/ -L/)" LIBS="$(xml2_LIBS)" OBJDUMP=objdump
+CONFIGURE_FLAGS=--enable-ipv6=no --without-python --without-lzma --enable-static=no --without-debug --build=i586-pc-mingw32 --host=i586-pc-mingw32 lt_cv_cc_dll_switch="-shared" CC="$(xml2_CC)" LDFLAGS="-no-undefined -Wl,--enable-runtime-pseudo-reloc-v2 -L$(ILIB:s/;/ -L/)" LIBS="$(xml2_LIBS)" OBJDUMP=objdump
BUILD_ACTION=$(GNUMAKE)
BUILD_DIR=$(CONFIGURE_DIR)
.ELSE
CONFIGURE_DIR=win32
CONFIGURE_ACTION=cscript configure.js
-CONFIGURE_FLAGS=iconv=no sax1=yes
+CONFIGURE_FLAGS=iconv=no sax1=yes lzma=no
.IF "$(debug)"!=""
CONFIGURE_FLAGS+=debug=yes
.ENDIF
@@ -87,10 +87,10 @@ xml2_LDFLAGS+=-L$(SYSBASE)$/usr$/lib
CONFIGURE_DIR=
.IF "$(OS)"=="OS2"
CONFIGURE_ACTION=sh .$/configure
-CONFIGURE_FLAGS=--enable-ipv6=no --without-python --without-zlib --enable-static=yes --with-sax1=yes ADDCFLAGS="$(xml2_CFLAGS)" CFLAGS="$(EXTRA_CFLAGS)" LDFLAGS="$(xml2_LDFLAGS) $(EXTRA_LINKFLAGS)"
+CONFIGURE_FLAGS=--enable-ipv6=no --without-python --without-zlib --without-lzma --enable-static=yes --with-sax1=yes ADDCFLAGS="$(xml2_CFLAGS)" CFLAGS="$(EXTRA_CFLAGS)" LDFLAGS="$(xml2_LDFLAGS) $(EXTRA_LINKFLAGS)"
.ELSE
CONFIGURE_ACTION=.$/configure
-CONFIGURE_FLAGS=--enable-ipv6=no --without-python --without-zlib --enable-static=no --with-sax1=yes ADDCFLAGS="$(xml2_CFLAGS) $(EXTRA_CFLAGS)" LDFLAGS="$(xml2_LDFLAGS) $(EXTRA_LINKFLAGS)"
+CONFIGURE_FLAGS=--enable-ipv6=no --without-python --without-zlib --without-lzma --enable-static=no --with-sax1=yes ADDCFLAGS="$(xml2_CFLAGS) $(EXTRA_CFLAGS)" LDFLAGS="$(xml2_LDFLAGS) $(EXTRA_LINKFLAGS)"
.ENDIF
BUILD_ACTION=$(GNUMAKE)
BUILD_FLAGS+= -j$(EXTMAXPROCESS)
diff --git a/main/libxslt/libxslt-CVE-2019-11068.patch b/main/libxslt/libxslt-CVE-2019-11068.patch
deleted file mode 100644
index 5651f03..0000000
--- a/main/libxslt/libxslt-CVE-2019-11068.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-From e03553605b45c88f0b4b2980adfbbb8f6fca2fd6 Mon Sep 17 00:00:00 2001
-From: Nick Wellnhofer <we...@aevum.de>
-Date: Sun, 24 Mar 2019 09:51:39 +0100
-Subject: [PATCH] Fix security framework bypass
-
-xsltCheckRead and xsltCheckWrite return -1 in case of error but callers
-don't check for this condition and allow access. With a specially
-crafted URL, xsltCheckRead could be tricked into returning an error
-because of a supposedly invalid URL that would still be loaded
-succesfully later on.
-
-Fixes #12.
-
-Thanks to Felix Wilhelm for the report.
----
- libxslt/documents.c | 18 ++++++++++--------
- libxslt/imports.c | 9 +++++----
- libxslt/transform.c | 9 +++++----
- libxslt/xslt.c | 9 +++++----
- 4 files changed, 25 insertions(+), 20 deletions(-)
-
-diff misc/libxslt-1.1.33/libxslt/documents.c misc/build/libxslt-1.1.33/libxslt/documents.c
-index 3f3a7312..4aad11bb 100644
---- misc/libxslt-1.1.33/libxslt/documents.c
-+++ misc/build/libxslt-1.1.33/libxslt/documents.c
-@@ -296,10 +296,11 @@ xsltLoadDocument(xsltTransformContextPtr ctxt, const xmlChar *URI) {
- int res;
-
- res = xsltCheckRead(ctxt->sec, ctxt, URI);
-- if (res == 0) {
-- xsltTransformError(ctxt, NULL, NULL,
-- "xsltLoadDocument: read rights for %s denied\n",
-- URI);
-+ if (res <= 0) {
-+ if (res == 0)
-+ xsltTransformError(ctxt, NULL, NULL,
-+ "xsltLoadDocument: read rights for %s denied\n",
-+ URI);
- return(NULL);
- }
- }
-@@ -372,10 +373,11 @@ xsltLoadStyleDocument(xsltStylesheetPtr style, const xmlChar *URI) {
- int res;
-
- res = xsltCheckRead(sec, NULL, URI);
-- if (res == 0) {
-- xsltTransformError(NULL, NULL, NULL,
-- "xsltLoadStyleDocument: read rights for %s denied\n",
-- URI);
-+ if (res <= 0) {
-+ if (res == 0)
-+ xsltTransformError(NULL, NULL, NULL,
-+ "xsltLoadStyleDocument: read rights for %s denied\n",
-+ URI);
- return(NULL);
- }
- }
-diff misc/libxslt-1.1.33/libxslt/imports.c misc/build/libxslt-1.1.33/libxslt/imports.c
-index 874870cc..3783b247 100644
---- misc/libxslt-1.1.33/libxslt/imports.c
-+++ misc/build/libxslt-1.1.33/libxslt/imports.c
-@@ -130,10 +130,11 @@ xsltParseStylesheetImport(xsltStylesheetPtr style, xmlNodePtr cur) {
- int secres;
-
- secres = xsltCheckRead(sec, NULL, URI);
-- if (secres == 0) {
-- xsltTransformError(NULL, NULL, NULL,
-- "xsl:import: read rights for %s denied\n",
-- URI);
-+ if (secres <= 0) {
-+ if (secres == 0)
-+ xsltTransformError(NULL, NULL, NULL,
-+ "xsl:import: read rights for %s denied\n",
-+ URI);
- goto error;
- }
- }
-diff misc/libxslt-1.1.33/libxslt/transform.c misc/build/libxslt-1.1.33/libxslt/transform.c
-index 13793914..0636dbd0 100644
---- misc/libxslt-1.1.33/libxslt/transform.c
-+++ misc/build/libxslt-1.1.33/libxslt/transform.c
-@@ -3493,10 +3493,11 @@ xsltDocumentElem(xsltTransformContextPtr ctxt, xmlNodePtr node,
- */
- if (ctxt->sec != NULL) {
- ret = xsltCheckWrite(ctxt->sec, ctxt, filename);
-- if (ret == 0) {
-- xsltTransformError(ctxt, NULL, inst,
-- "xsltDocumentElem: write rights for %s denied\n",
-- filename);
-+ if (ret <= 0) {
-+ if (ret == 0)
-+ xsltTransformError(ctxt, NULL, inst,
-+ "xsltDocumentElem: write rights for %s denied\n",
-+ filename);
- xmlFree(URL);
- xmlFree(filename);
- return;
-diff misc/libxslt-1.1.33/libxslt/xslt.c misc/build/libxslt-1.1.33/libxslt/xslt.c
-index 780a5ad7..a234eb79 100644
---- misc/libxslt-1.1.33/libxslt/xslt.c
-+++ misc/build/libxslt-1.1.33/libxslt/xslt.c
-@@ -6763,10 +6763,11 @@ xsltParseStylesheetFile(const xmlChar* filename) {
- int res;
-
- res = xsltCheckRead(sec, NULL, filename);
-- if (res == 0) {
-- xsltTransformError(NULL, NULL, NULL,
-- "xsltParseStylesheetFile: read rights for %s denied\n",
-- filename);
-+ if (res <= 0) {
-+ if (res == 0)
-+ xsltTransformError(NULL, NULL, NULL,
-+ "xsltParseStylesheetFile: read rights for %s denied\n",
-+ filename);
- return(NULL);
- }
- }
---
-2.11.0
-
diff --git a/main/libxslt/libxslt-CVE-2019-13117.patch b/main/libxslt/libxslt-CVE-2019-13117.patch
deleted file mode 100644
index 6ee9bc8..0000000
--- a/main/libxslt/libxslt-CVE-2019-13117.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From c5eb6cf3aba0af048596106ed839b4ae17ecbcb1 Mon Sep 17 00:00:00 2001
-From: Nick Wellnhofer <we...@aevum.de>
-Date: Sat, 27 Apr 2019 11:19:48 +0200
-Subject: [PATCH] Fix uninitialized read of xsl:number token
-
-Found by OSS-Fuzz.
----
- libxslt/numbers.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff misc/libxslt-1.1.33/libxslt/numbers.c misc/build/libxslt-1.1.33/libxslt/numbers.c
-index 89e1f668..75c31eba 100644
---- misc/libxslt-1.1.33/libxslt/numbers.c
-+++ misc/build/libxslt-1.1.33/libxslt/numbers.c
-@@ -382,7 +382,10 @@ xsltNumberFormatTokenize(const xmlChar *format,
- tokens->tokens[tokens->nTokens].token = val - 1;
- ix += len;
- val = xmlStringCurrentChar(NULL, format+ix, &len);
-- }
-+ } else {
-+ tokens->tokens[tokens->nTokens].token = (xmlChar)'0';
-+ tokens->tokens[tokens->nTokens].width = 1;
-+ }
- } else if ( (val == (xmlChar)'A') ||
- (val == (xmlChar)'a') ||
- (val == (xmlChar)'I') ||
---
-2.11.0
-
diff --git a/main/libxslt/libxslt-CVE-2019-13118.patch b/main/libxslt/libxslt-CVE-2019-13118.patch
deleted file mode 100644
index 520306d..0000000
--- a/main/libxslt/libxslt-CVE-2019-13118.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 6ce8de69330783977dd14f6569419489875fb71b Mon Sep 17 00:00:00 2001
-From: Nick Wellnhofer <we...@aevum.de>
-Date: Mon, 3 Jun 2019 13:14:45 +0200
-Subject: [PATCH] Fix uninitialized read with UTF-8 grouping chars
-
-The character type in xsltFormatNumberConversion was too narrow and
-an invalid character/length combination could be passed to
-xsltNumberFormatDecimal, resulting in an uninitialized read.
-
-Found by OSS-Fuzz.
----
- libxslt/numbers.c | 5 +++--
- tests/docs/bug-222.xml | 1 +
- tests/general/bug-222.out | 2 ++
- tests/general/bug-222.xsl | 6 ++++++
- 4 files changed, 12 insertions(+), 2 deletions(-)
- create mode 100644 tests/docs/bug-222.xml
- create mode 100644 tests/general/bug-222.out
- create mode 100644 tests/general/bug-222.xsl
-
-diff misc/libxslt-1.1.33/libxslt/numbers.c misc/build/libxslt-1.1.33/libxslt/numbers.c
-index f1ed8846..20b99d5a 100644
---- misc/libxslt-1.1.33/libxslt/numbers.c
-+++ misc/build/libxslt-1.1.33/libxslt/numbers.c
-@@ -1298,13 +1298,14 @@ OUTPUT_NUMBER:
- number = floor((scale * number + 0.5)) / scale;
- if ((self->grouping != NULL) &&
- (self->grouping[0] != 0)) {
-+ int gchar;
-
- len = xmlStrlen(self->grouping);
-- pchar = xsltGetUTF8Char(self->grouping, &len);
-+ gchar = xsltGetUTF8Char(self->grouping, &len);
- xsltNumberFormatDecimal(buffer, floor(number), self->zeroDigit[0],
- format_info.integer_digits,
- format_info.group,
-- pchar, len);
-+ gchar, len);
- } else
- xsltNumberFormatDecimal(buffer, floor(number), self->zeroDigit[0],
- format_info.integer_digits,
-diff misc/libxslt-1.1.33/tests/docs/bug-222.xml misc/build/libxslt-1.1.33/tests/docs/bug-222.xml
-new file mode 100644
-index 00000000..69d62f2c
---- /dev/null
-+++ misc/build/libxslt-1.1.33/tests/docs/bug-222.xml
-@@ -0,0 +1 @@
-+<doc/>
-diff misc/libxslt-1.1.33/tests/general/bug-222.out misc/build/libxslt-1.1.33/tests/general/bug-222.out
-new file mode 100644
-index 00000000..e3139698
---- /dev/null
-+++ misc/build/libxslt-1.1.33/tests/general/bug-222.out
-@@ -0,0 +1,2 @@
-+<?xml version="1.0"?>
-+1⠢0
-diff misc/libxslt-1.1.33/tests/general/bug-222.xsl misc/build/libxslt-1.1.33/tests/general/bug-222.xsl
-new file mode 100644
-index 00000000..e32dc473
---- /dev/null
-+++ misc/build/libxslt-1.1.33/tests/general/bug-222.xsl
-@@ -0,0 +1,6 @@
-+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-+ <xsl:decimal-format name="f" grouping-separator="⠢"/>
-+ <xsl:template match="/">
-+ <xsl:value-of select="format-number(10,'#⠢0','f')"/>
-+ </xsl:template>
-+</xsl:stylesheet>
---
-2.11.0
-
diff --git a/main/libxslt/libxslt-backup_Xpath_context.patch b/main/libxslt/libxslt-backup_Xpath_context.patch
deleted file mode 100644
index 30dd34e..0000000
--- a/main/libxslt/libxslt-backup_Xpath_context.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From 5b0965010abf274f7a3a1291d16dde34c167e8a7 Mon Sep 17 00:00:00 2001
-From: Nick Wellnhofer <we...@aevum.de>
-Date: Wed, 12 Jun 2019 11:58:44 +0200
-Subject: [PATCH] Backup XPath context node in xsltInitCtxtKey
-
-Regression caused by commit 029d0e96.
-
-Closes #66.
----
- libxslt/keys.c | 3 +++
- tests/docs/bug-221.xml | 9 +++++++++
- tests/general/bug-221.out | 2 ++
- tests/general/bug-221.xsl | 15 +++++++++++++++
- 4 files changed, 29 insertions(+)
- create mode 100644 tests/docs/bug-221.xml
- create mode 100644 tests/general/bug-221.out
- create mode 100644 tests/general/bug-221.xsl
-
-diff misc/libxslt-1.1.33/libxslt/keys.c misc/build/libxslt-1.1.33/libxslt/keys.c
-index 2881056e..a1f150aa 100644
---- misc/libxslt-1.1.33/libxslt/keys.c
-+++ misc/build/libxslt-1.1.33/libxslt/keys.c
-@@ -629,6 +629,7 @@ xsltInitCtxtKey(xsltTransformContextPtr ctxt, xsltDocumentPtr idoc,
- xmlNodePtr oldContextNode;
- xsltDocumentPtr oldDocInfo;
- int oldXPPos, oldXPSize;
-+ xmlNodePtr oldXPNode;
- xmlDocPtr oldXPDoc;
- int oldXPNsNr;
- xmlNsPtr *oldXPNamespaces;
-@@ -667,6 +668,7 @@ fprintf(stderr, "xsltInitCtxtKey %s : %d\n", keyDef->name, ctxt->keyInitLevel);
- oldDocInfo = ctxt->document;
- oldContextNode = ctxt->node;
-
-+ oldXPNode = xpctxt->node;
- oldXPDoc = xpctxt->doc;
- oldXPPos = xpctxt->proximityPosition;
- oldXPSize = xpctxt->contextSize;
-@@ -865,6 +867,7 @@ error:
- /*
- * Restore context state.
- */
-+ xpctxt->node = oldXPNode;
- xpctxt->doc = oldXPDoc;
- xpctxt->nsNr = oldXPNsNr;
- xpctxt->namespaces = oldXPNamespaces;
-diff misc/libxslt-1.1.33/tests/docs/bug-221.xml misc/build/libxslt-1.1.33/tests/docs/bug-221.xml
-new file mode 100644
-index 00000000..d9d4bacf
---- /dev/null
-+++ misc/build/libxslt-1.1.33/tests/docs/bug-221.xml
-@@ -0,0 +1,9 @@
-+<model>
-+ <resource>
-+ <action name="one"/>
-+ </resource>
-+ <resource>
-+ <action name="one"/>
-+ <action name="two"/>
-+ </resource>
-+</model>
-diff misc/libxslt-1.1.33/tests/general/bug-221.out misc/build/libxslt-1.1.33/tests/general/bug-221.out
-new file mode 100644
-index 00000000..96c105e2
---- /dev/null
-+++ misc/build/libxslt-1.1.33/tests/general/bug-221.out
-@@ -0,0 +1,2 @@
-+<?xml version="1.0"?>
-+<r>one</r><r>two</r>
-diff misc/libxslt-1.1.33/tests/general/bug-221.xsl misc/build/libxslt-1.1.33/tests/general/bug-221.xsl
-new file mode 100644
-index 00000000..9b4af652
---- /dev/null
-+++ misc/build/libxslt-1.1.33/tests/general/bug-221.xsl
-@@ -0,0 +1,15 @@
-+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-+
-+<xsl:key name="actions" match="/model/resource/action" use="@name"/>
-+
-+<xsl:template match="action">
-+ <xsl:if test="generate-id(key('actions', @name)[1]) = generate-id(.)">
-+ <r><xsl:value-of select="@name"/></r>
-+ </xsl:if>
-+</xsl:template>
-+
-+<xsl:template match="/">
-+ <xsl:apply-templates select="model/resource/action"/>
-+</xsl:template>
-+
-+</xsl:stylesheet>
---
-2.11.0
-
diff --git a/main/libxslt/libxslt-configure.patch b/main/libxslt/libxslt-configure.patch
index d25312c..b7dd878 100644
--- a/main/libxslt/libxslt-configure.patch
+++ b/main/libxslt/libxslt-configure.patch
@@ -1,7 +1,7 @@
-diff -ur misc/libxslt-1.1.33/configure misc/build/libxslt-1.1.33/configure
---- misc/libxslt-1.1.33/configure 2017-11-02 13:34:22.000000000 -0700
-+++ misc/build/libxslt-1.1.33/configure 2018-08-22 23:00:50.689433000 -0700
-@@ -6698,7 +6698,7 @@
+diff -ur misc/libxslt-1.1.34/configure misc/build/libxslt-1.1.34/configure
+--- misc/libxslt-1.1.34/configure 2017-11-02 13:34:22.000000000 -0700
++++ misc/build/libxslt-1.1.34/configure 2018-08-22 23:00:50.689433000 -0700
+@@ -6701,7 +6701,7 @@
cygwin*)
# func_win32_libid is a shell function defined in ltmain.sh
@@ -10,9 +10,8 @@ diff -ur misc/libxslt-1.1.33/configure misc/build/libxslt-1.1.33/configure
lt_cv_file_magic_cmd='func_win32_libid'
;;
-diff -ur misc/libxslt-1.1.33/xslt-config.in misc/build/libxslt-1.1.33/xslt-config.in
---- misc/libxslt-1.1.33/xslt-config.in 2015-05-10 07:11:30.000000000 -0700
-+++ misc/build/libxslt-1.1.33/xslt-config.in 2018-08-22 23:00:50.689988000 -0700
+--- misc/libxslt-1.1.34/xslt-config.in 2015-05-10 07:11:30.000000000 -0700
++++ misc/build/libxslt-1.1.34/xslt-config.in 2019-11-07 22:55:48.005472511 -0800
@@ -1,10 +1,15 @@
#! /bin/sh
@@ -33,13 +32,35 @@ diff -ur misc/libxslt-1.1.33/xslt-config.in misc/build/libxslt-1.1.33/xslt-confi
usage()
{
-@@ -89,7 +94,8 @@
- shift
- done
+@@ -81,18 +86,19 @@
+ ;;
--the_libs="@XSLT_LIBDIR@ @XSLT_LIBS@ @EXTRA_LIBS@"
-+#the_libs="@XSLT_LIBDIR@ @XSLT_LIBS@ @EXTRA_LIBS@"
-+the_libs="-L${libdir} ${XSLTLIB} -lm"
- if test "$includedir" != "/usr/include"; then
- the_flags="$the_flags -I$includedir `@XML_CONFIG@ --cflags`"
- else
+ --libs)
+- if [ "$2" = "--dynamic" ]; then
+- shift
+- libs="@XSLT_LIBS@"
+- else
+- libs="@XSLT_LIBS@ @XSLT_PRIVATE_LIBS@"
+- fi
+-
+- if [ "@XSLT_LIBDIR@" != "-L/usr/lib" -a "@XSLT_LIBDIR@" != "-L/usr/lib64" ]; then
+- libs="@XSLT_LIBDIR@ $libs"
+- fi
+-
+- libs="$libs @EXTRA_LIBS@"
++ libs="-L${libdir} ${XSLTLIB} -lm"
++# if [ "$2" = "--dynamic" ]; then
++# shift
++# libs="@XSLT_LIBS@"
++# else
++# libs="@XSLT_LIBS@ @XSLT_PRIVATE_LIBS@"
++# fi
++#
++# if [ "@XSLT_LIBDIR@" != "-L/usr/lib" -a "@XSLT_LIBDIR@" != "-L/usr/lib64" ]; then
++# libs="@XSLT_LIBDIR@ $libs"
++# fi
++#
++# libs="$libs @EXTRA_LIBS@"
+ ;;
+
+ *)
diff --git a/main/libxslt/libxslt-win_manifest.patch b/main/libxslt/libxslt-win_manifest.patch
index 6b52c83..c3617d9 100644
--- a/main/libxslt/libxslt-win_manifest.patch
+++ b/main/libxslt/libxslt-win_manifest.patch
@@ -1,6 +1,6 @@
-diff -ur misc/libxslt-1.1.33/win32/configure.js misc/build/libxslt-1.1.33/win32/configure.js
---- misc/libxslt-1.1.32/win33/configure.js 2017-10-26 00:55:47.000000000 -0700
-+++ misc/build/libxslt-1.1.33/win32/configure.js 2018-08-22 23:07:38.152976000 -0700
+diff -ur misc/libxslt-1.1.34/win32/configure.js misc/build/libxslt-1.1.34/win32/configure.js
+--- misc/libxslt-1.1.32/win34/configure.js 2017-10-26 00:55:47.000000000 -0700
++++ misc/build/libxslt-1.1.34/win32/configure.js 2019-11-08 16:16:13.055825865 -0800
@@ -51,7 +51,7 @@
var dirSep = "\\";
var compiler = "msvc";
@@ -10,3 +10,12 @@ diff -ur misc/libxslt-1.1.33/win32/configure.js misc/build/libxslt-1.1.33/win32/
var buildDebug = 0;
var buildStatic = 0;
var buildPrefix = ".";
+@@ -240,6 +240,8 @@
+ of.WriteLine(s.replace(/\@WITH_DEBUGGER\@/, withDebugger? "1" : "0"));
+ } else if (s.search(/\@WITH_MODULES\@/) != -1) {
+ of.WriteLine(s.replace(/\@WITH_MODULES\@/, withModules? "1" : "0"));
++ } else if (s.search(/\@WITH_PROFILER\@/) != -1) {
++ of.WriteLine(s.replace(/\@WITH_PROFILER\@/, "0"));
+ } else if (s.search(/\@LIBXSLT_DEFAULT_PLUGINS_PATH\@/) != -1) {
+ of.WriteLine(s.replace(/\@LIBXSLT_DEFAULT_PLUGINS_PATH\@/, "NULL"));
+ } else
diff --git a/main/libxslt/libxsltversion.mk b/main/libxslt/libxsltversion.mk
index 1661477..b45843b 100644
--- a/main/libxslt/libxsltversion.mk
+++ b/main/libxslt/libxsltversion.mk
@@ -25,5 +25,5 @@ LIBXSLT_MAJOR=1
# minor
LIBXSLT_MINOR=1
# micro
-LIBXSLT_MICRO=33
+LIBXSLT_MICRO=34
diff --git a/main/libxslt/makefile.mk b/main/libxslt/makefile.mk
index 674c448..fde58c2 100644
--- a/main/libxslt/makefile.mk
+++ b/main/libxslt/makefile.mk
@@ -45,17 +45,11 @@ all:
LIBXSLTVERSION=$(LIBXSLT_MAJOR).$(LIBXSLT_MINOR).$(LIBXSLT_MICRO)
TARFILE_NAME=$(PRJNAME)-$(LIBXSLTVERSION)
-TARFILE_MD5=b3bd254a03e46d58f8ad1e4559cd2c2f
+TARFILE_MD5=db8765c8d076f1b6caafd9f2542a304a
# libxslt-internal-symbols: #i112480#: Solaris ld requires symbols to be defined
PATCH_FILES=libxslt-configure.patch \
- libxslt-win_manifest.patch \
- libxslt-backup_Xpath_context.patch \
- libxslt-CVE-2019-11068.patch \
- libxslt-CVE-2019-13117.patch \
- libxslt-CVE-2019-13118.patch
-
-
+ libxslt-win_manifest.patch
# This is only for UNX environment now
.IF "$(OS)"=="WNT"