Projects
Mega:23.09
libxml2
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 3
View file
_service:tar_scm:libxml2.spec
Changed
@@ -1,12 +1,15 @@ Summary: Library providing XML and HTML support Name: libxml2 -Version: 2.11.4 -Release: 3 +Version: 2.11.5 +Release: 1 License: MIT Group: Development/Libraries Source: https://download.gnome.org/sources/%{name}/2.11/%{name}-%{version}.tar.xz Patch0: libxml2-multilib.patch +Patch1: backport-CVE-2023-45322.patch +Patch2: backport-xpath-Remove-remaining-references-to-valueFrame.patch +Patch3: backport-examples-Don-t-call-xmlCleanupParser-and-xmlMemoryDu.patch BuildRoot: %{_tmppath}/%{name}-%{version}-root BuildRequires: python3-devel @@ -83,7 +86,7 @@ %build ./autogen.sh -%configure --enable-static +%configure --enable-static --with-ftp %make_build find doc -type f -exec chmod 0644 \{\} \; @@ -158,6 +161,30 @@ %changelog +* Mon Jan 29 2024 zhuofeng <zhuofeng2@huawei.com> - 2.11.5-1 +- Type:bugfix +- CVE:NA +- SUG:NA +- DESC:update version to 2.11.5 + +* Sun Dec 31 2023 Zhipeng Xie <xiezhipeng1@huawei.com> - 2.11.4-6 +- Type:bugfix +- CVE:NA +- SUG:NA +- DESC:backport upstream patches + +* Mon Oct 16 2023 BruceGW <gyl93216@163.com> -2.11.4-5 +- Type:CVE +- CVE:CVE-2023-45322 +- SUG:NA +- DESC:fix CVE-2023-45322 + +* Mon Aug 07 2023 zhuofeng <zhuofeng2@huawei.com> - 2.11.4-4 +- Type:bugfix +- CVE:NA +- SUG:NA +- DESC:Enable ftp which is needed by open-vm-tools + * Mon Aug 07 2023 zhuofeng <zhuofeng2@huawei.com> - 2.11.4-3 - Type:bugfix - CVE:NA
View file
_service:tar_scm:backport-CVE-2023-45322.patch
Added
@@ -0,0 +1,74 @@ +From d39f78069dff496ec865c73aa44d7110e429bce9 Mon Sep 17 00:00:00 2001 +From: Nick Wellnhofer <wellnhofer@aevum.de> +Date: Wed, 23 Aug 2023 20:24:24 +0200 +Subject: PATCH tree: Fix copying of DTDs + +- Don't create multiple DTD nodes. +- Fix UAF if malloc fails. +- Skip DTD nodes if tree module is disabled. + +Fixes #583. +--- + tree.c | 31 ++++++++++++++++--------------- + 1 file changed, 16 insertions(+), 15 deletions(-) + +diff --git a/tree.c b/tree.c +index 6c8a875b..02c1b579 100644 +--- a/tree.c ++++ b/tree.c +@@ -4386,29 +4386,28 @@ xmlNodePtr + xmlStaticCopyNodeList(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent) { + xmlNodePtr ret = NULL; + xmlNodePtr p = NULL,q; ++ xmlDtdPtr newSubset = NULL; + + while (node != NULL) { +-#ifdef LIBXML_TREE_ENABLED + if (node->type == XML_DTD_NODE ) { +- if (doc == NULL) { ++#ifdef LIBXML_TREE_ENABLED ++ if ((doc == NULL) || (doc->intSubset != NULL)) { + node = node->next; + continue; + } +- if (doc->intSubset == NULL) { +- q = (xmlNodePtr) xmlCopyDtd( (xmlDtdPtr) node ); +- if (q == NULL) goto error; +- q->doc = doc; +- q->parent = parent; +- doc->intSubset = (xmlDtdPtr) q; +- xmlAddChild(parent, q); +- } else { +- q = (xmlNodePtr) doc->intSubset; +- xmlAddChild(parent, q); +- } +- } else ++ q = (xmlNodePtr) xmlCopyDtd( (xmlDtdPtr) node ); ++ if (q == NULL) goto error; ++ q->doc = doc; ++ q->parent = parent; ++ newSubset = (xmlDtdPtr) q; ++#else ++ node = node->next; ++ continue; + #endif /* LIBXML_TREE_ENABLED */ ++ } else { + q = xmlStaticCopyNode(node, doc, parent, 1); +- if (q == NULL) goto error; ++ if (q == NULL) goto error; ++ } + if (ret == NULL) { + q->prev = NULL; + ret = p = q; +@@ -4420,6 +4419,8 @@ xmlStaticCopyNodeList(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent) { + } + node = node->next; + } ++ if (newSubset != NULL) ++ doc->intSubset = newSubset; + return(ret); + error: + xmlFreeNodeList(ret); +-- +2.27.0 +
View file
_service:tar_scm:backport-examples-Don-t-call-xmlCleanupParser-and-xmlMemoryDu.patch
Added
@@ -0,0 +1,766 @@ +From fc119e329069fae2ac7c25bc36ccb8847bac04ad Mon Sep 17 00:00:00 2001 +From: Nick Wellnhofer <wellnhofer@aevum.de> +Date: Sun, 30 Apr 2023 15:28:12 +0200 +Subject: PATCH examples: Don't call xmlCleanupParser and xmlMemoryDump + +xmlCleanupParser is dangerous and shouldn't be called in most cases. +Being part of the examples led many people to use it incorrectly. + +xmlMemoryDump is an obsolete way to test for memory leaks. +--- + doc/examples/Makefile.am | 18 ----- + doc/examples/examples.xml | 136 +++++++++++++++----------------------- + doc/examples/index.html | 106 +++++++++++++---------------- + doc/examples/index.py | 2 - + doc/examples/io1.c | 8 --- + doc/examples/parse1.c | 8 --- + doc/examples/parse2.c | 8 --- + doc/examples/parse3.c | 8 --- + doc/examples/parse4.c | 8 --- + doc/examples/reader1.c | 8 --- + doc/examples/reader2.c | 8 --- + doc/examples/reader3.c | 9 --- + doc/examples/reader4.c | 8 --- + doc/examples/testWriter.c | 8 --- + doc/examples/tree1.c | 6 -- + doc/examples/tree2.c | 10 --- + doc/examples/xpath1.c | 7 -- + doc/examples/xpath2.c | 7 -- + 18 files changed, 101 insertions(+), 272 deletions(-) + +diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am +index 75e138be..e30c02b4 100644 +--- a/doc/examples/Makefile.am ++++ b/doc/examples/Makefile.am +@@ -22,7 +22,6 @@ uninstall-local: + + clean-local: + test -f Makefile.am || rm -f test?.xml +- rm -f .memdump + + EXTRA_DIST = \ + examples.xml \ +@@ -86,35 +85,18 @@ valgrind: + check-local: + @test -f Makefile.am || test -f test1.xml || $(LN_S) $(srcdir)/test?.xml . + @(echo '## examples regression tests') +- @(echo > .memdump) + @$(CHECKER) ./io1 >/dev/null +- @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 + @$(CHECKER) ./io2 >/dev/null +- @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 + @$(CHECKER) ./parse1 test1.xml +- @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 + @$(CHECKER) ./parse2 test2.xml +- @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 + @$(CHECKER) ./parse3 +- @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 + @$(CHECKER) ./parse4 test3.xml +- @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 + @$(CHECKER) ./reader1 test2.xml >/dev/null +- @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 + @$(CHECKER) ./reader2 test2.xml >/dev/null +- @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 + @$(CHECKER) ./reader3 >/dev/null +- @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 + @$(CHECKER) ./reader4 test1.xml test2.xml test3.xml >/dev/null +- @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 + @$(CHECKER) ./testWriter +- @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 + @$(CHECKER) ./tree1 test2.xml >/dev/null +- @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 + @$(CHECKER) ./tree2 >/dev/null +- @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 +- @$(CHECKER) ./xpath1 test3.xml '//child2' >/dev/null +- @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 + @$(CHECKER) ./xpath2 test3.xml '//discarded' discarded >/dev/null +- @grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0 + @rm -f *.tmp +diff --git a/doc/examples/examples.xml b/doc/examples/examples.xml +index 465ea824..177e8159 100644 +--- a/doc/examples/examples.xml ++++ b/doc/examples/examples.xml +@@ -15,11 +15,9 @@ + </includes> + <uses> + <macro line='117' file='xmlversion' name='LIBXML_TEST_VERSION'/> +- <function line='154' file='parser' name='xmlCleanupParser'/> + <function line='143' file='tree' name='xmlDocDump'/> + <typedef line='105' file='tree' name='xmlDocPtr'/> + <function line='149' file='tree' name='xmlFreeDoc'/> +- <function line='158' file='xmlmemory' name='xmlMemoryDump'/> + <function line='124' file='parser' name='xmlReadMemory'/> + <function line='117' file='xmlIO' name='xmlRegisterInputCallbacks'/> + <function line='134' file='xinclude' name='xmlXIncludeProcess'/> +@@ -62,10 +60,8 @@ + </includes> + <uses> + <macro line='45' file='xmlversion' name='LIBXML_TEST_VERSION'/> +- <function line='50' file='parser' name='xmlCleanupParser'/> + <typedef line='24' file='tree' name='xmlDocPtr'/> + <function line='31' file='tree' name='xmlFreeDoc'/> +- <function line='54' file='xmlmemory' name='xmlMemoryDump'/> + <function line='26' file='parser' name='xmlReadFile'/> + </uses> + </example> +@@ -84,12 +80,10 @@ + <uses> + <macro line='61' file='xmlversion' name='LIBXML_TEST_VERSION'/> + <enum line='35' file='parser' name='XML_PARSE_DTDVALID'/> +- <function line='66' file='parser' name='xmlCleanupParser'/> + <function line='35' file='parser' name='xmlCtxtReadFile'/> + <typedef line='26' file='tree' name='xmlDocPtr'/> + <function line='44' file='tree' name='xmlFreeDoc'/> + <function line='47' file='parser' name='xmlFreeParserCtxt'/> +- <function line='70' file='xmlmemory' name='xmlMemoryDump'/> + <function line='29' file='parser' name='xmlNewParserCtxt'/> + <typedef line='25' file='tree' name='xmlParserCtxtPtr'/> + </uses> +@@ -108,10 +102,8 @@ + </includes> + <uses> + <macro line='49' file='xmlversion' name='LIBXML_TEST_VERSION'/> +- <function line='54' file='parser' name='xmlCleanupParser'/> + <typedef line='27' file='tree' name='xmlDocPtr'/> + <function line='38' file='tree' name='xmlFreeDoc'/> +- <function line='58' file='xmlmemory' name='xmlMemoryDump'/> + <function line='33' file='parser' name='xmlReadMemory'/> + </uses> + </example> +@@ -129,12 +121,10 @@ + </includes> + <uses> + <macro line='120' file='xmlversion' name='LIBXML_TEST_VERSION'/> +- <function line='131' file='parser' name='xmlCleanupParser'/> + <function line='67' file='parser' name='xmlCreatePushParserCtxt'/> + <typedef line='47' file='tree' name='xmlDocPtr'/> + <function line='103' file='tree' name='xmlFreeDoc'/> + <function line='94' file='parser' name='xmlFreeParserCtxt'/> +- <function line='135' file='xmlmemory' name='xmlMemoryDump'/> + <function line='80' file='parser' name='xmlParseChunk'/> + <typedef line='45' file='tree' name='xmlParserCtxtPtr'/> + </uses> +@@ -152,9 +142,7 @@ + </includes> + <uses> + <macro line='89' file='xmlversion' name='LIBXML_TEST_VERSION'/> +- <function line='94' file='parser' name='xmlCleanupParser'/> + <function line='69' file='xmlreader' name='xmlFreeTextReader'/> +- <function line='98' file='xmlmemory' name='xmlMemoryDump'/> + <function line='62' file='xmlreader' name='xmlReaderForFile'/> + <function line='44' file='xmlstring' name='xmlStrlen'/> + <function line='29' file='xmlreader' name='xmlTextReaderConstName'/> +@@ -250,35 +238,35 @@ + <include line='17'><libxml/xmlwriter.h></include> + </includes> + <uses> +- <macro line='885' file='parser' name='XML_DEFAULT_VERSION'/> +- <function line='347' file='tree' name='xmlBufferCreate'/> +- <function line='613' file='tree' name='xmlBufferFree'/> +- <typedef line='341' file='tree' name='xmlBufferPtr'/> +- <typedef line='1151' file='encoding' name='xmlCharEncodingHandlerPtr'/> +- <function line='901' file='tree' name='xmlDocSetRootElement'/> +- <function line='1156' file='encoding' name='xmlFindCharEncodingHandler'/> +- <variable line='113' file='globals' name='xmlFree'/> +- <function line='327' file='xmlwriter' name='xmlFreeTextWriter'/> +- <variable line='1166' file='globals' name='xmlMalloc'/> +- <function line='885' file='tree' name='xmlNewDoc'/> +- <function line='894' file='tree' name='xmlNewDocNode'/> +- <function line='632' file='xmlwriter' name='xmlNewTextWriterDoc'/> +- <function line='76' file='xmlwriter' name='xmlNewTextWriterFilename'/> +- <function line='355' file='xmlwriter' name='xmlNewTextWriterMemory'/> +- <function line='904' file='xmlwriter' name='xmlNewTextWriterTree'/> +- <typedef line='880' file='tree' name='xmlNodePtr'/> +- <variable line='1183' file='globals' name='xmlRealloc'/> +- <function line='863' file='tree' name='xmlSaveFileEnc'/> +- <function line='320' file='xmlwriter' name='xmlTextWriterEndDocument'/> +- <function line='200' file='xmlwriter' name='xmlTextWriterEndElement'/> +- <typedef line='72' file='xmlwriter' name='xmlTextWriterPtr'/> +- <function line='85' file='xmlwriter' name='xmlTextWriterStartDocument'/> +- <function line='94' file='xmlwriter' name='xmlTextWriterStartElement'/> +- <function line='124' file='xmlwriter' name='xmlTextWriterWriteAttribute'/> +- <function line='107' file='xmlwriter' name='xmlTextWriterWriteComment'/> +- <function line='181' file='xmlwriter' name='xmlTextWriterWriteElement'/> +- <function line='143' file='xmlwriter' name='xmlTextWriterWriteFormatComment'/> +- <function line='162' file='xmlwriter' name='xmlTextWriterWriteFormatElement'/> ++ <macro line='877' file='parser' name='XML_DEFAULT_VERSION'/> ++ <function line='339' file='tree' name='xmlBufferCreate'/> ++ <function line='605' file='tree' name='xmlBufferFree'/> ++ <typedef line='333' file='tree' name='xmlBufferPtr'/> ++ <typedef line='1143' file='encoding' name='xmlCharEncodingHandlerPtr'/> ++ <function line='893' file='tree' name='xmlDocSetRootElement'/> ++ <function line='1148' file='encoding' name='xmlFindCharEncodingHandler'/> ++ <variable line='105' file='globals' name='xmlFree'/> ++ <function line='319' file='xmlwriter' name='xmlFreeTextWriter'/> ++ <variable line='1158' file='globals' name='xmlMalloc'/> ++ <function line='877' file='tree' name='xmlNewDoc'/> ++ <function line='886' file='tree' name='xmlNewDocNode'/> ++ <function line='624' file='xmlwriter' name='xmlNewTextWriterDoc'/> ++ <function line='68' file='xmlwriter' name='xmlNewTextWriterFilename'/>
View file
_service:tar_scm:backport-xpath-Remove-remaining-references-to-valueFrame.patch
Added
@@ -0,0 +1,53 @@ +From fa993130f91a09c5b8d1454514a4ad44dd54f116 Mon Sep 17 00:00:00 2001 +From: Nick Wellnhofer <wellnhofer@aevum.de> +Date: Sun, 30 Apr 2023 12:57:09 +0200 +Subject: PATCH xpath: Remove remaining references to valueFrame + +Fixes #529. +--- + include/libxml/xpath.h | 2 +- + include/libxml/xpathInternals.h | 2 +- + xpointer.c | 1 - + 3 files changed, 2 insertions(+), 3 deletions(-) + +diff --git a/include/libxml/xpath.h b/include/libxml/xpath.h +index b57985a2..6dae0780 100644 +--- a/include/libxml/xpath.h ++++ b/include/libxml/xpath.h +@@ -400,7 +400,7 @@ struct _xmlXPathParserContext { + int xptr; /* it this an XPointer expression */ + xmlNodePtr ancestor; /* used for walking preceding axis */ + +- int valueFrame; /* unused */ ++ int valueFrame; /* always zero for compatibility */ + }; + + /************************************************************************ +diff --git a/include/libxml/xpathInternals.h b/include/libxml/xpathInternals.h +index cb0991d7..870055f9 100644 +--- a/include/libxml/xpathInternals.h ++++ b/include/libxml/xpathInternals.h +@@ -297,7 +297,7 @@ XMLPUBFUN void * + if (ctxt == NULL) return; \ + if (nargs != (x)) \ + XP_ERROR(XPATH_INVALID_ARITY); \ +- if (ctxt->valueNr < ctxt->valueFrame + (x)) \ ++ if (ctxt->valueNr < (x)) \ + XP_ERROR(XPATH_STACK_ERROR); + + /** +diff --git a/xpointer.c b/xpointer.c +index d8c18d7a..73514215 100644 +--- a/xpointer.c ++++ b/xpointer.c +@@ -1248,7 +1248,6 @@ xmlXPtrEvalXPointer(xmlXPathParserContextPtr ctxt) { + ctxt->valueNr = 0; + ctxt->valueMax = 10; + ctxt->value = NULL; +- ctxt->valueFrame = 0; + } + SKIP_BLANKS; + if (CUR == '/') { +-- +2.27.0 +
View file
_service
Changed
@@ -2,7 +2,7 @@ <service name="tar_scm"> <param name="url">git@gitee.com:src-openeuler/libxml2.git</param> <param name="scm">git</param> - <param name="revision">openEuler-23.09</param> + <param name="revision">master</param> <param name="exclude">*</param> <param name="extract">*</param> </service>
View file
_service:tar_scm:libxml2-2.11.4.tar.xz/NEWS -> _service:tar_scm:libxml2-2.11.5.tar.xz/NEWS
Changed
@@ -1,5 +1,26 @@ NEWS file for libxml2 +v2.11.5: Aug 9 2023 + +### Regressions + +- parser: Make xmlSwitchEncoding always skip the BOM +- autotools: Improve iconv check + +### Bug fixes + +- valid: Fix c1->parent pointer in xmlCopyDocElementContent +- encoding: Always call ucnv_convertEx with flush set to false + +### Portability + +- autotools: fix Python module file ext for cygwin/msys2 (Christoph Reiter) + +### Tests + +- runtest: Fix compilation without LIBXML_HTML_ENABLED + + v2.11.4: May 18 2023 Fixes a serious regression.
View file
_service:tar_scm:libxml2-2.11.4.tar.xz/configure -> _service:tar_scm:libxml2-2.11.5.tar.xz/configure
Changed
@@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for libxml2 2.11.4. +# Generated by GNU Autoconf 2.71 for libxml2 2.11.5. # # # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, @@ -618,8 +618,8 @@ # Identity of this package. PACKAGE_NAME='libxml2' PACKAGE_TARNAME='libxml2' -PACKAGE_VERSION='2.11.4' -PACKAGE_STRING='libxml2 2.11.4' +PACKAGE_VERSION='2.11.5' +PACKAGE_STRING='libxml2 2.11.5' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1541,7 +1541,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libxml2 2.11.4 to adapt to many kinds of systems. +\`configure' configures libxml2 2.11.5 to adapt to many kinds of systems. Usage: $0 OPTION... VAR=VALUE... @@ -1612,7 +1612,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libxml2 2.11.4:";; + short | recursive ) echo "Configuration of libxml2 2.11.5:";; esac cat <<\_ACEOF @@ -1785,7 +1785,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libxml2 configure 2.11.4 +libxml2 configure 2.11.5 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -2060,7 +2060,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libxml2 $as_me 2.11.4, which was +It was created by libxml2 $as_me 2.11.5, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -2898,7 +2898,7 @@ LIBXML_MAJOR_VERSION=2 LIBXML_MINOR_VERSION=11 -LIBXML_MICRO_VERSION=4 +LIBXML_MICRO_VERSION=5 LIBXML_MICRO_VERSION_SUFFIX= LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION$LIBXML_MICRO_VERSION_SUFFIX LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION @@ -3437,7 +3437,7 @@ # Define the identity of the package. PACKAGE='libxml2' - VERSION='2.11.4' + VERSION='2.11.5' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -15299,9 +15299,12 @@ PYTHON_LDFLAGS= if test "${PYTHON}" != ""; then case "$host" in - *-*-cygwin* | *-*-mingw* | *-*-msys* ) + *-*-mingw* ) PYTHON_LDFLAGS="-no-undefined -shrext .pyd" ;; + *-*-cygwin* |*-*-msys* ) + PYTHON_LDFLAGS="-no-undefined" + ;; esac fi @@ -16115,125 +16118,70 @@ ICONV_DIR=$with_iconv CPPFLAGS="$CPPFLAGS -I$ICONV_DIR/include" LIBS="$LIBS -L$ICONV_DIR/lib" - # Export this since our headers include iconv.h - XML_INCLUDEDIR="$XML_INCLUDEDIR -I$ICONV_DIR/include" fi - ac_fn_c_check_header_compile "$LINENO" "iconv.h" "ac_cv_header_iconv_h" "$ac_includes_default" -if test "x$ac_cv_header_iconv_h" = xyes -then : - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for library containing iconv" >&5 -printf %s "checking for library containing iconv... " >&6; } -if test ${ac_cv_search_iconv+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libiconv" >&5 +printf %s "checking for libiconv... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char iconv (); + #include <iconv.h> int main (void) { -return iconv (); +iconv_open(0,0); ; return 0; } + _ACEOF -for ac_lib in '' iconv -do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO" -then : - ac_cv_search_iconv=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext - if test ${ac_cv_search_iconv+y} -then : - break -fi -done -if test ${ac_cv_search_iconv+y} +if ac_fn_c_try_link "$LINENO" then : -else $as_nop - ac_cv_search_iconv=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_iconv" >&5 -printf "%s\n" "$ac_cv_search_iconv" >&6; } -ac_res=$ac_cv_search_iconv -if test "$ac_res" != no -then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + WITH_ICONV=1 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none required" >&5 +printf "%s\n" "none required" >&6; } - WITH_ICONV=1 - if test "$ac_cv_search_iconv" != "none required"; then - ICONV_LIBS=$ac_cv_search_iconv - fi else $as_nop - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libiconv in -liconv" >&5 -printf %s "checking for libiconv in -liconv... " >&6; } -if test ${ac_cv_lib_iconv_libiconv+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_check_lib_save_LIBS=$LIBS -LIBS="-liconv $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + LIBS="$LIBS -liconv" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -char libiconv (); + #include <iconv.h> int main (void) { -return libiconv (); +iconv_open(0,0); ; return 0; } + _ACEOF if ac_fn_c_try_link "$LINENO"
View file
_service:tar_scm:libxml2-2.11.4.tar.xz/configure.ac -> _service:tar_scm:libxml2-2.11.5.tar.xz/configure.ac
Changed
@@ -3,7 +3,7 @@ m4_define(MAJOR_VERSION, 2) m4_define(MINOR_VERSION, 11) -m4_define(MICRO_VERSION, 4) +m4_define(MICRO_VERSION, 5) AC_INIT(libxml2,MAJOR_VERSION.MINOR_VERSION.MICRO_VERSION) AC_CONFIG_SRCDIR(entities.c) @@ -767,9 +767,12 @@ PYTHON_LDFLAGS= if test "${PYTHON}" != ""; then case "$host" in - *-*-cygwin* | *-*-mingw* | *-*-msys* ) + *-*-mingw* ) PYTHON_LDFLAGS="-no-undefined -shrext .pyd" ;; + *-*-cygwin* |*-*-msys* ) + PYTHON_LDFLAGS="-no-undefined" + ;; esac fi AC_SUBST(PYTHON_LDFLAGS) @@ -1037,22 +1040,30 @@ ICONV_DIR=$with_iconv CPPFLAGS="$CPPFLAGS -I$ICONV_DIR/include" LIBS="$LIBS -L$ICONV_DIR/lib" - # Export this since our headers include iconv.h - XML_INCLUDEDIR="$XML_INCLUDEDIR -I$ICONV_DIR/include" fi - AC_CHECK_HEADER(iconv.h, - AC_SEARCH_LIBS(iconv, iconv, + AC_MSG_CHECKING(for libiconv) + AC_LINK_IFELSE( + AC_LANG_PROGRAM(#include <iconv.h>, iconv_open(0,0);) + , + WITH_ICONV=1 + AC_MSG_RESULT(none required) + , + LIBS="$LIBS -liconv" + AC_LINK_IFELSE( + AC_LANG_PROGRAM(#include <iconv.h>, iconv_open(0,0);) + , WITH_ICONV=1 - if test "$ac_cv_search_iconv" != "none required"; then - ICONV_LIBS=$ac_cv_search_iconv - fi, - dnl GNU libiconv prefixes symbols with "lib" - AC_CHECK_LIB(iconv, libiconv, - WITH_ICONV=1 - ICONV_LIBS="-liconv"))) + ICONV_LIBS="-liconv" + AC_MSG_RESULT(yes) + , + AC_MSG_RESULT(no) + ) + ) if test "$WITH_ICONV" = "1" && test "$ICONV_DIR" != ""; then ICONV_CFLAGS="-I$ICONV_DIR/include" ICONV_LIBS="-L$ICONV_DIR/lib $ICONV_LIBS" + # Export this since our headers include iconv.h + XML_INCLUDEDIR="$XML_INCLUDEDIR -I$ICONV_DIR/include" fi CPPFLAGS=$_cppflags LIBS=$_libs
View file
_service:tar_scm:libxml2-2.11.4.tar.xz/encoding.c -> _service:tar_scm:libxml2-2.11.5.tar.xz/encoding.c
Changed
@@ -1988,22 +1988,18 @@ ucnv_convertEx(cd->utf8, cd->uconv, &ucv_out, ucv_out + *outlen, &ucv_in, ucv_in + *inlen, cd->pivot_buf, &cd->pivot_source, &cd->pivot_target, - cd->pivot_buf + ICU_PIVOT_BUF_SIZE, 0, flush, &err); + cd->pivot_buf + ICU_PIVOT_BUF_SIZE, 0, 0, &err); } else { /* UTF-8 => UTF-16 => encoding */ ucnv_convertEx(cd->uconv, cd->utf8, &ucv_out, ucv_out + *outlen, &ucv_in, ucv_in + *inlen, cd->pivot_buf, &cd->pivot_source, &cd->pivot_target, - cd->pivot_buf + ICU_PIVOT_BUF_SIZE, 0, flush, &err); + cd->pivot_buf + ICU_PIVOT_BUF_SIZE, 0, 0, &err); } *inlen = ucv_in - (const char*) in; *outlen = ucv_out - (char *) out; - if (U_SUCCESS(err)) { - /* reset pivot buf if this is the last call for input (flush==TRUE) */ - if (flush) - cd->pivot_source = cd->pivot_target = cd->pivot_buf; + if (U_SUCCESS(err)) return 0; - } if (err == U_BUFFER_OVERFLOW_ERROR) return -1; if (err == U_INVALID_CHAR_FOUND || err == U_ILLEGAL_CHAR_FOUND)
View file
_service:tar_scm:libxml2-2.11.4.tar.xz/parserInternals.c -> _service:tar_scm:libxml2-2.11.5.tar.xz/parserInternals.c
Changed
@@ -1085,6 +1085,33 @@ int ret; if (ctxt == NULL) return(-1); + + /* + * FIXME: The BOM shouldn't be skipped here, but in the parsing code. + * + * Note that we look for a decoded UTF-8 BOM when switching to UTF-16. + * This is mostly useless but Webkit/Chromium relies on this behavior. + * See https://bugs.chromium.org/p/chromium/issues/detail?id=1451026 + */ + if ((ctxt->input != NULL) && + (ctxt->input->consumed == 0) && + (ctxt->input->cur != NULL) && + (ctxt->input->cur == ctxt->input->base) && + ((enc == XML_CHAR_ENCODING_UTF8) || + (enc == XML_CHAR_ENCODING_UTF16LE) || + (enc == XML_CHAR_ENCODING_UTF16BE))) { + /* + * Errata on XML-1.0 June 20 2001 + * Specific handling of the Byte Order Mark for + * UTF-8 + */ + if ((ctxt->input->cur0 == 0xEF) && + (ctxt->input->cur1 == 0xBB) && + (ctxt->input->cur2 == 0xBF)) { + ctxt->input->cur += 3; + } + } + switch (enc) { case XML_CHAR_ENCODING_ERROR: __xmlErrEncoding(ctxt, XML_ERR_UNKNOWN_ENCODING, @@ -1097,18 +1124,6 @@ case XML_CHAR_ENCODING_UTF8: /* default encoding, no conversion should be needed */ ctxt->charset = XML_CHAR_ENCODING_UTF8; - - /* - * Errata on XML-1.0 June 20 2001 - * Specific handling of the Byte Order Mark for - * UTF-8 - */ - if ((ctxt->input != NULL) && - (ctxt->input->cur0 == 0xEF) && - (ctxt->input->cur1 == 0xBB) && - (ctxt->input->cur2 == 0xBF)) { - ctxt->input->cur += 3; - } return(0); case XML_CHAR_ENCODING_EBCDIC: handler = xmlDetectEBCDIC(ctxt->input); @@ -1200,8 +1215,8 @@ /* * Switching encodings during parsing is a really bad idea, - * but WebKit/Chromium switches from ISO-8859-1 to UTF-16 as soon as - * it finds Unicode characters with code points larger than 255. + * but Chromium can switch between ISO-8859-1 and UTF-16 before + * separate calls to xmlParseChunk. * * TODO: We should check whether the "raw" input buffer is empty and * convert the old content using the old encoder. @@ -1222,6 +1237,10 @@ size_t processed, use, consumed; /* + * FIXME: The BOM shouldn't be skipped here, but in the parsing code. + */ + + /* * Specific handling of the Byte Order Mark for * UTF-16 */
View file
_service:tar_scm:libxml2-2.11.4.tar.xz/runtest.c -> _service:tar_scm:libxml2-2.11.5.tar.xz/runtest.c
Changed
@@ -63,11 +63,6 @@ #ifdef LIBXML_HTML_ENABLED #include <libxml/HTMLparser.h> #include <libxml/HTMLtree.h> - -/* - * pseudo flag for the unification of HTML and XML tests - */ -#define XML_PARSE_HTML 1 << 24 #endif #if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED) @@ -79,6 +74,11 @@ #endif /* + * pseudo flag for the unification of HTML and XML tests + */ +#define XML_PARSE_HTML 1 << 24 + +/* * O_BINARY is just for Windows compatibility - if it isn't defined * on this system, avoid any compilation error */
View file
_service:tar_scm:libxml2-2.11.4.tar.xz/valid.c -> _service:tar_scm:libxml2-2.11.5.tar.xz/valid.c
Changed
@@ -1052,7 +1052,7 @@ if (cur->c1 != NULL) tmp->c1 = xmlCopyDocElementContent(doc,cur->c1); if (tmp->c1 != NULL) - tmp->c1->parent = ret; + tmp->c1->parent = tmp; prev = tmp; cur = cur->c2; }
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2