diff options
author | Christian Hoffmann <hoffie@gentoo.org> | 2008-03-28 19:19:43 +0000 |
---|---|---|
committer | Christian Hoffmann <hoffie@gentoo.org> | 2008-03-28 19:19:43 +0000 |
commit | 2ff9cf0895b1dbc68bbd38367a3b529af9e3a7ef (patch) | |
tree | 522369a91ab34416002ce817a2f4ca3d74a5f402 | |
parent | Add gnome2-user-docs to gnome 2.22 mask (diff) | |
download | gentoo-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/ChangeLog | 7 | ||||
-rw-r--r-- | dev-php5/pecl-apc/files/pecl-apc-3.0.16-CVE-2008-1488.patch | 12 | ||||
-rw-r--r-- | dev-php5/pecl-apc/pecl-apc-3.0.16-r1.ebuild | 77 |
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/." +} |