From 9e4dffda20fcf6ceb1aff168ac1e35063f0630f3 Mon Sep 17 00:00:00 2001 From: bsiegert Date: Mon, 18 Feb 2019 14:05:52 +0000 Subject: Pullup ticket #5911 - requested by taca textproc/libxml2, textproc/py-libxml2: security fix Revisions pulled up: - textproc/libxml2/Makefile 1.152 - textproc/libxml2/Makefile.common 1.12 - textproc/libxml2/distinfo 1.129-1.130 - textproc/libxml2/patches/patch-Makefile.in 1.1 - textproc/libxml2/patches/patch-aa deleted - textproc/libxml2/patches/patch-ab deleted - textproc/libxml2/patches/patch-ac deleted - textproc/libxml2/patches/patch-ad deleted - textproc/libxml2/patches/patch-ae deleted - textproc/libxml2/patches/patch-catalog.c 1.1 - textproc/libxml2/patches/patch-configure 1.1 - textproc/libxml2/patches/patch-doc_examples_Makefile.in 1.1 - textproc/libxml2/patches/patch-parser.c deleted - textproc/libxml2/patches/patch-python_libxml.c 1.1 - textproc/libxml2/patches/patch-result_errors_759573.xml.err deleted - textproc/libxml2/patches/patch-xmlcatalog.c 1.1 - textproc/libxml2/patches/patch-xpath.c deleted - textproc/libxml2/patches/patch-xzlib.c deleted - textproc/py-libxml2/Makefile 1.63-1.64 - textproc/py-libxml2/PLIST 1.4 --- Module Name: pkgsrc Committed By: wiz Date: Wed Jan 9 13:40:51 UTC 2019 Modified Files: pkgsrc/textproc/libxml2: distinfo pkgsrc/textproc/py-libxml2: Makefile Added Files: pkgsrc/textproc/libxml2/patches: patch-python_libxml.c Log Message: py-libxml2: work around a problem in error handling. In some cases, invalid UTF-8 strings were returned which caused python interpreter crashes. See https://github.com/itstool/itstool/issues/22 Use a variant of the patch that was used in Fedora. Bump PKGREVISION. --- Module Name: pkgsrc Committed By: adam Date: Wed Jan 9 19:09:03 UTC 2019 Modified Files: pkgsrc/textproc/libxml2: Makefile Makefile.common distinfo pkgsrc/textproc/py-libxml2: Makefile PLIST Added Files: pkgsrc/textproc/libxml2/patches: patch-Makefile.in patch-catalog.c patch-configure patch-doc_examples_Makefile.in patch-xmlcatalog.c Removed Files: pkgsrc/textproc/libxml2/patches: patch-aa patch-ab patch-ac patch-ad patch-ae patch-parser.c patch-result_errors_759573.xml.err patch-xpath.c patch-xzlib.c Log Message: libxml2: updated to 2.9.9 v2.9.9: Security: CVE-2018-9251 CVE-2018-14567 Fix infinite loop in LZMA decompression CVE-2018-14404 Fix nullptr deref with XPath logic ops Documentation: reader: Fix documentation comment Portability: Fix MSVC build with lzma Variables need 'extern' in static lib on Cygwin Really declare dllexport/dllimport for Cygwin Merge branch 'patch-2' into 'master' Change dir to $THEDIR after ACLOCAL_PATH check autoreconf creates aclocal.m4 in $srcdir Improve error message if pkg.m4 couldn't be found NaN and Inf fixes for pre-C99 compilers Bug Fixes: Revert "Support xmlTextReaderNextSibling w/o preparsed doc" Fix building relative URIs Problem with data in interleave in RelaxNG validation Fix memory leak in xmlSwitchInputEncodingInt error path Set doc on element obtained from freeElems Fix HTML serialization with UTF-8 encoding Use actual doc in xmlTextReaderRead*Xml Unlink node before freeing it in xmlSAX2StartElement Check return value of nodePush in xmlSAX2StartElement Free input buffer in xmlHaltParser Reset HTML parser input pointers on encoding failure Don't run icu_parse_test if EUC-JP is unsupported Fix xmlSchemaValidCtxtPtr reuse memory leak Fix xmlTextReaderNext with preparsed document Remove stray character from comment Remove a misleading line from xmlCharEncOutput HTML noscript should not close p Don't change context node in xmlXPathRoot Stop using XPATH_OP_RESET Revert "Change calls to xmlCharEncInput to set flush false" Improvements: Fix "Problem with data in interleave in RelaxNG validation" cleanup: remove some unreachable code add --relative to testURI Remove redefined starts and defines inside include elements Allow choice within choice in nameClass in RELAX NG Look inside divs for starts and defines inside include Add compile and libxml2-config.cmake to .gitignore Stop using doc->charset outside parser code Add newlines to 'xmllint --xpath' output Don't include SAX.h from globals.h Support xmlTextReaderNextSibling w/o preparsed doc Don't instruct user to run make when autogen.sh failed Run Travis ASan tests with "sudo: required" Improve restoring of context size and position Simplify and harden nodeset filtering Avoid unnecessary backups of the context node Fix inconsistency in xmlXPathIsInf --- textproc/libxml2/Makefile | 8 +- textproc/libxml2/Makefile.common | 4 +- textproc/libxml2/distinfo | 25 +++--- textproc/libxml2/patches/patch-Makefile.in | 15 ++++ textproc/libxml2/patches/patch-aa | 15 ---- textproc/libxml2/patches/patch-ab | 92 ---------------------- textproc/libxml2/patches/patch-ac | 19 ----- textproc/libxml2/patches/patch-ad | 15 ---- textproc/libxml2/patches/patch-ae | 15 ---- textproc/libxml2/patches/patch-catalog.c | 19 +++++ textproc/libxml2/patches/patch-configure | 92 ++++++++++++++++++++++ .../libxml2/patches/patch-doc_examples_Makefile.in | 15 ++++ textproc/libxml2/patches/patch-parser.c | 23 ------ textproc/libxml2/patches/patch-python_libxml.c | 32 ++++++++ .../patches/patch-result_errors_759573.xml.err | 32 -------- textproc/libxml2/patches/patch-xmlcatalog.c | 15 ++++ textproc/libxml2/patches/patch-xpath.c | 32 -------- textproc/libxml2/patches/patch-xzlib.c | 32 -------- 18 files changed, 204 insertions(+), 296 deletions(-) create mode 100644 textproc/libxml2/patches/patch-Makefile.in delete mode 100644 textproc/libxml2/patches/patch-aa delete mode 100644 textproc/libxml2/patches/patch-ab delete mode 100644 textproc/libxml2/patches/patch-ac delete mode 100644 textproc/libxml2/patches/patch-ad delete mode 100644 textproc/libxml2/patches/patch-ae create mode 100644 textproc/libxml2/patches/patch-catalog.c create mode 100644 textproc/libxml2/patches/patch-configure create mode 100644 textproc/libxml2/patches/patch-doc_examples_Makefile.in delete mode 100644 textproc/libxml2/patches/patch-parser.c create mode 100644 textproc/libxml2/patches/patch-python_libxml.c delete mode 100644 textproc/libxml2/patches/patch-result_errors_759573.xml.err create mode 100644 textproc/libxml2/patches/patch-xmlcatalog.c delete mode 100644 textproc/libxml2/patches/patch-xpath.c delete mode 100644 textproc/libxml2/patches/patch-xzlib.c (limited to 'textproc/libxml2') diff --git a/textproc/libxml2/Makefile b/textproc/libxml2/Makefile index ba1aab870d8..84dd9ac58fb 100644 --- a/textproc/libxml2/Makefile +++ b/textproc/libxml2/Makefile @@ -1,9 +1,7 @@ -# $NetBSD: Makefile,v 1.151 2018/11/09 15:31:46 leot Exp $ +# $NetBSD: Makefile,v 1.151.2.1 2019/02/18 14:05:52 bsiegert Exp $ .include "../../textproc/libxml2/Makefile.common" -PKGREVISION= 4 - COMMENT= XML parser library from the GNOME project LICENSE= modified-bsd @@ -34,8 +32,8 @@ TEST_TARGET= check SUBST_CLASSES+= cat SUBST_STAGE.cat= pre-configure SUBST_FILES.cat= catalog.c xmlcatalog.c -SUBST_SED.cat= -e "s,@@SGML_DEFAULT_CATALOG@@,${SGML_DEFAULT_CATALOG},g" -SUBST_SED.cat+= -e "s,@@XML_DEFAULT_CATALOG@@,${XML_DEFAULT_CATALOG},g" +SUBST_SED.cat= -e "s,@@SGML_DEFAULT_CATALOG@@,${SGML_DEFAULT_CATALOG},g" +SUBST_SED.cat+= -e "s,@@XML_DEFAULT_CATALOG@@,${XML_DEFAULT_CATALOG},g" BUILDLINK_TRANSFORM.SunOS+= rm:-Werror=format=2 diff --git a/textproc/libxml2/Makefile.common b/textproc/libxml2/Makefile.common index 0d6e6d2cd42..0a8ac16d500 100644 --- a/textproc/libxml2/Makefile.common +++ b/textproc/libxml2/Makefile.common @@ -1,9 +1,9 @@ -# $NetBSD: Makefile.common,v 1.11 2018/03/11 17:49:53 wiz Exp $ +# $NetBSD: Makefile.common,v 1.11.8.1 2019/02/18 14:05:52 bsiegert Exp $ # # used by textproc/libxml2/Makefile # used by textproc/py-libxml2/Makefile -DISTNAME= libxml2-2.9.8 +DISTNAME= libxml2-2.9.9 CATEGORIES= textproc MASTER_SITES= ftp://xmlsoft.org/libxml2/ MASTER_SITES+= http://xmlsoft.org/sources/ diff --git a/textproc/libxml2/distinfo b/textproc/libxml2/distinfo index f21d596e978..7d2f96d1b89 100644 --- a/textproc/libxml2/distinfo +++ b/textproc/libxml2/distinfo @@ -1,19 +1,16 @@ -$NetBSD: distinfo,v 1.128 2018/11/09 15:31:46 leot Exp $ +$NetBSD: distinfo,v 1.128.2.1 2019/02/18 14:05:52 bsiegert Exp $ -SHA1 (libxml2-2.9.8.tar.gz) = 66bcefd98a6b7573427cf66f9d3841b59eb5b8c3 -RMD160 (libxml2-2.9.8.tar.gz) = a3bf30ed652cfa2e06c64ae62c95a5ebd889c7a7 -SHA512 (libxml2-2.9.8.tar.gz) = 28903282c7672206effa1362fd564cbe4cf5be44264b083a7d14e383f73bccd1b81bcafb5f4f2f56f5e7e05914c660e27668c9ce91b1b9f256ef5358d55ba917 -Size (libxml2-2.9.8.tar.gz) = 5469097 bytes -SHA1 (patch-aa) = e687eaa9805b855b0c8a944ec5c597bd34954472 -SHA1 (patch-ab) = a0df60b1a8609c185ed7d45a015eafdbfb6d6b41 -SHA1 (patch-ac) = 34afe787f6012b460a85be993048e133907a1621 -SHA1 (patch-ad) = d65b7e3be9694147e96ce4bb70a1739e2279ba81 -SHA1 (patch-ae) = 4eede9719724f94402e850ee6d6043a74aaf62b2 +SHA1 (libxml2-2.9.9.tar.gz) = 96686d1dd9fddf3b35a28b1e2e4bbacac889add3 +RMD160 (libxml2-2.9.9.tar.gz) = a7d5f9ca4a24db329108f4bfb6bd4eed0f61ab21 +SHA512 (libxml2-2.9.9.tar.gz) = cb7784ba4e72e942614e12e4f83f4ceb275f3d738b30e3b5c1f25edf8e9fa6789e854685974eed95b362049dbf6c8e7357e0327d64c681ed390534ac154e6810 +Size (libxml2-2.9.9.tar.gz) = 5476717 bytes +SHA1 (patch-Makefile.in) = e687eaa9805b855b0c8a944ec5c597bd34954472 +SHA1 (patch-catalog.c) = 34afe787f6012b460a85be993048e133907a1621 +SHA1 (patch-configure) = a0df60b1a8609c185ed7d45a015eafdbfb6d6b41 +SHA1 (patch-doc_examples_Makefile.in) = 4eede9719724f94402e850ee6d6043a74aaf62b2 SHA1 (patch-encoding.c) = 6cf0a7d421828b9f40a4079ee85adb791c54d096 -SHA1 (patch-parser.c) = ea27ffe37b8a47d08a2e2a0220ec5592c9980190 +SHA1 (patch-python_libxml.c) = cfa07b4f3dfddb501c2ba210bb32b8ee14e3df9d SHA1 (patch-python_libxml.py) = 869a72ae5ba2e27e6d46552878890acb22337675 SHA1 (patch-python_libxml2.py) = 209d105b0f3aedb834091390a7c6819705108e34 SHA1 (patch-python_setup.py) = 7771fd02ee6779463f1d3321f099d7e6d19cd1b1 -SHA1 (patch-result_errors_759573.xml.err) = b6fc7ac6fa72e6a3b927f5938917c74a1258600c -SHA1 (patch-xpath.c) = 9b9832e36e947598d8f5dade80181e82bff54a5c -SHA1 (patch-xzlib.c) = a9b4de24d844b9fee30988ae4dbdee950797fd0d +SHA1 (patch-xmlcatalog.c) = d65b7e3be9694147e96ce4bb70a1739e2279ba81 diff --git a/textproc/libxml2/patches/patch-Makefile.in b/textproc/libxml2/patches/patch-Makefile.in new file mode 100644 index 00000000000..20024322e34 --- /dev/null +++ b/textproc/libxml2/patches/patch-Makefile.in @@ -0,0 +1,15 @@ +$NetBSD: patch-Makefile.in,v 1.1.2.2 2019/02/18 14:05:52 bsiegert Exp $ + +Move EXAMPLES_DIR to fit pkgsrc. + +--- Makefile.in.orig 2014-10-16 07:35:13.000000000 +0000 ++++ Makefile.in +@@ -835,7 +835,7 @@ cmake_DATA = libxml2-config.cmake + # + BASE_DIR = $(datadir)/doc + DOC_MODULE = libxml2-$(VERSION) +-EXAMPLES_DIR = $(BASE_DIR)/$(DOC_MODULE)/examples ++EXAMPLES_DIR = $(datadir)/examples/libxml2 + + # + # Coverage support, largely borrowed from libvirt diff --git a/textproc/libxml2/patches/patch-aa b/textproc/libxml2/patches/patch-aa deleted file mode 100644 index 6573c530585..00000000000 --- a/textproc/libxml2/patches/patch-aa +++ /dev/null @@ -1,15 +0,0 @@ -$NetBSD: patch-aa,v 1.29 2016/05/24 12:00:08 he Exp $ - -Move EXAMPLES_DIR to fit pkgsrc. - ---- Makefile.in.orig 2014-10-16 07:35:13.000000000 +0000 -+++ Makefile.in -@@ -835,7 +835,7 @@ cmake_DATA = libxml2-config.cmake - # - BASE_DIR = $(datadir)/doc - DOC_MODULE = libxml2-$(VERSION) --EXAMPLES_DIR = $(BASE_DIR)/$(DOC_MODULE)/examples -+EXAMPLES_DIR = $(datadir)/examples/libxml2 - - # - # Coverage support, largely borrowed from libvirt diff --git a/textproc/libxml2/patches/patch-ab b/textproc/libxml2/patches/patch-ab deleted file mode 100644 index 3be47459d43..00000000000 --- a/textproc/libxml2/patches/patch-ab +++ /dev/null @@ -1,92 +0,0 @@ -$NetBSD: patch-ab,v 1.31 2017/11/06 16:16:53 prlw1 Exp $ - -Various configure fixes: - * Add run-path to XML_LIBDIR - * Fix handling of pthreads - * Add portability to OpenBSD, MirBSD, FreeBSD, NetBSD and DragonFly - * Fix test for SAX - Submitted as https://bugzilla.gnome.org/show_bug.cgi?id=766859 - ---- configure.orig 2017-11-02 20:16:48.000000000 +0000 -+++ configure -@@ -15084,7 +15084,7 @@ fi - fi - - --XML_LIBDIR='-L${libdir}' -+XML_LIBDIR='-Wl,-R${libdir} -L${libdir}' - XML_INCLUDEDIR='-I${includedir}/libxml2' - - XML_CFLAGS="" -@@ -15557,13 +15557,13 @@ else - if test "$with_threads" = "pthread" || test "$with_threads" = "" || test "$with_threads" = "yes" ; then - ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" - if test "x$ac_cv_header_pthread_h" = xyes; then : -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_join in -lpthread" >&5 --$as_echo_n "checking for pthread_join in -lpthread... " >&6; } -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_join in ${PTHREAD_LDFLAGS} ${PTHREAD_LIBS}" >&5 -+$as_echo_n "checking for pthread_join in ${PTHREAD_LDFLAGS} ${PTHREAD_LIBS}... " >&6; } - if ${ac_cv_lib_pthread_pthread_join+:} false; then : - $as_echo_n "(cached) " >&6 - else - ac_check_lib_save_LIBS=$LIBS --LIBS="-lpthread $LIBS" -+LIBS="${PTHREAD_LDFLAGS} ${PTHREAD_LIBS} $LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - -@@ -15595,7 +15595,7 @@ fi - $as_echo "$ac_cv_lib_pthread_pthread_join" >&6; } - if test "x$ac_cv_lib_pthread_pthread_join" = xyes; then : - -- THREAD_LIBS="-lpthread" -+ THREAD_LIBS="${PTHREAD_LDFLAGS} ${PTHREAD_LIBS}" - - $as_echo "#define HAVE_LIBPTHREAD /**/" >>confdefs.h - -@@ -15617,12 +15617,12 @@ fi - *beos*) WITH_THREADS="1" - THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_BEOS_THREADS" - ;; -- *linux*) -+ *linux* | *openbsd* | *mirbsd*) - if test "${GCC}" = "yes" ; then - GCC_VERSION=`${CC} --version | head -1 | awk '{print $3}'` - GCC_MAJOR=`echo ${GCC_VERSION} | sed 's+\..*++'` - GCC_MEDIUM=`echo ${GCC_VERSION} | sed 's+[0-9]*\.++' | sed 's+\..*++'` -- if test "${THREAD_LIBS}" = "-lpthread" ; then -+ if test "${THREAD_LIBS}" = "${PTHREAD_LDFLAGS} ${PTHREAD_LIBS}" ; then - if expr ${GCC_MEDIUM} \> 2 \& ${GCC_MAJOR} = 3 > /dev/null - then - THREAD_LIBS="" -@@ -15639,6 +15639,10 @@ fi - fi - fi - ;; -+ *freebsd* | *netbsd* | *dragonfly*) -+ THREAD_LIBS="" -+ BASE_THREAD_LIBS="${PTHREAD_LDFLAGS} ${PTHREAD_LIBS}" -+ ;; - esac - if test "$WITH_THREADS" = "1" ; then - THREAD_CFLAGS="$THREAD_CFLAGS -D_REENTRANT" -@@ -15909,7 +15913,7 @@ else - TEST_SAX=SAXtests - fi - -- if test "${WITH_TRIO}" = "1"; then -+ if test "${WITH_SAX1}" = "1"; then - WITH_SAX1_SOURCES_TRUE= - WITH_SAX1_SOURCES_FALSE='#' - else -@@ -16493,10 +16497,6 @@ case "$host" in - CPPFLAGS="$CPPFLAGS -DWIN32" - WIN32_EXTRA_LIBADD="-lws2_32" - WIN32_EXTRA_LDFLAGS="-no-undefined" -- if test "${PYTHON}" != "" -- then -- WIN32_EXTRA_PYTHON_LIBADD="-L${pythondir}/../../libs -lpython$(echo ${PYTHON_VERSION} | tr -d .)" -- fi - ;; - *-*-cygwin*) - CYGWIN_EXTRA_LDFLAGS="-no-undefined" diff --git a/textproc/libxml2/patches/patch-ac b/textproc/libxml2/patches/patch-ac deleted file mode 100644 index 5a988fad232..00000000000 --- a/textproc/libxml2/patches/patch-ac +++ /dev/null @@ -1,19 +0,0 @@ -$NetBSD: patch-ac,v 1.9 2016/05/24 12:00:08 he Exp $ - -Parametrize XML and SGML catalog directories. - ---- catalog.c.orig 2014-10-03 11:28:05.000000000 +0000 -+++ catalog.c -@@ -70,10 +70,10 @@ - #define XML_URN_PUBID "urn:publicid:" - #define XML_CATAL_BREAK ((xmlChar *) -1) - #ifndef XML_XML_DEFAULT_CATALOG --#define XML_XML_DEFAULT_CATALOG "file:///etc/xml/catalog" -+#define XML_XML_DEFAULT_CATALOG "file://@@XML_DEFAULT_CATALOG@@" - #endif - #ifndef XML_SGML_DEFAULT_CATALOG --#define XML_SGML_DEFAULT_CATALOG "file:///etc/sgml/catalog" -+#define XML_SGML_DEFAULT_CATALOG "file://@@SGML_DEFAULT_CATALOG@@" - #endif - - #if defined(_WIN32) && defined(_MSC_VER) diff --git a/textproc/libxml2/patches/patch-ad b/textproc/libxml2/patches/patch-ad deleted file mode 100644 index 812399cd405..00000000000 --- a/textproc/libxml2/patches/patch-ad +++ /dev/null @@ -1,15 +0,0 @@ -$NetBSD: patch-ad,v 1.19 2016/05/24 12:00:08 he Exp $ - -Parametrize SGML catalog directory. - ---- xmlcatalog.c.orig 2014-10-03 11:28:06.000000000 +0000 -+++ xmlcatalog.c -@@ -43,7 +43,7 @@ static char *filename = NULL; - - - #ifndef XML_SGML_DEFAULT_CATALOG --#define XML_SGML_DEFAULT_CATALOG "/etc/sgml/catalog" -+#define XML_SGML_DEFAULT_CATALOG "@@SGML_DEFAULT_CATALOG@@" - #endif - - /************************************************************************ diff --git a/textproc/libxml2/patches/patch-ae b/textproc/libxml2/patches/patch-ae deleted file mode 100644 index 2ec1375d717..00000000000 --- a/textproc/libxml2/patches/patch-ae +++ /dev/null @@ -1,15 +0,0 @@ -$NetBSD: patch-ae,v 1.15 2016/05/24 12:00:08 he Exp $ - -Don't install html files. - ---- doc/examples/Makefile.in.orig 2014-10-16 07:35:13.000000000 +0000 -+++ doc/examples/Makefile.in -@@ -916,7 +916,7 @@ uninstall-am: - - install-data-local: - $(MKDIR_P) $(DESTDIR)$(HTML_DIR) -- -$(INSTALL) -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(srcdir)/*.xml $(srcdir)/*.xsl $(srcdir)/*.res $(DESTDIR)$(HTML_DIR) -+ -$(INSTALL) -m 0644 $(srcdir)/*.c $(srcdir)/*.xml $(srcdir)/*.xsl $(srcdir)/*.res $(DESTDIR)$(HTML_DIR) - - clean-local: - test -f Makefile.am || rm -f test?.xml diff --git a/textproc/libxml2/patches/patch-catalog.c b/textproc/libxml2/patches/patch-catalog.c new file mode 100644 index 00000000000..12ea6217fbb --- /dev/null +++ b/textproc/libxml2/patches/patch-catalog.c @@ -0,0 +1,19 @@ +$NetBSD: patch-catalog.c,v 1.1.2.2 2019/02/18 14:05:52 bsiegert Exp $ + +Parametrize XML and SGML catalog directories. + +--- catalog.c.orig 2014-10-03 11:28:05.000000000 +0000 ++++ catalog.c +@@ -70,10 +70,10 @@ + #define XML_URN_PUBID "urn:publicid:" + #define XML_CATAL_BREAK ((xmlChar *) -1) + #ifndef XML_XML_DEFAULT_CATALOG +-#define XML_XML_DEFAULT_CATALOG "file:///etc/xml/catalog" ++#define XML_XML_DEFAULT_CATALOG "file://@@XML_DEFAULT_CATALOG@@" + #endif + #ifndef XML_SGML_DEFAULT_CATALOG +-#define XML_SGML_DEFAULT_CATALOG "file:///etc/sgml/catalog" ++#define XML_SGML_DEFAULT_CATALOG "file://@@SGML_DEFAULT_CATALOG@@" + #endif + + #if defined(_WIN32) && defined(_MSC_VER) diff --git a/textproc/libxml2/patches/patch-configure b/textproc/libxml2/patches/patch-configure new file mode 100644 index 00000000000..b12d173a619 --- /dev/null +++ b/textproc/libxml2/patches/patch-configure @@ -0,0 +1,92 @@ +$NetBSD: patch-configure,v 1.1.2.2 2019/02/18 14:05:52 bsiegert Exp $ + +Various configure fixes: + * Add run-path to XML_LIBDIR + * Fix handling of pthreads + * Add portability to OpenBSD, MirBSD, FreeBSD, NetBSD and DragonFly + * Fix test for SAX + Submitted as https://bugzilla.gnome.org/show_bug.cgi?id=766859 + +--- configure.orig 2017-11-02 20:16:48.000000000 +0000 ++++ configure +@@ -15084,7 +15084,7 @@ fi + fi + + +-XML_LIBDIR='-L${libdir}' ++XML_LIBDIR='-Wl,-R${libdir} -L${libdir}' + XML_INCLUDEDIR='-I${includedir}/libxml2' + + XML_CFLAGS="" +@@ -15557,13 +15557,13 @@ else + if test "$with_threads" = "pthread" || test "$with_threads" = "" || test "$with_threads" = "yes" ; then + ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" + if test "x$ac_cv_header_pthread_h" = xyes; then : +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_join in -lpthread" >&5 +-$as_echo_n "checking for pthread_join in -lpthread... " >&6; } ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_join in ${PTHREAD_LDFLAGS} ${PTHREAD_LIBS}" >&5 ++$as_echo_n "checking for pthread_join in ${PTHREAD_LDFLAGS} ${PTHREAD_LIBS}... " >&6; } + if ${ac_cv_lib_pthread_pthread_join+:} false; then : + $as_echo_n "(cached) " >&6 + else + ac_check_lib_save_LIBS=$LIBS +-LIBS="-lpthread $LIBS" ++LIBS="${PTHREAD_LDFLAGS} ${PTHREAD_LIBS} $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -15595,7 +15595,7 @@ fi + $as_echo "$ac_cv_lib_pthread_pthread_join" >&6; } + if test "x$ac_cv_lib_pthread_pthread_join" = xyes; then : + +- THREAD_LIBS="-lpthread" ++ THREAD_LIBS="${PTHREAD_LDFLAGS} ${PTHREAD_LIBS}" + + $as_echo "#define HAVE_LIBPTHREAD /**/" >>confdefs.h + +@@ -15617,12 +15617,12 @@ fi + *beos*) WITH_THREADS="1" + THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_BEOS_THREADS" + ;; +- *linux*) ++ *linux* | *openbsd* | *mirbsd*) + if test "${GCC}" = "yes" ; then + GCC_VERSION=`${CC} --version | head -1 | awk '{print $3}'` + GCC_MAJOR=`echo ${GCC_VERSION} | sed 's+\..*++'` + GCC_MEDIUM=`echo ${GCC_VERSION} | sed 's+[0-9]*\.++' | sed 's+\..*++'` +- if test "${THREAD_LIBS}" = "-lpthread" ; then ++ if test "${THREAD_LIBS}" = "${PTHREAD_LDFLAGS} ${PTHREAD_LIBS}" ; then + if expr ${GCC_MEDIUM} \> 2 \& ${GCC_MAJOR} = 3 > /dev/null + then + THREAD_LIBS="" +@@ -15639,6 +15639,10 @@ fi + fi + fi + ;; ++ *freebsd* | *netbsd* | *dragonfly*) ++ THREAD_LIBS="" ++ BASE_THREAD_LIBS="${PTHREAD_LDFLAGS} ${PTHREAD_LIBS}" ++ ;; + esac + if test "$WITH_THREADS" = "1" ; then + THREAD_CFLAGS="$THREAD_CFLAGS -D_REENTRANT" +@@ -15909,7 +15913,7 @@ else + TEST_SAX=SAXtests + fi + +- if test "${WITH_TRIO}" = "1"; then ++ if test "${WITH_SAX1}" = "1"; then + WITH_SAX1_SOURCES_TRUE= + WITH_SAX1_SOURCES_FALSE='#' + else +@@ -16493,10 +16497,6 @@ case "$host" in + CPPFLAGS="$CPPFLAGS -DWIN32" + WIN32_EXTRA_LIBADD="-lws2_32" + WIN32_EXTRA_LDFLAGS="-no-undefined" +- if test "${PYTHON}" != "" +- then +- WIN32_EXTRA_PYTHON_LIBADD="-L${pythondir}/../../libs -lpython$(echo ${PYTHON_VERSION} | tr -d .)" +- fi + ;; + *-*-cygwin*) + CYGWIN_EXTRA_LDFLAGS="-no-undefined" diff --git a/textproc/libxml2/patches/patch-doc_examples_Makefile.in b/textproc/libxml2/patches/patch-doc_examples_Makefile.in new file mode 100644 index 00000000000..b6fe572b121 --- /dev/null +++ b/textproc/libxml2/patches/patch-doc_examples_Makefile.in @@ -0,0 +1,15 @@ +$NetBSD: patch-doc_examples_Makefile.in,v 1.1.2.2 2019/02/18 14:05:52 bsiegert Exp $ + +Don't install html files. + +--- doc/examples/Makefile.in.orig 2014-10-16 07:35:13.000000000 +0000 ++++ doc/examples/Makefile.in +@@ -916,7 +916,7 @@ uninstall-am: + + install-data-local: + $(MKDIR_P) $(DESTDIR)$(HTML_DIR) +- -$(INSTALL) -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(srcdir)/*.xml $(srcdir)/*.xsl $(srcdir)/*.res $(DESTDIR)$(HTML_DIR) ++ -$(INSTALL) -m 0644 $(srcdir)/*.c $(srcdir)/*.xml $(srcdir)/*.xsl $(srcdir)/*.res $(DESTDIR)$(HTML_DIR) + + clean-local: + test -f Makefile.am || rm -f test?.xml diff --git a/textproc/libxml2/patches/patch-parser.c b/textproc/libxml2/patches/patch-parser.c deleted file mode 100644 index 2c30f41ce52..00000000000 --- a/textproc/libxml2/patches/patch-parser.c +++ /dev/null @@ -1,23 +0,0 @@ -$NetBSD: patch-parser.c,v 1.5 2018/11/09 15:31:46 leot Exp $ - -Fixes CVE-2017-8872. - -https://bugzilla.gnome.org/show_bug.cgi?id=775200 -https://gitlab.gnome.org/GNOME/libxml2/issues/26 -https://gitlab.gnome.org/GNOME/libxml2/commit/123234f2cfcd9e9b9f83047eee1dc17b4c3f4407 - ---- parser.c.orig 2018-01-25 06:44:40.000000000 +0000 -+++ parser.c -@@ -12462,7 +12462,12 @@ xmlHaltParser(xmlParserCtxtPtr ctxt) { - ctxt->input->free((xmlChar *) ctxt->input->base); - ctxt->input->free = NULL; - } -+ if (ctxt->input->buf != NULL) { -+ xmlFreeParserInputBuffer(ctxt->input->buf); -+ ctxt->input->buf = NULL; -+ } - ctxt->input->cur = BAD_CAST""; -+ ctxt->input->length = 0; - ctxt->input->base = ctxt->input->cur; - ctxt->input->end = ctxt->input->cur; - } diff --git a/textproc/libxml2/patches/patch-python_libxml.c b/textproc/libxml2/patches/patch-python_libxml.c new file mode 100644 index 00000000000..a00cbe14c42 --- /dev/null +++ b/textproc/libxml2/patches/patch-python_libxml.c @@ -0,0 +1,32 @@ +$NetBSD: patch-python_libxml.c,v 1.1.2.2 2019/02/18 14:05:52 bsiegert Exp $ + +Avoid returning invalid UTF-8 strings to python. +Based on https://bugzilla.opensuse.org/attachment.cgi?id=746044&action=edit +Fixes https://github.com/itstool/itstool/issues/22 + +--- python/libxml.c.orig 2016-06-07 10:04:14.000000000 +0000 ++++ python/libxml.c +@@ -1620,6 +1620,7 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNU + PyObject *message; + PyObject *result; + char str[1000]; ++ unsigned char *ptr = (unsigned char *)str; + + #ifdef DEBUG_ERROR + printf("libxml_xmlErrorFuncHandler(%p, %s, ...) called\n", ctx, msg); +@@ -1636,10 +1637,14 @@ libxml_xmlErrorFuncHandler(ATTRIBUTE_UNU + str[999] = 0; + va_end(ap); + ++ /* Ensure the error string doesn't start at UTF8 continuation. */ ++ while (*ptr && (*ptr & 0xc0) == 0x80) ++ ptr++; ++ + list = PyTuple_New(2); + PyTuple_SetItem(list, 0, libxml_xmlPythonErrorFuncCtxt); + Py_XINCREF(libxml_xmlPythonErrorFuncCtxt); +- message = libxml_charPtrConstWrap(str); ++ message = libxml_charPtrConstWrap(ptr); + PyTuple_SetItem(list, 1, message); + result = PyEval_CallObject(libxml_xmlPythonErrorFuncHandler, list); + Py_XDECREF(list); diff --git a/textproc/libxml2/patches/patch-result_errors_759573.xml.err b/textproc/libxml2/patches/patch-result_errors_759573.xml.err deleted file mode 100644 index 5c994791dfb..00000000000 --- a/textproc/libxml2/patches/patch-result_errors_759573.xml.err +++ /dev/null @@ -1,32 +0,0 @@ -$NetBSD: patch-result_errors_759573.xml.err,v 1.1 2018/11/09 15:31:46 leot Exp $ - -Test output adjustment for CVE-2017-8872 fix. - -https://bugzilla.gnome.org/show_bug.cgi?id=775200 -https://gitlab.gnome.org/GNOME/libxml2/issues/26 -https://gitlab.gnome.org/GNOME/libxml2/commit/123234f2cfcd9e9b9f83047eee1dc17b4c3f4407 - ---- result/errors/759573.xml.err.orig 2017-07-23 05:10:06.000000000 +0000 -+++ result/errors/759573.xml.err -@@ -21,14 +21,11 @@ Entity: line 1: - ^ - ./test/errors/759573.xml:1: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration - --boolval &= arg2->boolval; -- valuePush(ctxt, arg1); -+ if (ctxt->value != NULL) -+ ctxt->value->boolval &= arg2->boolval; - xmlXPathReleaseObject(ctxt->context, arg2); - return (total); - case XPATH_OP_OR: -@@ -13323,9 +13322,8 @@ xmlXPathCompOpEval(xmlXPathParserContext - return(0); - } - xmlXPathBooleanFunction(ctxt, 1); -- arg1 = valuePop(ctxt); -- arg1->boolval |= arg2->boolval; -- valuePush(ctxt, arg1); -+ if (ctxt->value != NULL) -+ ctxt->value->boolval |= arg2->boolval; - xmlXPathReleaseObject(ctxt->context, arg2); - return (total); - case XPATH_OP_EQUAL: diff --git a/textproc/libxml2/patches/patch-xzlib.c b/textproc/libxml2/patches/patch-xzlib.c deleted file mode 100644 index 54d93e487af..00000000000 --- a/textproc/libxml2/patches/patch-xzlib.c +++ /dev/null @@ -1,32 +0,0 @@ -$NetBSD: patch-xzlib.c,v 1.4 2018/10/13 09:05:42 leot Exp $ - -Fix for CVE-2018-9251 and CVE-2018-14567, upstream commit id -2240fbf5912054af025fb6e01e26375100275e74: - - - ---- xzlib.c.orig 2017-12-02 08:58:10.000000000 +0000 -+++ xzlib.c -@@ -562,6 +562,10 @@ xz_decomp(xz_statep state) - "internal error: inflate stream corrupt"); - return -1; - } -+ /* -+ * FIXME: Remapping a couple of error codes and falling through -+ * to the LZMA error handling looks fragile. -+ */ - if (ret == Z_MEM_ERROR) - ret = LZMA_MEM_ERROR; - if (ret == Z_DATA_ERROR) -@@ -587,6 +591,11 @@ xz_decomp(xz_statep state) - xz_error(state, LZMA_PROG_ERROR, "compression error"); - return -1; - } -+ if ((state->how != GZIP) && -+ (ret != LZMA_OK) && (ret != LZMA_STREAM_END)) { -+ xz_error(state, ret, "lzma error"); -+ return -1; -+ } - } while (strm->avail_out && ret != LZMA_STREAM_END); - - /* update available output and crc check value */ -- cgit v1.2.3