From 0c1d871e4c5e46a2945cccb2ce765f9be2fe01fb Mon Sep 17 00:00:00 2001
From: Mike Hommey
Date: Sun, 1 Mar 2009 10:54:34 +0100
Subject: Import upstream version 2.7.1
---
ChangeLog | 35 ++++++
HTMLtree.c | 7 +-
Makefile.am | 4 +-
Makefile.in | 4 +-
NEWS | 35 ++++++
configure | 2 +-
configure.in | 2 +-
doc/libxml2.xsa | 61 +++++-----
doc/news.html | 7 +-
doc/xml.html | 9 ++
gentest.py | 1 +
include/libxml/xmlversion.h | 8 +-
libxml2.spec | 6 +-
parser.c | 2 +-
python/libxml.c | 147 ++++++-----------------
python/setup.py | 2 +-
python/tests/Makefile.am | 3 +-
python/tests/Makefile.in | 3 +-
python/tests/xpathleak.py | 53 +++++++++
runxmlconf.c | 8 +-
schematron.c | 2 +-
testapi.c | 4 +-
tree.c | 13 ++-
trionan.c | 8 +-
xmlIO.c | 69 +++++++++--
xmlsave.c | 279 +++++++++++++++++++++++++++++++-------------
xpath.c | 40 ++++---
27 files changed, 530 insertions(+), 284 deletions(-)
create mode 100755 python/tests/xpathleak.py
diff --git a/ChangeLog b/ChangeLog
index 1f976e8..2ef2cc7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,38 @@
+Mon Sep 1 16:49:05 CEST 2008 Daniel Veillard
+
+ * doc/xml.html doc/news.html configure.in python/setup.py NEWS:
+ prepare release of 2.7.1
+
+Mon Sep 1 15:35:13 CEST 2008 Daniel Veillard
+
+ * schematron.c xpath.c: applied a couple of patches from Martin
+ avoiding some leaks, fixinq QName checks in XPath, XPath debugging
+ and schematron code cleanups.
+ * python/tests/Makefile.am python/tests/xpathleak.py: add the
+ specific regression tests, just tweak it to avoid output by default
+
+Mon Sep 1 15:02:05 CEST 2008 Daniel Veillard
+
+ * trionan.c: Borland C fix from Moritz Both
+ * testapi.c: regenerate, workaround a problem for buffer testing
+ * xmlIO.c HTMLtree.c: new internal entry point to hide even better
+ xmlAllocOutputBufferInternal
+ * tree.c: harden the code around buffer allocation schemes
+ * parser.c: restore the warning when namespace names are not absolute
+ URIs
+ * runxmlconf.c: continue regression tests if we get the expected
+ number of errors
+ * Makefile.am: run the python tests on make check
+ * xmlsave.c: handle the HTML documents and trees
+ * python/libxml.c: convert python serialization to the xmlSave APIs
+ and avoid some horrible hacks
+
+Sat Aug 30 16:58:40 CEST 2008 Daniel Veillard
+
+ * configure.in, doc/*: preparing 2.7.0 release
+ * tree.c: remove some testing traces
+ * parser.c xmlIO.c xmlschemas.c: remove some warnings
+
Sat Aug 30 14:50:16 CEST 2008 Daniel Veillard
* include/libxml/tree.h tree.c: make a new kind of buffer where
diff --git a/HTMLtree.c b/HTMLtree.c
index e79d118..37999f7 100644
--- a/HTMLtree.c
+++ b/HTMLtree.c
@@ -316,6 +316,11 @@ htmlIsBooleanAttr(const xmlChar *name)
}
#ifdef LIBXML_OUTPUT_ENABLED
+/*
+ * private routine exported from xmlIO.c
+ */
+xmlOutputBufferPtr
+xmlAllocOutputBufferInternal(xmlCharEncodingHandlerPtr encoder);
/************************************************************************
* *
* Output error handlers *
@@ -566,7 +571,7 @@ htmlDocDumpMemoryFormat(xmlDocPtr cur, xmlChar**mem, int *size, int format) {
if (handler == NULL)
handler = xmlFindCharEncodingHandler("ascii");
- buf = xmlAllocOutputBuffer(handler);
+ buf = xmlAllocOutputBufferInternal(handler);
if (buf == NULL) {
*mem = NULL;
*size = 0;
diff --git a/Makefile.am b/Makefile.am
index de57c46..800a766 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -157,7 +157,7 @@ rebuild_testapi:
# that one is just to make sure it is rebuilt if missing
# but adding the dependances generate mess
-testapi.c:
+testapi.c: $(srcdir)/gentest.py
-@(if [ "$(PYTHON)" != "" ] ; then \
$(PYTHON) $(srcdir)/gentest.py $(srcdir) ; fi )
@@ -178,6 +178,8 @@ runxmlconf_LDADD= $(LDADDS)
runtests:
$(CHECKER) ./runtest$(EXEEXT) && $(CHECKER) ./testrecurse$(EXEEXT) &&$(CHECKER) ./testapi$(EXEEXT) && $(CHECKER) ./testchar$(EXEEXT)&& $(CHECKER) ./testdict$(EXEEXT) && $(CHECKER) ./runxmlconf$(EXEEXT)
+ @(if [ "@PYTHON_SUBDIR@" != "" ] ; then cd python ; \
+ $(MAKE) MAKEFLAGS+=--silent tests ; fi)
check: all runtests
diff --git a/Makefile.in b/Makefile.in
index d986d7b..ddcfd91 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1555,7 +1555,7 @@ rebuild_testapi:
# that one is just to make sure it is rebuilt if missing
# but adding the dependances generate mess
-testapi.c:
+testapi.c: $(srcdir)/gentest.py
-@(if [ "$(PYTHON)" != "" ] ; then \
$(PYTHON) $(srcdir)/gentest.py $(srcdir) ; fi )
@@ -1566,6 +1566,8 @@ testapi.c:
runtests:
$(CHECKER) ./runtest$(EXEEXT) && $(CHECKER) ./testrecurse$(EXEEXT) &&$(CHECKER) ./testapi$(EXEEXT) && $(CHECKER) ./testchar$(EXEEXT)&& $(CHECKER) ./testdict$(EXEEXT) && $(CHECKER) ./runxmlconf$(EXEEXT)
+ @(if [ "@PYTHON_SUBDIR@" != "" ] ; then cd python ; \
+ $(MAKE) MAKEFLAGS+=--silent tests ; fi)
check: all runtests
diff --git a/NEWS b/NEWS
index 2d6a794..8c34320 100644
--- a/NEWS
+++ b/NEWS
@@ -15,6 +15,41 @@ ChangeLog.html
to the SVN at
http://svn.gnome.org/viewcvs/libxml2/trunk/
code base.Here is the list of public releases:
+2.7.1: Sep 1 2008:
+ - Portability fix: Borland C fix (Moritz Both)
+ - Bug fixes: python serialization wrappers, XPath QName corner
+ case handking and leaks (Martin)
+ - Improvement: extend the xmlSave to handle HTML documents and trees
+ - Cleanup: python serialization wrappers
+
+
+2.7.0: Aug 30 2008:
+ - Documentation: switch ChangeLog to UTF-8, improve mutithreads and
+ xmlParserCleanup docs
+ - Portability fixes: Older Win32 platforms (Rob Richards), MSVC
+ porting fix (Rob Richards), Mac OS X regression tests (Sven Herzberg),
+ non GNUCC builds (Rob Richards), compilation on Haiku (Andreas Färber)
+
+ - Bug fixes: various realloc problems (Ashwin), potential double-free
+ (Ashwin), regexp crash, icrash with invalid whitespace facets (Rob
+ Richards), pattern fix when streaming (William Brack), various XML
+ parsing and validation fixes based on the W3C regression tests, reader
+ tree skipping function fix (Ashwin), Schemas regexps escaping fix
+ (Volker Grabsch), handling of entity push errors (Ashwin), fix a slowdown
+ when encoder cant serialize characters on output
+ - Code cleanup: compilation fix without the reader, without the output
+ (Robert Schwebel), python whitespace (Martin), many space/tabs cleanups,
+ serious cleanup of the entity handling code
+ - Improvement: switch parser to XML-1.0 5th edition, add parsing flags
+ for old versions, switch URI parsing to RFC 3986,
+ add xmlSchemaValidCtxtGetParserCtxt (Holger Kaelberer),
+ new hashing functions for dictionnaries (based on Stefan Behnel work),
+ improve handling of misplaced html/head/body in HTML parser, better
+ regression test tools and code coverage display, better algorithms
+ to detect various versions of the billion laughts attacks, make
+ arbitrary parser limits avoidable as a parser option
+
+
2.6.32: Apr 8 2008:
- Documentation: returning heap memory to kernel (Wolfram Sang),
trying to clarify xmlCleanupParser() use, xmlXPathContext improvement
diff --git a/configure b/configure
index 5360aa8..e782bfb 100755
--- a/configure
+++ b/configure
@@ -2191,7 +2191,7 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
LIBXML_MAJOR_VERSION=2
LIBXML_MINOR_VERSION=7
-LIBXML_MICRO_VERSION=0
+LIBXML_MICRO_VERSION=1
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
diff --git a/configure.in b/configure.in
index 65824f3..17dad0b 100644
--- a/configure.in
+++ b/configure.in
@@ -5,7 +5,7 @@ AC_CANONICAL_HOST
LIBXML_MAJOR_VERSION=2
LIBXML_MINOR_VERSION=7
-LIBXML_MICRO_VERSION=0
+LIBXML_MICRO_VERSION=1
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
diff --git a/doc/libxml2.xsa b/doc/libxml2.xsa
index f93c298..bcb3a0e 100644
--- a/doc/libxml2.xsa
+++ b/doc/libxml2.xsa
@@ -8,42 +8,33 @@
libxml2
- 2.6.32
- Apr 8 2008
+ 2.7.0
+ Aug 30 2008
http://xmlsoft.org/
- - Documentation: returning heap memory to kernel (Wolfram Sang),
- trying to clarify xmlCleanupParser() use, xmlXPathContext improvement
- (Jack Jansen), improve the *Recover* functions documentation,
- XmlNodeType doc link fix (Martijn Arts)
- - Bug fixes: internal subset memory leak (Ashwin), avoid problem with
- paths starting with // (Petr Sumbera), streaming XSD validation callback
- patches (Ashwin), fix redirection on port other than 80 (William Brack),
- SAX2 leak (Ashwin), XInclude fragment of own document (Chris Ryan),
- regexp bug with '.' (Andrew Tosh), flush the writer at the end of the
- document (Alfred Mickautsch), output I/O bug fix (William Brack),
- writer CDATA output after a text node (Alex Khesin), UTF-16 encoding
- detection (William Brack), fix handling of empty CDATA nodes for Safari
- team, python binding problem with namespace nodes, improve HTML parsing
- (Arnold Hendriks), regexp automata build bug, memory leak fix (Vasily
- Chekalkin), XSD test crash, weird system parameter entity parsing problem,
- allow save to file:///X:/ windows paths, various attribute normalisation
- problems, externalSubsetSplit fix (Ashwin), attribute redefinition in
- the DTD (Ashwin), fix in char ref parsing check (Alex Khesin), many
- out of memory handling fixes (Ashwin), XPath out of memory handling fixes
- (Alvaro Herrera), various realloc problems (Ashwin), UCS4 encoding
- conversion buffer size (Christian Fruth), problems with EatName
- functions on memory errors, BOM handling in external parsed entities
- (Mark Rowe)
- - Code cleanup: fix build under VS 2008 (David Wimsey), remove useless
- mutex in xmlDict (Florent Guilian), Mingw32 compilation fix (Carlo
- Bramini), Win and MacOS EOL cleanups (Florent Guiliani), iconv need
- a const detection (Roumen Petrov), simplify xmlSetProp (Julien Charbon),
- cross compilation fixes for Mingw (Roumen Petrov), SCO Openserver build
- fix (Florent Guiliani), iconv uses const on Win32 (Rob Richards),
- duplicate code removal (Ashwin), missing malloc test and error reports
- (Ashwin), VMS makefile fix (Tycho Hilhorst)
- - improvements: better plug of schematron in the normal error handling
- (Tobias Minich)
+ - Documentation: switch ChangeLog to UTF-8, improve mutithreads and
+ xmlParserCleanup docs
+ - Portability fixes: Older Win32 platforms (Rob Richards), MSVC
+ porting fix (Rob Richards), Mac OS X regression tests (Sven Herzberg),
+ non GNUCC builds (Rob Richards), compilation on Haiku (Andreas Färber)
+
+ - Bug fixes: various realloc problems (Ashwin), potential double-free
+ (Ashwin), regexp crash, icrash with invalid whitespace facets (Rob
+ Richards), pattern fix when streaming (William Brack), various XML
+ parsing and validation fixes based on the W3C regression tests, reader
+ tree skipping function fix (Ashwin), Schemas regexps escaping fix
+ (Volker Grabsch), handling of entity push errors (Ashwin), fix a slowdown
+ when encoder cant serialize characters on output
+ - Code cleanup: compilation fix without the reader, without the output
+ (Robert Schwebel), python whitespace (Martin), many space/tabs cleanups,
+ serious cleanup of the entity handling code
+ - Improvement: switch parser to XML-1.0 5th edition, add parsing flags
+ for old versions, switch URI parsing to RFC 3986,
+ add xmlSchemaValidCtxtGetParserCtxt (Holger Kaelberer),
+ new hashing functions for dictionnaries (based on Stefan Behnel work),
+ improve handling of misplaced html/head/body in HTML parser, better
+ regression test tools and code coverage display, better algorithms
+ to detect various versions of the billion laughts attacks, make
+ arbitrary parser limits avoidable as a parser option
diff --git a/doc/news.html b/doc/news.html
index a4126c0..d9dd809 100644
--- a/doc/news.html
+++ b/doc/news.html
@@ -12,7 +12,12 @@ to help those
The change log describes the recents commits
-to the SVN code base.
Here is the list of public releases:
2.7.0: Aug 30 2008