summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaleb Tennis <caleb@gentoo.org>2007-03-30 12:56:29 +0000
committerCaleb Tennis <caleb@gentoo.org>2007-03-30 12:56:29 +0000
commit290589989e4b9a04e1cbb9b65c67ff4be7aa72d7 (patch)
tree3c43af26e348e44f0955336cba236649bef263e3 /kde-base/kdelibs
parentBump version (diff)
downloadgentoo-2-290589989e4b9a04e1cbb9b65c67ff4be7aa72d7.tar.gz
gentoo-2-290589989e4b9a04e1cbb9b65c67ff4be7aa72d7.tar.bz2
gentoo-2-290589989e4b9a04e1cbb9b65c67ff4be7aa72d7.zip
Adding a XSS fix patch from kde-packager
(Portage version: 2.1.2.2)
Diffstat (limited to 'kde-base/kdelibs')
-rw-r--r--kde-base/kdelibs/ChangeLog8
-rw-r--r--kde-base/kdelibs/files/digest-kdelibs-3.5.6-r49
-rw-r--r--kde-base/kdelibs/files/kdelibs-3.5.6-kjs-xss.diff38
-rw-r--r--kde-base/kdelibs/kdelibs-3.5.6-r4.ebuild201
4 files changed, 255 insertions, 1 deletions
diff --git a/kde-base/kdelibs/ChangeLog b/kde-base/kdelibs/ChangeLog
index c119d47e955d..0249921a1830 100644
--- a/kde-base/kdelibs/ChangeLog
+++ b/kde-base/kdelibs/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for kde-base/kdelibs
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/kdelibs/ChangeLog,v 1.438 2007/03/22 15:53:35 wolf31o2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kdelibs/ChangeLog,v 1.439 2007/03/30 12:56:29 caleb Exp $
+
+*kdelibs-3.5.6-r4 (30 Mar 2007)
+
+ 30 Mar 2007; Caleb Tennis <caleb@gentoo.org>
+ +files/kdelibs-3.5.6-kjs-xss.diff, +kdelibs-3.5.6-r4.ebuild:
+ Adding a XSS fix patch from kde-packager
22 Mar 2007; Chris Gianelloni <wolf31o2@gentoo.org>
kdelibs-3.5.5-r9.ebuild:
diff --git a/kde-base/kdelibs/files/digest-kdelibs-3.5.6-r4 b/kde-base/kdelibs/files/digest-kdelibs-3.5.6-r4
new file mode 100644
index 000000000000..1585f02345d9
--- /dev/null
+++ b/kde-base/kdelibs/files/digest-kdelibs-3.5.6-r4
@@ -0,0 +1,9 @@
+MD5 6f8254317dd43af7aea2a347656f552a kdelibs-3.5-patchset-05.tar.bz2 36423
+RMD160 684bb235f3b5b3cb900632e11aa912670f641b96 kdelibs-3.5-patchset-05.tar.bz2 36423
+SHA256 f237ccd3a35c629740355fbcf69b0d706690acac832a4d35db5c0d3a30235e0a kdelibs-3.5-patchset-05.tar.bz2 36423
+MD5 d8ce997461cb1aa2255032f02fd14326 kdelibs-3.5.5-seli-xinerama.patch.bz2 5470
+RMD160 46ed378f1ff2f7e2fa113aa0bf51eae1758264f9 kdelibs-3.5.5-seli-xinerama.patch.bz2 5470
+SHA256 8d002a55954aabdb91a534a1b1f1f37c706faebbae0398fb5a2ff29eeb66954c kdelibs-3.5.5-seli-xinerama.patch.bz2 5470
+MD5 e4d137879a66e92b895b3de5413a61d8 kdelibs-3.5.6.tar.bz2 15509460
+RMD160 ce8c088e13f0e59238719600da9c768eac58b57d kdelibs-3.5.6.tar.bz2 15509460
+SHA256 06766202c6ae21277b7879f363ed88fde8016586ec8c94deb59be260f2231b5c kdelibs-3.5.6.tar.bz2 15509460
diff --git a/kde-base/kdelibs/files/kdelibs-3.5.6-kjs-xss.diff b/kde-base/kdelibs/files/kdelibs-3.5.6-kjs-xss.diff
new file mode 100644
index 000000000000..ca4456320ee9
--- /dev/null
+++ b/kde-base/kdelibs/files/kdelibs-3.5.6-kjs-xss.diff
@@ -0,0 +1,38 @@
+------------------------------------------------------------------------
+r645387 | porten | 2007-03-22 15:01:13 +0100 (Thu, 22 Mar 2007) | 4 lines
+
+substitute some of the invalid sequences with the standard replacement
+char. this matches Mozilla but not IE which leaves them unchanged (or
+throws an exception)
+
+------------------------------------------------------------------------
+--- kjs/function.cpp
++++ kjs/function.cpp
+@@ -244,11 +244,15 @@ UString decodeURI(ExecState *exec, UStri
+ }
+
+ // UTF-8 transform
++ const unsigned long replacementChar = 0xFFFD;
+ unsigned long V;
+ if (n == 2) {
+ unsigned long yyyyy = octets[0] & 0x1F;
+ unsigned long zzzzzz = octets[1] & 0x3F;
+ V = (yyyyy << 6) | zzzzzz;
++ // 2-byte sequence overlong for this value?
++ if (V < 0xFF)
++ V = replacementChar;
+ C = UChar((unsigned short)V);
+ }
+ else if (n == 3) {
+@@ -256,6 +260,11 @@ UString decodeURI(ExecState *exec, UStri
+ unsigned long yyyyyy = octets[1] & 0x3F;
+ unsigned long zzzzzz = octets[2] & 0x3F;
+ V = (xxxx << 12) | (yyyyyy << 6) | zzzzzz;
++ // 3-byte sequence overlong for this value,
++ // an invalid value or UTF-16 surrogate?
++ if (V < 0x800 || V == 0xFFFE || V == 0xFFFF ||
++ (V >= 0xD800 && V <= 0xDFFF))
++ V = replacementChar;
+ C = UChar((unsigned short)V);
+ }
+ else {
diff --git a/kde-base/kdelibs/kdelibs-3.5.6-r4.ebuild b/kde-base/kdelibs/kdelibs-3.5.6-r4.ebuild
new file mode 100644
index 000000000000..4f404bf3b7c4
--- /dev/null
+++ b/kde-base/kdelibs/kdelibs-3.5.6-r4.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kdelibs/kdelibs-3.5.6-r4.ebuild,v 1.1 2007/03/30 12:56:29 caleb Exp $
+
+inherit kde flag-o-matic eutils multilib
+set-kdedir 3.5
+
+DESCRIPTION="KDE libraries needed by all KDE programs."
+HOMEPAGE="http://www.kde.org/"
+SRC_URI="mirror://kde/stable/${PV}/src/${P}.tar.bz2
+ mirror://gentoo/kdelibs-3.5-patchset-05.tar.bz2
+ mirror://gentoo/${PN}-3.5.5-seli-xinerama.patch.bz2"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="3.5"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="acl alsa arts cups doc jpeg2k kerberos legacyssl utempter openexr spell ssl tiff
+zeroconf avahi kernel_linux fam lua linguas_he kdehiddenvisibility"
+
+# kde.eclass has kdelibs in DEPEND, and we can't have that in here.
+# so we recreate the entire DEPEND from scratch.
+
+# Added aspell-en as dependency to work around bug 131512.
+RDEPEND="$(qt_min_version 3.3.3)
+ arts? ( >=kde-base/arts-3.5.5 )
+ app-arch/bzip2
+ >=media-libs/freetype-2
+ media-libs/fontconfig
+ >=dev-libs/libxslt-1.1.16
+ >=dev-libs/libxml2-2.6.6
+ >=dev-libs/libpcre-4.2
+ media-libs/libart_lgpl
+ net-dns/libidn
+ acl? ( kernel_linux? ( sys-apps/acl ) )
+ ssl? ( >=dev-libs/openssl-0.9.7d )
+ alsa? ( media-libs/alsa-lib )
+ cups? ( >=net-print/cups-1.1.19 )
+ tiff? ( media-libs/tiff )
+ kerberos? ( virtual/krb5 )
+ jpeg2k? ( media-libs/jasper )
+ openexr? ( >=media-libs/openexr-1.2.2-r2 )
+ zeroconf? ( !avahi? ( net-misc/mDNSResponder !kde-misc/kdnssd-avahi ) )
+ fam? ( virtual/fam )
+ virtual/ghostscript
+ utempter? ( sys-libs/libutempter )
+ !kde-base/kde-env
+ lua? ( dev-lang/lua )
+ spell? ( app-text/aspell app-dicts/aspell-en
+ linguas_he? ( >=app-text/hspell-1.0 ) )"
+
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ sys-devel/gettext"
+
+RDEPEND="${RDEPEND}
+ || ( ( x11-apps/rgb x11-apps/iceauth ) <virtual/x11-7 ) "
+
+PDEPEND="zeroconf? ( avahi? ( kde-misc/kdnssd-avahi ) )"
+
+# Testing code is rather broken and merely for developer purposes, so disable it.
+RESTRICT="test"
+
+pkg_setup() {
+ if use legacyssl ; then
+ echo ""
+ elog "You have the legacyssl use flag enabled, which fixes issues with some broken"
+ elog "sites, but breaks others instead. It is strongly discouraged to use it."
+ elog "For more information, see bug #128922."
+ echo ""
+ fi
+ if ! use utempter ; then
+ echo ""
+ elog "On some setups that relies on the correct update of utmp records, not using"
+ elog "utempter might not update them correctly. If you experience unexpected"
+ elog "behaviour, try to rebuild kde-base/kdelibs with utempter use-flag enabled."
+ echo ""
+ fi
+
+ if use alsa && ! built_with_use --missing true media-libs/alsa-lib midi; then
+ eerror "The alsa USE flag in this package enables ALSA support"
+ eerror "for libkmid, KDE midi library."
+ eerror "For this reason, you have to merge media-libs/alsa-lib"
+ eerror "with the midi USE flag enabled, or disable alsa USE flag"
+ eerror "for this package."
+ die "Missing midi USE flag on media-libs/alsa-lib"
+ fi
+}
+
+src_unpack() {
+ kde_src_unpack
+ if use legacyssl ; then
+ # This patch won't be included upstream, see bug #128922
+ epatch "${WORKDIR}/patches/kdelibs_3.5.4-kssl-3des.patch"
+ fi
+
+ epatch "${FILESDIR}/${P}-khtml-kde-bug-140768.patch"
+
+ # xinerama patch from Lubos Lunak
+ # http://ktown.kde.org/~seli/xinerama/
+ epatch "${DISTDIR}/${PN}-3.5.5-seli-xinerama.patch.bz2"
+
+ epatch "${FILESDIR}/${PN}-3.5.5-vulnerability-20070305.diff"
+
+ epatch "${FILESDIR}/${P}-kjs-xss.diff"
+}
+
+src_compile() {
+ rm -f "${S}/configure"
+
+ myconf="--with-distribution=Gentoo --disable-fast-malloc
+ $(use_enable fam libfam) $(use_enable kernel_linux dnotify)
+ --with-libart --with-libidn
+ $(use_with acl) $(use_with ssl)
+ $(use_with alsa) $(use_with arts)
+ $(use_with kerberos gssapi) $(use_with tiff)
+ $(use_with jpeg2k jasper) $(use_with openexr)
+ $(use_enable cups)
+ $(use_with utempter) $(use_with lua)
+ $(use_enable kernel_linux sendfile) --enable-mitshm
+ $(use_with spell aspell)"
+
+ if use zeroconf && ! use avahi; then
+ myconf="${myconf} --enable-dnssd"
+ else
+ myconf="${myconf} --disable-dnssd"
+ fi
+
+ if use spell; then
+ myconf="${myconf} $(use_with linguas_he hspell)"
+ else
+ myconf="${myconf} --without-hspell"
+ fi
+
+ if has_version x11-apps/rgb; then
+ myconf="${myconf} --with-rgbfile=/usr/share/X11/rgb.txt"
+ fi
+
+ # fix bug 58179, bug 85593
+ # kdelibs-3.4.0 needed -fno-gcse; 3.4.1 needs -mminimal-toc; this needs a
+ # closer look... - corsair
+ use ppc64 && append-flags "-mminimal-toc"
+
+ # work around bug #120858, gcc 3.4.x -Os miscompilation
+ use x86 && replace-flags "-Os" "-O2" # see bug #120858
+
+ export BINDNOW_FLAGS="$(bindnow-flags)"
+
+ kde_src_compile
+
+ if use doc; then
+ make apidox || die
+ fi
+}
+
+src_install() {
+ kde_src_install
+
+ if use doc; then
+ make DESTDIR="${D}" install-apidox || die
+ fi
+
+ # Needed to create lib -> lib64 symlink for amd64 2005.0 profile
+ if [ "${SYMLINK_LIB}" = "yes" ]; then
+ dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) ${KDEDIR}/lib
+ fi
+
+ # Get rid of the disabled version of the kdnsd libraries
+ if use zeroconf && use avahi; then
+ rm -rf "${D}/${PREFIX}"/$(get_libdir)/libkdnssd.*
+ fi
+
+ dodir /etc/env.d
+
+ # List all the multilib libdirs
+ local libdirs
+ for libdir in $(get_all_libdirs); do
+ libdirs="${libdirs}:${PREFIX}/${libdir}"
+ done
+
+ cat <<EOF > "${D}"/etc/env.d/45kdepaths-${SLOT} # number goes down with version upgrade
+PATH=${PREFIX}/bin
+ROOTPATH=${PREFIX}/sbin:${PREFIX}/bin
+LDPATH=${libdirs:1}
+CONFIG_PROTECT="${PREFIX}/share/config ${PREFIX}/env ${PREFIX}/shutdown /usr/share/config"
+KDEDIRS="${PREFIX}:/usr:/usr/local"
+#KDE_IS_PRELINKED=1
+XDG_DATA_DIRS="/usr/share:${PREFIX}/share:/usr/local/share"
+COLON_SEPARATED="XDG_DATA_DIRS"
+EOF
+}
+
+pkg_postinst() {
+ if use zeroconf; then
+ echo
+ elog "To make zeroconf support available in KDE make sure that the 'mdnsd' daemon"
+ elog "is running. Make sure also that multicast dns lookups are enabled by editing"
+ elog "the 'hosts:' line in /etc/nsswitch.conf to include 'mdns', e.g.:"
+ elog " hosts: files mdns dns"
+ echo
+ fi
+}