[arch-commits] Commit in libxslt/repos (6 files)
Thomas Bächler
thomas at nymeria.archlinux.org
Mon Dec 16 23:16:21 UTC 2013
Date: Tuesday, December 17, 2013 @ 00:16:21
Author: thomas
Revision: 201611
archrelease: copy trunk to staging-i686, staging-x86_64
Added:
libxslt/repos/staging-i686/
libxslt/repos/staging-i686/CVE-2011-1202.patch
(from rev 201610, libxslt/trunk/CVE-2011-1202.patch)
libxslt/repos/staging-i686/PKGBUILD
(from rev 201610, libxslt/trunk/PKGBUILD)
libxslt/repos/staging-x86_64/
libxslt/repos/staging-x86_64/CVE-2011-1202.patch
(from rev 201610, libxslt/trunk/CVE-2011-1202.patch)
libxslt/repos/staging-x86_64/PKGBUILD
(from rev 201610, libxslt/trunk/PKGBUILD)
------------------------------------+
staging-i686/CVE-2011-1202.patch | 56 +++++++++++++++++++++++++++++++++++
staging-i686/PKGBUILD | 38 +++++++++++++++++++++++
staging-x86_64/CVE-2011-1202.patch | 56 +++++++++++++++++++++++++++++++++++
staging-x86_64/PKGBUILD | 38 +++++++++++++++++++++++
4 files changed, 188 insertions(+)
Copied: libxslt/repos/staging-i686/CVE-2011-1202.patch (from rev 201610, libxslt/trunk/CVE-2011-1202.patch)
===================================================================
--- staging-i686/CVE-2011-1202.patch (rev 0)
+++ staging-i686/CVE-2011-1202.patch 2013-12-16 23:16:21 UTC (rev 201611)
@@ -0,0 +1,56 @@
+From ecb6bcb8d1b7e44842edde3929f412d46b40c89f Mon Sep 17 00:00:00 2001
+From: Daniel Veillard <veillard at redhat.com>
+Date: Tue, 22 Feb 2011 02:14:23 +0000
+Subject: Fix generate-id() to not expose object addresses
+
+As pointed out by Chris Evans <scarybeasts at gmail.com> it's better
+security wise to not expose object addresses directly, use a diff
+w.r.t. the document root own address to avoid this
+* libxslt/functions.c: fix IDs generation code
+---
+diff --git a/libxslt/functions.c b/libxslt/functions.c
+index 4720c7a..de962f4 100644
+--- a/libxslt/functions.c
++++ b/libxslt/functions.c
+@@ -654,8 +654,9 @@ xsltFormatNumberFunction(xmlXPathParserContextPtr ctxt, int nargs)
+ void
+ xsltGenerateIdFunction(xmlXPathParserContextPtr ctxt, int nargs){
+ xmlNodePtr cur = NULL;
+- unsigned long val;
+- xmlChar str[20];
++ long val;
++ xmlChar str[30];
++ xmlDocPtr doc;
+
+ if (nargs == 0) {
+ cur = ctxt->context->node;
+@@ -694,9 +695,24 @@ xsltGenerateIdFunction(xmlXPathParserContextPtr ctxt, int nargs){
+ * Okay this is ugly but should work, use the NodePtr address
+ * to forge the ID
+ */
+- val = (unsigned long)((char *)cur - (char *)0);
+- val /= sizeof(xmlNode);
+- sprintf((char *)str, "id%ld", val);
++ if (cur->type != XML_NAMESPACE_DECL)
++ doc = cur->doc;
++ else {
++ xmlNsPtr ns = (xmlNsPtr) cur;
++
++ if (ns->context != NULL)
++ doc = ns->context;
++ else
++ doc = ctxt->context->doc;
++
++ }
++
++ val = (long)((char *)cur - (char *)doc);
++ if (val >= 0) {
++ sprintf((char *)str, "idp%ld", val);
++ } else {
++ sprintf((char *)str, "idm%ld", -val);
++ }
+ valuePush(ctxt, xmlXPathNewString(str));
+ }
+
+--
+cgit v0.9.0.2
Copied: libxslt/repos/staging-i686/PKGBUILD (from rev 201610, libxslt/trunk/PKGBUILD)
===================================================================
--- staging-i686/PKGBUILD (rev 0)
+++ staging-i686/PKGBUILD 2013-12-16 23:16:21 UTC (rev 201611)
@@ -0,0 +1,38 @@
+# $Id$
+# Maintainer: Eric Belanger <eric at archlinux.org>
+# Contributor: John Proctor <jproctor at prium.net>
+
+pkgname=libxslt
+pkgver=1.1.28
+pkgrel=3
+pkgdesc="XML stylesheet transformation library"
+arch=('i686' 'x86_64')
+url="http://xmlsoft.org/XSLT/"
+license=('custom')
+depends=('libxml2' 'libgcrypt')
+makedepends=('python2')
+checkdepends=('docbook-xml')
+source=(ftp://xmlsoft.org/libxslt/${pkgname}-${pkgver}.tar.gz)
+md5sums=('9667bf6f9310b957254fdcf6596600b7')
+
+build() {
+ cd "${srcdir}/${pkgname}-${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
+ ./configure --prefix=/usr --with-python=/usr/bin/python2
+ make
+}
+
+check() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make check
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ install -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+
+ rm -f "${pkgdir}"/usr/lib/python*/site-packages/*.a
+}
Copied: libxslt/repos/staging-x86_64/CVE-2011-1202.patch (from rev 201610, libxslt/trunk/CVE-2011-1202.patch)
===================================================================
--- staging-x86_64/CVE-2011-1202.patch (rev 0)
+++ staging-x86_64/CVE-2011-1202.patch 2013-12-16 23:16:21 UTC (rev 201611)
@@ -0,0 +1,56 @@
+From ecb6bcb8d1b7e44842edde3929f412d46b40c89f Mon Sep 17 00:00:00 2001
+From: Daniel Veillard <veillard at redhat.com>
+Date: Tue, 22 Feb 2011 02:14:23 +0000
+Subject: Fix generate-id() to not expose object addresses
+
+As pointed out by Chris Evans <scarybeasts at gmail.com> it's better
+security wise to not expose object addresses directly, use a diff
+w.r.t. the document root own address to avoid this
+* libxslt/functions.c: fix IDs generation code
+---
+diff --git a/libxslt/functions.c b/libxslt/functions.c
+index 4720c7a..de962f4 100644
+--- a/libxslt/functions.c
++++ b/libxslt/functions.c
+@@ -654,8 +654,9 @@ xsltFormatNumberFunction(xmlXPathParserContextPtr ctxt, int nargs)
+ void
+ xsltGenerateIdFunction(xmlXPathParserContextPtr ctxt, int nargs){
+ xmlNodePtr cur = NULL;
+- unsigned long val;
+- xmlChar str[20];
++ long val;
++ xmlChar str[30];
++ xmlDocPtr doc;
+
+ if (nargs == 0) {
+ cur = ctxt->context->node;
+@@ -694,9 +695,24 @@ xsltGenerateIdFunction(xmlXPathParserContextPtr ctxt, int nargs){
+ * Okay this is ugly but should work, use the NodePtr address
+ * to forge the ID
+ */
+- val = (unsigned long)((char *)cur - (char *)0);
+- val /= sizeof(xmlNode);
+- sprintf((char *)str, "id%ld", val);
++ if (cur->type != XML_NAMESPACE_DECL)
++ doc = cur->doc;
++ else {
++ xmlNsPtr ns = (xmlNsPtr) cur;
++
++ if (ns->context != NULL)
++ doc = ns->context;
++ else
++ doc = ctxt->context->doc;
++
++ }
++
++ val = (long)((char *)cur - (char *)doc);
++ if (val >= 0) {
++ sprintf((char *)str, "idp%ld", val);
++ } else {
++ sprintf((char *)str, "idm%ld", -val);
++ }
+ valuePush(ctxt, xmlXPathNewString(str));
+ }
+
+--
+cgit v0.9.0.2
Copied: libxslt/repos/staging-x86_64/PKGBUILD (from rev 201610, libxslt/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD (rev 0)
+++ staging-x86_64/PKGBUILD 2013-12-16 23:16:21 UTC (rev 201611)
@@ -0,0 +1,38 @@
+# $Id$
+# Maintainer: Eric Belanger <eric at archlinux.org>
+# Contributor: John Proctor <jproctor at prium.net>
+
+pkgname=libxslt
+pkgver=1.1.28
+pkgrel=3
+pkgdesc="XML stylesheet transformation library"
+arch=('i686' 'x86_64')
+url="http://xmlsoft.org/XSLT/"
+license=('custom')
+depends=('libxml2' 'libgcrypt')
+makedepends=('python2')
+checkdepends=('docbook-xml')
+source=(ftp://xmlsoft.org/libxslt/${pkgname}-${pkgver}.tar.gz)
+md5sums=('9667bf6f9310b957254fdcf6596600b7')
+
+build() {
+ cd "${srcdir}/${pkgname}-${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
+ ./configure --prefix=/usr --with-python=/usr/bin/python2
+ make
+}
+
+check() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make check
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ install -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+
+ rm -f "${pkgdir}"/usr/lib/python*/site-packages/*.a
+}
More information about the arch-commits
mailing list