Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37499748
en ru br
Репозитории ALT
S:2.10.4-alt1
5.1: 2.7.8-alt3.M50P.1
4.1: 2.7.2-alt1.M41.2
+updates:2.6.32-alt2.M41.2
4.0: 2.7.2-alt1.M40.1
+updates:2.6.31-alt1
3.0: 2.6.20-alt1
www.altlinux.org/Changes

Группа :: Система/Библиотеки
Пакет: libxml2

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: libxml2-2.7.2-alt1.M40.1.patch
Скачать


 .gear-rules                                        |    2 +
 .../950c4dcaf30898270df1fc7f9f754465387ab502       |   13 +
 .gear-tags/list                                    |    1 +
 ChangeLog                                          |   18 +
 Makefile.am                                        |    7 +-
 SAX2.c                                             |   13 +-
 configure.in                                       |    7 +-
 doc/Makefile.am                                    |    6 +
 doc/devhelp/Makefile.am                            |    1 +
 doc/examples/.cvsignore                            |   16 +-
 doc/examples/Makefile.am                           |  104 ++--
 libxml2.map                                        |  181 ++++++
 libxml2.spec                                       |  657 ++++++++++++++++++++
 parser.c                                           |    6 +
 python/Makefile.am                                 |    4 +-
 python/tests/Makefile.am                           |    2 +-
 tree.c                                             |   10 +-
 xmllint.c                                          |    2 +
 xstc/Makefile.am                                   |    2 +
 19 files changed, 980 insertions(+), 72 deletions(-)
diff --git a/.gear-rules b/.gear-rules
new file mode 100644
index 0000000..1538fa5
--- /dev/null
+++ b/.gear-rules
@@ -0,0 +1,2 @@
+tar: @version@:. name=libxml2-@version@
+diff: @version@:. .
diff --git a/.gear-tags/950c4dcaf30898270df1fc7f9f754465387ab502 b/.gear-tags/950c4dcaf30898270df1fc7f9f754465387ab502
new file mode 100644
index 0000000..a4b7f25
--- /dev/null
+++ b/.gear-tags/950c4dcaf30898270df1fc7f9f754465387ab502
@@ -0,0 +1,13 @@
+object c696b4b38398f5b007a703430d41b4b5ea4e6d72
+type commit
+tag 2.7.2
+tagger Alexey Tourbin <at@altlinux.ru> 1223323716 +0400
+
+2.7.2
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.9 (GNU/Linux)
+
+iEYEABECAAYFAkjqcEUACgkQfBKgtDjnu0aPpwCgwgWfRnrd48xXBaMLdmeco2Hp
+x2IAoLG8MrOlP9WvELktbUi4OszebaO+
+=h3Jk
+-----END PGP SIGNATURE-----
diff --git a/.gear-tags/list b/.gear-tags/list
new file mode 100644
index 0000000..d3a2fde
--- /dev/null
+++ b/.gear-tags/list
@@ -0,0 +1 @@
+950c4dcaf30898270df1fc7f9f754465387ab502 2.7.2
diff --git a/ChangeLog b/ChangeLog
index a37871e..543f0f8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+Mon Nov 17 16:56:18 CET 2008 Daniel Veillard <daniel@veillard.com>
+
+	* SAX2.c parser.c: fix for CVE-2008-4226, a memory overflow
+	  when building gigantic text nodes, and a bit of cleanup
+	  to better handled out of memory problem in that code.
+	* tree.c: fix for CVE-2008-4225, lack of testing leads to
+	  a busy loop test assuming one have enough core memory.
+
+Thu Nov  6 14:34:35 CET 2008 Daniel Veillard <daniel@veillard.com>
+
+	* xmllint.c: Matthias Kaehlcke reported a build problem when
+	  not compiling HTML support in.
+
+Fri Oct 17 15:24:08 CEST 2008 Daniel Veillard <daniel@veillard.com>
+
+	* configure.in doc/Makefile.am: patch from Adrian Bunk which
+	  adds --disable-rebuild-docs to avoid rebuilding them
+
 Fri Oct  3 09:43:45 CEST 2008 Daniel Veillard <daniel@veillard.com>
 
 	* configure.in doc/* NEWS: preparing the release of 2.7.2
diff --git a/Makefile.am b/Makefile.am
index 800a766..2c39cca 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,6 @@
 ## Process this file with automake to produce Makefile.in
 
-SUBDIRS = include . doc example xstc @PYTHON_SUBDIR@
+SUBDIRS = include . doc example @PYTHON_SUBDIR@
 
 DIST_SUBDIRS = include . doc example python xstc
 
@@ -18,7 +18,8 @@ bin_SCRIPTS=xml2-config
 lib_LTLIBRARIES = libxml2.la
 libxml2_la_LIBADD = @THREAD_LIBS@ @Z_LIBS@ $(ICONV_LIBS) @M_LIBS@ @WIN32_EXTRA_LIBADD@
 
-libxml2_la_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@ @WIN32_EXTRA_LDFLAGS@ -version-info @LIBXML_VERSION_INFO@ @MODULE_PLATFORM_LIBS@
+export_symbols = -Wl,--version-script=libxml2.map -Wl,-z,defs
+libxml2_la_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@ @WIN32_EXTRA_LDFLAGS@ -version-info @LIBXML_VERSION_INFO@ $(export_symbols) @MODULE_PLATFORM_LIBS@
 
 if WITH_TRIO_SOURCES
 libxml2_la_SOURCES = SAX.c entities.c encoding.c error.c parserInternals.c  \
@@ -1104,7 +1105,7 @@ SchemasPythonTests:
 	    echo "## It is normal to see 11 errors reported" ; \
 	    $(CHECKER) $(PYTHON) $(srcdir)/check-xsddata-test-suite.py ; \
 	  fi)
-	@(if [ -x $(PYTHON) -a -d xstc ] ; then cd xstc ; $(MAKE) CHECKER="$(CHECKER)" MAKEFLAGS+=--silent pytests ; fi)
+#	@(if [ -x $(PYTHON) -a -d xstc ] ; then cd xstc ; $(MAKE) CHECKER="$(CHECKER)" MAKEFLAGS+=--silent pytests ; fi)
 
 Patterntests: xmllint$(EXEEXT)
 	@(echo > .memdump)
diff --git a/SAX2.c b/SAX2.c
index 80cd1bd..4b00ed6 100644
--- a/SAX2.c
+++ b/SAX2.c
@@ -11,6 +11,7 @@
 #include "libxml.h"
 #include <stdlib.h>
 #include <string.h>
+#include <limits.h>
 #include <libxml/xmlmemory.h>
 #include <libxml/tree.h>
 #include <libxml/parser.h>
@@ -26,6 +27,11 @@
 #include <libxml/HTMLtree.h>
 #include <libxml/globals.h>
 
+/* Define SIZE_T_MAX unless defined through <limits.h>. */
+#ifndef SIZE_T_MAX
+# define SIZE_T_MAX     ((size_t)-1)
+#endif /* !SIZE_T_MAX */
+
 /* #define DEBUG_SAX2 */
 /* #define DEBUG_SAX2_TREE */
 
@@ -2455,9 +2461,14 @@ xmlSAX2Characters(void *ctx, const xmlChar *ch, int len)
 	               (xmlDictOwns(ctxt->dict, lastChild->content))) {
 		lastChild->content = xmlStrdup(lastChild->content);
 	    }
