summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-office/dia/ChangeLog8
-rw-r--r--app-office/dia/Manifest13
-rw-r--r--app-office/dia/dia-0.94-r3.ebuild60
-rw-r--r--app-office/dia/files/dia-0.94-secure-eval.patch52
-rw-r--r--app-office/dia/files/digest-dia-0.94-r31
5 files changed, 128 insertions, 6 deletions
diff --git a/app-office/dia/ChangeLog b/app-office/dia/ChangeLog
index 4a4c553e4651..2a99e84b1a3d 100644
--- a/app-office/dia/ChangeLog
+++ b/app-office/dia/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for app-office/dia
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-office/dia/ChangeLog,v 1.65 2005/10/03 11:44:49 hardave Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-office/dia/ChangeLog,v 1.66 2005/10/03 16:09:38 dang Exp $
+
+*dia-0.94-r3 (03 Oct 2005)
+
+ 03 Oct 2005; <dang@gentoo.org> +files/dia-0.94-secure-eval.patch,
+ +dia-0.94-r3.ebuild:
+ Fix insecure python eval. Bug #107916
03 Oct 2005; Hardave Riar <hardave@gentoo.org> dia-0.94-r2.ebuild:
Keyworded ~mips.
diff --git a/app-office/dia/Manifest b/app-office/dia/Manifest
index f20e0bafdb39..695c39849e3c 100644
--- a/app-office/dia/Manifest
+++ b/app-office/dia/Manifest
@@ -1,11 +1,14 @@
-MD5 c57cafd890da8aac8be9d42dfc7b0c55 ChangeLog 7967
+MD5 e64a64c8b1e5e3be5cf29d34c7374513 dia-0.94-r2.ebuild 1655
MD5 a2e230eb1d422d8da320507fb3de7838 dia-0.94-r1.ebuild 1479
+MD5 05fbc035052c9478c28eed171adf35b5 dia-0.94-r3.ebuild 1747
+MD5 c57cafd890da8aac8be9d42dfc7b0c55 ChangeLog 7967
MD5 858a96d79b7c8b479edd95aedcf0c0c6 metadata.xml 589
-MD5 e64a64c8b1e5e3be5cf29d34c7374513 dia-0.94-r2.ebuild 1655
-MD5 275b4e09a76a808202872cae5ac90f7c files/0.94-disable_python_gtk_import.patch 313
MD5 159070f80a109b691f1a945755bf2b7c files/dia-0.94-gcc4.patch 934
-MD5 364d452e7bd501c01910f613c066608e files/dia-0.94-help.patch 2766
+MD5 84f2dd6bc760e8dce273ceda328ef76e files/dia-0.94-secure-eval.patch 1940
MD5 5825798492b196ec96d3757e9e1d0de8 files/dia-0.94-no_font_cache.patch 473
MD5 c6257d6dad2b46a83757991db3f3e6c5 files/digest-dia-0.94-r1 62
-MD5 bf246d9c1eae9246fd3026d76077d7c3 files/dia-0.94-db2man.patch 901
MD5 c6257d6dad2b46a83757991db3f3e6c5 files/digest-dia-0.94-r2 62
+MD5 c6257d6dad2b46a83757991db3f3e6c5 files/digest-dia-0.94-r3 62
+MD5 364d452e7bd501c01910f613c066608e files/dia-0.94-help.patch 2766
+MD5 275b4e09a76a808202872cae5ac90f7c files/0.94-disable_python_gtk_import.patch 313
+MD5 bf246d9c1eae9246fd3026d76077d7c3 files/dia-0.94-db2man.patch 901
diff --git a/app-office/dia/dia-0.94-r3.ebuild b/app-office/dia/dia-0.94-r3.ebuild
new file mode 100644
index 000000000000..ebfe19d94a04
--- /dev/null
+++ b/app-office/dia/dia-0.94-r3.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-office/dia/dia-0.94-r3.ebuild,v 1.1 2005/10/03 16:09:38 dang Exp $
+
+inherit eutils gnome2
+
+DESCRIPTION="Diagram/flowchart creation program"
+HOMEPAGE="http://www.gnome.org/projects/dia/"
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="gnome png python static zlib"
+
+RDEPEND=">=x11-libs/gtk+-2
+ >=x11-libs/pango-1.1.5
+ >=dev-libs/libxml2-2.3.9
+ >=dev-libs/libxslt-1
+ >=media-libs/freetype-2.0.9
+ dev-libs/popt
+ zlib? ( sys-libs/zlib )
+ png? ( media-libs/libpng
+ >=media-libs/libart_lgpl-2 )
+ gnome? ( >=gnome-base/libgnome-2.0
+ >=gnome-base/libgnomeui-2.0 )
+ python? ( >=dev-lang/python-1.5.2
+ >=dev-python/pygtk-1.99 )
+ ~app-text/docbook-xml-dtd-4.2
+ app-text/docbook-xsl-stylesheets"
+
+DEPEND="${RDEPEND}
+ >=dev-util/intltool-0.21
+ dev-util/pkgconfig"
+
+G2CONF="${G2CONF} $(use_enable gnome) $(use_with python) $(use_enable static)"
+
+DOCS="AUTHORS ChangeLog KNOWN_BUGS NEWS README RELEASE-PROCESS THANKS TODO"
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+
+ # Disable python -c 'import gtk' during compile to prevent using
+ # X being involved (#31589)
+ epatch ${FILESDIR}/${PV}-disable_python_gtk_import.patch
+
+ # Fix generation of the man page (bug #98610).
+ rm doc/en/dia.1
+ epatch ${FILESDIR}/${P}-db2man.patch
+ autoconf || die "Autoconf failed"
+
+ # Disable buggy font cache. See bug #81227.
+ epatch ${FILESDIR}/${P}-no_font_cache.patch
+ # Fix help display. See bug #83726.
+ epatch ${FILESDIR}/${P}-help.patch
+ # GCC 4 compile fixes
+ epatch ${FILESDIR}/${P}-gcc4.patch
+ # Fix python execution hole. bug #107916
+ epatch ${FILESDIR}/${P}-secure-eval.patch
+}
diff --git a/app-office/dia/files/dia-0.94-secure-eval.patch b/app-office/dia/files/dia-0.94-secure-eval.patch
new file mode 100644
index 000000000000..7126dc78838c
--- /dev/null
+++ b/app-office/dia/files/dia-0.94-secure-eval.patch
@@ -0,0 +1,52 @@
+Index: plug-ins/python/diasvg_import.py
+===================================================================
+--- plug-ins/python/diasvg_import.py (revision 7)
++++ plug-ins/python/diasvg_import.py (working copy)
+@@ -54,6 +54,10 @@
+ return (int(m.group(1)) / 255.0, int(m.group(2)) / 255.0, int(m.group(2)) / 255.0)
+ # any more ugly color definitions not compatible with pango_color_parse() ?
+ return string.strip(s)
++
++def eval_secure(s):
++ return string.translate(s, string.maketrans("\"()", "___"))
++
+ class Object :
+ def __init__(self) :
+ self.props = {"x" : 0, "y" : 0, "stroke" : "none"}
+@@ -65,7 +69,8 @@
+ sp2 = string.split(string.strip(s1), ":")
+ if len(sp2) == 2 :
+ try :
+- eval("self." + string.replace(sp2[0], "-", "_") + "(\"" + string.strip(sp2[1]) + "\")")
++ eval("self." + eval_secure(string.replace(sp2[0], "-", "_")) +
++ "(\"" + eval_secure(string.strip(sp2[1])) + "\")")
+ except AttributeError :
+ self.props[sp2[0]] = string.strip(sp2[1])
+ def x(self, s) :
+@@ -282,7 +287,7 @@
+ def CopyProps(self, dest) :
+ # to be used to inherit group props to childs _before_ they get their own
+ for p in self.props.keys() :
+- sf = "dest." + string.replace(p, "-", "_") + "(\"" + str(self.props[p]) + "\")"
++ sf = "dest." + eval_secure(string.replace(p, "-", "_")) + "(\"" + eval_secure(str(self.props[p])) + "\")"
+ try : # accessor first
+ eval(sf)
+ except :
+@@ -561,7 +566,7 @@
+ o = Group()
+ stack.append(o)
+ else :
+- s = string.capitalize(name) + "()"
++ s = eval_secure(string.capitalize(name)) + "()"
+ try :
+ o = eval(s)
+ except :
+@@ -575,7 +580,7 @@
+ ma = string.replace(a, "-", "_")
+ # e.g. xlink:href -> xlink__href
+ ma = string.replace(ma, ":", "__")
+- s = "o." + ma + "(\"" + attrs[a] + "\")"
++ s = "o." + eval_secure(ma) + "(\"" + eval_secure(attrs[a]) + "\")"
+ try :
+ eval(s)
+ except AttributeError, msg :
diff --git a/app-office/dia/files/digest-dia-0.94-r3 b/app-office/dia/files/digest-dia-0.94-r3
new file mode 100644
index 000000000000..a4366b0c6a35
--- /dev/null
+++ b/app-office/dia/files/digest-dia-0.94-r3
@@ -0,0 +1 @@
+MD5 63584224912dab49fed8d2cf87ea2d85 dia-0.94.tar.bz2 3348869