diff options
author | Kevin Brubeck Unhammer | 2015-07-14 10:24:13 +0200 |
---|---|---|
committer | Kevin Brubeck Unhammer | 2015-07-14 10:24:13 +0200 |
commit | c5d17c7e4d518b805b0558ac8f03ede417d2dd33 (patch) | |
tree | 0ae9515e443b7bb437612c01746a0cccb2ac7821 | |
download | aur-c5d17c7e4d518b805b0558ac8f03ede417d2dd33.tar.gz |
Initial import
-rw-r--r-- | .SRCINFO | 29 | ||||
-rw-r--r-- | PKGBUILD | 55 | ||||
-rw-r--r-- | bug325533-16bit-linenum.patch | 112 | ||||
-rw-r--r-- | fix-CVE-2014-3660.patch | 28 | ||||
-rw-r--r-- | revert-catalog-initialize.patch | 26 |
5 files changed, 250 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..a0a64f96d009 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,29 @@ +pkgbase = libxml2-linenum + pkgdesc = XML parsing library, version 2, with high line number patch applied + pkgver = 2.9.2 + pkgrel = 1 + url = http://www.xmlsoft.org/ + arch = i686 + arch = x86_64 + license = MIT + makedepends = python2 + depends = zlib + depends = readline + depends = ncurses + depends = xz + optdepends = python2: python bindings to libxml + provides = libxml2 + conflicts = libxml2 + source = ftp://ftp.xmlsoft.org/libxml2/libxml2-2.9.2.tar.gz + source = http://www.w3.org/XML/Test/xmlts20080827.tar.gz + source = revert-catalog-initialize.patch + source = fix-CVE-2014-3660.patch + source = bug325533-16bit-linenum.patch + md5sums = 9e6a9aca9d155737868b3dc5fd82f788 + md5sums = ae3d1ebe000a3972afa104ca7f0e1b4a + md5sums = fdb2e26174ac9cced85ffbf4fb782187 + md5sums = 71c88ee5a133461a8ab8aaa194899453 + md5sums = 72d9e5a59dfe070effb4a59102d40195 + +pkgname = libxml2-linenum + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..7ec39bcbb11b --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,55 @@ +# $Id$ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Maintainer: Tom Gundersen <teg@jklm.no> +# Contributor: John Proctor <jproctor@prium.net> +# Contributor: Kevin Brubeck Unhammer <unhammer@fsfe.org> + +_realname=libxml2 +pkgname=${_realname}-linenum +pkgver=2.9.2 +pkgrel=1 +pkgdesc="XML parsing library, version 2, with high line number patch applied" +arch=(i686 x86_64) +license=('MIT') +depends=('zlib' 'readline' 'ncurses' 'xz') +makedepends=('python2') +optdepends=('python2: python bindings to libxml') +url="http://www.xmlsoft.org/" +source=(ftp://ftp.xmlsoft.org/${_realname}/${_realname}-${pkgver}.tar.gz + http://www.w3.org/XML/Test/xmlts20080827.tar.gz + revert-catalog-initialize.patch + fix-CVE-2014-3660.patch + bug325533-16bit-linenum.patch) +md5sums=('9e6a9aca9d155737868b3dc5fd82f788' + 'ae3d1ebe000a3972afa104ca7f0e1b4a' + 'fdb2e26174ac9cced85ffbf4fb782187' + '71c88ee5a133461a8ab8aaa194899453' + '72d9e5a59dfe070effb4a59102d40195') +provides=('libxml2') +conflicts=('libxml2') + +prepare() { + cd ${_realname}-${pkgver} + sed -e 's|/usr/bin/python -u|/usr/bin/python2 -u|g' -e 's|/usr/bin/python$|/usr/bin/python2|g' -i python/tests/*.py + mv ../xmlconf . + patch -Np1 -i ../revert-catalog-initialize.patch + patch -Np1 -i ../fix-CVE-2014-3660.patch + patch -p0 -b -i ../bug325533-16bit-linenum.patch +} + +build() { + cd ${_realname}-${pkgver} + ./configure --prefix=/usr --with-threads --with-history --with-python=/usr/bin/python2 + make +} + +check() { + cd ${_realname}-${pkgver} + make check +} + +package() { + cd ${_realname}-${pkgver} + make DESTDIR="${pkgdir}" install + install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${_realname}/COPYING" +} diff --git a/bug325533-16bit-linenum.patch b/bug325533-16bit-linenum.patch new file mode 100644 index 000000000000..9aa641b2338a --- /dev/null +++ b/bug325533-16bit-linenum.patch @@ -0,0 +1,112 @@ +*** include/libxml/tree.h.orig Mon Aug 22 05:14:24 2005 +--- include/libxml/tree.h Sat Jan 7 22:30:25 2006 +*************** +*** 452,459 **** + struct _xmlAttr *properties;/* properties list */ + xmlNs *nsDef; /* namespace definitions on this node */ + void *psvi; /* for type/PSVI informations */ +! unsigned short line; /* line number */ + unsigned short extra; /* extra data for XPath/XSLT */ + }; + + /** +--- 452,460 ---- + struct _xmlAttr *properties;/* properties list */ + xmlNs *nsDef; /* namespace definitions on this node */ + void *psvi; /* for type/PSVI informations */ +! unsigned short line16; /* line number */ + unsigned short extra; /* extra data for XPath/XSLT */ ++ int line; /* line number */ + }; + + /** +*** SAX2.c.orig Sat Sep 3 08:27:39 2005 +--- ./SAX2.c Sat Jan 7 22:34:34 2006 +*************** +*** 1562,1570 **** + if (ctxt->linenumbers) { + if (ctxt->input != NULL) { + if (ctxt->input->line < 65535) +! ret->line = (short) ctxt->input->line; + else +! ret->line = 65535; + } + } + +--- 1562,1571 ---- + if (ctxt->linenumbers) { + if (ctxt->input != NULL) { + if (ctxt->input->line < 65535) +! ret->line16 = (unsigned short) ctxt->input->line; + else +! ret->line16 = 65535; +! ret->line = ctxt->input->line; + } + } + +*************** +*** 2165,2173 **** + if (ctxt->linenumbers) { + if (ctxt->input != NULL) { + if (ctxt->input->line < 65535) +! ret->line = (short) ctxt->input->line; + else +! ret->line = 65535; + } + } + +--- 2166,2175 ---- + if (ctxt->linenumbers) { + if (ctxt->input != NULL) { + if (ctxt->input->line < 65535) +! ret->line16 = (unsigned short) ctxt->input->line; + else +! ret->line16 = 65535; +! ret->line = ctxt->input->line; + } + } + +*************** +*** 2508,2516 **** + if (ctxt->linenumbers) { + if (ctxt->input != NULL) { + if (ctxt->input->line < 65535) +! ret->line = (short) ctxt->input->line; + else +! ret->line = 65535; + } + } + if (ctxt->inSubset == 1) { +--- 2510,2519 ---- + if (ctxt->linenumbers) { + if (ctxt->input != NULL) { + if (ctxt->input->line < 65535) +! ret->line16 = (unsigned short) ctxt->input->line; + else +! ret->line16 = 65535; +! ret->line = ctxt->input->line; + } + } + if (ctxt->inSubset == 1) { +*************** +*** 2568,2576 **** + if (ctxt->linenumbers) { + if (ctxt->input != NULL) { + if (ctxt->input->line < 65535) +! ret->line = (short) ctxt->input->line; + else +! ret->line = 65535; + } + } + +--- 2571,2580 ---- + if (ctxt->linenumbers) { + if (ctxt->input != NULL) { + if (ctxt->input->line < 65535) +! ret->line16 = (unsigned short) ctxt->input->line; + else +! ret->line16 = 65535; +! ret->line = ctxt->input->line; + } + } + diff --git a/fix-CVE-2014-3660.patch b/fix-CVE-2014-3660.patch new file mode 100644 index 000000000000..9e6441c12d46 --- /dev/null +++ b/fix-CVE-2014-3660.patch @@ -0,0 +1,28 @@ +From 72a46a519ce7326d9a00f0b6a7f2a8e958cd1675 Mon Sep 17 00:00:00 2001 +From: Daniel Veillard <veillard@redhat.com> +Date: Thu, 23 Oct 2014 11:35:36 +0800 +Subject: Fix missing entities after CVE-2014-3660 fix + +For https://bugzilla.gnome.org/show_bug.cgi?id=738805 + +The fix for CVE-2014-3660 introduced a regression in some case +where entity substitution is required and the entity is used +first in anotther entity referenced from an attribute value + +diff --git a/parser.c b/parser.c +index 67c9dfd..a8d1b67 100644 +--- a/parser.c ++++ b/parser.c +@@ -7235,7 +7235,8 @@ xmlParseReference(xmlParserCtxtPtr ctxt) { + * far more secure as the parser will only process data coming from + * the document entity by default. + */ +- if ((ent->checked == 0) && ++ if (((ent->checked == 0) || ++ ((ent->children == NULL) && (ctxt->options & XML_PARSE_NOENT))) && + ((ent->etype != XML_EXTERNAL_GENERAL_PARSED_ENTITY) || + (ctxt->options & (XML_PARSE_NOENT | XML_PARSE_DTDVALID)))) { + unsigned long oldnbent = ctxt->nbentities; +-- +cgit v0.10.1 + diff --git a/revert-catalog-initialize.patch b/revert-catalog-initialize.patch new file mode 100644 index 000000000000..d98b38211605 --- /dev/null +++ b/revert-catalog-initialize.patch @@ -0,0 +1,26 @@ +From f65128f38289d77ff322d63aef2858cc0a819c34 Mon Sep 17 00:00:00 2001 +From: Daniel Veillard <veillard@redhat.com> +Date: Fri, 17 Oct 2014 17:13:41 +0800 +Subject: Revert "Missing initialization for the catalog module" + +This reverts commit 054c716ea1bf001544127a4ab4f4346d1b9947e7. +As this break xmlcatalog command +https://bugzilla.redhat.com/show_bug.cgi?id=1153753 + +diff --git a/parser.c b/parser.c +index 1d93967..67c9dfd 100644 +--- a/parser.c ++++ b/parser.c +@@ -14830,9 +14830,6 @@ xmlInitParser(void) { + #ifdef LIBXML_XPATH_ENABLED + xmlXPathInit(); + #endif +-#ifdef LIBXML_CATALOG_ENABLED +- xmlInitializeCatalog(); +-#endif + xmlParserInitialized = 1; + #ifdef LIBXML_THREAD_ENABLED + } +-- +cgit v0.10.1 + |