+	    if ((size_t)ctxt->nodelen > SIZE_T_MAX - (size_t)len || 
+	        (size_t)ctxt->nodemem + (size_t)len > SIZE_T_MAX / 2) {
+	            xmlSAX2ErrMemory(ctxt, "xmlSAX2Characters overflow prevented");
+	            return;
+	    }
 	    if (ctxt->nodelen + len >= ctxt->nodemem) {
 		xmlChar *newbuf;
-		int size;
+		size_t size;
 
 		size = ctxt->nodemem + len;
 		size *= 2;
diff --git a/configure.in b/configure.in
index 04f363f..7fcf9ff 100644
--- a/configure.in
+++ b/configure.in
@@ -48,9 +48,6 @@ AC_PATH_PROG(RM, rm, /bin/rm)
 AC_PATH_PROG(MV, mv, /bin/mv)
 AC_PATH_PROG(TAR, tar, /bin/tar)
 AC_PATH_PROG(PERL, perl, /usr/bin/perl)
-AC_PATH_PROG(WGET, wget, /usr/bin/wget)
-AC_PATH_PROG(XMLLINT, xmllint, /usr/bin/xmllint)
-AC_PATH_PROG(XSLTPROC, xsltproc, /usr/bin/xsltproc)
 
 dnl Make sure we have an ANSI compiler
 AM_C_PROTOTYPES
@@ -166,6 +163,10 @@ AC_ARG_WITH(zlib,
 AC_ARG_WITH(coverage,
 [  --with-coverage         build for code coverage with GCC (off)])
 
+AC_ARG_ENABLE(rebuild-docs,
+[  --enable-rebuild-docs[[=yes/no]]  rebuild some generated docs [[default=yes]]])
+AM_CONDITIONAL([REBUILD_DOCS], [test "$enable_rebuild_docs" = "no"])
+
 dnl
 dnl hard dependancies on options
 dnl
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 55c5ef5..57ee814 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -25,8 +25,14 @@ EXTRA_DIST=xmlcatalog_man.xml tutorial/*.html tutorial/*.c tutorial/*.pdf \
 
 
 man_MANS = xmllint.1 xmlcatalog.1
+XSLTPROC=/usr/bin/xsltproc
+XMLLINT=$(top_builddir)/xmllint
 
+if REBUILD_DOCS
 all: web $(top_builddir)/NEWS libxml2.xsa $(man_MANS)
+else
+all:
+endif
 
 api: libxml2-api.xml libxml2-refs.xml $(APIPAGES) $(srcdir)/html/index.html $(WIN32_DIR)/libxml2.def.src ../elfgcchack.h
 
diff --git a/doc/devhelp/Makefile.am b/doc/devhelp/Makefile.am
index 0264010..122a7fd 100644
--- a/doc/devhelp/Makefile.am
+++ b/doc/devhelp/Makefile.am
@@ -57,6 +57,7 @@ EXTRA_FORMAT=				\
 	style.css
 
 EXTRA_DIST=devhelp.xsl html.xsl libxml2.devhelp $(HTML_FILES) $(EXTRA_FORMAT)
+XSLTPROC=/usr/bin/xsltproc
 
 all: libxml2.devhelp $(HTML_FILES)
 
diff --git a/doc/examples/.cvsignore b/doc/examples/.cvsignore
index 86efec4..7097a62 100644
--- a/doc/examples/.cvsignore
+++ b/doc/examples/.cvsignore
@@ -1,18 +1,18 @@
 .memdump
 Makefile.in
 Makefile
-reader2
 xpath2
-xpath1
+reader1
+reader4
+parse2
+reader2
 parse3
-io2
+reader3
 tree2
-reader1
-testWriter
 parse4
-reader3
+io2
+testWriter
 io1
+xpath1
 parse1
 tree1
-reader4
-parse2
diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am
index d0f42aa..d1beee5 100644
--- a/doc/examples/Makefile.am
+++ b/doc/examples/Makefile.am
@@ -15,65 +15,75 @@ install-data-local:
 	$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)
 	-@INSTALL@ -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(srcdir)/*.xml $(srcdir)/*.xsl $(srcdir)/*.res $(DESTDIR)$(HTML_DIR)
 
-EXTRA_DIST=examples.xsl index.py test1.xml examples.xml test2.xml tst.xml writer.xml test3.xml tree2.res xpath1.res reader1.res reader3.res reader4.res io1.res xpath2.res io2.res tree1.res 
+EXTRA_DIST=examples.xsl index.py examples.xml writer.xml test3.xml tst.xml test1.xml test2.xml io2.res xpath2.res tree1.res reader4.res io1.res tree2.res reader3.res xpath1.res reader1.res 
 
-noinst_PROGRAMS=reader2 xpath2 xpath1 parse3 io2 tree2 reader1 testWriter parse4 reader3 io1 parse1 tree1 reader4 parse2 
-
-reader2_SOURCES=reader2.c
-reader2_LDFLAGS=
-reader2_DEPENDENCIES= $(DEPS)
-reader2_LDADD= @RDL_LIBS@ $(LDADDS)
+noinst_PROGRAMS=xpath2 reader1 reader4 parse2 reader2 parse3 reader3 tree2 parse4 io2 testWriter io1 xpath1 parse1 tree1 
 
 xpath2_SOURCES=xpath2.c
 xpath2_LDFLAGS=
 xpath2_DEPENDENCIES= $(DEPS)
 xpath2_LDADD= @RDL_LIBS@ $(LDADDS)
 
-xpath1_SOURCES=xpath1.c
-xpath1_LDFLAGS=
-xpath1_DEPENDENCIES= $(DEPS)
-xpath1_LDADD= @RDL_LIBS@ $(LDADDS)
+reader1_SOURCES=reader1.c
+reader1_LDFLAGS=
+reader1_DEPENDENCIES= $(DEPS)
+reader1_LDADD= @RDL_LIBS@ $(LDADDS)
+
+reader4_SOURCES=reader4.c
+reader4_LDFLAGS=
+reader4_DEPENDENCIES= $(DEPS)
+reader4_LDADD= @RDL_LIBS@ $(LDADDS)
+
+parse2_SOURCES=parse2.c
+parse2_LDFLAGS=
+parse2_DEPENDENCIES= $(DEPS)
+parse2_LDADD= @RDL_LIBS@ $(LDADDS)
+
+reader2_SOURCES=reader2.c
+reader2_LDFLAGS=
+reader2_DEPENDENCIES= $(DEPS)
+reader2_LDADD= @RDL_LIBS@ $(LDADDS)
 
 parse3_SOURCES=parse3.c
 parse3_LDFLAGS=
 parse3_DEPENDENCIES= $(DEPS)
 parse3_LDADD= @RDL_LIBS@ $(LDADDS)
 
-io2_SOURCES=io2.c
-io2_LDFLAGS=
-io2_DEPENDENCIES= $(DEPS)
-io2_LDADD= @RDL_LIBS@ $(LDADDS)
+reader3_SOURCES=reader3.c
+reader3_LDFLAGS=
+reader3_DEPENDENCIES= $(DEPS)
+reader3_LDADD= @RDL_LIBS@ $(LDADDS)
 
 tree2_SOURCES=tree2.c
 tree2_LDFLAGS=
 tree2_DEPENDENCIES= $(DEPS)
 tree2_LDADD= @RDL_LIBS@ $(LDADDS)
 
-reader1_SOURCES=reader1.c
-reader1_LDFLAGS=
-reader1_DEPENDENCIES= $(DEPS)
-reader1_LDADD= @RDL_LIBS@ $(LDADDS)
-
-testWriter_SOURCES=testWriter.c
-testWriter_LDFLAGS=
-testWriter_DEPENDENCIES= $(DEPS)
-testWriter_LDADD= @RDL_LIBS@ $(LDADDS)
-
 parse4_SOURCES=parse4.c
 parse4_LDFLAGS=
 parse4_DEPENDENCIES= $(DEPS)
 parse4_LDADD= @RDL_LIBS@ $(LDADDS)
 
-reader3_SOURCES=reader3.c
-reader3_LDFLAGS=
-reader3_DEPENDENCIES= $(DEPS)
-reader3_LDADD= @RDL_LIBS@ $(LDADDS)
+io2_SOURCES=io2.c
+io2_LDFLAGS=
+io2_DEPENDENCIES= $(DEPS)
+io2_LDADD= @RDL_LIBS@ $(LDADDS)
+
+testWriter_SOURCES=testWriter.c
+testWriter_LDFLAGS=
+testWriter_DEPENDENCIES= $(DEPS)
+testWriter_LDADD= @RDL_LIBS@ $(LDADDS)
 
 io1_SOURCES=io1.c
 io1_LDFLAGS=
 io1_DEPENDENCIES= $(DEPS)
 io1_LDADD= @RDL_LIBS@ $(LDADDS)
 
+xpath1_SOURCES=xpath1.c
+xpath1_LDFLAGS=
+xpath1_DEPENDENCIES= $(DEPS)
+xpath1_LDADD= @RDL_LIBS@ $(LDADDS)
+
 parse1_SOURCES=parse1.c
 parse1_LDFLAGS=
 parse1_DEPENDENCIES= $(DEPS)
@@ -84,51 +94,41 @@ tree1_LDFLAGS=
 tree1_DEPENDENCIES= $(DEPS)
 tree1_LDADD= @RDL_LIBS@ $(LDADDS)
 
-reader4_SOURCES=reader4.c
-reader4_LDFLAGS=
-reader4_DEPENDENCIES= $(DEPS)
-reader4_LDADD= @RDL_LIBS@ $(LDADDS)
-
-parse2_SOURCES=parse2.c
-parse2_LDFLAGS=
-parse2_DEPENDENCIES= $(DEPS)
-parse2_LDADD= @RDL_LIBS@ $(LDADDS)
-
 valgrind: 
 	$(MAKE) CHECKER='valgrind' tests
 
 tests: $(noinst_PROGRAMS)
 	@(echo '## examples regression tests')
 	@(echo > .memdump)
-	@($(CHECKER) ./reader2 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp)
-	@(grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
 	@($(CHECKER) ./xpath2 test3.xml '//discarded' discarded > xpath2.tmp ; diff xpath2.tmp xpath2.res ; rm xpath2.tmp)
 	@(grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
-	@($(CHECKER) ././xpath1 test3.xml '//child2' > xpath1.tmp ; diff xpath1.tmp xpath1.res ; rm xpath1.tmp)
+	@($(CHECKER) ./reader1 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp)
 	@(grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
-	@($(CHECKER) ./parse3)
+	@($(CHECKER) ./reader4 test1.xml test2.xml test3.xml > reader4.tmp ; diff reader4.tmp reader4.res ; rm reader4.tmp)
 	@(grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
-	@($(CHECKER) ./io2 > io2.tmp ; diff io2.tmp io2.res ; rm -f io2.tmp)
+	@($(CHECKER) ./parse2 test2.xml)
 	@(grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
-	@($(CHECKER) ./tree2 > tree2.tmp ; diff tree2.tmp tree2.res ; rm tree2.tmp)
+	@($(CHECKER) ./reader2 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp)
 	@(grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
-	@($(CHECKER) ./reader1 test2.xml > reader1.tmp ; diff reader1.tmp reader1.res ; rm reader1.tmp)
+	@($(CHECKER) ./parse3)
 	@(grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
-	@($(CHECKER) ./testWriter ; for i in 1 2 3 4 ; do diff writer.xml writer$$i.res ; done ; rm writer*.res)
+	@($(CHECKER) ./reader3 > reader3.tmp ; diff reader3.tmp reader3.res ; rm reader3.tmp)
+	@(grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
+	@($(CHECKER) ./tree2 > tree2.tmp ; diff tree2.tmp tree2.res ; rm tree2.tmp)
 	@(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) ./reader3 > reader3.tmp ; diff reader3.tmp reader3.res ; rm reader3.tmp)
+	@($(CHECKER) ./io2 > io2.tmp ; diff io2.tmp io2.res ; rm -f io2.tmp)
+	@(grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
+	@($(CHECKER) ./testWriter ; for i in 1 2 3 4 ; do diff writer.xml writer$$i.res ; done ; rm writer*.res)
 	@(grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
 	@($(CHECKER) ./io1 > io1.tmp ; diff io1.tmp io1.res ; rm -f io1.tmp)
 	@(grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
+	@($(CHECKER) ././xpath1 test3.xml '//child2' > xpath1.tmp ; diff xpath1.tmp xpath1.res ; rm xpath1.tmp)
+	@(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) ./tree1 test2.xml > tree1.tmp ; diff tree1.tmp tree1.res ; rm tree1.tmp)
 	@(grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0" ; exit 0)
-	@($(CHECKER) ./reader4 test1.xml test2.xml test3.xml > reader4.tmp ; diff reader4.tmp reader4.res ; rm reader4.tmp)
-	@(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)
 
 
diff --git a/libxml2.map b/libxml2.map
new file mode 100644
index 0000000..27c4996
--- /dev/null
+++ b/libxml2.map
@@ -0,0 +1,181 @@
+LIBXML2_2.6.13 {
+    global:
+	xmlParseInNodeContext;
+	xmlSchemaGetFacetValueAsULong;
+	xmlSchemaGetParserErrors;
+	xmlSchemaGetValidErrors;
+	xmlSchemaValPredefTypeNodeNoNorm;
+	xmlSchemaValidateLengthFacet;
+};
+LIBXML2_2.6.14 {
+    global:
+	xmlAutomataNewCountTrans2;
+	xmlAutomataNewOnceTrans2;
+	xmlSchemaSetValidOptions;
+	xmlSchemaValidCtxtGetOptions;
+	xmlSchemaValidateOneElement;
+};
+LIBXML2_2.6.15 {
+    global:
+	xmlDebugCheckDocument;
+	xmlDocCopyNodeList;
+	xmlNewDocPI;
+	xmlTextReaderConstEncoding;
+	xmlTextReaderConstXmlVersion;
+	xmlTextReaderIsNamespaceDecl;
+	xmlTextReaderStandalone;
+};
+LIBXML2_2.6.16 {
+    global:
+	xmlMemBlocks;
+	xmlRelaxNGInitTypes;
+};
+LIBXML2_2.6.17 {
+    global:
+	xmlDictExists;
+	xmlModuleClose;
+	xmlModuleFree;
+	xmlModuleOpen;
+	xmlModuleSymbol;
+	xmlRegExecErrInfo;
+	xmlRegExecNextValues;
+	xmlSchemaWhiteSpaceReplace;
+	xmlTextReaderGetParserColumnNumber;
+	xmlTextReaderGetParserLineNumber;
+};
+LIBXML2_2.6.18 {
+    global:
+	xmlCopyDocElementContent;
+	xmlDictCleanup;
+	xmlFreeDocElementContent;
+	xmlFreeStreamCtxt;
+	xmlHashCreateDict;
+	xmlNewDocElementContent;
+	xmlPatternFromRoot;
+	xmlPatternGetStreamCtxt;
+	xmlPatternMaxDepth;
+	xmlPatternStreamable;
+	xmlSchemaCompareValuesWhtsp;
+	xmlSchemaCopyValue;
+	xmlSchemaGetCanonValue;
+	xmlSchemaNewNOTATIONValue;
+	xmlSchemaNewStringValue;
+	xmlStreamPop;
+	xmlStreamPush;
+	xmlStreamPushAttr;
+	xmlTextReaderByteConsumed;
+};
+LIBXML2_2.6.19 {
+    global:
+	xmlSchemaGetValType;
+	xmlSchemaValidateFacetWhtsp;
+	xmlSchemaValidateLengthFacetWhtsp;
+};
+LIBXML2_2.6.20 {
+    global:
+	xmlDOMWrapAdoptNode;
+	xmlDOMWrapFreeCtxt;
+	xmlDOMWrapNewCtxt;
+	xmlDOMWrapReconcileNamespaces;
+	xmlDOMWrapRemoveNode;
+	xmlSchemaGetCanonValueWhtsp;
+	xmlSchemaIsValid;
+	xmlSchemaNewQNameValue;
+	xmlSchemaSAXPlug;
+	xmlSchemaSAXUnplug;
+	xmlSchemaValidateFile;
+	xmlSchemaValueAppend;
+	xmlSchemaValueGetAsBoolean;
+	xmlSchemaValueGetAsString;
+	xmlSchemaValueGetNext;
+	xmlTextReaderSchemaValidate;
+	xmlTextReaderSetSchema;
+};
+LIBXML2_2.6.21 {
+    global:
+	emptyExp;
+	forbiddenExp;
+	xmlAutomataNewNegTrans;
+	xmlExpCtxtNbCons;
+	xmlExpCtxtNbNodes;
+	xmlExpDump;
+	xmlExpExpDerive;
+	xmlExpFree;
+	xmlExpFreeCtxt;
+	xmlExpGetLanguage;
+	xmlExpGetStart;
+	xmlExpIsNillable;
+	xmlExpMaxToken;
+	xmlExpNewAtom;
+	xmlExpNewCtxt;
+	xmlExpNewOr;
+	xmlExpNewRange;
+	xmlExpNewSeq;
+	xmlExpParse;
+	xmlExpRef;
+	xmlExpStringDerive;
+	xmlExpSubsume;
+	xmlHasFeature;
+	xmlParseURIRaw;
+	xmlPatternMinDepth;
+	xmlRelaxNGSetValidStructuredErrors;
+	xmlSchemaSetValidStructuredErrors;
+	xmlSchematronFree;
+	xmlSchematronFreeParserCtxt;
+	xmlSchematronFreeValidCtxt;
+	xmlSchematronNewDocParserCtxt;
+	xmlSchematronNewMemParserCtxt;
+	xmlSchematronNewParserCtxt;
+	xmlSchematronNewValidCtxt;
+	xmlSchematronParse;
+	xmlSchematronValidateDoc;
+};
+LIBXML2_2.6.23 {
+    global:
+	htmlDocDumpMemoryFormat;
+	xmlOutputBufferCreateBuffer;
+	xmlSaveToBuffer;
+	xmlSchemaSetParserStructuredErrors;
+	xmlStreamPushNode;
+	xmlStreamWantsAnyNode;
+	xmlTextReaderSchemaValidateCtxt;
+};
+LIBXML2_2.6.24 {
+    global:
+	__htmlParseContent;
+	xmlDOMWrapCloneNode;
+	xmlRelaxNGSetParserStructuredErrors;
+};
+LIBXML2_2.6.26 {
+    global:
+	xmlXPathContextSetCache;
+};
+LIBXML2_2.6.27 {
+    global:
+	htmlNewParserCtxt;
+	xmlPathToURI;
+	xmlXIncludeProcessFlagsData;
+	xmlXPathCompiledEvalToBoolean;
+};
+LIBXML2_2.6.28 {
+    global:
+	__xmlGlobalInitMutexLock;
+	__xmlGlobalInitMutexUnlock;
+	xmlTextReaderSetup;
+};
+LIBXML2_2.6.31 {
+    global:
+	__xmlGlobalInitMutexDestroy;
+};
+LIBXML2_2.6.32 {
+    global:
+	xmlSchematronSetValidStructuredErrors;
+};
+LIBXML2_2.7.0 {
+    global:
+	xmlMemDisplayLast;
+	xmlNewEntity;
+	xmlSchemaValidCtxtGetParserCtxt;
+    local:
+	xmlAllocOutputBufferInternal; /* 2.7.1 */
+};
diff --git a/libxml2.spec b/libxml2.spec
new file mode 100644
index 0000000..884c1aa
--- /dev/null
+++ b/libxml2.spec
@@ -0,0 +1,657 @@
+Name: libxml2
+Version: 2.7.2
+Release: alt1.M40.1
+Epoch: 1
+
+Summary: The library for manipulating XML files
+License: MIT
+Group: System/Libraries
+Url: http://xmlsoft.org/
+
+%def_disable static
+%def_enable check
+
+%define pkgdocdir %_docdir/%name-%version
+
+Source: libxml2-%version.tar
+Patch: libxml2-%version-%release.patch
+
+Requires: xml-common
+
+%add_python_compile_exclude %pkgdocdir/python/examples
+
+# Automatically added by buildreq on Tue Oct 07 2008
+BuildRequires: libbfd-devel python-devel xml-common zlib-devel
+
+%package devel
+Summary: Development environment for building applications manipulating XML files
+Group: Development/C
+Requires: %name = %epoch:%version-%release
+Requires: zlib-devel
+
+%package devel-static
+Summary: Static library for building applications manipulating XML files
+Group: Development/C
+Requires: %name-devel = %epoch:%version-%release
+
+%package -n xml-utils
+Summary: Various XML utilities
+Group: Text tools
+Requires: %name = %epoch:%version-%release
+Provides: xmllint = %epoch:%version
+Obsoletes: xmllint < %epoch:%version
+
+%package -n python-module-%name
+Summary: Python bindings for the %name library
+Group: Development/Python
+Requires: %name = %epoch:%version-%release
+Provides: libxml2-python = %epoch:%version, python-modules-%name = %epoch:%version
+Obsoletes: libxml2-python < %epoch:%version, python-modules-%name < %epoch:%version
+
+%package doc
+Summary: Documentation for the %name library
+Group: Development/C
+Conflicts: %name < %epoch:%version, %name > %epoch:%version
+BuildArch: noarch
+
+%description
+This library allows to manipulate XML files.  It includes support
+to read, modify and write XML and HTML files.  There is DTDs support
+this includes parsing and validation even with complex DtDs, either
+at parse time or later once the document has been modified.  The output
+can be a simple SAX stream or and in-memory DOM like representations.
+In this case one can use the built-in XPath and XPointer implementation
+to select subnodes or ranges.  A flexible Input/Output mechanism is
+available, with existing HTTP and FTP modules and combined to an
+URI library.
+
+This package contains the shared library required to run
+applications manipulating XML files.
+
+%description devel
+This library allows to manipulate XML files.  It includes support
+to read, modify and write XML and HTML files.  There is DTDs support
+this includes parsing and validation even with complex DtDs, either
+at parse time or later once the document has been modified.  The output
+can be a simple SAX stream or and in-memory DOM like representations.
+In this case one can use the built-in XPath and XPointer implementation
+to select subnodes or ranges.  A flexible Input/Output mechanism is
+available, with existing HTTP and FTP modules and combined to an
+URI library.
+
+This package contains the libraries, include and other files
+you can use to develop applications manipulating XML files.
+
+%description devel-static
+This library allows to manipulate XML files.  It includes support
+to read, modify and write XML and HTML files.  There is DTDs support
+this includes parsing and validation even with complex DtDs, either
+at parse time or later once the document has been modified.  The output
+can be a simple SAX stream or and in-memory DOM like representations.
+In this case one can use the built-in XPath and XPointer implementation
+to select subnodes or ranges.  A flexible Input/Output mechanism is
+available, with existing HTTP and FTP modules and combined to an
+URI library.
+
+This package contains the static library you can use to develop
+statically linked applications manipulating XML files.
+
+%description -n xml-utils
+This package contains xml tools:
++ xmllint - utility for parsing and validating XML files;
++ xmlcatalog - command line tool to parse and manipulate XML or SGML catalog files.
+
+%description -n python-module-%name
+This package contains a module that permits applications
+written in the Python programming language to use the interface
+supplied by the %name library to manipulate XML files.
+
+This library allows to manipulate XML files.  It includes support 
+to read, modify and write XML and HTML files.  There is DTDs support
+this includes parsing and validation even with complex DTDs, either
+at parse time or later once the document has been modified.
+
+%description doc
+This package contains documentation on the XML C library.
+
+%prep
+%setup -q -n libxml2-%version
+%patch -p1
+
+%build
+autoreconf -isfv
+%configure \
+    --disable-dependency-tracking \
+    --with-python \
+    --with-html-dir=%_docdir \
+    --with-html-subdir=%name-%version \
+    %{subst_enable static}
+
+# SMP-incompatible.
+%make
+%{?!_without_check:%{?!_disable_check:%make check}}
+
+%install
+%make_install install DESTDIR=%buildroot
+
+mv %buildroot%_datadir/aclocal/libxml{,2}.m4
+
+install -p -m644 AUTHORS Copyright NEWS README %buildroot%pkgdocdir/
+install -p -m644 doc/*.html %buildroot%pkgdocdir/
+
+%post -p %post_ldconfig
+%postun -p %postun_ldconfig
+
+%files
+%_libdir/*.so.*
+%dir %pkgdocdir
+%pkgdocdir/AUTHORS
+%pkgdocdir/Copyright
+%pkgdocdir/NEWS
+%pkgdocdir/README
+
+%files -n xml-utils
+%_bindir/xmllint
+%_bindir/xmlcatalog
+%_man1dir/xmllint.*
+%_man1dir/xmlcatalog.*
+
+%files devel
+%_bindir/*-config
+%_libdir/*.so
+%_libdir/*.sh
+%_includedir/*
+%_libdir/pkgconfig/*
+%_datadir/aclocal/*
+%_man1dir/*-config*
+%_man3dir/*
+
+%if_enabled static
+%files devel-static
+%_libdir/*.a
+%endif	#enabled static
+
+%files -n python-module-%name
+%python_sitelibdir/*
+%dir %pkgdocdir
+%dir %pkgdocdir/python
+%pkgdocdir/python/TODO
+%pkgdocdir/python/examples
+
+%files doc
+%dir %pkgdocdir
+%pkgdocdir/*.html
+%pkgdocdir/*.gif
+%pkgdocdir/*.png
+%pkgdocdir/*.xml
+%pkgdocdir/*.xsl
+%pkgdocdir/*.c
+%pkgdocdir/*.res
+%pkgdocdir/html
+%pkgdocdir/examples
+%pkgdocdir/tutorial
+%doc %_datadir/gtk-doc/html/libxml2/
+
+%changelog
+* Tue Nov 25 2008 Alexey Tourbin <at@altlinux.ru> 1:2.7.2-alt1.M40.1
+- rebuilt for branch 4.0
+
+* Tue Nov 25 2008 Alexey Tourbin <at@altlinux.ru> 1:2.7.2-alt2
+- updated to svn revision 3803 (fixes CVE-2008-4225, CVE-2008-4226)
+
+* Tue Oct 07 2008 Alexey Tourbin <at@altlinux.ru> 1:2.7.2-alt1
+- 2.6.32 -> 2.7.2
+- made libxml2-doc subpackage noarch
+
+* Fri Sep 12 2008 Alexey Tourbin <at@altlinux.ru> 1:2.6.32-alt2.M40.1
+- rebuild for branch 4.0
+
+* Mon Sep 01 2008 Alexey Tourbin <at@altlinux.ru> 1:2.6.32-alt3
+- upstream update for CVE-2008-3281 to avoid ABI issues
+
+* Thu Aug 21 2008 Alexey Tourbin <at@altlinux.ru> 1:2.6.32-alt2
+- applied upstream fix for recursive evaluation of entities (CVE-2008-3281)
+
+* Tue Apr 22 2008 Alexey Tourbin <at@altlinux.ru> 1:2.6.32-alt1
+- 2.6.31 -> 2.6.32
+
+* Sat Feb 09 2008 Grigory Batalov <bga@altlinux.ru> 1:2.6.31-alt1.1
+- Rebuilt with python-2.5.
+
+* Mon Jan 14 2008 Alexey Tourbin <at@altlinux.ru> 1:2.6.31-alt1
+- 2.6.30+svn3661 -> 2.6.31 (fixes CVE-2007-6284)
+
+* Fri Oct 26 2007 Alexey Tourbin <at@altlinux.ru> 1:2.6.30-alt2
+- 2.6.30+svn3659 -> 2.6.30+svn3661 (20071016)
+- python-module-libxml2: removed manual dependency on python
+
+* Tue Oct 02 2007 Alexey Tourbin <at@altlinux.ru> 1:2.6.30-alt1
+- 2.6.29+svn3647 -> 2.6.30+svn3659 (20070904)
+
+* Sun Aug 05 2007 Alexey Tourbin <at@altlinux.ru> 1:2.6.29-alt2
+- 2.6.29+svn3644 -> 2.6.29+svn3647 (20070801)
+- enabled 'make check' by default, except for W3C XML Schema tests
+
+* Thu Jul 19 2007 Alexey Tourbin <at@altlinux.ru> 1:2.6.29-alt1
+- updated to svn revision 3644 (20070718)
+- changed src.rpm packaging to keep separate tarball with svn snapshot
+
+* Thu Apr 19 2007 Alexey Tourbin <at@altlinux.ru> 1:2.6.28-alt1
+- updated to 2.6.28 release
+- linked libxml2mod.so python module with libpython
+
+* Sun Mar 18 2007 Alexey Tourbin <at@altlinux.ru> 1:2.6.27-alt4
+- updated to svn revision 3591 (20070314)
+- renamed python-modules-libxml2 package to python-module-libxml2,
+  to match python policy
+
+* Tue Feb 20 2007 Alexey Tourbin <at@altlinux.ru> 1:2.6.27-alt3
+- updated to svn revision 3586 (20070216)
+
+* Sun Jan 07 2007 Alexey Tourbin <at@altlinux.ru> 1:2.6.27-alt2
+- updated to 20061214 cvs snapshot
+
+* Mon Oct 30 2006 Alexey Tourbin <at@altlinux.ru> 1:2.6.27-alt1
+- 2.6.26 -> 2.6.27+
+- imported cvs sources into git and built with gear
+- introduced symbol versioning for the shared library, starting with
+  2.6.13 release (LIBXML2_2.6.13, LIBXML2_2.6.14, ..., LIBXML2_2.6.27)
+- removed libxml.so.2 provides and symlink
+- ChangeLog not packaged, NEWS is just good enough
+
+* Sun Jun 11 2006 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.26-alt2
+- Patch2: unescape file URIs for I/O, leave others intact
+
+* Thu Jun 08 2006 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.26-alt1
+- Release 2.6.26
+- Patch1: in libxml-2.0.pc, move internally used libraries to Libs.private
+  (bug 9448)
+- Patch2 has gone upstream
+
+* Thu Jun 01 2006 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.24-alt1
+- Release 2.6.24
+- Patch1 went upstream
+- Patch2: fix a typo in configure
+
+* Tue Apr 18 2006 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.23-alt2
+- Patch1: honor --nonet when --postvalid is given (GNOME bug 337483)
+
+* Thu Feb 02 2006 ALT QA Team Robot <qa-robot@altlinux.org> 1:2.6.23-alt1.1
+- Rebuilt for new pkg-config dependencies.
+
+* Sun Jan 08 2006 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.23-alt1
+- 2.6.23
+
+* Thu Sep 15 2005 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.22-alt1
+- 2.6.22
+- Added gtk-doc files to the doc package
+- buildreq
+
+* Mon Sep 05 2005 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.21-alt1
+- New upstream release
+
+* Tue Jul 12 2005 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.20-alt1
+- New upstream release
+
+* Tue Apr 05 2005 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.19-alt1
+- New upstream release
+
+* Mon Mar 14 2005 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.18-alt1
+- New upstream release
+- Built with new Python
+
+* Mon Jan 17 2005 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.17-alt1
+- New upstream release
+
+* Thu Dec 16 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.16-alt2
+- Fixed docs install
+- Patch0 considered harmful
+
+* Thu Nov 11 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.16-alt1
+- New upstream release
+
+* Sun Oct 31 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.15-alt1
+- New upstream release
+- Patch1 is obsolete
+
+* Wed Oct 27 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.14-alt2
+- Fixes for buffer overflows from SuSE, provided by LDV [Patch1]
+
+* Fri Oct 01 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.14-alt1
+- New upstream release
+
+* Mon Sep 20 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.13-alt1
+- New upstream release
+
+* Tue Aug 24 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.12-alt1
+- New upstream release
+- Grouped xml-utils under 'Text tools'
+
+* Thu Jul 15 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.11-alt2
+- Python package renamed to comply with the New Policy
+
+* Thu Jul 08 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.11-alt1
+- New upstream release
+
+* Mon Apr 19 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.9-alt1
+- New upstream release
+
+* Sun Mar 28 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.8-alt1
+- New upstream release
+
+* Tue Feb 24 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.7-alt1
+- New upstream release
+
+* Fri Feb 13 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.6-alt1
+- New upstream release
+- Patch1 gone upstream
+
+* Wed Feb 04 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.5-alt2
+- Patch from CVS to prevent an XInclude-related crash in the XML::LibXML
+  test suite and elsewhere (GNOME bug #133106) [Patch1]
+
+* Tue Jan 27 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.5-alt1
+- New upstream release
+- Patch1 gone upstream
+- Disable check because test target is broken
+
+* Wed Jan 21 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.4-alt3
+- Buildreq against Python 2.3
+
+* Thu Jan 01 2004 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.4-alt2
+- Fix XInclude bugs [Patch1]
+- buildreq
+
+* Wed Dec 31 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.4-alt1
+- New upstream release
+- Patch1 gone upstream
+- Happy New Year :)
+
+* Thu Dec 25 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.3-alt2
+- CVS patch to fix an XInclude problem (GNOME bug #129932) [Patch1]
+
+* Thu Dec 11 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.3-alt1
+- New upstream release
+- Patch1 is obsolete
+- Patch2 gone upstream
+
+* Thu Dec 11 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.2-alt3
+- Bugfix from CVS for Gnome Bugzilla bug #126817 [Patch2]
+
+* Thu Nov 27 2003 Alexey Tourbin <at@altlinux.ru> 1:2.6.2-alt2
+- Do not package .la files.
+
+* Mon Nov 10 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.6.2-alt1
+- Updated to 2.6.2
+- Make the tests pass [Patch1]
+
+* Tue Sep 16 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.5.11-alt1
+- Upstream release 2.5.11
+
+* Mon Aug 18 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.5.10-alt1
+- New version
+- Eliminated duplication of doc files
+
+* Sat Jul 12 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.5.8-alt1
+- New version
+
+* Sat Jun 21 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.5.7-alt2
+- Fixed up the anachronistic aclocal m4 file, by request from Alexey Morozov.
+  Renamed the file libxml2.m4
+
+* Mon May 05 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.5.7-alt1
+- New version
+
+* Fri Apr 04 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.5.6-alt1
+- 2.5.6
+
+* Fri Jan 17 2003 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.5.1-alt1
+- Updated to 2.5.1
+- Manpage patch gone upstream
+
+* Fri Dec 13 2002 Dmitry V. Levin <ldv@altlinux.org> 1:2.4.30-alt1
+- Updated to 2.4.30
+
+* Thu Dec 05 2002 Dmitry V. Levin <ldv@altlinux.org> 1:2.4.28-alt2
+- Applied cvs patch from Marcus Clarke fixing a problem in entities
+  parsing that was detected in KDe documentations environment.
+
+* Sat Nov 30 2002 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.4.28-alt1
+- 2.4.28
+- doc subpackage
+
+* Thu Nov 21 2002 Dmitry V. Levin <ldv@altlinux.org> 1:2.4.27-alt1
+- 2.4.27
+- Added dependence on xml-common.
+
+* Sun Nov 03 2002 Mikhail Zabaluev <mhz@altlinux.ru> 1:2.4.26-alt0.1
+- 2.4.26, I hope it will behave now
+- disable static build by default
+
+* Wed Oct 09 2002 Stanislav Ievlev <inger@altlinux.ru> 1:2.4.24-alt2
+- increase release to satisfy rpm
+  (rpm ignore serial if version and release of old and new package a same)
+
+* Wed Oct 09 2002 Stanislav Ievlev <inger@altlinux.ru> 1:2.4.24-alt1
+- rollback to 2.4.24: new version is too buggy.
+
+* Mon Oct 07 2002 Dmitry V. Levin <ldv@altlinux.org> 2.4.25-alt1
+- 2.4.25
+- Fixed doc installation.
+
+* Thu Sep 12 2002 Mikhail Zabaluev <mhz@altlinux.ru> 2.4.24-alt1
+- 2.4.24
+
+* Mon Jul 22 2002 Mikhail Zabaluev <mhz@altlinux.ru> 2.4.23-alt1
+- 2.4.23
+- Fixed doc installation
+
+* Sat Jun 08 2002 Mikhail Zabaluev <mhz@altlinux.ru> 2.4.22-alt1
+- 2.4.22
+
+* Sat May 04 2002 Mikhail Zabaluev <mhz@altlinux.ru> 2.4.21-alt1
+- 2.4.21
+- Fixed BuildRequires
+- postun_ldconfig
+
+* Sat Apr 27 2002 Dmitry V. Levin <ldv@alt-linux.org> 2.4.20-alt1
+- 2.4.20
+
+* Tue Mar 19 2002 Dmitry V. Levin <ldv@alt-linux.org> 2.4.18-alt1
+- 2.4.18.
+- Repackaged docs.
+
+* Wed Feb 20 2002 Dmitry V. Levin <ldv@alt-linux.org> 2.4.16-alt1
+- 2.4.16.
+
+* Tue Feb 12 2002 Dmitry V. Levin <ldv@alt-linux.org> 2.4.15-alt1
+- 2.4.15.
+
+* Mon Feb 11 2002 Dmitry V. Levin <ldv@alt-linux.org> 2.4.14-alt1
+- 2.4.14.
+- Added python subpackage.
+
+* Wed Jan 16 2002 Dmitry V. Levin <ldv@alt-linux.org> 2.4.13-alt1
+- 2.4.13
+
+* Tue Nov 27 2001 Dmitry V. Levin <ldv@alt-linux.org> 2.4.11-alt1
+- 2.4.11
+
+* Mon Nov 12 2001 Dmitry V. Levin <ldv@alt-linux.org> 2.4.10-alt1
+- 2.4.10
+
+* Tue Nov 06 2001 Dmitry V. Levin <ldv@alt-linux.org> 2.4.8-alt1
+- 2.4.8
+- Renamed xmllint subpackage to xml-utils.
+
+* Mon Nov 05 2001 Dmitry V. Levin <ldv@alt-linux.org> 2.4.7-alt1
+- 2.4.7
+- Packaged xmlcatalog.
+- Packaged %_libdir/pkgconfig/* files.
+
+* Fri Oct 12 2001 Dmitry V. Levin <ldv@altlinux.ru> 2.4.6-alt1
+- 2.4.6
+
+* Mon Sep 24 2001 Dmitry V. Levin <ldv@altlinux.ru> 2.4.5-alt1
+- 2.4.5
+
+* Thu Sep 13 2001 Dmitry V. Levin <ldv@altlinux.ru> 2.4.4-alt1
+- 2.4.4
+
+* Mon Aug 27 2001 Dmitry V. Levin <ldv@altlinux.ru> 2.4.3-alt1
+- 2.4.3
+
+* Fri Aug 17 2001 Dmitry V. Levin <ldv@altlinux.ru> 2.4.2-alt2
+- Rebuilt.
+
+* Thu Aug 16 2001 Dmitry V. Levin <ldv@altlinux.ru> 2.4.2-alt1
+- 2.4.2
+
+* Thu Jul 26 2001 Dmitry V. Levin <ldv@altlinux.ru> 2.4.1-alt1
+- 2.4.1
+
+* Wed Jul 11 2001 Dmitry V. Levin <ldv@altlinux.ru> 2.4.0-alt1
+- 2.4.0
+
+* Thu Jul 05 2001 Dmitry V. Levin <ldv@altlinux.ru> 2.3.13-alt1
+- 2.3.13
+
+* Mon Jun 18 2001 Dmitry V. Levin <ldv@altlinux.ru> 2.3.11-alt1
+- 2.3.11
+
+* Mon Jun 04 2001 Dmitry V. Levin <ldv@altlinux.ru> 2.3.10-alt1
+- 2.3.10
+
+* Tue May 22 2001 Dmitry V. Levin <ldv@altlinux.ru> 2.3.9-alt1
+- 2.3.9
+- Moved static library to devel-static subpackage.
+
+* Sat May 05 2001 Rider <rider@altlinux.ru> 2.3.8-alt1
+- 2.3.8
+
+* Tue Mar 27 2001 Dmitry V. Levin <ldv@altlinux.ru> 2.3.5-alt1
+- 2.3.5
+
+* Sun Mar 11 2001 Dmitry V. Levin <ldv@fandra.org> 2.3.4-ipl1mdk
+- 2.3.4
+
+* Sun Mar 04 2001 Dmitry V. Levin <ldv@fandra.org> 2.3.3-ipl1mdk
+- 2.3.3
+
+* Mon Feb 26 2001 Dmitry V. Levin <ldv@fandra.org> 2.3.2-ipl1mdk
+- 2.3.2
+
+* Sat Feb 17 2001 Dmitry V. Levin <ldv@fandra.org> 2.3.1-ipl1mdk
+- 2.3.1
+
+* Sun Feb 11 2001 Dmitry V. Levin <ldv@fandra.org> 2.3.0-ipl2mdk
+- Provides libxml.so.2 for compatibility.
+
+* Fri Feb 09 2001 Dmitry V. Levin <ldv@fandra.org> 2.3.0-ipl1mdk
+- 2.3.0
+- Removed "Conflicts: libxml-devel" tag from %name-devel package.
+
+* Sat Jan 27 2001 Dmitry V. Levin <ldv@fandra.org> 2.2.12-ipl1mdk
+- 2.2.12
+
+* Sun Jan 07 2001 Dmitry V. Levin <ldv@fandra.org> 2.8.11-ipl3mdk
+- 2.8.11
+- Moved xmllint to separate subpackage.
+- Specfile cleanup; updated URL, summaries and descriptions.
+- Added libxml.m4 and manpages.
+- Relocated html documentation.
+
+* Wed Nov 29 2000 AEN <aen@logic.ru>
+- build for RE
+
+* Tue Nov 14 2000 Geoffrey Lee <snailtalk@mandrakesoft.com> 2.2.8-1mdk
+- bump up the version.
+
+* Fri Nov 03 2000 Geoffrey Lee <snailtalk@mandrakesoft.com> 2.2.7-1mdk
+- new and shiny version.
+
+* Sun Oct 29 2000 Geoffrey Lee <snailtalk@mandrakesoft.com> 2.2.6-1mdk
+- shiny version.
+
+* Sun Oct 15 2000 Geoffrey Lee <snailtalk@mandrakesoft.com> 2.2.4-1mdk
+- very new and shiny version.
+
+* Sat Aug 26 2000 Yoann Vandoorselaere <yoann@mandrakesoft.com> 2.2.2-2mdk
+- corrected bug reported by
+  Reinhard Katzmann <reinhard.katzmann@neckar-alb.de> :
+  Requires : %name = {PACKAGE_VERSION}
+
+* Tue Aug 22 2000 Yoann Vandoorselaere <yoann@mandrakesoft.com> 2.2.2-1mdk
+- updated to libxml version 2.2.2
+
+* Mon Aug 07 2000 Frederic Lepied <flepied@mandrakesoft.com> 1.8.9-3mdk
+- automatically added BuildRequires
+
+* Fri Jul 28 2000 Geoffrey Lee <snailtalk@mandrakesoft.com> 1.8.9-2mdk
+- rebuild
+
+* Sat Jul 22 2000 Geoffrey Lee <snailtalk@linux-mandrake.com> 1.8.9-1mdk
+- new version
+- big move
+
+* Thu Jul  6 2000 dam's <damien@mandrakesoft.com> 1.8.8-4mdk
+- spec cleanup.
+
+* Thu Jul 06 2000 Geoffrey Lee <snailtalk@linux-mandrake.com> 1.8.8-3mdk
+- use some macros
+
+* Tue Jul  4 2000 dam's <damien@mandrakesoft.com> 1.8.8-2mdk
+- moved xml-config to devel package. Thanx to Stefan
+
+* Tue Jul  4 2000 dam's <damien@mandrakesoft.com> 1.8.8-1mdk
+- updated.
+- spec cleanup.
+
+* Tue Apr 18 2000 Lenny Cartier <lenny@mandrakesoft.com> 1.8.7-1mdk
+- fix release tag
+
+* Sun Apr 16 2000 Daouda Lo <daouda@mandrakesoft.com> 1.8.7-1mdk
+- release from helix stuffs.
+
+* Wed Mar 22 2000 Lenny Cartier <lenny@mandrakesoft.com> 1.8.6-2mdk
+- fix group
+
+* Sun Feb 20 2000 Axalon Bloodstone <axalon@mandrakesoft.com> 1.8.6-1mdk
+- 1.8.6
+
+* Sun Oct 31 1999 Axalon Bloodstone <axalon@linux-mandrake.com>
+- SMP build/check
+- 1.7.3
+
+* Fri Sep 24 1999 Axalon Bloodstone <axalon@linux-mandrake.com>
+- 1.7.1
+
+* Thu Jul 22 1999 Chmouel Boudjnah <chmouel@mandrakesoft.com>
+- 1.4.
+
+* Wed Jun 30 1999 Chmouel Boudjnah <chmouel@mandrakesoft.com>
+- 1.2.0.
+
+* Tue May 11 1999 Bernhard RosenkrДnzer <bero@mandrakesoft.com>
+- Mandrake adaptions
+
+* Thu Mar 04 1999 Michael Fulbright <drmike@redhat.com>
+- version 1.0.0
+
+* Fri Feb 12 1999 Michael Fulbright <drmike@redhat.com>
+- version 0.99.5 built against gnome-libs-0.99.8
+
+* Wed Feb 03 1999 Michael Fulbright <drmike@redhat.com>
+- version 0.99.5
+
+* Wed Jan 06 1999 Michael Fulbright <drmike@redhat.com>
+- made clean section work again
+
+* Wed Dec 16 1998 Michael Fulbright <drmike@redhat.com>
+- bumped to 0.99.0 for GNOME freeze
+
+* Sun Oct  4 1998 Daniel Veillard <Daniel.Veillard@w3.org>
+- Added xml-config to the package
+
+* Thu Sep 24 1998 Michael Fulbright <msf@redhat.com>
+- Built release 0.30
diff --git a/parser.c b/parser.c
index 4b7b758..c52d360 100644
--- a/parser.c
+++ b/parser.c
@@ -4142,6 +4142,9 @@ get_more:
                     line = ctxt->input->line;
                     col = ctxt->input->col;
 		}
+                /* something really bad happened in the SAX callback */
+                if (ctxt->instate != XML_PARSER_CONTENT)
+                    return;
 	    }
 	    ctxt->input->cur = in;
 	    if (*in == 0xD) {
@@ -4222,6 +4225,9 @@ xmlParseCharDataComplex(xmlParserCtxtPtr ctxt, int cdata) {
 		}
 	    }
 	    nbchar = 0;
