[arch-commits] Commit in libxslt/repos (6 files)

Jan de Groot jgc at archlinux.org
Tue Feb 7 07:34:46 EST 2012


    Date: Tuesday, February 7, 2012 @ 07:34:45
  Author: jgc
Revision: 149384

archrelease: copy trunk to extra-i686, extra-x86_64

Added:
  libxslt/repos/extra-i686/CVE-2011-1202.patch
    (from rev 149383, libxslt/trunk/CVE-2011-1202.patch)
  libxslt/repos/extra-i686/PKGBUILD
    (from rev 149383, libxslt/trunk/PKGBUILD)
  libxslt/repos/extra-x86_64/CVE-2011-1202.patch
    (from rev 149383, libxslt/trunk/CVE-2011-1202.patch)
  libxslt/repos/extra-x86_64/PKGBUILD
    (from rev 149383, libxslt/trunk/PKGBUILD)
Deleted:
  libxslt/repos/extra-i686/PKGBUILD
  libxslt/repos/extra-x86_64/PKGBUILD

----------------------------------+
 extra-i686/CVE-2011-1202.patch   |   56 ++++++++++++++++++++++++++++
 extra-i686/PKGBUILD              |   73 +++++++++++++++++++++----------------
 extra-x86_64/CVE-2011-1202.patch |   56 ++++++++++++++++++++++++++++
 extra-x86_64/PKGBUILD            |   73 +++++++++++++++++++++----------------
 4 files changed, 196 insertions(+), 62 deletions(-)

Copied: libxslt/repos/extra-i686/CVE-2011-1202.patch (from rev 149383, libxslt/trunk/CVE-2011-1202.patch)
===================================================================
--- extra-i686/CVE-2011-1202.patch	                        (rev 0)
+++ extra-i686/CVE-2011-1202.patch	2012-02-07 12:34:45 UTC (rev 149384)
@@ -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

Deleted: extra-i686/PKGBUILD
===================================================================
--- extra-i686/PKGBUILD	2012-02-07 12:34:21 UTC (rev 149383)
+++ extra-i686/PKGBUILD	2012-02-07 12:34:45 UTC (rev 149384)
@@ -1,31 +0,0 @@
-# $Id$
-# Maintainer: Eric Belanger <eric at archlinux.org>
-# Contributor: John Proctor <jproctor at prium.net>
-
-pkgname=libxslt
-pkgver=1.1.26
-pkgrel=2
-pkgdesc="XML stylesheet transformation library"
-arch=('i686' 'x86_64')
-url="http://xmlsoft.org/XSLT/"
-license=('custom')
-depends=('libxml2>=2.7.7' 'libgcrypt>=1.4.6')
-makedepends=('python2')
-options=('!libtool')
-source=(ftp://xmlsoft.org/libxslt/${pkgname}-${pkgver}.tar.gz)
-md5sums=('e61d0364a30146aaa3001296f853b2b9')
-
-build() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
-  ./configure --prefix=/usr --with-python=/usr/bin/python2.7
-  make
-  make DESTDIR="${pkgdir}" install
-
-  for f in pyxsltproc.py extfunc.py exslt.py extelem.py basic.py; do
-      sed -e 's|#!/usr/bin/python|#!/usr/bin/python2|' \
-          -i ${pkgdir}/usr/share/doc/libxslt-python-1.1.26/examples/${f}
-  done
-
-  install -d "${pkgdir}/usr/share/licenses/${pkgname}"
-  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
-}

Copied: libxslt/repos/extra-i686/PKGBUILD (from rev 149383, libxslt/trunk/PKGBUILD)
===================================================================
--- extra-i686/PKGBUILD	                        (rev 0)
+++ extra-i686/PKGBUILD	2012-02-07 12:34:45 UTC (rev 149384)
@@ -0,0 +1,42 @@
+# $Id$
+# Maintainer: Eric Belanger <eric at archlinux.org>
+# Contributor: John Proctor <jproctor at prium.net>
+
+pkgname=libxslt
+pkgver=1.1.26
+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')
+options=('!libtool')
+source=(ftp://xmlsoft.org/libxslt/${pkgname}-${pkgver}.tar.gz
+        CVE-2011-1202.patch)
+md5sums=('e61d0364a30146aaa3001296f853b2b9'
+         'ce9744943575efaa6b5501668899b753')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  patch -Np1 -i "${srcdir}/CVE-2011-1202.patch"
+  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/extra-x86_64/CVE-2011-1202.patch (from rev 149383, libxslt/trunk/CVE-2011-1202.patch)
===================================================================
--- extra-x86_64/CVE-2011-1202.patch	                        (rev 0)
+++ extra-x86_64/CVE-2011-1202.patch	2012-02-07 12:34:45 UTC (rev 149384)
@@ -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

Deleted: extra-x86_64/PKGBUILD
===================================================================
--- extra-x86_64/PKGBUILD	2012-02-07 12:34:21 UTC (rev 149383)
+++ extra-x86_64/PKGBUILD	2012-02-07 12:34:45 UTC (rev 149384)
@@ -1,31 +0,0 @@
-# $Id$
-# Maintainer: Eric Belanger <eric at archlinux.org>
-# Contributor: John Proctor <jproctor at prium.net>
-
-pkgname=libxslt
-pkgver=1.1.26
-pkgrel=2
-pkgdesc="XML stylesheet transformation library"
-arch=('i686' 'x86_64')
-url="http://xmlsoft.org/XSLT/"
-license=('custom')
-depends=('libxml2>=2.7.7' 'libgcrypt>=1.4.6')
-makedepends=('python2')
-options=('!libtool')
-source=(ftp://xmlsoft.org/libxslt/${pkgname}-${pkgver}.tar.gz)
-md5sums=('e61d0364a30146aaa3001296f853b2b9')
-
-build() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
-  ./configure --prefix=/usr --with-python=/usr/bin/python2.7
-  make
-  make DESTDIR="${pkgdir}" install
-
-  for f in pyxsltproc.py extfunc.py exslt.py extelem.py basic.py; do
-      sed -e 's|#!/usr/bin/python|#!/usr/bin/python2|' \
-          -i ${pkgdir}/usr/share/doc/libxslt-python-1.1.26/examples/${f}
-  done
-
-  install -d "${pkgdir}/usr/share/licenses/${pkgname}"
-  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
-}

Copied: libxslt/repos/extra-x86_64/PKGBUILD (from rev 149383, libxslt/trunk/PKGBUILD)
===================================================================
--- extra-x86_64/PKGBUILD	                        (rev 0)
+++ extra-x86_64/PKGBUILD	2012-02-07 12:34:45 UTC (rev 149384)
@@ -0,0 +1,42 @@
+# $Id$
+# Maintainer: Eric Belanger <eric at archlinux.org>
+# Contributor: John Proctor <jproctor at prium.net>
+
+pkgname=libxslt
+pkgver=1.1.26
+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')
+options=('!libtool')
+source=(ftp://xmlsoft.org/libxslt/${pkgname}-${pkgver}.tar.gz
+        CVE-2011-1202.patch)
+md5sums=('e61d0364a30146aaa3001296f853b2b9'
+         'ce9744943575efaa6b5501668899b753')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  patch -Np1 -i "${srcdir}/CVE-2011-1202.patch"
+  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