summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Hoffmann <hoffie@gentoo.org>2008-03-28 19:19:43 +0000
committerChristian Hoffmann <hoffie@gentoo.org>2008-03-28 19:19:43 +0000
commit2ff9cf0895b1dbc68bbd38367a3b529af9e3a7ef (patch)
tree522369a91ab34416002ce817a2f4ca3d74a5f402
parentAdd gnome2-user-docs to gnome 2.22 mask (diff)
downloadgentoo-2-2ff9cf0895b1dbc68bbd38367a3b529af9e3a7ef.tar.gz
gentoo-2-2ff9cf0895b1dbc68bbd38367a3b529af9e3a7ef.tar.bz2
gentoo-2-2ff9cf0895b1dbc68bbd38367a3b529af9e3a7ef.zip
addpecl-apc-3.0.16-r1, including a fix for CVE-2008-1488, since 3.0.17 causes segfaults (thanks to jakub)
(Portage version: 2.1.4.4)
-rw-r--r--dev-php5/pecl-apc/ChangeLog7
-rw-r--r--dev-php5/pecl-apc/files/pecl-apc-3.0.16-CVE-2008-1488.patch12
-rw-r--r--dev-php5/pecl-apc/pecl-apc-3.0.16-r1.ebuild77
3 files changed, 95 insertions, 1 deletions
diff --git a/dev-php5/pecl-apc/ChangeLog b/dev-php5/pecl-apc/ChangeLog
index 0393f162b724..6ec087329b72 100644
--- a/dev-php5/pecl-apc/ChangeLog
+++ b/dev-php5/pecl-apc/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for dev-php5/pecl-apc
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-php5/pecl-apc/ChangeLog,v 1.38 2008/03/25 22:51:57 hoffie Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-php5/pecl-apc/ChangeLog,v 1.39 2008/03/28 19:19:42 hoffie Exp $
+
+ 28 Mar 2008; Jakub Moc <jakub@gentoo.org>
+ +files/pecl-apc-3.0.16-CVE-2008-1488.patch,
+ +pecl-apc-3.0.16-r1.ebuild:
+ Add patched 3.0.16 for CVE-2008-1488 since 3.0.17 causes segfaults.
25 Mar 2008; Jakub Moc <jakub@gentoo.org>
+pecl-apc-3.0.17.ebuild:
diff --git a/dev-php5/pecl-apc/files/pecl-apc-3.0.16-CVE-2008-1488.patch b/dev-php5/pecl-apc/files/pecl-apc-3.0.16-CVE-2008-1488.patch
new file mode 100644
index 000000000000..7ece786c4c25
--- /dev/null
+++ b/dev-php5/pecl-apc/files/pecl-apc-3.0.16-CVE-2008-1488.patch
@@ -0,0 +1,12 @@
+--- apc.c.old 2008-03-26 19:22:02.000000000 +0100
++++ apc.c 2008-03-26 19:22:23.000000000 +0100
+@@ -331,7 +331,7 @@
+ /* not: [no active file] or no path */
+ memcpy(fileinfo->fullpath, exec_fname, exec_fname_length);
+ fileinfo->fullpath[exec_fname_length] = DEFAULT_SLASH;
+- strcpy(fileinfo->fullpath +exec_fname_length +1, filename);
++ strlcpy(fileinfo->fullpath +exec_fname_length +1, filename,sizeof(fileinfo->fullpath)-exec_fname_length-1);
+ /* apc_wprint("filename: %s, exec_fname: %s, fileinfo->fullpath: %s", filename, exec_fname, fileinfo->fullpath); */
+ if (apc_stat(fileinfo->fullpath, &fileinfo->st_buf) == 0) {
+ found = 1;
+
diff --git a/dev-php5/pecl-apc/pecl-apc-3.0.16-r1.ebuild b/dev-php5/pecl-apc/pecl-apc-3.0.16-r1.ebuild
new file mode 100644
index 000000000000..f95d91ec4952
--- /dev/null
+++ b/dev-php5/pecl-apc/pecl-apc-3.0.16-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-php5/pecl-apc/pecl-apc-3.0.16-r1.ebuild,v 1.1 2008/03/28 19:19:42 hoffie Exp $
+
+PHP_EXT_NAME="apc"
+PHP_EXT_PECL_PKG="APC"
+PHP_EXT_INI="yes"
+PHP_EXT_ZENDEXT="no"
+DOCS="CHANGELOG INSTALL NOTICE TECHNOTES.txt TODO"
+
+inherit php-ext-pecl-r1 confutils eutils
+
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
+
+DESCRIPTION="A free, open, and robust framework for caching and optimizing PHP code."
+LICENSE="PHP-3.01"
+SLOT="0"
+IUSE="mmap"
+
+DEPEND="!dev-php5/eaccelerator !dev-php5/xcache"
+RDEPEND="${DEPEND}"
+
+need_php_by_category
+
+pkg_setup() {
+ has_php
+ require_php_sapi_from cgi apache2
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # patch for CVE-2008-1488, Bug 214576
+ epatch "${FILESDIR}"/${P}-CVE-2008-1488.patch
+ # http://pecl.php.net/bugs/bug.php?id=12777, Bug 204224
+ epatch "${FILESDIR}"/${P}-apc_set_signals.patch
+}
+
+src_compile() {
+ has_php
+
+ my_conf="--enable-apc"
+ enable_extension_enable "apc-mmap" "mmap" 0
+ enable_extension_with_built_with =${PHP_PKG} apache2 apxs /usr/sbin/apxs2 "optimisation for apache2"
+
+ php-ext-pecl-r1_src_compile
+}
+
+src_install() {
+ php-ext-pecl-r1_src_install
+
+ php-ext-base-r1_addtoinifiles "apc.enabled" '"1"'
+ php-ext-base-r1_addtoinifiles "apc.shm_segments" '"1"'
+ php-ext-base-r1_addtoinifiles "apc.shm_size" '"30"'
+ php-ext-base-r1_addtoinifiles "apc.optimization" '"0"'
+ php-ext-base-r1_addtoinifiles "apc.num_files_hint" '"1024"'
+ php-ext-base-r1_addtoinifiles "apc.ttl" '"7200"'
+ php-ext-base-r1_addtoinifiles "apc.user_ttl" '"7200"'
+ php-ext-base-r1_addtoinifiles "apc.gc_ttl" '"3600"'
+ php-ext-base-r1_addtoinifiles "apc.cache_by_default" '"1"'
+ php-ext-base-r1_addtoinifiles ";apc.mmap_file_mask" '"/tmp/apcphp5.XXXXXX"'
+ php-ext-base-r1_addtoinifiles "apc.file_update_protection" '"2"'
+ php-ext-base-r1_addtoinifiles "apc.enable_cli" '"0"'
+ php-ext-base-r1_addtoinifiles "apc.max_file_size" '"1M"'
+ php-ext-base-r1_addtoinifiles "apc.stat" '"1"'
+ php-ext-base-r1_addtoinifiles "apc.write_lock" '"1"'
+
+ dodir "${PHP_EXT_SHARED_DIR}"
+ insinto "${PHP_EXT_SHARED_DIR}"
+ doins apc.php
+}
+
+pkg_postinst() {
+ elog "The apc.php file shipped with this release of PECL-APC was"
+ elog "installed into ${ROOT}usr/share/php5/apc/."
+}