+            /* something really bad happened in the SAX callback */
+            if (ctxt->instate != XML_PARSER_CONTENT)
+                return;
 	}
 	count++;
 	if (count > 50) {
diff --git a/python/Makefile.am b/python/Makefile.am
index 23898fa..3023df5 100644
--- a/python/Makefile.am
+++ b/python/Makefile.am
@@ -9,7 +9,7 @@ INCLUDES = \
 	-I$(top_builddir)/include \
 	-I$(top_builddir)/$(subdir)
 
-docsdir = $(datadir)/doc/libxml2-python-$(LIBXML_VERSION)
+docsdir = @HTML_DIR@/python
 # libxml2class.txt is generated
 dist_docs_DATA = TODO
 
@@ -31,7 +31,7 @@ python_LTLIBRARIES = libxml2mod.la
 
 libxml2mod_la_SOURCES = libxml.c types.c
 nodist_libxml2mod_la_SOURCES = libxml2-py.c
-libxml2mod_la_LIBADD = $(mylibs) @CYGWIN_EXTRA_PYTHON_LIBADD@
+libxml2mod_la_LIBADD = $(mylibs) @CYGWIN_EXTRA_PYTHON_LIBADD@ -lpython@PYTHON_VERSION@
 
 libxml.c: libxml2-py.h # to generate before to compile
 
diff --git a/python/tests/Makefile.am b/python/tests/Makefile.am
index 52c89fc..140c917 100644
--- a/python/tests/Makefile.am
+++ b/python/tests/Makefile.am
@@ -1,4 +1,4 @@
-exampledir = $(datadir)/doc/libxml2-python-$(LIBXML_VERSION)/examples
+exampledir = @HTML_DIR@/python/examples
 dist_example_DATA = $(PYTESTS) $(XMLS)
 
 PYTESTS=	\
diff --git a/tree.c b/tree.c
index 76926fd..5894da6 100644
--- a/tree.c
+++ b/tree.c
@@ -14,7 +14,7 @@
 #include "libxml.h"
 
 #include <string.h> /* for memset() only ! */
-
+#include <limits.h>
 #ifdef HAVE_CTYPE_H
 #include <ctype.h>
 #endif
@@ -6996,7 +6996,13 @@ xmlBufferResize(xmlBufferPtr buf, unsigned int size)
 	case XML_BUFFER_ALLOC_DOUBLEIT:
 	    /*take care of empty case*/
 	    newSize = (buf->size ? buf->size*2 : size + 10);
-	    while (size > newSize) newSize *= 2;
+	    while (size > newSize) {
+	        if (newSize > UINT_MAX / 2) {
+	            xmlTreeErrMemory("growing buffer");
+	            return 0;
+	        }
+	        newSize *= 2;
+	    }
 	    break;
 	case XML_BUFFER_ALLOC_EXACT:
 	    newSize = size+10;
diff --git a/xmllint.c b/xmllint.c
index 6955fde..77c1e62 100644
--- a/xmllint.c
+++ b/xmllint.c
@@ -2753,9 +2753,11 @@ static void parseAndPrintFile(char *filename, xmlParserCtxtPtr rectxt) {
 #endif
 
 #ifdef LIBXML_DEBUG_ENABLED
+#if defined(LIBXML_HTML_ENABLED) || defined(LIBXML_VALID_ENABLED)
     if ((debugent) && (!html))
 	xmlDebugDumpEntities(stderr, doc);
 #endif
+#endif
 
     /*
      * free it.
diff --git a/xstc/Makefile.am b/xstc/Makefile.am
index 966a8de..b6e5c6f 100644
--- a/xstc/Makefile.am
+++ b/xstc/Makefile.am
@@ -14,6 +14,8 @@ MSTESTDEF=MSXMLSchema1-0-20020116.testSet
 SUNTESTDEF=SunXMLSchema1-0-20020116.testSet
 NISTTESTDEF=NISTXMLSchema1-0-20020116.testSet
 NISTTESTDEF_2=NISTXMLSchemaDatatypes.testSet
+WGET=/usr/bin/wget
+XSLTPROC=/usr/bin/xsltproc
 
 #
 # The local data and scripts
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin