summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-php')
-rw-r--r--dev-php/mod_php/ChangeLog20
-rw-r--r--dev-php/mod_php/Manifest52
-rw-r--r--dev-php/mod_php/files/digest-mod_php-4.3.112
-rw-r--r--dev-php/mod_php/files/digest-mod_php-4.3.11-r12
-rw-r--r--dev-php/mod_php/files/digest-mod_php-4.3.11-r25
-rw-r--r--dev-php/mod_php/files/digest-mod_php-4.4.04
-rw-r--r--dev-php/mod_php/files/digest-mod_php-4.4.0-r14
-rw-r--r--dev-php/mod_php/files/digest-mod_php-4.4.0-r24
-rw-r--r--dev-php/mod_php/files/digest-mod_php-4.4.0-r34
-rw-r--r--dev-php/mod_php/files/digest-mod_php-4.4.0-r45
-rw-r--r--dev-php/mod_php/files/digest-mod_php-4.4.0-r55
-rw-r--r--dev-php/mod_php/files/php4.3.11-fopen_wrappers.patch46
-rw-r--r--dev-php/mod_php/files/php4.3.11-gd_safe_mode.patch39
-rw-r--r--dev-php/mod_php/files/php4.3.11-pspell-ext-segf.patch317
-rw-r--r--dev-php/mod_php/files/php4.3.11-session_save_path-segf.patch154
-rw-r--r--dev-php/mod_php/files/php4.4.0-fopen_wrappers.patch46
-rw-r--r--dev-php/mod_php/files/php4.4.0-gd_safe_mode.patch20
-rw-r--r--dev-php/mod_php/files/php4.4.0-pspell-ext-segf.patch317
-rw-r--r--dev-php/mod_php/files/php4.4.0-session_save_path-segf.patch127
-rw-r--r--dev-php/mod_php/files/stdint.diff11
-rw-r--r--dev-php/mod_php/files/with-iodbc.diff13
-rw-r--r--dev-php/mod_php/mod_php-4.3.11-r1.ebuild6
-rw-r--r--dev-php/mod_php/mod_php-4.3.11-r2.ebuild238
-rw-r--r--dev-php/mod_php/mod_php-4.3.11.ebuild4
-rw-r--r--dev-php/mod_php/mod_php-4.4.0-r1.ebuild4
-rw-r--r--dev-php/mod_php/mod_php-4.4.0-r2.ebuild6
-rw-r--r--dev-php/mod_php/mod_php-4.4.0-r3.ebuild4
-rw-r--r--dev-php/mod_php/mod_php-4.4.0-r4.ebuild235
-rw-r--r--dev-php/mod_php/mod_php-4.4.0-r5.ebuild221
-rw-r--r--dev-php/mod_php/mod_php-4.4.0.ebuild4
-rw-r--r--dev-php/php-cgi/ChangeLog19
-rw-r--r--dev-php/php-cgi/Manifest41
-rw-r--r--dev-php/php-cgi/files/digest-php-cgi-4.3.11-r12
-rw-r--r--dev-php/php-cgi/files/digest-php-cgi-4.3.11-r22
-rw-r--r--dev-php/php-cgi/files/digest-php-cgi-4.3.11-r35
-rw-r--r--dev-php/php-cgi/files/digest-php-cgi-4.4.04
-rw-r--r--dev-php/php-cgi/files/digest-php-cgi-4.4.0-r14
-rw-r--r--dev-php/php-cgi/files/digest-php-cgi-4.4.0-r24
-rw-r--r--dev-php/php-cgi/files/digest-php-cgi-4.4.0-r35
-rw-r--r--dev-php/php-cgi/files/php4.3.11-fopen_wrappers.patch46
-rw-r--r--dev-php/php-cgi/files/php4.3.11-gd_safe_mode.patch39
-rw-r--r--dev-php/php-cgi/files/php4.3.11-pspell-ext-segf.patch317
-rw-r--r--dev-php/php-cgi/files/php4.3.11-session_save_path-segf.patch154
-rw-r--r--dev-php/php-cgi/files/php4.4.0-fopen_wrappers.patch46
-rw-r--r--dev-php/php-cgi/files/php4.4.0-gd_safe_mode.patch20
-rw-r--r--dev-php/php-cgi/files/php4.4.0-pspell-ext-segf.patch317
-rw-r--r--dev-php/php-cgi/files/php4.4.0-session_save_path-segf.patch127
-rw-r--r--dev-php/php-cgi/files/stdint.diff11
-rw-r--r--dev-php/php-cgi/php-cgi-4.3.11-r1.ebuild10
-rw-r--r--dev-php/php-cgi/php-cgi-4.3.11-r2.ebuild22
-rw-r--r--dev-php/php-cgi/php-cgi-4.3.11-r3.ebuild86
-rw-r--r--dev-php/php-cgi/php-cgi-4.4.0-r1.ebuild4
-rw-r--r--dev-php/php-cgi/php-cgi-4.4.0-r2.ebuild16
-rw-r--r--dev-php/php-cgi/php-cgi-4.4.0-r3.ebuild79
-rw-r--r--dev-php/php-cgi/php-cgi-4.4.0.ebuild6
-rw-r--r--dev-php/php/ChangeLog18
-rw-r--r--dev-php/php/Manifest42
-rw-r--r--dev-php/php/files/digest-php-4.3.112
-rw-r--r--dev-php/php/files/digest-php-4.3.11-r12
-rw-r--r--dev-php/php/files/digest-php-4.3.11-r24
-rw-r--r--dev-php/php/files/digest-php-4.4.04
-rw-r--r--dev-php/php/files/digest-php-4.4.0-r14
-rw-r--r--dev-php/php/files/digest-php-4.4.0-r24
-rw-r--r--dev-php/php/files/libmbfl-headers.patch11
-rw-r--r--dev-php/php/files/php4.3.11-fopen_wrappers.patch46
-rw-r--r--dev-php/php/files/php4.3.11-gd_safe_mode.patch39
-rw-r--r--dev-php/php/files/php4.3.11-pspell-ext-segf.patch317
-rw-r--r--dev-php/php/files/php4.3.11-session_save_path-segf.patch154
-rw-r--r--dev-php/php/files/php4.4.0-fopen_wrappers.patch46
-rw-r--r--dev-php/php/files/php4.4.0-gd_safe_mode.patch20
-rw-r--r--dev-php/php/files/php4.4.0-pspell-ext-segf.patch317
-rw-r--r--dev-php/php/files/php4.4.0-session_save_path-segf.patch127
-rw-r--r--dev-php/php/files/stdint.diff11
-rw-r--r--dev-php/php/php-4.3.11-r1.ebuild20
-rw-r--r--dev-php/php/php-4.3.11-r2.ebuild83
-rw-r--r--dev-php/php/php-4.3.11.ebuild8
-rw-r--r--dev-php/php/php-4.4.0-r1.ebuild16
-rw-r--r--dev-php/php/php-4.4.0-r2.ebuild77
-rw-r--r--dev-php/php/php-4.4.0.ebuild4
79 files changed, 4469 insertions, 212 deletions
diff --git a/dev-php/mod_php/ChangeLog b/dev-php/mod_php/ChangeLog
index fd9f026e89c6..2afd96717a94 100644
--- a/dev-php/mod_php/ChangeLog
+++ b/dev-php/mod_php/ChangeLog
@@ -1,6 +1,24 @@
# ChangeLog for dev-php/mod_php
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/ChangeLog,v 1.278 2005/10/07 18:28:27 gustavoz Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/ChangeLog,v 1.279 2005/10/29 22:16:12 chtekk Exp $
+
+*mod_php-4.4.0-r5 (29 Oct 2005)
+*mod_php-4.4.0-r4 (29 Oct 2005)
+
+ 29 Oct 2005; Luca Longinotti <chtekk@gentoo.org>
+ +files/php4.3.11-fopen_wrappers.patch,
+ +files/php4.3.11-gd_safe_mode.patch,
+ +files/php4.3.11-pspell-ext-segf.patch,
+ +files/php4.3.11-session_save_path-segf.patch,
+ +files/php4.4.0-fopen_wrappers.patch, +files/php4.4.0-gd_safe_mode.patch,
+ +files/php4.4.0-pspell-ext-segf.patch,
+ +files/php4.4.0-session_save_path-segf.patch, -files/stdint.diff,
+ -files/with-iodbc.diff, mod_php-4.3.11.ebuild, mod_php-4.3.11-r1.ebuild,
+ +mod_php-4.3.11-r2.ebuild, mod_php-4.4.0.ebuild, mod_php-4.4.0-r1.ebuild,
+ mod_php-4.4.0-r2.ebuild, mod_php-4.4.0-r3.ebuild,
+ +mod_php-4.4.0-r4.ebuild, +mod_php-4.4.0-r5.ebuild:
+ Old-style PHP update: change URI of a mirror, remove two unused patches and
+ fix bugs #99312, #109669, #102943, #107602, #109482.
07 Oct 2005; Gustavo Zacarias <gustavoz@gentoo.org>
mod_php-4.4.0-r3.ebuild:
diff --git a/dev-php/mod_php/Manifest b/dev-php/mod_php/Manifest
index 8231f01f25d5..a78644a1a261 100644
--- a/dev-php/mod_php/Manifest
+++ b/dev-php/mod_php/Manifest
@@ -1,40 +1,42 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-MD5 51eb4b29302b5123fdbc0902b2883929 ChangeLog 48175
+MD5 92ad4f0e9cb25cb5fc26a6d6fb6e3913 ChangeLog 49038
MD5 158cb07377a3e2a0028947b0aeb505cb files/4.3.10-r1/70_mod_php.conf 1017
MD5 2dfe55aa49dbca0c3316e859f8bebcb1 files/4.3.11-r2/70_mod_php.conf 1125
MD5 389638f1d46b6c41cd4d87b471572f4b files/4.4.0-a1/70_mod_php.conf 484
MD5 ee36e31632adb08b7abf70f78b5b2125 files/4.4.0-a2/70_mod_php.conf 485
MD5 79ed63479c494aeb2ed0bc7f5c059fb9 files/70_mod_php.conf 1022
-MD5 225b57325cbdf582288a8796da9d72f5 files/digest-mod_php-4.3.11 287
-MD5 ce1f1b2a1e56cf4459b2cbfdcce6b03f files/digest-mod_php-4.3.11-r1 364
-MD5 9b7f8c71395e9ac97dc87a48c9e4770d files/digest-mod_php-4.4.0 285
-MD5 9b7f8c71395e9ac97dc87a48c9e4770d files/digest-mod_php-4.4.0-r1 285
-MD5 61c52577ff879166da224373e27ad11e files/digest-mod_php-4.4.0-r2 362
-MD5 61c52577ff879166da224373e27ad11e files/digest-mod_php-4.4.0-r3 362
+MD5 cc21a816357d93a1d31cd44f861183c7 files/digest-mod_php-4.3.11 287
+MD5 05df4c881b1833626d9a75a08a0098fd files/digest-mod_php-4.3.11-r1 364
+MD5 05df4c881b1833626d9a75a08a0098fd files/digest-mod_php-4.3.11-r2 364
+MD5 09d7dee078c684b0de0e4de6209ef634 files/digest-mod_php-4.4.0 285
+MD5 09d7dee078c684b0de0e4de6209ef634 files/digest-mod_php-4.4.0-r1 285
+MD5 472ce8342d69fdad9d2a642b03b31bac files/digest-mod_php-4.4.0-r2 362
+MD5 472ce8342d69fdad9d2a642b03b31bac files/digest-mod_php-4.4.0-r3 362
+MD5 472ce8342d69fdad9d2a642b03b31bac files/digest-mod_php-4.4.0-r4 362
+MD5 472ce8342d69fdad9d2a642b03b31bac files/digest-mod_php-4.4.0-r5 362
MD5 7515e9b1dc298a0fb1c12d35a58c265d files/mod_php-4.3.4-amd64hack.diff 1028
MD5 3bf664b414787f8f3c1dcbda5750aef4 files/mod_php-4.3.5-apache1security.diff 425
MD5 cceddd5c262e0ffef31d45b7da269851 files/mod_php.conf 148
MD5 cdec3284251432935f950c2d15a405b7 files/php-4.3.11-flash.patch 694
MD5 b2aa5952d5c805b3e57a5a6bf0f0b8d0 files/php-4.3.11-gmp.patch 925
+MD5 cb36a386184ed6a887f62d2205f57173 files/php4.3.11-fopen_wrappers.patch 1481
+MD5 4db8e0b66cde22dd4e4d9f51e59f6098 files/php4.3.11-gd_safe_mode.patch 1573
MD5 47a031979331eeb527d0918d2c38cdbe files/php4.3.11-imap-symlink.diff 1238
MD5 a9b932952f12aa01a9f98a7fcbf32ed9 files/php4.3.11-pcre-security.patch 6031
+MD5 48d9c939434e9b01d0696410d59c503c files/php4.3.11-pspell-ext-segf.patch 8482
+MD5 17b906361a7ab8a3008446871623eeae files/php4.3.11-session_save_path-segf.patch 4938
+MD5 cb36a386184ed6a887f62d2205f57173 files/php4.4.0-fopen_wrappers.patch 1481
+MD5 a540c54ba22dc16b157edcf1ecb6258f files/php4.4.0-gd_safe_mode.patch 883
MD5 4c86d8ed96f2bb38b94e826c1f028c80 files/php4.4.0-imap-symlink.diff 1238
MD5 54a4ad0766f89185d7de2c6d07b07296 files/php4.4.0-pcre-security.patch 6177
-MD5 ad986b02a371b2fea3b4ae5060c9dc81 files/stdint.diff 358
-MD5 07529a6c32d73282c53d2936ed8ea9bd files/with-iodbc.diff 444
+MD5 48d9c939434e9b01d0696410d59c503c files/php4.4.0-pspell-ext-segf.patch 8482
+MD5 83fb9efb602c178741ea2e40e13b014f files/php4.4.0-session_save_path-segf.patch 4132
MD5 38fe937e954ab7109395cefa86fcd2d4 metadata.xml 384
-MD5 3e54c657a1b15632c17b7d2eea9f322a mod_php-4.3.11-r1.ebuild 7159
-MD5 56190a6344d0e907c007b55af5d4fca0 mod_php-4.3.11.ebuild 6423
-MD5 a3e29df002dbde1d18ab31334ed266ef mod_php-4.4.0-r1.ebuild 6597
-MD5 8d6457890ecaf1bd91d1e79982fb4b5d mod_php-4.4.0-r2.ebuild 7106
-MD5 b968549226d52af5b139ea9c50975888 mod_php-4.4.0-r3.ebuild 6141
-MD5 dacd61e1bba6292b852a354a22be284a mod_php-4.4.0.ebuild 6372
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.2 (GNU/Linux)
-
-iD8DBQFDSLy3gIKl8Uu19MoRAqisAJ4ghe124FPorkQlTLx+UJrRcRnolgCeOeIE
-c0B63yd4DhHd/tCHU8H6tBY=
-=LqsW
------END PGP SIGNATURE-----
+MD5 cc6f2b509133195fe0aa7a0e6f759562 mod_php-4.3.11-r1.ebuild 7129
+MD5 0a9568cdaabea12f7b5c6e8b3210b4b6 mod_php-4.3.11-r2.ebuild 7700
+MD5 2db6ca933590b87c097d879ec7b5e62c mod_php-4.3.11.ebuild 6389
+MD5 5ec0c1f3897e689af1e99d8ab5ca1cde mod_php-4.4.0-r1.ebuild 6563
+MD5 899fcc62ec13a7570941262f274d949c mod_php-4.4.0-r2.ebuild 7076
+MD5 dd0c8f0ce6625504a2e8c978218c29c6 mod_php-4.4.0-r3.ebuild 6145
+MD5 c680e379cd8fdc3a0f5d5be692ce35b7 mod_php-4.4.0-r4.ebuild 7643
+MD5 1a401e9640895970a588a113e8ea01d3 mod_php-4.4.0-r5.ebuild 6715
+MD5 db0f9f6efd84473eac3964342a34e285 mod_php-4.4.0.ebuild 6338
diff --git a/dev-php/mod_php/files/digest-mod_php-4.3.11 b/dev-php/mod_php/files/digest-mod_php-4.3.11
index 56f35b38ea94..46b217bb8db5 100644
--- a/dev-php/mod_php/files/digest-mod_php-4.3.11
+++ b/dev-php/mod_php/files/digest-mod_php-4.3.11
@@ -1,4 +1,4 @@
+MD5 611cdddabfd71ffb724c428be33c14cb hardening-patch-4.3.11-0.3.2.patch.gz 80613
MD5 fbc67d240812136a9842bc1f2a217b7a php-4.3.11.tar.bz2 4012575
MD5 912ff94309b762563d0542db5187315f php-4.3.2-fopen-url-secure.patch 416
MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
-MD5 611cdddabfd71ffb724c428be33c14cb hardening-patch-4.3.11-0.3.2.patch.gz 80613
diff --git a/dev-php/mod_php/files/digest-mod_php-4.3.11-r1 b/dev-php/mod_php/files/digest-mod_php-4.3.11-r1
index 30454e60ba23..8a51d50e2303 100644
--- a/dev-php/mod_php/files/digest-mod_php-4.3.11-r1
+++ b/dev-php/mod_php/files/digest-mod_php-4.3.11-r1
@@ -1,5 +1,5 @@
+MD5 611cdddabfd71ffb724c428be33c14cb hardening-patch-4.3.11-0.3.2.patch.gz 80613
MD5 fbc67d240812136a9842bc1f2a217b7a php-4.3.11.tar.bz2 4012575
MD5 912ff94309b762563d0542db5187315f php-4.3.2-fopen-url-secure.patch 416
MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
-MD5 611cdddabfd71ffb724c428be33c14cb hardening-patch-4.3.11-0.3.2.patch.gz 80613
MD5 33be24619f3a10953f9e1e32beeee97a php-pcrelib-new-secpatch.tar.bz2 357619
diff --git a/dev-php/mod_php/files/digest-mod_php-4.3.11-r2 b/dev-php/mod_php/files/digest-mod_php-4.3.11-r2
new file mode 100644
index 000000000000..8a51d50e2303
--- /dev/null
+++ b/dev-php/mod_php/files/digest-mod_php-4.3.11-r2
@@ -0,0 +1,5 @@
+MD5 611cdddabfd71ffb724c428be33c14cb hardening-patch-4.3.11-0.3.2.patch.gz 80613
+MD5 fbc67d240812136a9842bc1f2a217b7a php-4.3.11.tar.bz2 4012575
+MD5 912ff94309b762563d0542db5187315f php-4.3.2-fopen-url-secure.patch 416
+MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
+MD5 33be24619f3a10953f9e1e32beeee97a php-pcrelib-new-secpatch.tar.bz2 357619
diff --git a/dev-php/mod_php/files/digest-mod_php-4.4.0 b/dev-php/mod_php/files/digest-mod_php-4.4.0
index fe5e22bcebde..8f3ade5dd226 100644
--- a/dev-php/mod_php/files/digest-mod_php-4.4.0
+++ b/dev-php/mod_php/files/digest-mod_php-4.4.0
@@ -1,4 +1,4 @@
-MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
+MD5 0a52b85692ebbc299e6b1f6d9d206691 hardening-patch-4.4.0-0.3.2.patch.gz 33347
MD5 912ff94309b762563d0542db5187315f php-4.3.2-fopen-url-secure.patch 416
MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
-MD5 0a52b85692ebbc299e6b1f6d9d206691 hardening-patch-4.4.0-0.3.2.patch.gz 33347
+MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
diff --git a/dev-php/mod_php/files/digest-mod_php-4.4.0-r1 b/dev-php/mod_php/files/digest-mod_php-4.4.0-r1
index fe5e22bcebde..8f3ade5dd226 100644
--- a/dev-php/mod_php/files/digest-mod_php-4.4.0-r1
+++ b/dev-php/mod_php/files/digest-mod_php-4.4.0-r1
@@ -1,4 +1,4 @@
-MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
+MD5 0a52b85692ebbc299e6b1f6d9d206691 hardening-patch-4.4.0-0.3.2.patch.gz 33347
MD5 912ff94309b762563d0542db5187315f php-4.3.2-fopen-url-secure.patch 416
MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
-MD5 0a52b85692ebbc299e6b1f6d9d206691 hardening-patch-4.4.0-0.3.2.patch.gz 33347
+MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
diff --git a/dev-php/mod_php/files/digest-mod_php-4.4.0-r2 b/dev-php/mod_php/files/digest-mod_php-4.4.0-r2
index ef16f21dfdd3..dfbd3919a8b5 100644
--- a/dev-php/mod_php/files/digest-mod_php-4.4.0-r2
+++ b/dev-php/mod_php/files/digest-mod_php-4.4.0-r2
@@ -1,5 +1,5 @@
-MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
+MD5 0a52b85692ebbc299e6b1f6d9d206691 hardening-patch-4.4.0-0.3.2.patch.gz 33347
MD5 912ff94309b762563d0542db5187315f php-4.3.2-fopen-url-secure.patch 416
MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
-MD5 0a52b85692ebbc299e6b1f6d9d206691 hardening-patch-4.4.0-0.3.2.patch.gz 33347
+MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
MD5 33be24619f3a10953f9e1e32beeee97a php-pcrelib-new-secpatch.tar.bz2 357619
diff --git a/dev-php/mod_php/files/digest-mod_php-4.4.0-r3 b/dev-php/mod_php/files/digest-mod_php-4.4.0-r3
index ef16f21dfdd3..dfbd3919a8b5 100644
--- a/dev-php/mod_php/files/digest-mod_php-4.4.0-r3
+++ b/dev-php/mod_php/files/digest-mod_php-4.4.0-r3
@@ -1,5 +1,5 @@
-MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
+MD5 0a52b85692ebbc299e6b1f6d9d206691 hardening-patch-4.4.0-0.3.2.patch.gz 33347
MD5 912ff94309b762563d0542db5187315f php-4.3.2-fopen-url-secure.patch 416
MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
-MD5 0a52b85692ebbc299e6b1f6d9d206691 hardening-patch-4.4.0-0.3.2.patch.gz 33347
+MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
MD5 33be24619f3a10953f9e1e32beeee97a php-pcrelib-new-secpatch.tar.bz2 357619
diff --git a/dev-php/mod_php/files/digest-mod_php-4.4.0-r4 b/dev-php/mod_php/files/digest-mod_php-4.4.0-r4
new file mode 100644
index 000000000000..dfbd3919a8b5
--- /dev/null
+++ b/dev-php/mod_php/files/digest-mod_php-4.4.0-r4
@@ -0,0 +1,5 @@
+MD5 0a52b85692ebbc299e6b1f6d9d206691 hardening-patch-4.4.0-0.3.2.patch.gz 33347
+MD5 912ff94309b762563d0542db5187315f php-4.3.2-fopen-url-secure.patch 416
+MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
+MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
+MD5 33be24619f3a10953f9e1e32beeee97a php-pcrelib-new-secpatch.tar.bz2 357619
diff --git a/dev-php/mod_php/files/digest-mod_php-4.4.0-r5 b/dev-php/mod_php/files/digest-mod_php-4.4.0-r5
new file mode 100644
index 000000000000..dfbd3919a8b5
--- /dev/null
+++ b/dev-php/mod_php/files/digest-mod_php-4.4.0-r5
@@ -0,0 +1,5 @@
+MD5 0a52b85692ebbc299e6b1f6d9d206691 hardening-patch-4.4.0-0.3.2.patch.gz 33347
+MD5 912ff94309b762563d0542db5187315f php-4.3.2-fopen-url-secure.patch 416
+MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
+MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
+MD5 33be24619f3a10953f9e1e32beeee97a php-pcrelib-new-secpatch.tar.bz2 357619
diff --git a/dev-php/mod_php/files/php4.3.11-fopen_wrappers.patch b/dev-php/mod_php/files/php4.3.11-fopen_wrappers.patch
new file mode 100644
index 000000000000..672da5ece63b
--- /dev/null
+++ b/dev-php/mod_php/files/php4.3.11-fopen_wrappers.patch
@@ -0,0 +1,46 @@
+--- main/fopen_wrappers.c 2005/02/02 23:44:07 1.153.2.10
++++ main/fopen_wrappers.c 2005/09/27 15:08:43 1.153.2.10.2.2
+@@ -16,7 +16,7 @@
+ | Jim Winstead <jimw@php.net> |
+ +----------------------------------------------------------------------+
+ */
+-/* $Id: fopen_wrappers.c,v 1.153.2.10 2005/02/02 23:44:07 iliaa Exp $ */
++/* $Id: fopen_wrappers.c,v 1.153.2.10.2.2 2005/09/27 15:08:43 iliaa Exp $ */
+
+ /* {{{ includes
+ */
+@@ -36,14 +36,6 @@
+ #include <winsock.h>
+ #define O_RDONLY _O_RDONLY
+ #include "win32/param.h"
+-#elif defined(NETWARE)
+-/*#include <ws2nlm.h>*/
+-/*#include <sys/socket.h>*/
+-#ifdef NEW_LIBC
+-#include <sys/param.h>
+-#else
+-#include "netware/param.h"
+-#endif
+ #else
+ #include <sys/param.h>
+ #endif
+@@ -57,8 +49,6 @@
+ #if HAVE_PWD_H
+ #ifdef PHP_WIN32
+ #include "win32/pwd.h"
+-#elif defined(NETWARE)
+-#include "netware/pwd.h"
+ #else
+ #include <pwd.h>
+ #endif
+@@ -120,8 +110,8 @@ PHPAPI int php_check_specific_open_based
+ /* Handler for basedirs that end with a / */
+ resolved_basedir_len = strlen(resolved_basedir);
+ if (basedir[strlen(basedir) - 1] == PHP_DIR_SEPARATOR) {
+- if (resolved_basedir[resolved_basedir_len - 1] == '/') {
+- resolved_basedir[resolved_basedir_len - 1] = PHP_DIR_SEPARATOR;
++ if (resolved_basedir[resolved_basedir_len - 1] != PHP_DIR_SEPARATOR) {
++ resolved_basedir[resolved_basedir_len] = PHP_DIR_SEPARATOR;
+ resolved_basedir[++resolved_basedir_len] = '\0';
+ }
+ }
diff --git a/dev-php/mod_php/files/php4.3.11-gd_safe_mode.patch b/dev-php/mod_php/files/php4.3.11-gd_safe_mode.patch
new file mode 100644
index 000000000000..19011120eea2
--- /dev/null
+++ b/dev-php/mod_php/files/php4.3.11-gd_safe_mode.patch
@@ -0,0 +1,39 @@
+--- ext/gd/gd.c 2005/01/17 17:07:57 1.221.2.54
++++ ext/gd/gd.c 2005/10/06 20:44:52 1.221.2.56.2.1
+@@ -18,7 +18,7 @@
+ +----------------------------------------------------------------------+
+ */
+
+-/* $Id: gd.c,v 1.221.2.54 2005/01/17 17:07:57 sniper Exp $ */
++/* $Id: gd.c,v 1.221.2.56.2.1 2005/10/06 20:44:52 iliaa Exp $ */
+
+ /* gd 1.2 is copyright 1994, 1995, Quest Protein Database Center,
+ Cold Spring Harbor Labs. */
+@@ -1644,7 +1644,7 @@ static void _php_image_output(INTERNAL_F
+ }
+
+ if ((argc == 2) || (argc > 2 && Z_STRLEN_PP(file))) {
+- if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC)) {
++ if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC) || (PG(safe_mode) && !php_checkuid(fn, "rb+", CHECKUID_CHECK_FILE_AND_DIR))) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid filename '%s'", fn);
+ RETURN_FALSE;
+ }
+@@ -1699,7 +1699,7 @@ static void _php_image_output(INTERNAL_F
+ char buf[4096];
+ char *path;
+
+- tmp = php_open_temporary_file("", "", &path TSRMLS_CC);
++ tmp = php_open_temporary_file(NULL, NULL, &path TSRMLS_CC);
+ if (tmp == NULL) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to open temporary file");
+ RETURN_FALSE;
+@@ -3017,7 +3017,8 @@ static void php_imagettftext_common(INTE
+ {
+ zval *IM, *EXT = NULL;
+ gdImagePtr im=NULL;
+- int col = -1, x = -1, y = -1, str_len, fontname_len, i, brect[8];
++ long col = -1, x = -1, y = -1;
++ int str_len, fontname_len, i, brect[8];
+ double ptsize, angle;
+ unsigned char *str = NULL, *fontname = NULL;
+ char *error = NULL;
diff --git a/dev-php/mod_php/files/php4.3.11-pspell-ext-segf.patch b/dev-php/mod_php/files/php4.3.11-pspell-ext-segf.patch
new file mode 100644
index 000000000000..a62c42fec553
--- /dev/null
+++ b/dev-php/mod_php/files/php4.3.11-pspell-ext-segf.patch
@@ -0,0 +1,317 @@
+--- ext/pspell/pspell.c 2003-08-28 22:01:29.000000000 +0200
++++ ext/pspell/pspell.c 2005-10-26 23:24:22.000000000 +0200
+@@ -16,7 +16,7 @@
+ +----------------------------------------------------------------------+
+ */
+
+-/* $Id: pspell.c,v 1.28.8.5 2003/08/28 20:01:29 iliaa Exp $ */
++/* $Id: pspell.c,v 1.28.8.5.4.2 2005/10/17 15:43:10 iliaa Exp $ */
+
+ #define IS_EXT_MODULE
+
+@@ -99,6 +99,22 @@
+ delete_pspell_config(config);
+ }
+
++#define PSPELL_FETCH_CONFIG \
++ convert_to_long_ex(conf); \
++ config = (PspellConfig *) zend_list_find(Z_LVAL_PP(conf), &type); \
++ if (config == NULL || type != le_pspell_config) { \
++ php_error_docref(NULL TSRMLS_CC, E_WARNING, "%ld is not a PSPELL config index", Z_LVAL_PP(conf)); \
++ RETURN_FALSE; \
++ } \
++
++#define PSPELL_FETCH_MANAGER \
++ convert_to_long_ex(scin); \
++ manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type); \
++ if (!manager || type != le_pspell) { \
++ php_error_docref(NULL TSRMLS_CC, E_WARNING, "%ld is not a PSPELL result index", Z_LVAL_PP(scin)); \
++ RETURN_FALSE; \
++ } \
++
+ /* {{{ PHP_MINIT_FUNCTION
+ */
+ PHP_MINIT_FUNCTION(pspell)
+@@ -350,14 +366,8 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(conf);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(conf), &type);
++ PSPELL_FETCH_CONFIG;
+
+- if (config == NULL || type != le_pspell_config) {
+- php_error(E_WARNING, "%ld is not a PSPELL config index", Z_LVAL_PP(conf));
+- RETURN_FALSE;
+- }
+-
+ ret = new_pspell_manager(config);
+
+ if(pspell_error_number(ret) != 0){
+@@ -385,13 +395,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ if(pspell_manager_check(manager, Z_STRVAL_PP(word))){
+ RETURN_TRUE;
+@@ -417,13 +423,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ array_init(return_value);
+
+@@ -455,14 +457,10 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(miss);
+ convert_to_string_ex(corr);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ pspell_manager_store_replacement(manager, Z_STRVAL_PP(miss), Z_STRVAL_PP(corr));
+ if(pspell_manager_error_number(manager) == 0){
+@@ -488,13 +486,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ /*If the word is empty, we have to return; otherwise we'll segfault! ouch!*/
+ if(Z_STRLEN_PP(word) == 0){
+@@ -525,13 +519,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ /*If the word is empty, we have to return; otherwise we'll segfault! ouch!*/
+ if(Z_STRLEN_PP(word) == 0){
+@@ -562,12 +552,7 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_MANAGER;
+
+ pspell_manager_clear_session(manager);
+ if(pspell_manager_error_number(manager) == 0){
+@@ -593,12 +578,7 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_MANAGER;
+
+ pspell_manager_save_all_word_lists(manager);
+
+@@ -666,22 +646,17 @@
+ PHP_FUNCTION(pspell_config_runtogether)
+ {
+ int type;
+- zval **sccin, **runtogether;
++ zval **conf, **runtogether;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&runtogether) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&runtogether) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_boolean_ex(runtogether);
+ pspell_config_replace(config, "run-together", Z_LVAL_PP(runtogether) ? "true" : "false");
+@@ -695,22 +670,17 @@
+ PHP_FUNCTION(pspell_config_mode)
+ {
+ int type;
+- zval **sccin, **mode;
++ zval **conf, **mode;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&mode) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&mode) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_long_ex(mode);
+
+@@ -732,7 +702,7 @@
+ PHP_FUNCTION(pspell_config_ignore)
+ {
+ int type;
+- zval **sccin, **pignore;
++ zval **conf, **pignore;
+ int argc;
+
+ int loc = PSPELL_LARGEST_WORD;
+@@ -742,16 +712,11 @@
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&pignore) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&pignore) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_long_ex(pignore);
+ ignore = Z_LVAL_PP(pignore);
+@@ -782,22 +747,17 @@
+ PHP_FUNCTION(pspell_config_personal)
+ {
+ int type;
+- zval **sccin, **personal;
++ zval **conf, **personal;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&personal) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&personal) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_string_ex(personal);
+
+@@ -820,22 +780,17 @@
+ PHP_FUNCTION(pspell_config_repl)
+ {
+ int type;
+- zval **sccin, **repl;
++ zval **conf, **repl;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&repl) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&repl) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ pspell_config_replace(config, "save-repl", "true");
+
+@@ -860,22 +815,17 @@
+ PHP_FUNCTION(pspell_config_save_repl)
+ {
+ int type;
+- zval **sccin, **save;
++ zval **conf, **save;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&save) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&save) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_boolean_ex(save);
+ pspell_config_replace(config, "save-repl", Z_LVAL_PP(save) ? "true" : "false");
diff --git a/dev-php/mod_php/files/php4.3.11-session_save_path-segf.patch b/dev-php/mod_php/files/php4.3.11-session_save_path-segf.patch
new file mode 100644
index 000000000000..3836776b14b4
--- /dev/null
+++ b/dev-php/mod_php/files/php4.3.11-session_save_path-segf.patch
@@ -0,0 +1,154 @@
+--- sapi/apache2handler/sapi_apache2.c 2005-03-10 12:39:04.000000000 +0100
++++ sapi/apache2handler/sapi_apache2.c 2005-10-26 16:02:03.000000000 +0200
+@@ -18,7 +18,7 @@
+ +----------------------------------------------------------------------+
+ */
+
+-/* $Id: sapi_apache2.c,v 1.1.2.39 2005/03/10 11:39:04 jorton Exp $ */
++/* $Id: sapi_apache2.c,v 1.1.2.40.2.5 2005/10/12 21:41:36 tony2001 Exp $ */
+
+ #include <fcntl.h>
+
+@@ -268,23 +268,18 @@
+ TSRMLS_FETCH();
+
+ ctx = SG(server_context);
+-
+- /* We use APLOG_STARTUP because it keeps us from printing the
+- * data and time information at the beginning of the error log
+- * line. Not sure if this is correct, but it mirrors what happens
+- * with Apache 1.3 -- rbb
+- */
++
+ if (ctx == NULL) { /* we haven't initialized our ctx yet, oh well */
+ ap_log_error(APLOG_MARK, APLOG_ERR | APLOG_STARTUP, 0, NULL, "%s", msg);
+ } else {
+- ap_log_rerror(APLOG_MARK, APLOG_ERR | APLOG_STARTUP, 0, ctx->r, "%s", msg);
++ ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, ctx->r, "%s", msg);
+ }
+ }
+
+ static void php_apache_sapi_log_message_ex(char *msg, request_rec *r)
+ {
+ if (r) {
+- ap_log_rerror(APLOG_MARK, APLOG_ERR | APLOG_STARTUP, 0, r, msg, r->filename);
++ ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, msg, r->filename);
+ } else {
+ php_apache_sapi_log_message(msg);
+ }
+@@ -458,15 +453,34 @@
+ request_rec *parent_req = NULL;
+ TSRMLS_FETCH();
+
++#define PHPAP_INI_OFF \
++ if (strcmp(r->protocol, "INCLUDED")) { \
++ zend_try { zend_ini_deactivate(TSRMLS_C); } zend_end_try(); \
++ } \
++
+ conf = ap_get_module_config(r->per_dir_config, &php4_module);
++
++ /* apply_config() needs r in some cases, so allocate server_context early */
++ ctx = SG(server_context);
++ if (ctx == NULL) {
++ ctx = SG(server_context) = apr_pcalloc(r->pool, sizeof(*ctx));
++ /* register a cleanup so we clear out the SG(server_context)
++ * after each request. Note: We pass in the pointer to the
++ * server_context in case this is handled by a different thread.
++ */
++ apr_pool_cleanup_register(r->pool, (void *)&SG(server_context), php_server_context_cleanup, apr_pool_cleanup_null);
++ ctx->r = r;
++ ctx = NULL; /* May look weird to null it here, but it is to catch the right case in the first_try later on */
++ } else {
++ parent_req = ctx->r;
++ ctx->r = r;
++ }
+ apply_config(conf);
+
+ if (strcmp(r->handler, PHP_MAGIC_TYPE) && strcmp(r->handler, PHP_SOURCE_MAGIC_TYPE) && strcmp(r->handler, PHP_SCRIPT)) {
+ /* Check for xbithack in this case. */
+ if (!AP2(xbithack) || strcmp(r->handler, "text/html") || !(r->finfo.protection & APR_UEXECUTE)) {
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return DECLINED;
+ }
+ }
+@@ -475,32 +489,24 @@
+ * the configuration; default behaviour is to accept. */
+ if (r->used_path_info == AP_REQ_REJECT_PATH_INFO
+ && r->path_info && r->path_info[0]) {
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return HTTP_NOT_FOUND;
+ }
+
+ /* handle situations where user turns the engine off */
+ if (!AP2(engine)) {
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return DECLINED;
+ }
+
+ if (r->finfo.filetype == 0) {
+ php_apache_sapi_log_message_ex("script '%s' not found or unable to stat", r);
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return HTTP_NOT_FOUND;
+ }
+ if (r->finfo.filetype == APR_DIR) {
+ php_apache_sapi_log_message_ex("attempt to invoke directory '%s' as script", r);
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return HTTP_FORBIDDEN;
+ }
+
+@@ -516,24 +522,30 @@
+
+ zend_first_try {
+
+- ctx = SG(server_context);
+ if (ctx == NULL) {
+- ctx = SG(server_context) = apr_pcalloc(r->pool, sizeof(*ctx));
+- /* register a cleanup so we clear out the SG(server_context)
+- * after each request. Note: We pass in the pointer to the
+- * server_context in case this is handled by a different thread.
+- */
+- apr_pool_cleanup_register(r->pool, (void *)&SG(server_context), php_server_context_cleanup, apr_pool_cleanup_null);
+-
+- ctx->r = r;
++normal:
+ brigade = apr_brigade_create(r->pool, r->connection->bucket_alloc);
++ ctx = SG(server_context);
+ ctx->brigade = brigade;
+
+ if (php_apache_request_ctor(r, ctx TSRMLS_CC)!=SUCCESS) {
+ zend_bailout();
+ }
+ } else {
+- parent_req = ctx->r;
++ if (!parent_req) {
++ parent_req = ctx->r;
++ }
++ if (parent_req && strcmp(parent_req->handler, PHP_MAGIC_TYPE) && strcmp(parent_req->handler, PHP_SOURCE_MAGIC_TYPE) && strcmp(parent_req->handler, PHP_SCRIPT)) {
++ if (php_apache_request_ctor(r, ctx TSRMLS_CC)!=SUCCESS) {
++ zend_bailout();
++ }
++ }
++
++ /* check if comming due to ErrorDocument */
++ if (parent_req && parent_req->status != HTTP_OK) {
++ parent_req = NULL;
++ goto normal;
++ }
+ ctx->r = r;
+ brigade = ctx->brigade;
+ }
diff --git a/dev-php/mod_php/files/php4.4.0-fopen_wrappers.patch b/dev-php/mod_php/files/php4.4.0-fopen_wrappers.patch
new file mode 100644
index 000000000000..672da5ece63b
--- /dev/null
+++ b/dev-php/mod_php/files/php4.4.0-fopen_wrappers.patch
@@ -0,0 +1,46 @@
+--- main/fopen_wrappers.c 2005/02/02 23:44:07 1.153.2.10
++++ main/fopen_wrappers.c 2005/09/27 15:08:43 1.153.2.10.2.2
+@@ -16,7 +16,7 @@
+ | Jim Winstead <jimw@php.net> |
+ +----------------------------------------------------------------------+
+ */
+-/* $Id: fopen_wrappers.c,v 1.153.2.10 2005/02/02 23:44:07 iliaa Exp $ */
++/* $Id: fopen_wrappers.c,v 1.153.2.10.2.2 2005/09/27 15:08:43 iliaa Exp $ */
+
+ /* {{{ includes
+ */
+@@ -36,14 +36,6 @@
+ #include <winsock.h>
+ #define O_RDONLY _O_RDONLY
+ #include "win32/param.h"
+-#elif defined(NETWARE)
+-/*#include <ws2nlm.h>*/
+-/*#include <sys/socket.h>*/
+-#ifdef NEW_LIBC
+-#include <sys/param.h>
+-#else
+-#include "netware/param.h"
+-#endif
+ #else
+ #include <sys/param.h>
+ #endif
+@@ -57,8 +49,6 @@
+ #if HAVE_PWD_H
+ #ifdef PHP_WIN32
+ #include "win32/pwd.h"
+-#elif defined(NETWARE)
+-#include "netware/pwd.h"
+ #else
+ #include <pwd.h>
+ #endif
+@@ -120,8 +110,8 @@ PHPAPI int php_check_specific_open_based
+ /* Handler for basedirs that end with a / */
+ resolved_basedir_len = strlen(resolved_basedir);
+ if (basedir[strlen(basedir) - 1] == PHP_DIR_SEPARATOR) {
+- if (resolved_basedir[resolved_basedir_len - 1] == '/') {
+- resolved_basedir[resolved_basedir_len - 1] = PHP_DIR_SEPARATOR;
++ if (resolved_basedir[resolved_basedir_len - 1] != PHP_DIR_SEPARATOR) {
++ resolved_basedir[resolved_basedir_len] = PHP_DIR_SEPARATOR;
+ resolved_basedir[++resolved_basedir_len] = '\0';
+ }
+ }
diff --git a/dev-php/mod_php/files/php4.4.0-gd_safe_mode.patch b/dev-php/mod_php/files/php4.4.0-gd_safe_mode.patch
new file mode 100644
index 000000000000..1e0d49d1373c
--- /dev/null
+++ b/dev-php/mod_php/files/php4.4.0-gd_safe_mode.patch
@@ -0,0 +1,20 @@
+--- ext/gd/gd.c 2005/05/06 16:51:54 1.221.2.56
++++ ext/gd/gd.c 2005/10/06 20:44:52 1.221.2.56.2.1
+@@ -18,7 +18,7 @@
+ +----------------------------------------------------------------------+
+ */
+
+-/* $Id: gd.c,v 1.221.2.56 2005/05/06 16:51:54 tony2001 Exp $ */
++/* $Id: gd.c,v 1.221.2.56.2.1 2005/10/06 20:44:52 iliaa Exp $ */
+
+ /* gd 1.2 is copyright 1994, 1995, Quest Protein Database Center,
+ Cold Spring Harbor Labs. */
+@@ -1644,7 +1644,7 @@ static void _php_image_output(INTERNAL_F
+ }
+
+ if ((argc == 2) || (argc > 2 && Z_STRLEN_PP(file))) {
+- if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC)) {
++ if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC) || (PG(safe_mode) && !php_checkuid(fn, "rb+", CHECKUID_CHECK_FILE_AND_DIR))) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid filename '%s'", fn);
+ RETURN_FALSE;
+ }
diff --git a/dev-php/mod_php/files/php4.4.0-pspell-ext-segf.patch b/dev-php/mod_php/files/php4.4.0-pspell-ext-segf.patch
new file mode 100644
index 000000000000..a62c42fec553
--- /dev/null
+++ b/dev-php/mod_php/files/php4.4.0-pspell-ext-segf.patch
@@ -0,0 +1,317 @@
+--- ext/pspell/pspell.c 2003-08-28 22:01:29.000000000 +0200
++++ ext/pspell/pspell.c 2005-10-26 23:24:22.000000000 +0200
+@@ -16,7 +16,7 @@
+ +----------------------------------------------------------------------+
+ */
+
+-/* $Id: pspell.c,v 1.28.8.5 2003/08/28 20:01:29 iliaa Exp $ */
++/* $Id: pspell.c,v 1.28.8.5.4.2 2005/10/17 15:43:10 iliaa Exp $ */
+
+ #define IS_EXT_MODULE
+
+@@ -99,6 +99,22 @@
+ delete_pspell_config(config);
+ }
+
++#define PSPELL_FETCH_CONFIG \
++ convert_to_long_ex(conf); \
++ config = (PspellConfig *) zend_list_find(Z_LVAL_PP(conf), &type); \
++ if (config == NULL || type != le_pspell_config) { \
++ php_error_docref(NULL TSRMLS_CC, E_WARNING, "%ld is not a PSPELL config index", Z_LVAL_PP(conf)); \
++ RETURN_FALSE; \
++ } \
++
++#define PSPELL_FETCH_MANAGER \
++ convert_to_long_ex(scin); \
++ manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type); \
++ if (!manager || type != le_pspell) { \
++ php_error_docref(NULL TSRMLS_CC, E_WARNING, "%ld is not a PSPELL result index", Z_LVAL_PP(scin)); \
++ RETURN_FALSE; \
++ } \
++
+ /* {{{ PHP_MINIT_FUNCTION
+ */
+ PHP_MINIT_FUNCTION(pspell)
+@@ -350,14 +366,8 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(conf);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(conf), &type);
++ PSPELL_FETCH_CONFIG;
+
+- if (config == NULL || type != le_pspell_config) {
+- php_error(E_WARNING, "%ld is not a PSPELL config index", Z_LVAL_PP(conf));
+- RETURN_FALSE;
+- }
+-
+ ret = new_pspell_manager(config);
+
+ if(pspell_error_number(ret) != 0){
+@@ -385,13 +395,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ if(pspell_manager_check(manager, Z_STRVAL_PP(word))){
+ RETURN_TRUE;
+@@ -417,13 +423,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ array_init(return_value);
+
+@@ -455,14 +457,10 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(miss);
+ convert_to_string_ex(corr);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ pspell_manager_store_replacement(manager, Z_STRVAL_PP(miss), Z_STRVAL_PP(corr));
+ if(pspell_manager_error_number(manager) == 0){
+@@ -488,13 +486,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ /*If the word is empty, we have to return; otherwise we'll segfault! ouch!*/
+ if(Z_STRLEN_PP(word) == 0){
+@@ -525,13 +519,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ /*If the word is empty, we have to return; otherwise we'll segfault! ouch!*/
+ if(Z_STRLEN_PP(word) == 0){
+@@ -562,12 +552,7 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_MANAGER;
+
+ pspell_manager_clear_session(manager);
+ if(pspell_manager_error_number(manager) == 0){
+@@ -593,12 +578,7 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_MANAGER;
+
+ pspell_manager_save_all_word_lists(manager);
+
+@@ -666,22 +646,17 @@
+ PHP_FUNCTION(pspell_config_runtogether)
+ {
+ int type;
+- zval **sccin, **runtogether;
++ zval **conf, **runtogether;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&runtogether) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&runtogether) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_boolean_ex(runtogether);
+ pspell_config_replace(config, "run-together", Z_LVAL_PP(runtogether) ? "true" : "false");
+@@ -695,22 +670,17 @@
+ PHP_FUNCTION(pspell_config_mode)
+ {
+ int type;
+- zval **sccin, **mode;
++ zval **conf, **mode;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&mode) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&mode) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_long_ex(mode);
+
+@@ -732,7 +702,7 @@
+ PHP_FUNCTION(pspell_config_ignore)
+ {
+ int type;
+- zval **sccin, **pignore;
++ zval **conf, **pignore;
+ int argc;
+
+ int loc = PSPELL_LARGEST_WORD;
+@@ -742,16 +712,11 @@
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&pignore) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&pignore) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_long_ex(pignore);
+ ignore = Z_LVAL_PP(pignore);
+@@ -782,22 +747,17 @@
+ PHP_FUNCTION(pspell_config_personal)
+ {
+ int type;
+- zval **sccin, **personal;
++ zval **conf, **personal;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&personal) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&personal) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_string_ex(personal);
+
+@@ -820,22 +780,17 @@
+ PHP_FUNCTION(pspell_config_repl)
+ {
+ int type;
+- zval **sccin, **repl;
++ zval **conf, **repl;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&repl) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&repl) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ pspell_config_replace(config, "save-repl", "true");
+
+@@ -860,22 +815,17 @@
+ PHP_FUNCTION(pspell_config_save_repl)
+ {
+ int type;
+- zval **sccin, **save;
++ zval **conf, **save;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&save) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&save) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_boolean_ex(save);
+ pspell_config_replace(config, "save-repl", Z_LVAL_PP(save) ? "true" : "false");
diff --git a/dev-php/mod_php/files/php4.4.0-session_save_path-segf.patch b/dev-php/mod_php/files/php4.4.0-session_save_path-segf.patch
new file mode 100644
index 000000000000..8f936ae5ec39
--- /dev/null
+++ b/dev-php/mod_php/files/php4.4.0-session_save_path-segf.patch
@@ -0,0 +1,127 @@
+--- sapi/apache2handler/sapi_apache2.c 2005/04/08 20:35:02 1.1.2.40
++++ sapi/apache2handler/sapi_apache2.c 2005/10/12 21:41:36 1.1.2.40.2.5
+@@ -18,7 +18,7 @@
+ +----------------------------------------------------------------------+
+ */
+
+-/* $Id: sapi_apache2.c,v 1.1.2.40 2005/04/08 20:35:02 sniper Exp $ */
++/* $Id: sapi_apache2.c,v 1.1.2.40.2.5 2005/10/12 21:41:36 tony2001 Exp $ */
+
+ #include <fcntl.h>
+
+@@ -453,15 +453,34 @@ static int php_handler(request_rec *r)
+ request_rec *parent_req = NULL;
+ TSRMLS_FETCH();
+
++#define PHPAP_INI_OFF \
++ if (strcmp(r->protocol, "INCLUDED")) { \
++ zend_try { zend_ini_deactivate(TSRMLS_C); } zend_end_try(); \
++ } \
++
+ conf = ap_get_module_config(r->per_dir_config, &php4_module);
++
++ /* apply_config() needs r in some cases, so allocate server_context early */
++ ctx = SG(server_context);
++ if (ctx == NULL) {
++ ctx = SG(server_context) = apr_pcalloc(r->pool, sizeof(*ctx));
++ /* register a cleanup so we clear out the SG(server_context)
++ * after each request. Note: We pass in the pointer to the
++ * server_context in case this is handled by a different thread.
++ */
++ apr_pool_cleanup_register(r->pool, (void *)&SG(server_context), php_server_context_cleanup, apr_pool_cleanup_null);
++ ctx->r = r;
++ ctx = NULL; /* May look weird to null it here, but it is to catch the right case in the first_try later on */
++ } else {
++ parent_req = ctx->r;
++ ctx->r = r;
++ }
+ apply_config(conf);
+
+ if (strcmp(r->handler, PHP_MAGIC_TYPE) && strcmp(r->handler, PHP_SOURCE_MAGIC_TYPE) && strcmp(r->handler, PHP_SCRIPT)) {
+ /* Check for xbithack in this case. */
+ if (!AP2(xbithack) || strcmp(r->handler, "text/html") || !(r->finfo.protection & APR_UEXECUTE)) {
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return DECLINED;
+ }
+ }
+@@ -470,32 +489,24 @@ static int php_handler(request_rec *r)
+ * the configuration; default behaviour is to accept. */
+ if (r->used_path_info == AP_REQ_REJECT_PATH_INFO
+ && r->path_info && r->path_info[0]) {
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return HTTP_NOT_FOUND;
+ }
+
+ /* handle situations where user turns the engine off */
+ if (!AP2(engine)) {
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return DECLINED;
+ }
+
+ if (r->finfo.filetype == 0) {
+ php_apache_sapi_log_message_ex("script '%s' not found or unable to stat", r);
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return HTTP_NOT_FOUND;
+ }
+ if (r->finfo.filetype == APR_DIR) {
+ php_apache_sapi_log_message_ex("attempt to invoke directory '%s' as script", r);
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return HTTP_FORBIDDEN;
+ }
+
+@@ -511,24 +522,30 @@ static int php_handler(request_rec *r)
+
+ zend_first_try {
+
+- ctx = SG(server_context);
+ if (ctx == NULL) {
+- ctx = SG(server_context) = apr_pcalloc(r->pool, sizeof(*ctx));
+- /* register a cleanup so we clear out the SG(server_context)
+- * after each request. Note: We pass in the pointer to the
+- * server_context in case this is handled by a different thread.
+- */
+- apr_pool_cleanup_register(r->pool, (void *)&SG(server_context), php_server_context_cleanup, apr_pool_cleanup_null);
+-
+- ctx->r = r;
++normal:
+ brigade = apr_brigade_create(r->pool, r->connection->bucket_alloc);
++ ctx = SG(server_context);
+ ctx->brigade = brigade;
+
+ if (php_apache_request_ctor(r, ctx TSRMLS_CC)!=SUCCESS) {
+ zend_bailout();
+ }
+ } else {
+- parent_req = ctx->r;
++ if (!parent_req) {
++ parent_req = ctx->r;
++ }
++ if (parent_req && strcmp(parent_req->handler, PHP_MAGIC_TYPE) && strcmp(parent_req->handler, PHP_SOURCE_MAGIC_TYPE) && strcmp(parent_req->handler, PHP_SCRIPT)) {
++ if (php_apache_request_ctor(r, ctx TSRMLS_CC)!=SUCCESS) {
++ zend_bailout();
++ }
++ }
++
++ /* check if comming due to ErrorDocument */
++ if (parent_req && parent_req->status != HTTP_OK) {
++ parent_req = NULL;
++ goto normal;
++ }
+ ctx->r = r;
+ brigade = ctx->brigade;
+ }
diff --git a/dev-php/mod_php/files/stdint.diff b/dev-php/mod_php/files/stdint.diff
deleted file mode 100644
index 451d7fb44cf3..000000000000
--- a/dev-php/mod_php/files/stdint.diff
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Nura php-4.3.10/Zend/zend_strtod.c php-4.3.10.stdint/Zend/zend_strtod.c
---- php-4.3.10/Zend/zend_strtod.c 2004-12-14 05:35:26.000000000 -0300
-+++ php-4.3.10.stdint/Zend/zend_strtod.c 2004-12-16 15:33:47.000000000 -0300
-@@ -128,6 +128,7 @@
- #endif
-
- #if defined(__sparc__) || defined(__ppc__)
-+#include <stdint.h>
- #define u_int32_t uint32_t
- #endif
-
diff --git a/dev-php/mod_php/files/with-iodbc.diff b/dev-php/mod_php/files/with-iodbc.diff
deleted file mode 100644
index 5bf1fc3131e2..000000000000
--- a/dev-php/mod_php/files/with-iodbc.diff
+++ /dev/null
@@ -1,13 +0,0 @@
---- ext/odbc/php_odbc_includes.h~ 2005-02-22 17:55:18.000000000 +0000
-+++ ext/odbc/php_odbc_includes.h 2005-02-22 17:55:26.000000000 +0000
-@@ -91,8 +91,8 @@
- #elif defined(HAVE_IODBC) /* iODBC library */
-
- #define ODBC_TYPE "iODBC"
--#include <isql.h>
--#include <isqlext.h>
-+#include <iodbc/isql.h>
-+#include <iodbc/isqlext.h>
- #define HAVE_SQL_EXTENDED_FETCH 1
- #define SQL_FD_FETCH_ABSOLUTE 0x00000010L
- #define SQL_CURSOR_DYNAMIC 2UL
diff --git a/dev-php/mod_php/mod_php-4.3.11-r1.ebuild b/dev-php/mod_php/mod_php-4.3.11-r1.ebuild
index b785db41d5fb..535ddbcd27c2 100644
--- a/dev-php/mod_php/mod_php-4.3.11-r1.ebuild
+++ b/dev-php/mod_php/mod_php-4.3.11-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/mod_php-4.3.11-r1.ebuild,v 1.17 2005/10/01 09:15:46 ferringb Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/mod_php-4.3.11-r1.ebuild,v 1.18 2005/10/29 22:16:12 chtekk Exp $
IUSE="apache2"
@@ -71,7 +71,7 @@ PDEPEND=">=${PHP_PROVIDER_PKG}-4.3.11"
PROVIDE="${PROVIDE} virtual/httpd-php"
# fixed PCRE library for security issues, bug #102373
-SRC_URI="${SRC_URI} http://dl.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
+SRC_URI="${SRC_URI} http://gentoo.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
# Add a 'return 0' as we DON'T want the return code checked
pkg_setup() {
@@ -202,7 +202,7 @@ pkg_postinst() {
apache2msg
else
einfo "1. Execute the command:"
- einfo " \"ebuild /var/db/pkg/${CATEGORY}/${PF}/${PF}.ebuild config\""
+ einfo " \"emerge --config =${PF}\""
einfo "2. Edit /etc/conf.d/apache and add \"-D PHP4\" to APACHE_OPTS"
einfo "That will include the php mime types in your configuration"
einfo "automagically and setup Apache to load php when it starts."
diff --git a/dev-php/mod_php/mod_php-4.3.11-r2.ebuild b/dev-php/mod_php/mod_php-4.3.11-r2.ebuild
new file mode 100644
index 000000000000..fa5d55b0b0ff
--- /dev/null
+++ b/dev-php/mod_php/mod_php-4.3.11-r2.ebuild
@@ -0,0 +1,238 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/mod_php-4.3.11-r2.ebuild,v 1.10 2005/10/29 22:16:12 chtekk Exp $
+
+IUSE="apache2"
+
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+
+detectapache() {
+ # DO NOT REPLICATE THIS IN ANY OTHER PACKAGE WITHOUT PORTAGE DEVS PERMISSION
+ # IT IS BROKEN AND A TEMPORARY MEASURE!
+ # YOU'VE BEEN WARNED.
+ if [[ ${EBUILD_PHASE/depend} != ${EBUILD_PHASE} ]]; then
+ APACHEVER=1
+ return
+ fi
+ local domsg=
+ [ -n "$1" ] && domsg=1
+ HAVE_APACHE1=
+ HAVE_APACHE2=
+ has_version '=net-www/apache-1*' && HAVE_APACHE1=1
+ has_version '=net-www/apache-2*' && HAVE_APACHE2=1
+
+ [ -n "${HAVE_APACHE1}" ] && APACHEVER=1
+ [ -n "${HAVE_APACHE2}" ] && APACHEVER=2
+ [ -n "${HAVE_APACHE1}" ] && [ -n "${HAVE_APACHE2}" ] && APACHEVER='both'
+
+ case "${APACHEVER}" in
+ 1) [ -n "${domsg}" ] && einfo 'Apache1 only detected' ;;
+ 2) [ -n "${domsg}" ] && einfo 'Apache2 only detected';;
+ both)
+ if use apache2; then
+ [ -n "${domsg}" ] && einfo "Multiple Apache versions detected, using Apache2 (USE=apache2)"
+ APACHEVER=2
+ else
+ [ -n "${domsg}" ] && einfo 'Multiple Apache versions detected, using Apache1 (USE=-apache2)'
+ APACHEVER=1
+ fi ;;
+ *) if [ -n "${domsg}" ]; then
+ MSG="Unknown Apache version!"; eerror $MSG ; die $MSG
+ else
+ APACHEVER=0
+ fi; ;;
+ esac
+}
+
+detectapache
+
+SLOT="${APACHEVER}"
+[ "${APACHEVER}" -eq '2' ] && USE_APACHE2='2' || USE_APACHE2=''
+
+PHPSAPI="apache${APACHEVER}"
+SRC_URI_BASE="http://downloads.php.net/ilia/" # for RC only
+
+# BIG FAT WARNING!
+# the php eclass requires the PHPSAPI setting!
+# In this case the PHPSAPI setting is dependant on the detectapache function
+# above this point as well!
+inherit php-sapi eutils
+
+DESCRIPTION="Apache module for PHP"
+
+DEPEND_EXTRA=">=net-www/apache-1.3.26-r2
+ apache2? ( >=net-www/apache-2.0.43-r1
+ !>=net-www/apache-2.0.54-r30 )"
+DEPEND="${DEPEND} ${DEPEND_EXTRA}"
+RDEPEND="${RDEPEND} ${DEPEND_EXTRA}"
+IUSE="${IUSE} debug"
+# for this revision only
+PDEPEND=">=${PHP_PROVIDER_PKG}-4.3.11"
+PROVIDE="${PROVIDE} virtual/httpd-php"
+
+# fixed PCRE library for security issues, bug #102373
+SRC_URI="${SRC_URI} http://gentoo.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
+
+# Add a 'return 0' as we DON'T want the return code checked
+pkg_setup() {
+ use debug && einfo "Installing in SLOT=${SLOT}"
+ return 0
+}
+
+src_unpack() {
+ multiinstwarn
+ detectapache domsg
+ php-sapi_src_unpack
+ if [ "${ARCH}" == "amd64" ] ; then
+ epatch ${FILESDIR}/mod_php-4.3.4-amd64hack.diff
+ fi
+
+ # bug fix for security problem - bug #39952
+ # second revision as the apache2 stuff was resolved upstream
+ epatch ${FILESDIR}/mod_php-4.3.5-apache1security.diff
+
+ # Bug 88756
+ use flash && epatch ${FILESDIR}/php-4.3.11-flash.patch
+
+ # Bug 88795
+ use gmp && epatch ${FILESDIR}/php-4.3.11-gmp.patch
+
+ # stop php from activing the apache config, as we will do that ourselves
+ for i in configure sapi/apache/config.m4 sapi/apache2filter/config.m4 sapi/apache2handler/config.m4; do
+ sed -i.orig -e 's,-i -a -n php4,-i -n php4,g' $i
+ done
+
+ # fix imap symlink creation, bug #105351
+ use imap && epatch ${FILESDIR}/php4.3.11-imap-symlink.diff
+
+ # patch to fix pspell extension, bug #99312 (new patch by upstream)
+ use spell && epatch "${FILESDIR}/php4.3.11-pspell-ext-segf.patch"
+
+ # patch to fix safe_mode bypass in GD extension, bug #109669
+ if use gd || use gd-external ; then
+ epatch "${FILESDIR}/php4.3.11-gd_safe_mode.patch"
+ fi
+
+ # patch open_basedir directory bypass, bug #102943
+ epatch "${FILESDIR}/php4.3.11-fopen_wrappers.patch"
+
+ # patch to fix session.save_path segfault and other issues in
+ # the apache2handler SAPI, bug #107602
+ epatch "${FILESDIR}/php4.3.11-session_save_path-segf.patch"
+
+ # we need to unpack the files here, the eclass doesn't handle this
+ cd ${WORKDIR}
+ unpack php-pcrelib-new-secpatch.tar.bz2
+ cd ${S}
+
+ # patch to fix PCRE library security issues, bug #102373
+ epatch ${FILESDIR}/php4.3.11-pcre-security.patch
+
+ # sobstitute the bundled PCRE library with a fixed version for bug #102373
+ einfo "Updating bundled PCRE library"
+ rm -rf ${S}/ext/pcre/pcrelib && mv -f ${WORKDIR}/pcrelib-new ${S}/ext/pcre/pcrelib || die "Unable to update the bundled PCRE library"
+}
+
+src_compile() {
+ # Every Apache2 MPM EXCEPT prefork needs Zend Thread Safety
+ if [ -n "${USE_APACHE2}" ]; then
+ APACHE2_MPM="`/usr/sbin/apache2 -l |egrep 'worker|perchild|leader|threadpool|prefork'|cut -d. -f1|sed -e 's/^[[:space:]]*//g;s/[[:space:]]+/ /g;'`"
+ einfo "Apache2 MPM: ${APACHE2_MPM}"
+ case "${APACHE2_MPM}" in
+ *prefork*) ;;
+ *) myconf="${myconf} --enable-experimental-zts" ; ewarn "Enabling ZTS for Apache2 MPM" ;;
+ esac;
+ fi
+
+ #use apache2 \
+ myconf="${myconf} --with-apxs${USE_APACHE2}=/usr/sbin/apxs${USE_APACHE2}"
+
+ php-sapi_src_compile
+}
+
+
+src_install() {
+ PHP_INSTALLTARGETS="install"
+ php-sapi_src_install
+ einfo "Adding extra symlink to php.ini for Apache${USE_APACHE2}"
+ dodir /etc/apache${USE_APACHE2}/conf/
+ dodir ${PHPINIDIRECTORY}
+ dosym ${PHPINIDIRECTORY}/${PHPINIFILENAME} /etc/apache${USE_APACHE2}/conf/${PHPINIFILENAME}
+
+ einfo "Cleaning up a little"
+ rm -rf ${D}/usr/lib/apache${USE_APACHE2}/modules/libphp4.so
+ einfo "Adding extra symlink to Apache${USE_APACHE2} extramodules for PHP"
+ dosym /usr/lib/apache${USE_APACHE2}-extramodules ${PHPINIDIRECTORY}/lib
+ exeinto /usr/lib/apache${USE_APACHE2}-extramodules
+ einfo "Installing mod_php shared object now"
+ doexe .libs/libphp4.so
+
+ if [ -n "${USE_APACHE2}" ] ; then
+ einfo "Installing a Apache2 config for PHP (70_mod_php.conf)"
+ insinto /etc/apache2/conf/modules.d
+ doins ${FILESDIR}/70_mod_php.conf
+ else
+ einfo "Installing a Apache config for PHP (mod_php.conf)"
+ insinto /etc/apache/conf/addon-modules
+ doins ${FILESDIR}/mod_php.conf
+ dosym ${PHPINIDIRECTORY}/${PHPINIFILENAME} /etc/apache/conf/addon-modules/${PHPINIFILENAME}
+ fi
+}
+
+apache2msg() {
+ einfo "Edit /etc/conf.d/apache2 and add \"-D PHP4\" to APACHE2_OPTS"
+ ewarn "This is a CHANGE from previous behavior, which was \"-D PHP\""
+ ewarn "This is for the upcoming PHP5 support. The ebuild will attempt"
+ ewarn "to make this update between PHP and PHP4 automatically"
+}
+
+multiinstwarn() {
+ ewarn "Due to some previous bloopers with PHP and slotting, you may have"
+ ewarn "multiple instances of mod_php installed. Please look at the autoclean"
+ ewarn "output at the end of the emerge and unmerge all but relevant"
+ ewarn "instances."
+}
+
+apache2fix() {
+ if egrep -q -- '-D PHP\>' /etc/conf.d/apache2; then
+ einfo "Attemping to update /etc/conf.d/apache2 automatically for the PHP/PHP4 change."
+ local oldfile="/etc/conf.d/apache2.old.`date +%Y%m%d%H%M%S`"
+ cp /etc/conf.d/apache2 ${oldfile}
+ sed -re 's,-D PHP\>,-D PHP4,g' ${oldfile} <${oldfile} >/etc/conf.d/apache2
+ fi
+}
+
+
+pkg_preinst() {
+ multiinstwarn
+ [ "${APACHEVER}" -eq '2' ] && apache2fix
+ php-sapi_pkg_preinst
+}
+
+pkg_postinst() {
+ php-sapi_pkg_postinst
+ multiinstwarn
+ einfo "To have Apache run php programs, please do the following:"
+ if [ -n "${USE_APACHE2}" ]; then
+ apache2msg
+ else
+ einfo "1. Execute the command:"
+ einfo " \"emerge --config =${PF}\""
+ einfo "2. Edit /etc/conf.d/apache and add \"-D PHP4\" to APACHE_OPTS"
+ einfo "That will include the php mime types in your configuration"
+ einfo "automagically and setup Apache to load php when it starts."
+ fi
+}
+
+pkg_config() {
+ multiinstwarn
+ if [ -n "${USE_APACHE2}" ]; then
+ apache2msg
+ else
+ ${ROOT}/usr/sbin/apacheaddmod \
+ ${ROOT}/etc/apache/conf/apache.conf \
+ extramodules/libphp4.so mod_php4.c php4_module \
+ before=perl define=PHP4 addconf=conf/addon-modules/mod_php.conf
+ :;
+ fi
+}
diff --git a/dev-php/mod_php/mod_php-4.3.11.ebuild b/dev-php/mod_php/mod_php-4.3.11.ebuild
index 1231b7d57dd9..e44da70ae88a 100644
--- a/dev-php/mod_php/mod_php-4.3.11.ebuild
+++ b/dev-php/mod_php/mod_php-4.3.11.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/mod_php-4.3.11.ebuild,v 1.19 2005/10/01 09:15:46 ferringb Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/mod_php-4.3.11.ebuild,v 1.20 2005/10/29 22:16:12 chtekk Exp $
IUSE="apache2"
@@ -184,7 +184,7 @@ pkg_postinst() {
apache2msg
else
einfo "1. Execute the command:"
- einfo " \"ebuild /var/db/pkg/${CATEGORY}/${PF}/${PF}.ebuild config\""
+ einfo " \"emerge --config =${PF}\""
einfo "2. Edit /etc/conf.d/apache and add \"-D PHP4\" to APACHE_OPTS"
einfo "That will include the php mime types in your configuration"
einfo "automagically and setup Apache to load php when it starts."
diff --git a/dev-php/mod_php/mod_php-4.4.0-r1.ebuild b/dev-php/mod_php/mod_php-4.4.0-r1.ebuild
index da51e0fdcdc0..32329cacbc84 100644
--- a/dev-php/mod_php/mod_php-4.4.0-r1.ebuild
+++ b/dev-php/mod_php/mod_php-4.4.0-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/mod_php-4.4.0-r1.ebuild,v 1.8 2005/10/01 09:15:46 ferringb Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/mod_php-4.4.0-r1.ebuild,v 1.9 2005/10/29 22:16:12 chtekk Exp $
IUSE="apache2"
@@ -197,7 +197,7 @@ pkg_postinst() {
apache2msg
else
einfo "1. Execute the command:"
- einfo " \"ebuild /var/db/pkg/${CATEGORY}/${PF}/${PF}.ebuild config\""
+ einfo " \"emerge --config =${PF}\""
einfo "2. Edit /etc/conf.d/apache and add \"-D PHP4\" to APACHE_OPTS"
einfo "That will include the php mime types in your configuration"
einfo "automagically and setup Apache to load php when it starts."
diff --git a/dev-php/mod_php/mod_php-4.4.0-r2.ebuild b/dev-php/mod_php/mod_php-4.4.0-r2.ebuild
index 0f90f43101e5..e78001b193cb 100644
--- a/dev-php/mod_php/mod_php-4.4.0-r2.ebuild
+++ b/dev-php/mod_php/mod_php-4.4.0-r2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/mod_php-4.4.0-r2.ebuild,v 1.7 2005/10/01 09:15:46 ferringb Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/mod_php-4.4.0-r2.ebuild,v 1.8 2005/10/29 22:16:12 chtekk Exp $
IUSE="apache2"
@@ -71,7 +71,7 @@ PDEPEND=">=${PHP_PROVIDER_PKG}-4.4.0"
PROVIDE="${PROVIDE} virtual/httpd-php"
# fixed PCRE library for security issues, bug #102373
-SRC_URI="${SRC_URI} http://dl.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
+SRC_URI="${SRC_URI} http://gentoo.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
# Add a 'return 0' as we DON'T want the return code checked
pkg_setup() {
@@ -199,7 +199,7 @@ pkg_postinst() {
apache2msg
else
einfo "1. Execute the command:"
- einfo " \"ebuild /var/db/pkg/${CATEGORY}/${PF}/${PF}.ebuild config\""
+ einfo " \"emerge --config =${PF}\""
einfo "2. Edit /etc/conf.d/apache and add \"-D PHP4\" to APACHE_OPTS"
einfo "That will include the php mime types in your configuration"
einfo "automagically and setup Apache to load php when it starts."
diff --git a/dev-php/mod_php/mod_php-4.4.0-r3.ebuild b/dev-php/mod_php/mod_php-4.4.0-r3.ebuild
index a0f071c0f9cd..2394e92257ee 100644
--- a/dev-php/mod_php/mod_php-4.4.0-r3.ebuild
+++ b/dev-php/mod_php/mod_php-4.4.0-r3.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/mod_php-4.4.0-r3.ebuild,v 1.12 2005/10/09 06:44:23 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/mod_php-4.4.0-r3.ebuild,v 1.13 2005/10/29 22:16:12 chtekk Exp $
IUSE="apache2"
@@ -70,7 +70,7 @@ PDEPEND=">=${PHP_PROVIDER_PKG}-4.4.0"
PROVIDE="${PROVIDE} virtual/httpd-php"
# fixed PCRE library for security issues, bug #102373
-SRC_URI="${SRC_URI} http://dl.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
+SRC_URI="${SRC_URI} http://gentoo.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
# generalize some apache{,2} vars (defined by apache-module.eclass)
if [ -n ${USE_APACHE2} ]; then
diff --git a/dev-php/mod_php/mod_php-4.4.0-r4.ebuild b/dev-php/mod_php/mod_php-4.4.0-r4.ebuild
new file mode 100644
index 000000000000..90417295bea9
--- /dev/null
+++ b/dev-php/mod_php/mod_php-4.4.0-r4.ebuild
@@ -0,0 +1,235 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/mod_php-4.4.0-r4.ebuild,v 1.1 2005/10/29 22:16:12 chtekk Exp $
+
+IUSE="apache2"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+
+detectapache() {
+ # DO NOT REPLICATE THIS IN ANY OTHER PACKAGE WITHOUT PORTAGE DEVS PERMISSION
+ # IT IS BROKEN AND A TEMPORARY MEASURE!
+ # YOU'VE BEEN WARNED.
+ if [[ ${EBUILD_PHASE/depend} != ${EBUILD_PHASE} ]]; then
+ APACHEVER=1
+ return
+ fi
+ local domsg=
+ [ -n "$1" ] && domsg=1
+ HAVE_APACHE1=
+ HAVE_APACHE2=
+ has_version '=net-www/apache-1*' && HAVE_APACHE1=1
+ has_version '=net-www/apache-2*' && HAVE_APACHE2=1
+
+ [ -n "${HAVE_APACHE1}" ] && APACHEVER=1
+ [ -n "${HAVE_APACHE2}" ] && APACHEVER=2
+ [ -n "${HAVE_APACHE1}" ] && [ -n "${HAVE_APACHE2}" ] && APACHEVER='both'
+
+ case "${APACHEVER}" in
+ 1) [ -n "${domsg}" ] && einfo 'Apache1 only detected' ;;
+ 2) [ -n "${domsg}" ] && einfo 'Apache2 only detected';;
+ both)
+ if use apache2; then
+ [ -n "${domsg}" ] && einfo "Multiple Apache versions detected, using Apache2 (USE=apache2)"
+ APACHEVER=2
+ else
+ [ -n "${domsg}" ] && einfo 'Multiple Apache versions detected, using Apache1 (USE=-apache2)'
+ APACHEVER=1
+ fi ;;
+ *) if [ -n "${domsg}" ]; then
+ MSG="Unknown Apache version!"; eerror $MSG ; die $MSG
+ else
+ APACHEVER=0
+ fi; ;;
+ esac
+}
+
+detectapache
+
+SLOT="${APACHEVER}"
+[ "${APACHEVER}" -eq '2' ] && USE_APACHE2='2' || USE_APACHE2=''
+
+PHPSAPI="apache${APACHEVER}"
+#SRC_URI_BASE="http://downloads.php.net/ilia/" # for RC only
+
+# BIG FAT WARNING!
+# the php eclass requires the PHPSAPI setting!
+# In this case the PHPSAPI setting is dependant on the detectapache function
+# above this point as well!
+inherit php-sapi eutils
+
+DESCRIPTION="Apache module for PHP"
+
+DEPEND_EXTRA=">=net-www/apache-1.3.26-r2
+ apache2? ( >=net-www/apache-2.0.43-r1
+ !>=net-www/apache-2.0.54-r30 )"
+DEPEND="${DEPEND} ${DEPEND_EXTRA}"
+RDEPEND="${RDEPEND} ${DEPEND_EXTRA}"
+IUSE="${IUSE} debug"
+# for this revision only
+PDEPEND=">=${PHP_PROVIDER_PKG}-4.4.0"
+PROVIDE="${PROVIDE} virtual/httpd-php"
+
+# fixed PCRE library for security issues, bug #102373
+SRC_URI="${SRC_URI} http://gentoo.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
+
+# Add a 'return 0' as we DON'T want the return code checked
+pkg_setup() {
+ use debug && einfo "Installing in SLOT=${SLOT}"
+ return 0
+}
+
+src_unpack() {
+ multiinstwarn
+ detectapache domsg
+ php-sapi_src_unpack
+ if [ "${ARCH}" == "amd64" ] ; then
+ epatch ${FILESDIR}/mod_php-4.3.4-amd64hack.diff
+ fi
+
+ # bug fix for security problem - bug #39952
+ # second revision as the apache2 stuff was resolved upstream
+ epatch ${FILESDIR}/mod_php-4.3.5-apache1security.diff
+
+ # stop php from activing the apache config, as we will do that ourselves
+ for i in configure sapi/apache/config.m4 sapi/apache2filter/config.m4 sapi/apache2handler/config.m4; do
+ sed -i.orig -e 's,-i -a -n php4,-i -n php4,g' $i
+ done
+
+ # fix imap symlink creation, bug #105351
+ use imap && epatch ${FILESDIR}/php4.4.0-imap-symlink.diff
+
+ # patch to fix pspell extension, bug #99312 (new patch by upstream)
+ use spell && epatch "${FILESDIR}/php4.4.0-pspell-ext-segf.patch"
+
+ # patch to fix safe_mode bypass in GD extension, bug #109669
+ if use gd || use gd-external ; then
+ epatch "${FILESDIR}/php4.4.0-gd_safe_mode.patch"
+ fi
+
+ # patch open_basedir directory bypass, bug #102943
+ epatch "${FILESDIR}/php4.4.0-fopen_wrappers.patch"
+
+ # patch to fix session.save_path segfault and other issues in
+ # the apache2handler SAPI, bug #107602
+ epatch "${FILESDIR}/php4.4.0-session_save_path-segf.patch"
+
+ # we need to unpack the files here, the eclass doesn't handle this
+ cd ${WORKDIR}
+ unpack php-pcrelib-new-secpatch.tar.bz2
+ cd ${S}
+
+ # patch to fix PCRE library security issues, bug #102373
+ epatch ${FILESDIR}/php4.4.0-pcre-security.patch
+
+ # sobstitute the bundled PCRE library with a fixed version for bug #102373
+ einfo "Updating bundled PCRE library"
+ rm -rf ${S}/ext/pcre/pcrelib && mv -f ${WORKDIR}/pcrelib-new ${S}/ext/pcre/pcrelib || die "Unable to update the bundled PCRE library"
+}
+
+src_compile() {
+ # Every Apache2 MPM EXCEPT prefork needs Zend Thread Safety
+ if [ -n "${USE_APACHE2}" ]; then
+ APACHE2_MPM="`/usr/sbin/apache2 -l |egrep 'worker|perchild|leader|threadpool|prefork'|cut -d. -f1|sed -e 's/^[[:space:]]*//g;s/[[:space:]]+/ /g;'`"
+ einfo "Apache2 MPM: ${APACHE2_MPM}"
+ case "${APACHE2_MPM}" in
+ *prefork*) ;;
+ *) myconf="${myconf} --enable-experimental-zts" ; ewarn "Enabling ZTS for Apache2 MPM" ;;
+ esac;
+ fi
+
+ # use apache2
+ myconf="${myconf} --with-apxs${USE_APACHE2}=/usr/sbin/apxs${USE_APACHE2}"
+
+ # Do not build CLI SAPI module.
+ myconf="${myconf} --disable-cli --without-pear"
+
+ php-sapi_src_compile
+}
+
+
+src_install() {
+ PHP_INSTALLTARGETS="install"
+ php-sapi_src_install
+ einfo "Adding extra symlink to php.ini for Apache${USE_APACHE2}"
+ dodir /etc/apache${USE_APACHE2}/conf/
+ dodir ${PHPINIDIRECTORY}
+ dosym ${PHPINIDIRECTORY}/${PHPINIFILENAME} /etc/apache${USE_APACHE2}/conf/${PHPINIFILENAME}
+
+ einfo "Cleaning up a little"
+ rm -rf ${D}/usr/lib/apache${USE_APACHE2}/modules/libphp4.so
+ einfo "Adding extra symlink to Apache${USE_APACHE2} extramodules for PHP"
+ dosym /usr/lib/apache${USE_APACHE2}-extramodules ${PHPINIDIRECTORY}/lib
+ exeinto /usr/lib/apache${USE_APACHE2}-extramodules
+ einfo "Installing mod_php shared object now"
+ doexe .libs/libphp4.so
+
+ if [ -n "${USE_APACHE2}" ] ; then
+ einfo "Installing a Apache2 config for PHP (70_mod_php.conf)"
+ insinto /etc/apache2/conf/modules.d
+ doins ${FILESDIR}/70_mod_php.conf
+ else
+ einfo "Installing a Apache config for PHP (mod_php.conf)"
+ insinto /etc/apache/conf/addon-modules
+ doins ${FILESDIR}/mod_php.conf
+ dosym ${PHPINIDIRECTORY}/${PHPINIFILENAME} /etc/apache/conf/addon-modules/${PHPINIFILENAME}
+ fi
+}
+
+apache2msg() {
+ einfo "Edit /etc/conf.d/apache2 and add \"-D PHP4\" to APACHE2_OPTS"
+ ewarn "This is a CHANGE from previous behavior, which was \"-D PHP\""
+ ewarn "This is for the upcoming PHP5 support. The ebuild will attempt"
+ ewarn "to make this update between PHP and PHP4 automatically"
+}
+
+multiinstwarn() {
+ ewarn "Due to some previous bloopers with PHP and slotting, you may have"
+ ewarn "multiple instances of mod_php installed. Please look at the autoclean"
+ ewarn "output at the end of the emerge and unmerge all but relevant"
+ ewarn "instances."
+}
+
+apache2fix() {
+ if egrep -q -- '-D PHP\>' /etc/conf.d/apache2; then
+ einfo "Attemping to update /etc/conf.d/apache2 automatically for the PHP/PHP4 change."
+ local oldfile="/etc/conf.d/apache2.old.`date +%Y%m%d%H%M%S`"
+ cp /etc/conf.d/apache2 ${oldfile}
+ sed -re 's,-D PHP\>,-D PHP4,g' ${oldfile} <${oldfile} >/etc/conf.d/apache2
+ fi
+}
+
+
+pkg_preinst() {
+ multiinstwarn
+ [ "${APACHEVER}" -eq '2' ] && apache2fix
+ php-sapi_pkg_preinst
+}
+
+pkg_postinst() {
+ php-sapi_pkg_postinst
+ multiinstwarn
+ einfo "To have Apache run php programs, please do the following:"
+ if [ -n "${USE_APACHE2}" ]; then
+ apache2msg
+ else
+ einfo "1. Execute the command:"
+ einfo " \"emerge --config =${PF}\""
+ einfo "2. Edit /etc/conf.d/apache and add \"-D PHP4\" to APACHE_OPTS"
+ einfo "That will include the php mime types in your configuration"
+ einfo "automagically and setup Apache to load php when it starts."
+ fi
+}
+
+pkg_config() {
+ multiinstwarn
+ if [ -n "${USE_APACHE2}" ]; then
+ apache2msg
+ else
+ ${ROOT}/usr/sbin/apacheaddmod \
+ ${ROOT}/etc/apache/conf/apache.conf \
+ extramodules/libphp4.so mod_php4.c php4_module \
+ before=perl define=PHP4 addconf=conf/addon-modules/mod_php.conf
+ :;
+ fi
+}
diff --git a/dev-php/mod_php/mod_php-4.4.0-r5.ebuild b/dev-php/mod_php/mod_php-4.4.0-r5.ebuild
new file mode 100644
index 000000000000..f4875b578a06
--- /dev/null
+++ b/dev-php/mod_php/mod_php-4.4.0-r5.ebuild
@@ -0,0 +1,221 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/mod_php-4.4.0-r5.ebuild,v 1.1 2005/10/29 22:16:12 chtekk Exp $
+
+IUSE="apache2"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+
+detectapache() {
+ # DO NOT REPLICATE THIS IN ANY OTHER PACKAGE WITHOUT PORTAGE DEVS PERMISSION
+ # IT IS BROKEN AND A TEMPORARY MEASURE!
+ # YOU'VE BEEN WARNED.
+ if [[ ${EBUILD_PHASE/depend} != ${EBUILD_PHASE} ]]; then
+ APACHEVER=1
+ return
+ fi
+ local domsg=
+ [ -n "$1" ] && domsg=1
+ HAVE_APACHE1=
+ HAVE_APACHE2=
+ has_version '=net-www/apache-1*' && HAVE_APACHE1=1
+ has_version '=net-www/apache-2*' && HAVE_APACHE2=1
+
+ [ -n "${HAVE_APACHE1}" ] && APACHEVER=1
+ [ -n "${HAVE_APACHE2}" ] && APACHEVER=2
+ [ -n "${HAVE_APACHE1}" ] && [ -n "${HAVE_APACHE2}" ] && APACHEVER='both'
+
+ case "${APACHEVER}" in
+ 1) [ -n "${domsg}" ] && einfo 'Apache1 only detected' ;;
+ 2) [ -n "${domsg}" ] && einfo 'Apache2 only detected';;
+ both)
+ if use apache2; then
+ [ -n "${domsg}" ] && einfo "Multiple Apache versions detected, using Apache2 (USE=apache2)"
+ APACHEVER=2
+ else
+ [ -n "${domsg}" ] && einfo 'Multiple Apache versions detected, using Apache1 (USE=-apache2)'
+ APACHEVER=1
+ fi ;;
+ *) if [ -n "${domsg}" ]; then
+ MSG="Unknown Apache version!"; eerror $MSG ; die $MSG
+ else
+ APACHEVER=0
+ fi; ;;
+ esac
+}
+
+detectapache
+
+SLOT="${APACHEVER}"
+[ "${APACHEVER}" -eq '2' ] && USE_APACHE2='2' || USE_APACHE2=''
+
+PHPSAPI="apache${APACHEVER}"
+#SRC_URI_BASE="http://downloads.php.net/ilia/" # for RC only
+
+# BIG FAT WARNING!
+# the php eclass requires the PHPSAPI setting!
+# In this case the PHPSAPI setting is dependant on the detectapache function
+# above this point as well!
+inherit php-sapi eutils apache-module flag-o-matic
+
+DESCRIPTION="Apache module for PHP"
+
+DEPEND_EXTRA=">=net-www/apache-1.3.33-r10
+ apache2? ( >=net-www/apache-2.0.54-r30 )"
+DEPEND="${DEPEND} ${DEPEND_EXTRA}"
+RDEPEND="${RDEPEND} ${DEPEND_EXTRA}"
+IUSE="${IUSE} debug"
+# for this revision only
+PDEPEND=">=${PHP_PROVIDER_PKG}-4.4.0"
+PROVIDE="${PROVIDE} virtual/httpd-php"
+
+# fixed PCRE library for security issues, bug #102373
+SRC_URI="${SRC_URI} http://gentoo.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
+
+# generalize some apache{,2} vars (defined by apache-module.eclass)
+if [ -n ${USE_APACHE2} ]; then
+ APACHE_MODULESDIR=${APACHE2_MODULESDIR}
+ APACHE_CONFDIR=${APACHE2_CONFDIR}
+else
+ APACHE_MODULESDIR=${APACHE_MODULESDIR}
+ APACHE_CONFDIR=${APACHE_CONFDIR}
+fi
+
+# Add a 'return 0' as we DON'T want the return code checked
+pkg_setup() {
+ use debug && einfo "Installing in SLOT=${SLOT}"
+ return 0
+}
+
+src_unpack() {
+ multiinstwarn
+ detectapache domsg
+ php-sapi_src_unpack
+ if [ "${ARCH}" == "amd64" ] ; then
+ epatch ${FILESDIR}/mod_php-4.3.4-amd64hack.diff
+ fi
+
+ # bug fix for security problem - bug #39952
+ # second revision as the apache2 stuff was resolved upstream
+ epatch ${FILESDIR}/mod_php-4.3.5-apache1security.diff
+
+ # stop php from activing the apache config, as we will do that ourselves
+ for i in configure sapi/apache/config.m4 sapi/apache2filter/config.m4 sapi/apache2handler/config.m4; do
+ sed -i.orig -e 's,-i -a -n php4,-i -n php4,g' $i
+ done
+
+ # fix imap symlink creation, bug #105351
+ use imap && epatch ${FILESDIR}/php4.4.0-imap-symlink.diff
+
+ # patch to fix pspell extension, bug #99312 (new patch by upstream)
+ use spell && epatch "${FILESDIR}/php4.4.0-pspell-ext-segf.patch"
+
+ # patch to fix safe_mode bypass in GD extension, bug #109669
+ if use gd || use gd-external ; then
+ epatch "${FILESDIR}/php4.4.0-gd_safe_mode.patch"
+ fi
+
+ # patch open_basedir directory bypass, bug #102943
+ epatch "${FILESDIR}/php4.4.0-fopen_wrappers.patch"
+
+ # patch to fix session.save_path segfault and other issues in
+ # the apache2handler SAPI, bug #107602
+ epatch "${FILESDIR}/php4.4.0-session_save_path-segf.patch"
+
+ # we need to unpack the files here, the eclass doesn't handle this
+ cd ${WORKDIR}
+ unpack php-pcrelib-new-secpatch.tar.bz2
+ cd ${S}
+
+ # patch to fix PCRE library security issues, bug #102373
+ epatch ${FILESDIR}/php4.4.0-pcre-security.patch
+
+ # sobstitute the bundled PCRE library with a fixed version for bug #102373
+ einfo "Updating bundled PCRE library"
+ rm -rf ${S}/ext/pcre/pcrelib && mv -f ${WORKDIR}/pcrelib-new ${S}/ext/pcre/pcrelib || die "Unable to update the bundled PCRE library"
+}
+
+setup_environ() {
+ append-flags `apr-config --cppflags --cflags`
+}
+
+src_compile() {
+ setup_environ
+
+ # Every Apache2 MPM EXCEPT prefork needs Zend Thread Safety
+ if [ -n "${USE_APACHE2}" ]; then
+ APACHE2_MPM="`/usr/sbin/apache2 -l | egrep 'worker|perchild|leader|threadpool|prefork'|cut -d. -f1|sed -e 's/^[[:space:]]*//g;s/[[:space:]]+/ /g;'`"
+ einfo "Apache2 MPM: ${APACHE2_MPM}"
+ case "${APACHE2_MPM}" in
+ *prefork*) ;;
+ *peruser*) ;;
+ *) myconf="${myconf} --enable-experimental-zts" ; ewarn "Enabling ZTS for Apache2 MPM" ;;
+ esac;
+ fi
+
+ #use apache2
+ myconf="${myconf} --with-apxs${USE_APACHE2}=/usr/sbin/apxs${USE_APACHE2}"
+
+ # Do not build CLI SAPI module.
+ myconf="${myconf} --disable-cli --without-pear"
+
+ php-sapi_src_compile
+}
+
+src_install() {
+ PHP_INSTALLTARGETS="install"
+ php-sapi_src_install
+
+ dodir ${APACHE_CONFDIR}
+ dodir ${PHPINIDIRECTORY}
+
+ einfo "Cleaning up a little"
+ rm -rf ${D}${APACHE_MODULESDIR}/libphp4.so
+
+ exeinto ${APACHE_MODULESDIR}
+ einfo "Installing mod_php shared object now"
+ doexe .libs/libphp4.so
+
+ if [ -n "${USE_APACHE2}" ] ; then
+ einfo "Installing a Apache2 config for PHP (70_mod_php.conf)"
+ insinto ${APACHE2_MODULES_CONFDIR}
+ doins ${FILESDIR}/4.4.0-a2/70_mod_php.conf
+ else
+ einfo "Installing a Apache config for PHP (70_mod_php.conf)"
+ insinto ${APACHE1_MODULES_CONFDIR}
+ doins ${FILESDIR}/4.4.0-a1/70_mod_php.conf
+ fi
+}
+
+multiinstwarn() {
+ ewarn "Due to some previous bloopers with PHP and slotting, you may have"
+ ewarn "multiple instances of mod_php installed. Please look at the autoclean"
+ ewarn "output at the end of the emerge and unmerge all but relevant"
+ ewarn "instances."
+}
+
+apache2fix() {
+ if egrep -q -- '-D PHP\>' /etc/conf.d/apache2; then
+ einfo "Attemping to update /etc/conf.d/apache2 automatically for the PHP/PHP4 change."
+ local oldfile="/etc/conf.d/apache2.old.`date +%Y%m%d%H%M%S`"
+ cp /etc/conf.d/apache2 ${oldfile}
+ sed -re 's,-D PHP\>,-D PHP4,g' ${oldfile} <${oldfile} >/etc/conf.d/apache2
+ fi
+}
+
+
+pkg_preinst() {
+ multiinstwarn
+ [ "${APACHEVER}" -eq '2' ] && apache2fix
+ php-sapi_pkg_preinst
+}
+
+pkg_postinst() {
+ php-sapi_pkg_postinst
+ multiinstwarn
+ APACHE1_MOD_DEFINE="PHP4"
+ APACHE1_MOD_CONF="70_mod_php.conf"
+ APACHE2_MOD_DEFINE="PHP4"
+ APACHE2_MOD_CONF="70_mod_php.conf"
+ apache-module_pkg_postinst
+}
diff --git a/dev-php/mod_php/mod_php-4.4.0.ebuild b/dev-php/mod_php/mod_php-4.4.0.ebuild
index ac84fb15a1a7..eff05d2d8517 100644
--- a/dev-php/mod_php/mod_php-4.4.0.ebuild
+++ b/dev-php/mod_php/mod_php-4.4.0.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/mod_php-4.4.0.ebuild,v 1.18 2005/10/01 09:15:46 ferringb Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-php/mod_php/mod_php-4.4.0.ebuild,v 1.19 2005/10/29 22:16:12 chtekk Exp $
IUSE="apache2"
@@ -181,7 +181,7 @@ pkg_postinst() {
apache2msg
else
einfo "1. Execute the command:"
- einfo " \"ebuild /var/db/pkg/${CATEGORY}/${PF}/${PF}.ebuild config\""
+ einfo " \"emerge --config =${PF}\""
einfo "2. Edit /etc/conf.d/apache and add \"-D PHP4\" to APACHE_OPTS"
einfo "That will include the php mime types in your configuration"
einfo "automagically and setup Apache to load php when it starts."
diff --git a/dev-php/php-cgi/ChangeLog b/dev-php/php-cgi/ChangeLog
index 4fc228b8f2f7..e809f1e031b0 100644
--- a/dev-php/php-cgi/ChangeLog
+++ b/dev-php/php-cgi/ChangeLog
@@ -1,6 +1,23 @@
# ChangeLog for dev-php/php-cgi
# Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-php/php-cgi/ChangeLog,v 1.101 2005/10/02 14:02:26 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-php/php-cgi/ChangeLog,v 1.102 2005/10/29 22:16:13 chtekk Exp $
+
+*php-cgi-4.4.0-r3 (29 Oct 2005)
+*php-cgi-4.3.11-r3 (29 Oct 2005)
+
+ 29 Oct 2005; Luca Longinotti <chtekk@gentoo.org>
+ +files/php4.3.11-gd_safe_mode.patch,
+ +files/php4.3.11-pspell-ext-segf.patch,
+ +files/php4.3.11-session_save_path-segf.patch,
+ +files/php4.4.0-fopen_wrappers.patch, +files/php4.4.0-gd_safe_mode.patch,
+ +files/php4.4.0-pspell-ext-segf.patch,
+ +files/php4.3.11-fopen_wrappers.patch,
+ +files/php4.4.0-session_save_path-segf.patch, -files/stdint.diff,
+ php-cgi-4.3.11-r1.ebuild, php-cgi-4.3.11-r2.ebuild,
+ +php-cgi-4.3.11-r3.ebuild, php-cgi-4.4.0.ebuild, php-cgi-4.4.0-r1.ebuild,
+ php-cgi-4.4.0-r2.ebuild, +php-cgi-4.4.0-r3.ebuild:
+ Old-style PHP update: fix quotation of some vars, change URI of a mirror,
+ remove an unused patch and fix bugs #99312, #109669, #102943, #107602.
02 Oct 2005; Aron Griffis <agriffis@gentoo.org> php-cgi-4.4.0-r2.ebuild:
Mark 4.4.0-r2 stable on ia64
diff --git a/dev-php/php-cgi/Manifest b/dev-php/php-cgi/Manifest
index 538c6d0efe72..b872a1077fea 100644
--- a/dev-php/php-cgi/Manifest
+++ b/dev-php/php-cgi/Manifest
@@ -1,19 +1,30 @@
-MD5 d872a25f985f00e2d9cc17379b2d0492 php-cgi-4.4.0-r1.ebuild 972
-MD5 58596c107f1a23e6be418c9dae669e74 php-cgi-4.4.0.ebuild 969
-MD5 38fe937e954ab7109395cefa86fcd2d4 metadata.xml 384
-MD5 f5e3bed7dc6d3c4c2368a825cf584f20 php-cgi-4.4.0-r2.ebuild 1693
-MD5 64c61e6bc03774965f33ab90b4537baf ChangeLog 13987
-MD5 3c748a970b69c07ad74200cb15f966a5 php-cgi-4.3.11-r2.ebuild 1839
-MD5 87afbaa27805c015e37148d0347887af php-cgi-4.3.11-r1.ebuild 1110
+MD5 106ea3229819240ce4009241c47299d6 ChangeLog 14793
+MD5 cc21a816357d93a1d31cd44f861183c7 files/digest-php-cgi-4.3.11-r1 287
+MD5 05df4c881b1833626d9a75a08a0098fd files/digest-php-cgi-4.3.11-r2 364
+MD5 05df4c881b1833626d9a75a08a0098fd files/digest-php-cgi-4.3.11-r3 364
+MD5 09d7dee078c684b0de0e4de6209ef634 files/digest-php-cgi-4.4.0 285
+MD5 09d7dee078c684b0de0e4de6209ef634 files/digest-php-cgi-4.4.0-r1 285
+MD5 472ce8342d69fdad9d2a642b03b31bac files/digest-php-cgi-4.4.0-r2 362
+MD5 472ce8342d69fdad9d2a642b03b31bac files/digest-php-cgi-4.4.0-r3 362
MD5 cdec3284251432935f950c2d15a405b7 files/php-4.3.11-flash.patch 694
+MD5 b2aa5952d5c805b3e57a5a6bf0f0b8d0 files/php-4.3.11-gmp.patch 925
+MD5 cb36a386184ed6a887f62d2205f57173 files/php4.3.11-fopen_wrappers.patch 1481
+MD5 4db8e0b66cde22dd4e4d9f51e59f6098 files/php4.3.11-gd_safe_mode.patch 1573
+MD5 47a031979331eeb527d0918d2c38cdbe files/php4.3.11-imap-symlink.diff 1238
MD5 a9b932952f12aa01a9f98a7fcbf32ed9 files/php4.3.11-pcre-security.patch 6031
+MD5 48d9c939434e9b01d0696410d59c503c files/php4.3.11-pspell-ext-segf.patch 8482
+MD5 17b906361a7ab8a3008446871623eeae files/php4.3.11-session_save_path-segf.patch 4938
+MD5 cb36a386184ed6a887f62d2205f57173 files/php4.4.0-fopen_wrappers.patch 1481
+MD5 a540c54ba22dc16b157edcf1ecb6258f files/php4.4.0-gd_safe_mode.patch 883
MD5 4c86d8ed96f2bb38b94e826c1f028c80 files/php4.4.0-imap-symlink.diff 1238
-MD5 47a031979331eeb527d0918d2c38cdbe files/php4.3.11-imap-symlink.diff 1238
-MD5 9b7f8c71395e9ac97dc87a48c9e4770d files/digest-php-cgi-4.4.0-r1 285
-MD5 b2aa5952d5c805b3e57a5a6bf0f0b8d0 files/php-4.3.11-gmp.patch 925
-MD5 ce1f1b2a1e56cf4459b2cbfdcce6b03f files/digest-php-cgi-4.3.11-r2 364
-MD5 225b57325cbdf582288a8796da9d72f5 files/digest-php-cgi-4.3.11-r1 287
-MD5 ad986b02a371b2fea3b4ae5060c9dc81 files/stdint.diff 358
-MD5 61c52577ff879166da224373e27ad11e files/digest-php-cgi-4.4.0-r2 362
-MD5 9b7f8c71395e9ac97dc87a48c9e4770d files/digest-php-cgi-4.4.0 285
MD5 54a4ad0766f89185d7de2c6d07b07296 files/php4.4.0-pcre-security.patch 6177
+MD5 48d9c939434e9b01d0696410d59c503c files/php4.4.0-pspell-ext-segf.patch 8482
+MD5 83fb9efb602c178741ea2e40e13b014f files/php4.4.0-session_save_path-segf.patch 4132
+MD5 38fe937e954ab7109395cefa86fcd2d4 metadata.xml 384
+MD5 30ef71fbfbfe2821d5bb609723920efa php-cgi-4.3.11-r1.ebuild 1118
+MD5 83fc94548a6419e7bbb8740047bd8c10 php-cgi-4.3.11-r2.ebuild 1865
+MD5 0ba5c9af3fd45a54b381bfc7f09bddce php-cgi-4.3.11-r3.ebuild 2435
+MD5 96b821432fc376e01c28d777faf074c0 php-cgi-4.4.0-r1.ebuild 974
+MD5 8720056e7b462610adfa73dbc2321e7b php-cgi-4.4.0-r2.ebuild 1713
+MD5 04ecbfe4300091b34f7e0e5612b29b09 php-cgi-4.4.0-r3.ebuild 2280
+MD5 8557de5c40270cf202fd3f43bd479ce4 php-cgi-4.4.0.ebuild 973
diff --git a/dev-php/php-cgi/files/digest-php-cgi-4.3.11-r1 b/dev-php/php-cgi/files/digest-php-cgi-4.3.11-r1
index 56f35b38ea94..46b217bb8db5 100644
--- a/dev-php/php-cgi/files/digest-php-cgi-4.3.11-r1
+++ b/dev-php/php-cgi/files/digest-php-cgi-4.3.11-r1
@@ -1,4 +1,4 @@
+MD5 611cdddabfd71ffb724c428be33c14cb hardening-patch-4.3.11-0.3.2.patch.gz 80613
MD5 fbc67d240812136a9842bc1f2a217b7a php-4.3.11.tar.bz2 4012575
MD5 912ff94309b762563d0542db5187315f php-4.3.2-fopen-url-secure.patch 416
MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
-MD5 611cdddabfd71ffb724c428be33c14cb hardening-patch-4.3.11-0.3.2.patch.gz 80613
diff --git a/dev-php/php-cgi/files/digest-php-cgi-4.3.11-r2 b/dev-php/php-cgi/files/digest-php-cgi-4.3.11-r2
index 30454e60ba23..8a51d50e2303 100644
--- a/dev-php/php-cgi/files/digest-php-cgi-4.3.11-r2
+++ b/dev-php/php-cgi/files/digest-php-cgi-4.3.11-r2
@@ -1,5 +1,5 @@
+MD5 611cdddabfd71ffb724c428be33c14cb hardening-patch-4.3.11-0.3.2.patch.gz 80613
MD5 fbc67d240812136a9842bc1f2a217b7a php-4.3.11.tar.bz2 4012575
MD5 912ff94309b762563d0542db5187315f php-4.3.2-fopen-url-secure.patch 416
MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
-MD5 611cdddabfd71ffb724c428be33c14cb hardening-patch-4.3.11-0.3.2.patch.gz 80613
MD5 33be24619f3a10953f9e1e32beeee97a php-pcrelib-new-secpatch.tar.bz2 357619
diff --git a/dev-php/php-cgi/files/digest-php-cgi-4.3.11-r3 b/dev-php/php-cgi/files/digest-php-cgi-4.3.11-r3
new file mode 100644
index 000000000000..8a51d50e2303
--- /dev/null
+++ b/dev-php/php-cgi/files/digest-php-cgi-4.3.11-r3
@@ -0,0 +1,5 @@
+MD5 611cdddabfd71ffb724c428be33c14cb hardening-patch-4.3.11-0.3.2.patch.gz 80613
+MD5 fbc67d240812136a9842bc1f2a217b7a php-4.3.11.tar.bz2 4012575
+MD5 912ff94309b762563d0542db5187315f php-4.3.2-fopen-url-secure.patch 416
+MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
+MD5 33be24619f3a10953f9e1e32beeee97a php-pcrelib-new-secpatch.tar.bz2 357619
diff --git a/dev-php/php-cgi/files/digest-php-cgi-4.4.0 b/dev-php/php-cgi/files/digest-php-cgi-4.4.0
index fe5e22bcebde..8f3ade5dd226 100644
--- a/dev-php/php-cgi/files/digest-php-cgi-4.4.0
+++ b/dev-php/php-cgi/files/digest-php-cgi-4.4.0
@@ -1,4 +1,4 @@
-MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
+MD5 0a52b85692ebbc299e6b1f6d9d206691 hardening-patch-4.4.0-0.3.2.patch.gz 33347
MD5 912ff94309b762563d0542db5187315f php-4.3.2-fopen-url-secure.patch 416
MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
-MD5 0a52b85692ebbc299e6b1f6d9d206691 hardening-patch-4.4.0-0.3.2.patch.gz 33347
+MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
diff --git a/dev-php/php-cgi/files/digest-php-cgi-4.4.0-r1 b/dev-php/php-cgi/files/digest-php-cgi-4.4.0-r1
index fe5e22bcebde..8f3ade5dd226 100644
--- a/dev-php/php-cgi/files/digest-php-cgi-4.4.0-r1
+++ b/dev-php/php-cgi/files/digest-php-cgi-4.4.0-r1
@@ -1,4 +1,4 @@
-MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
+MD5 0a52b85692ebbc299e6b1f6d9d206691 hardening-patch-4.4.0-0.3.2.patch.gz 33347
MD5 912ff94309b762563d0542db5187315f php-4.3.2-fopen-url-secure.patch 416
MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
-MD5 0a52b85692ebbc299e6b1f6d9d206691 hardening-patch-4.4.0-0.3.2.patch.gz 33347
+MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
diff --git a/dev-php/php-cgi/files/digest-php-cgi-4.4.0-r2 b/dev-php/php-cgi/files/digest-php-cgi-4.4.0-r2
index ef16f21dfdd3..dfbd3919a8b5 100644
--- a/dev-php/php-cgi/files/digest-php-cgi-4.4.0-r2
+++ b/dev-php/php-cgi/files/digest-php-cgi-4.4.0-r2
@@ -1,5 +1,5 @@
-MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
+MD5 0a52b85692ebbc299e6b1f6d9d206691 hardening-patch-4.4.0-0.3.2.patch.gz 33347
MD5 912ff94309b762563d0542db5187315f php-4.3.2-fopen-url-secure.patch 416
MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
-MD5 0a52b85692ebbc299e6b1f6d9d206691 hardening-patch-4.4.0-0.3.2.patch.gz 33347
+MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
MD5 33be24619f3a10953f9e1e32beeee97a php-pcrelib-new-secpatch.tar.bz2 357619
diff --git a/dev-php/php-cgi/files/digest-php-cgi-4.4.0-r3 b/dev-php/php-cgi/files/digest-php-cgi-4.4.0-r3
new file mode 100644
index 000000000000..dfbd3919a8b5
--- /dev/null
+++ b/dev-php/php-cgi/files/digest-php-cgi-4.4.0-r3
@@ -0,0 +1,5 @@
+MD5 0a52b85692ebbc299e6b1f6d9d206691 hardening-patch-4.4.0-0.3.2.patch.gz 33347
+MD5 912ff94309b762563d0542db5187315f php-4.3.2-fopen-url-secure.patch 416
+MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
+MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
+MD5 33be24619f3a10953f9e1e32beeee97a php-pcrelib-new-secpatch.tar.bz2 357619
diff --git a/dev-php/php-cgi/files/php4.3.11-fopen_wrappers.patch b/dev-php/php-cgi/files/php4.3.11-fopen_wrappers.patch
new file mode 100644
index 000000000000..672da5ece63b
--- /dev/null
+++ b/dev-php/php-cgi/files/php4.3.11-fopen_wrappers.patch
@@ -0,0 +1,46 @@
+--- main/fopen_wrappers.c 2005/02/02 23:44:07 1.153.2.10
++++ main/fopen_wrappers.c 2005/09/27 15:08:43 1.153.2.10.2.2
+@@ -16,7 +16,7 @@
+ | Jim Winstead <jimw@php.net> |
+ +----------------------------------------------------------------------+
+ */
+-/* $Id: fopen_wrappers.c,v 1.153.2.10 2005/02/02 23:44:07 iliaa Exp $ */
++/* $Id: fopen_wrappers.c,v 1.153.2.10.2.2 2005/09/27 15:08:43 iliaa Exp $ */
+
+ /* {{{ includes
+ */
+@@ -36,14 +36,6 @@
+ #include <winsock.h>
+ #define O_RDONLY _O_RDONLY
+ #include "win32/param.h"
+-#elif defined(NETWARE)
+-/*#include <ws2nlm.h>*/
+-/*#include <sys/socket.h>*/
+-#ifdef NEW_LIBC
+-#include <sys/param.h>
+-#else
+-#include "netware/param.h"
+-#endif
+ #else
+ #include <sys/param.h>
+ #endif
+@@ -57,8 +49,6 @@
+ #if HAVE_PWD_H
+ #ifdef PHP_WIN32
+ #include "win32/pwd.h"
+-#elif defined(NETWARE)
+-#include "netware/pwd.h"
+ #else
+ #include <pwd.h>
+ #endif
+@@ -120,8 +110,8 @@ PHPAPI int php_check_specific_open_based
+ /* Handler for basedirs that end with a / */
+ resolved_basedir_len = strlen(resolved_basedir);
+ if (basedir[strlen(basedir) - 1] == PHP_DIR_SEPARATOR) {
+- if (resolved_basedir[resolved_basedir_len - 1] == '/') {
+- resolved_basedir[resolved_basedir_len - 1] = PHP_DIR_SEPARATOR;
++ if (resolved_basedir[resolved_basedir_len - 1] != PHP_DIR_SEPARATOR) {
++ resolved_basedir[resolved_basedir_len] = PHP_DIR_SEPARATOR;
+ resolved_basedir[++resolved_basedir_len] = '\0';
+ }
+ }
diff --git a/dev-php/php-cgi/files/php4.3.11-gd_safe_mode.patch b/dev-php/php-cgi/files/php4.3.11-gd_safe_mode.patch
new file mode 100644
index 000000000000..19011120eea2
--- /dev/null
+++ b/dev-php/php-cgi/files/php4.3.11-gd_safe_mode.patch
@@ -0,0 +1,39 @@
+--- ext/gd/gd.c 2005/01/17 17:07:57 1.221.2.54
++++ ext/gd/gd.c 2005/10/06 20:44:52 1.221.2.56.2.1
+@@ -18,7 +18,7 @@
+ +----------------------------------------------------------------------+
+ */
+
+-/* $Id: gd.c,v 1.221.2.54 2005/01/17 17:07:57 sniper Exp $ */
++/* $Id: gd.c,v 1.221.2.56.2.1 2005/10/06 20:44:52 iliaa Exp $ */
+
+ /* gd 1.2 is copyright 1994, 1995, Quest Protein Database Center,
+ Cold Spring Harbor Labs. */
+@@ -1644,7 +1644,7 @@ static void _php_image_output(INTERNAL_F
+ }
+
+ if ((argc == 2) || (argc > 2 && Z_STRLEN_PP(file))) {
+- if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC)) {
++ if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC) || (PG(safe_mode) && !php_checkuid(fn, "rb+", CHECKUID_CHECK_FILE_AND_DIR))) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid filename '%s'", fn);
+ RETURN_FALSE;
+ }
+@@ -1699,7 +1699,7 @@ static void _php_image_output(INTERNAL_F
+ char buf[4096];
+ char *path;
+
+- tmp = php_open_temporary_file("", "", &path TSRMLS_CC);
++ tmp = php_open_temporary_file(NULL, NULL, &path TSRMLS_CC);
+ if (tmp == NULL) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to open temporary file");
+ RETURN_FALSE;
+@@ -3017,7 +3017,8 @@ static void php_imagettftext_common(INTE
+ {
+ zval *IM, *EXT = NULL;
+ gdImagePtr im=NULL;
+- int col = -1, x = -1, y = -1, str_len, fontname_len, i, brect[8];
++ long col = -1, x = -1, y = -1;
++ int str_len, fontname_len, i, brect[8];
+ double ptsize, angle;
+ unsigned char *str = NULL, *fontname = NULL;
+ char *error = NULL;
diff --git a/dev-php/php-cgi/files/php4.3.11-pspell-ext-segf.patch b/dev-php/php-cgi/files/php4.3.11-pspell-ext-segf.patch
new file mode 100644
index 000000000000..a62c42fec553
--- /dev/null
+++ b/dev-php/php-cgi/files/php4.3.11-pspell-ext-segf.patch
@@ -0,0 +1,317 @@
+--- ext/pspell/pspell.c 2003-08-28 22:01:29.000000000 +0200
++++ ext/pspell/pspell.c 2005-10-26 23:24:22.000000000 +0200
+@@ -16,7 +16,7 @@
+ +----------------------------------------------------------------------+
+ */
+
+-/* $Id: pspell.c,v 1.28.8.5 2003/08/28 20:01:29 iliaa Exp $ */
++/* $Id: pspell.c,v 1.28.8.5.4.2 2005/10/17 15:43:10 iliaa Exp $ */
+
+ #define IS_EXT_MODULE
+
+@@ -99,6 +99,22 @@
+ delete_pspell_config(config);
+ }
+
++#define PSPELL_FETCH_CONFIG \
++ convert_to_long_ex(conf); \
++ config = (PspellConfig *) zend_list_find(Z_LVAL_PP(conf), &type); \
++ if (config == NULL || type != le_pspell_config) { \
++ php_error_docref(NULL TSRMLS_CC, E_WARNING, "%ld is not a PSPELL config index", Z_LVAL_PP(conf)); \
++ RETURN_FALSE; \
++ } \
++
++#define PSPELL_FETCH_MANAGER \
++ convert_to_long_ex(scin); \
++ manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type); \
++ if (!manager || type != le_pspell) { \
++ php_error_docref(NULL TSRMLS_CC, E_WARNING, "%ld is not a PSPELL result index", Z_LVAL_PP(scin)); \
++ RETURN_FALSE; \
++ } \
++
+ /* {{{ PHP_MINIT_FUNCTION
+ */
+ PHP_MINIT_FUNCTION(pspell)
+@@ -350,14 +366,8 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(conf);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(conf), &type);
++ PSPELL_FETCH_CONFIG;
+
+- if (config == NULL || type != le_pspell_config) {
+- php_error(E_WARNING, "%ld is not a PSPELL config index", Z_LVAL_PP(conf));
+- RETURN_FALSE;
+- }
+-
+ ret = new_pspell_manager(config);
+
+ if(pspell_error_number(ret) != 0){
+@@ -385,13 +395,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ if(pspell_manager_check(manager, Z_STRVAL_PP(word))){
+ RETURN_TRUE;
+@@ -417,13 +423,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ array_init(return_value);
+
+@@ -455,14 +457,10 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(miss);
+ convert_to_string_ex(corr);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ pspell_manager_store_replacement(manager, Z_STRVAL_PP(miss), Z_STRVAL_PP(corr));
+ if(pspell_manager_error_number(manager) == 0){
+@@ -488,13 +486,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ /*If the word is empty, we have to return; otherwise we'll segfault! ouch!*/
+ if(Z_STRLEN_PP(word) == 0){
+@@ -525,13 +519,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ /*If the word is empty, we have to return; otherwise we'll segfault! ouch!*/
+ if(Z_STRLEN_PP(word) == 0){
+@@ -562,12 +552,7 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_MANAGER;
+
+ pspell_manager_clear_session(manager);
+ if(pspell_manager_error_number(manager) == 0){
+@@ -593,12 +578,7 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_MANAGER;
+
+ pspell_manager_save_all_word_lists(manager);
+
+@@ -666,22 +646,17 @@
+ PHP_FUNCTION(pspell_config_runtogether)
+ {
+ int type;
+- zval **sccin, **runtogether;
++ zval **conf, **runtogether;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&runtogether) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&runtogether) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_boolean_ex(runtogether);
+ pspell_config_replace(config, "run-together", Z_LVAL_PP(runtogether) ? "true" : "false");
+@@ -695,22 +670,17 @@
+ PHP_FUNCTION(pspell_config_mode)
+ {
+ int type;
+- zval **sccin, **mode;
++ zval **conf, **mode;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&mode) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&mode) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_long_ex(mode);
+
+@@ -732,7 +702,7 @@
+ PHP_FUNCTION(pspell_config_ignore)
+ {
+ int type;
+- zval **sccin, **pignore;
++ zval **conf, **pignore;
+ int argc;
+
+ int loc = PSPELL_LARGEST_WORD;
+@@ -742,16 +712,11 @@
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&pignore) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&pignore) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_long_ex(pignore);
+ ignore = Z_LVAL_PP(pignore);
+@@ -782,22 +747,17 @@
+ PHP_FUNCTION(pspell_config_personal)
+ {
+ int type;
+- zval **sccin, **personal;
++ zval **conf, **personal;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&personal) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&personal) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_string_ex(personal);
+
+@@ -820,22 +780,17 @@
+ PHP_FUNCTION(pspell_config_repl)
+ {
+ int type;
+- zval **sccin, **repl;
++ zval **conf, **repl;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&repl) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&repl) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ pspell_config_replace(config, "save-repl", "true");
+
+@@ -860,22 +815,17 @@
+ PHP_FUNCTION(pspell_config_save_repl)
+ {
+ int type;
+- zval **sccin, **save;
++ zval **conf, **save;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&save) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&save) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_boolean_ex(save);
+ pspell_config_replace(config, "save-repl", Z_LVAL_PP(save) ? "true" : "false");
diff --git a/dev-php/php-cgi/files/php4.3.11-session_save_path-segf.patch b/dev-php/php-cgi/files/php4.3.11-session_save_path-segf.patch
new file mode 100644
index 000000000000..3836776b14b4
--- /dev/null
+++ b/dev-php/php-cgi/files/php4.3.11-session_save_path-segf.patch
@@ -0,0 +1,154 @@
+--- sapi/apache2handler/sapi_apache2.c 2005-03-10 12:39:04.000000000 +0100
++++ sapi/apache2handler/sapi_apache2.c 2005-10-26 16:02:03.000000000 +0200
+@@ -18,7 +18,7 @@
+ +----------------------------------------------------------------------+
+ */
+
+-/* $Id: sapi_apache2.c,v 1.1.2.39 2005/03/10 11:39:04 jorton Exp $ */
++/* $Id: sapi_apache2.c,v 1.1.2.40.2.5 2005/10/12 21:41:36 tony2001 Exp $ */
+
+ #include <fcntl.h>
+
+@@ -268,23 +268,18 @@
+ TSRMLS_FETCH();
+
+ ctx = SG(server_context);
+-
+- /* We use APLOG_STARTUP because it keeps us from printing the
+- * data and time information at the beginning of the error log
+- * line. Not sure if this is correct, but it mirrors what happens
+- * with Apache 1.3 -- rbb
+- */
++
+ if (ctx == NULL) { /* we haven't initialized our ctx yet, oh well */
+ ap_log_error(APLOG_MARK, APLOG_ERR | APLOG_STARTUP, 0, NULL, "%s", msg);
+ } else {
+- ap_log_rerror(APLOG_MARK, APLOG_ERR | APLOG_STARTUP, 0, ctx->r, "%s", msg);
++ ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, ctx->r, "%s", msg);
+ }
+ }
+
+ static void php_apache_sapi_log_message_ex(char *msg, request_rec *r)
+ {
+ if (r) {
+- ap_log_rerror(APLOG_MARK, APLOG_ERR | APLOG_STARTUP, 0, r, msg, r->filename);
++ ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, msg, r->filename);
+ } else {
+ php_apache_sapi_log_message(msg);
+ }
+@@ -458,15 +453,34 @@
+ request_rec *parent_req = NULL;
+ TSRMLS_FETCH();
+
++#define PHPAP_INI_OFF \
++ if (strcmp(r->protocol, "INCLUDED")) { \
++ zend_try { zend_ini_deactivate(TSRMLS_C); } zend_end_try(); \
++ } \
++
+ conf = ap_get_module_config(r->per_dir_config, &php4_module);
++
++ /* apply_config() needs r in some cases, so allocate server_context early */
++ ctx = SG(server_context);
++ if (ctx == NULL) {
++ ctx = SG(server_context) = apr_pcalloc(r->pool, sizeof(*ctx));
++ /* register a cleanup so we clear out the SG(server_context)
++ * after each request. Note: We pass in the pointer to the
++ * server_context in case this is handled by a different thread.
++ */
++ apr_pool_cleanup_register(r->pool, (void *)&SG(server_context), php_server_context_cleanup, apr_pool_cleanup_null);
++ ctx->r = r;
++ ctx = NULL; /* May look weird to null it here, but it is to catch the right case in the first_try later on */
++ } else {
++ parent_req = ctx->r;
++ ctx->r = r;
++ }
+ apply_config(conf);
+
+ if (strcmp(r->handler, PHP_MAGIC_TYPE) && strcmp(r->handler, PHP_SOURCE_MAGIC_TYPE) && strcmp(r->handler, PHP_SCRIPT)) {
+ /* Check for xbithack in this case. */
+ if (!AP2(xbithack) || strcmp(r->handler, "text/html") || !(r->finfo.protection & APR_UEXECUTE)) {
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return DECLINED;
+ }
+ }
+@@ -475,32 +489,24 @@
+ * the configuration; default behaviour is to accept. */
+ if (r->used_path_info == AP_REQ_REJECT_PATH_INFO
+ && r->path_info && r->path_info[0]) {
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return HTTP_NOT_FOUND;
+ }
+
+ /* handle situations where user turns the engine off */
+ if (!AP2(engine)) {
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return DECLINED;
+ }
+
+ if (r->finfo.filetype == 0) {
+ php_apache_sapi_log_message_ex("script '%s' not found or unable to stat", r);
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return HTTP_NOT_FOUND;
+ }
+ if (r->finfo.filetype == APR_DIR) {
+ php_apache_sapi_log_message_ex("attempt to invoke directory '%s' as script", r);
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return HTTP_FORBIDDEN;
+ }
+
+@@ -516,24 +522,30 @@
+
+ zend_first_try {
+
+- ctx = SG(server_context);
+ if (ctx == NULL) {
+- ctx = SG(server_context) = apr_pcalloc(r->pool, sizeof(*ctx));
+- /* register a cleanup so we clear out the SG(server_context)
+- * after each request. Note: We pass in the pointer to the
+- * server_context in case this is handled by a different thread.
+- */
+- apr_pool_cleanup_register(r->pool, (void *)&SG(server_context), php_server_context_cleanup, apr_pool_cleanup_null);
+-
+- ctx->r = r;
++normal:
+ brigade = apr_brigade_create(r->pool, r->connection->bucket_alloc);
++ ctx = SG(server_context);
+ ctx->brigade = brigade;
+
+ if (php_apache_request_ctor(r, ctx TSRMLS_CC)!=SUCCESS) {
+ zend_bailout();
+ }
+ } else {
+- parent_req = ctx->r;
++ if (!parent_req) {
++ parent_req = ctx->r;
++ }
++ if (parent_req && strcmp(parent_req->handler, PHP_MAGIC_TYPE) && strcmp(parent_req->handler, PHP_SOURCE_MAGIC_TYPE) && strcmp(parent_req->handler, PHP_SCRIPT)) {
++ if (php_apache_request_ctor(r, ctx TSRMLS_CC)!=SUCCESS) {
++ zend_bailout();
++ }
++ }
++
++ /* check if comming due to ErrorDocument */
++ if (parent_req && parent_req->status != HTTP_OK) {
++ parent_req = NULL;
++ goto normal;
++ }
+ ctx->r = r;
+ brigade = ctx->brigade;
+ }
diff --git a/dev-php/php-cgi/files/php4.4.0-fopen_wrappers.patch b/dev-php/php-cgi/files/php4.4.0-fopen_wrappers.patch
new file mode 100644
index 000000000000..672da5ece63b
--- /dev/null
+++ b/dev-php/php-cgi/files/php4.4.0-fopen_wrappers.patch
@@ -0,0 +1,46 @@
+--- main/fopen_wrappers.c 2005/02/02 23:44:07 1.153.2.10
++++ main/fopen_wrappers.c 2005/09/27 15:08:43 1.153.2.10.2.2
+@@ -16,7 +16,7 @@
+ | Jim Winstead <jimw@php.net> |
+ +----------------------------------------------------------------------+
+ */
+-/* $Id: fopen_wrappers.c,v 1.153.2.10 2005/02/02 23:44:07 iliaa Exp $ */
++/* $Id: fopen_wrappers.c,v 1.153.2.10.2.2 2005/09/27 15:08:43 iliaa Exp $ */
+
+ /* {{{ includes
+ */
+@@ -36,14 +36,6 @@
+ #include <winsock.h>
+ #define O_RDONLY _O_RDONLY
+ #include "win32/param.h"
+-#elif defined(NETWARE)
+-/*#include <ws2nlm.h>*/
+-/*#include <sys/socket.h>*/
+-#ifdef NEW_LIBC
+-#include <sys/param.h>
+-#else
+-#include "netware/param.h"
+-#endif
+ #else
+ #include <sys/param.h>
+ #endif
+@@ -57,8 +49,6 @@
+ #if HAVE_PWD_H
+ #ifdef PHP_WIN32
+ #include "win32/pwd.h"
+-#elif defined(NETWARE)
+-#include "netware/pwd.h"
+ #else
+ #include <pwd.h>
+ #endif
+@@ -120,8 +110,8 @@ PHPAPI int php_check_specific_open_based
+ /* Handler for basedirs that end with a / */
+ resolved_basedir_len = strlen(resolved_basedir);
+ if (basedir[strlen(basedir) - 1] == PHP_DIR_SEPARATOR) {
+- if (resolved_basedir[resolved_basedir_len - 1] == '/') {
+- resolved_basedir[resolved_basedir_len - 1] = PHP_DIR_SEPARATOR;
++ if (resolved_basedir[resolved_basedir_len - 1] != PHP_DIR_SEPARATOR) {
++ resolved_basedir[resolved_basedir_len] = PHP_DIR_SEPARATOR;
+ resolved_basedir[++resolved_basedir_len] = '\0';
+ }
+ }
diff --git a/dev-php/php-cgi/files/php4.4.0-gd_safe_mode.patch b/dev-php/php-cgi/files/php4.4.0-gd_safe_mode.patch
new file mode 100644
index 000000000000..1e0d49d1373c
--- /dev/null
+++ b/dev-php/php-cgi/files/php4.4.0-gd_safe_mode.patch
@@ -0,0 +1,20 @@
+--- ext/gd/gd.c 2005/05/06 16:51:54 1.221.2.56
++++ ext/gd/gd.c 2005/10/06 20:44:52 1.221.2.56.2.1
+@@ -18,7 +18,7 @@
+ +----------------------------------------------------------------------+
+ */
+
+-/* $Id: gd.c,v 1.221.2.56 2005/05/06 16:51:54 tony2001 Exp $ */
++/* $Id: gd.c,v 1.221.2.56.2.1 2005/10/06 20:44:52 iliaa Exp $ */
+
+ /* gd 1.2 is copyright 1994, 1995, Quest Protein Database Center,
+ Cold Spring Harbor Labs. */
+@@ -1644,7 +1644,7 @@ static void _php_image_output(INTERNAL_F
+ }
+
+ if ((argc == 2) || (argc > 2 && Z_STRLEN_PP(file))) {
+- if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC)) {
++ if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC) || (PG(safe_mode) && !php_checkuid(fn, "rb+", CHECKUID_CHECK_FILE_AND_DIR))) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid filename '%s'", fn);
+ RETURN_FALSE;
+ }
diff --git a/dev-php/php-cgi/files/php4.4.0-pspell-ext-segf.patch b/dev-php/php-cgi/files/php4.4.0-pspell-ext-segf.patch
new file mode 100644
index 000000000000..a62c42fec553
--- /dev/null
+++ b/dev-php/php-cgi/files/php4.4.0-pspell-ext-segf.patch
@@ -0,0 +1,317 @@
+--- ext/pspell/pspell.c 2003-08-28 22:01:29.000000000 +0200
++++ ext/pspell/pspell.c 2005-10-26 23:24:22.000000000 +0200
+@@ -16,7 +16,7 @@
+ +----------------------------------------------------------------------+
+ */
+
+-/* $Id: pspell.c,v 1.28.8.5 2003/08/28 20:01:29 iliaa Exp $ */
++/* $Id: pspell.c,v 1.28.8.5.4.2 2005/10/17 15:43:10 iliaa Exp $ */
+
+ #define IS_EXT_MODULE
+
+@@ -99,6 +99,22 @@
+ delete_pspell_config(config);
+ }
+
++#define PSPELL_FETCH_CONFIG \
++ convert_to_long_ex(conf); \
++ config = (PspellConfig *) zend_list_find(Z_LVAL_PP(conf), &type); \
++ if (config == NULL || type != le_pspell_config) { \
++ php_error_docref(NULL TSRMLS_CC, E_WARNING, "%ld is not a PSPELL config index", Z_LVAL_PP(conf)); \
++ RETURN_FALSE; \
++ } \
++
++#define PSPELL_FETCH_MANAGER \
++ convert_to_long_ex(scin); \
++ manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type); \
++ if (!manager || type != le_pspell) { \
++ php_error_docref(NULL TSRMLS_CC, E_WARNING, "%ld is not a PSPELL result index", Z_LVAL_PP(scin)); \
++ RETURN_FALSE; \
++ } \
++
+ /* {{{ PHP_MINIT_FUNCTION
+ */
+ PHP_MINIT_FUNCTION(pspell)
+@@ -350,14 +366,8 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(conf);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(conf), &type);
++ PSPELL_FETCH_CONFIG;
+
+- if (config == NULL || type != le_pspell_config) {
+- php_error(E_WARNING, "%ld is not a PSPELL config index", Z_LVAL_PP(conf));
+- RETURN_FALSE;
+- }
+-
+ ret = new_pspell_manager(config);
+
+ if(pspell_error_number(ret) != 0){
+@@ -385,13 +395,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ if(pspell_manager_check(manager, Z_STRVAL_PP(word))){
+ RETURN_TRUE;
+@@ -417,13 +423,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ array_init(return_value);
+
+@@ -455,14 +457,10 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(miss);
+ convert_to_string_ex(corr);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ pspell_manager_store_replacement(manager, Z_STRVAL_PP(miss), Z_STRVAL_PP(corr));
+ if(pspell_manager_error_number(manager) == 0){
+@@ -488,13 +486,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ /*If the word is empty, we have to return; otherwise we'll segfault! ouch!*/
+ if(Z_STRLEN_PP(word) == 0){
+@@ -525,13 +519,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ /*If the word is empty, we have to return; otherwise we'll segfault! ouch!*/
+ if(Z_STRLEN_PP(word) == 0){
+@@ -562,12 +552,7 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_MANAGER;
+
+ pspell_manager_clear_session(manager);
+ if(pspell_manager_error_number(manager) == 0){
+@@ -593,12 +578,7 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_MANAGER;
+
+ pspell_manager_save_all_word_lists(manager);
+
+@@ -666,22 +646,17 @@
+ PHP_FUNCTION(pspell_config_runtogether)
+ {
+ int type;
+- zval **sccin, **runtogether;
++ zval **conf, **runtogether;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&runtogether) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&runtogether) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_boolean_ex(runtogether);
+ pspell_config_replace(config, "run-together", Z_LVAL_PP(runtogether) ? "true" : "false");
+@@ -695,22 +670,17 @@
+ PHP_FUNCTION(pspell_config_mode)
+ {
+ int type;
+- zval **sccin, **mode;
++ zval **conf, **mode;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&mode) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&mode) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_long_ex(mode);
+
+@@ -732,7 +702,7 @@
+ PHP_FUNCTION(pspell_config_ignore)
+ {
+ int type;
+- zval **sccin, **pignore;
++ zval **conf, **pignore;
+ int argc;
+
+ int loc = PSPELL_LARGEST_WORD;
+@@ -742,16 +712,11 @@
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&pignore) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&pignore) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_long_ex(pignore);
+ ignore = Z_LVAL_PP(pignore);
+@@ -782,22 +747,17 @@
+ PHP_FUNCTION(pspell_config_personal)
+ {
+ int type;
+- zval **sccin, **personal;
++ zval **conf, **personal;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&personal) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&personal) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_string_ex(personal);
+
+@@ -820,22 +780,17 @@
+ PHP_FUNCTION(pspell_config_repl)
+ {
+ int type;
+- zval **sccin, **repl;
++ zval **conf, **repl;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&repl) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&repl) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ pspell_config_replace(config, "save-repl", "true");
+
+@@ -860,22 +815,17 @@
+ PHP_FUNCTION(pspell_config_save_repl)
+ {
+ int type;
+- zval **sccin, **save;
++ zval **conf, **save;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&save) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&save) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_boolean_ex(save);
+ pspell_config_replace(config, "save-repl", Z_LVAL_PP(save) ? "true" : "false");
diff --git a/dev-php/php-cgi/files/php4.4.0-session_save_path-segf.patch b/dev-php/php-cgi/files/php4.4.0-session_save_path-segf.patch
new file mode 100644
index 000000000000..8f936ae5ec39
--- /dev/null
+++ b/dev-php/php-cgi/files/php4.4.0-session_save_path-segf.patch
@@ -0,0 +1,127 @@
+--- sapi/apache2handler/sapi_apache2.c 2005/04/08 20:35:02 1.1.2.40
++++ sapi/apache2handler/sapi_apache2.c 2005/10/12 21:41:36 1.1.2.40.2.5
+@@ -18,7 +18,7 @@
+ +----------------------------------------------------------------------+
+ */
+
+-/* $Id: sapi_apache2.c,v 1.1.2.40 2005/04/08 20:35:02 sniper Exp $ */
++/* $Id: sapi_apache2.c,v 1.1.2.40.2.5 2005/10/12 21:41:36 tony2001 Exp $ */
+
+ #include <fcntl.h>
+
+@@ -453,15 +453,34 @@ static int php_handler(request_rec *r)
+ request_rec *parent_req = NULL;
+ TSRMLS_FETCH();
+
++#define PHPAP_INI_OFF \
++ if (strcmp(r->protocol, "INCLUDED")) { \
++ zend_try { zend_ini_deactivate(TSRMLS_C); } zend_end_try(); \
++ } \
++
+ conf = ap_get_module_config(r->per_dir_config, &php4_module);
++
++ /* apply_config() needs r in some cases, so allocate server_context early */
++ ctx = SG(server_context);
++ if (ctx == NULL) {
++ ctx = SG(server_context) = apr_pcalloc(r->pool, sizeof(*ctx));
++ /* register a cleanup so we clear out the SG(server_context)
++ * after each request. Note: We pass in the pointer to the
++ * server_context in case this is handled by a different thread.
++ */
++ apr_pool_cleanup_register(r->pool, (void *)&SG(server_context), php_server_context_cleanup, apr_pool_cleanup_null);
++ ctx->r = r;
++ ctx = NULL; /* May look weird to null it here, but it is to catch the right case in the first_try later on */
++ } else {
++ parent_req = ctx->r;
++ ctx->r = r;
++ }
+ apply_config(conf);
+
+ if (strcmp(r->handler, PHP_MAGIC_TYPE) && strcmp(r->handler, PHP_SOURCE_MAGIC_TYPE) && strcmp(r->handler, PHP_SCRIPT)) {
+ /* Check for xbithack in this case. */
+ if (!AP2(xbithack) || strcmp(r->handler, "text/html") || !(r->finfo.protection & APR_UEXECUTE)) {
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return DECLINED;
+ }
+ }
+@@ -470,32 +489,24 @@ static int php_handler(request_rec *r)
+ * the configuration; default behaviour is to accept. */
+ if (r->used_path_info == AP_REQ_REJECT_PATH_INFO
+ && r->path_info && r->path_info[0]) {
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return HTTP_NOT_FOUND;
+ }
+
+ /* handle situations where user turns the engine off */
+ if (!AP2(engine)) {
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return DECLINED;
+ }
+
+ if (r->finfo.filetype == 0) {
+ php_apache_sapi_log_message_ex("script '%s' not found or unable to stat", r);
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return HTTP_NOT_FOUND;
+ }
+ if (r->finfo.filetype == APR_DIR) {
+ php_apache_sapi_log_message_ex("attempt to invoke directory '%s' as script", r);
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return HTTP_FORBIDDEN;
+ }
+
+@@ -511,24 +522,30 @@ static int php_handler(request_rec *r)
+
+ zend_first_try {
+
+- ctx = SG(server_context);
+ if (ctx == NULL) {
+- ctx = SG(server_context) = apr_pcalloc(r->pool, sizeof(*ctx));
+- /* register a cleanup so we clear out the SG(server_context)
+- * after each request. Note: We pass in the pointer to the
+- * server_context in case this is handled by a different thread.
+- */
+- apr_pool_cleanup_register(r->pool, (void *)&SG(server_context), php_server_context_cleanup, apr_pool_cleanup_null);
+-
+- ctx->r = r;
++normal:
+ brigade = apr_brigade_create(r->pool, r->connection->bucket_alloc);
++ ctx = SG(server_context);
+ ctx->brigade = brigade;
+
+ if (php_apache_request_ctor(r, ctx TSRMLS_CC)!=SUCCESS) {
+ zend_bailout();
+ }
+ } else {
+- parent_req = ctx->r;
++ if (!parent_req) {
++ parent_req = ctx->r;
++ }
++ if (parent_req && strcmp(parent_req->handler, PHP_MAGIC_TYPE) && strcmp(parent_req->handler, PHP_SOURCE_MAGIC_TYPE) && strcmp(parent_req->handler, PHP_SCRIPT)) {
++ if (php_apache_request_ctor(r, ctx TSRMLS_CC)!=SUCCESS) {
++ zend_bailout();
++ }
++ }
++
++ /* check if comming due to ErrorDocument */
++ if (parent_req && parent_req->status != HTTP_OK) {
++ parent_req = NULL;
++ goto normal;
++ }
+ ctx->r = r;
+ brigade = ctx->brigade;
+ }
diff --git a/dev-php/php-cgi/files/stdint.diff b/dev-php/php-cgi/files/stdint.diff
deleted file mode 100644
index 451d7fb44cf3..000000000000
--- a/dev-php/php-cgi/files/stdint.diff
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Nura php-4.3.10/Zend/zend_strtod.c php-4.3.10.stdint/Zend/zend_strtod.c
---- php-4.3.10/Zend/zend_strtod.c 2004-12-14 05:35:26.000000000 -0300
-+++ php-4.3.10.stdint/Zend/zend_strtod.c 2004-12-16 15:33:47.000000000 -0300
-@@ -128,6 +128,7 @@
- #endif
-
- #if defined(__sparc__) || defined(__ppc__)
-+#include <stdint.h>
- #define u_int32_t uint32_t
- #endif
-
diff --git a/dev-php/php-cgi/php-cgi-4.3.11-r1.ebuild b/dev-php/php-cgi/php-cgi-4.3.11-r1.ebuild
index 3b80c87d6099..b4bd1de7c346 100644
--- a/dev-php/php-cgi/php-cgi-4.3.11-r1.ebuild
+++ b/dev-php/php-cgi/php-cgi-4.3.11-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-php/php-cgi/php-cgi-4.3.11-r1.ebuild,v 1.6 2005/07/16 15:30:12 swegener Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-php/php-cgi/php-cgi-4.3.11-r1.ebuild,v 1.7 2005/10/29 22:16:13 chtekk Exp $
PHPSAPI="cgi"
inherit php-sapi eutils
@@ -18,10 +18,10 @@ src_unpack() {
php-sapi_src_unpack
# Bug 88756
- use flash && epatch ${FILESDIR}/php-4.3.11-flash.patch
+ use flash && epatch "${FILESDIR}/php-4.3.11-flash.patch"
# Bug 88795
- use gmp && epatch ${FILESDIR}/php-4.3.11-gmp.patch
+ use gmp && epatch "${FILESDIR}/php-4.3.11-gmp.patch"
}
src_compile() {
@@ -42,9 +42,9 @@ src_install() {
PHP_INSTALLTARGETS="install"
php-sapi_src_install
- rm -f ${D}/usr/bin/php
+ rm -f "${D}/usr/bin/php"
# rename binary
- newbin ${S}/sapi/cgi/php php-cgi
+ newbin "${S}/sapi/cgi/php" php-cgi
}
pkg_postinst() {
diff --git a/dev-php/php-cgi/php-cgi-4.3.11-r2.ebuild b/dev-php/php-cgi/php-cgi-4.3.11-r2.ebuild
index 7d4686f51964..3591d0e54fe2 100644
--- a/dev-php/php-cgi/php-cgi-4.3.11-r2.ebuild
+++ b/dev-php/php-cgi/php-cgi-4.3.11-r2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-php/php-cgi/php-cgi-4.3.11-r2.ebuild,v 1.5 2005/09/27 02:52:56 weeve Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-php/php-cgi/php-cgi-4.3.11-r2.ebuild,v 1.6 2005/10/29 22:16:13 chtekk Exp $
PHPSAPI="cgi"
inherit php-sapi eutils
@@ -15,31 +15,31 @@ PDEPEND=">=${PHP_PROVIDER_PKG}-4.3.11"
PROVIDE="${PROVIDE} virtual/httpd-php"
# fixed PCRE library for security issues, bug #102373
-SRC_URI="${SRC_URI} http://dl.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
+SRC_URI="${SRC_URI} http://gentoo.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
src_unpack() {
php-sapi_src_unpack
# Bug 88756
- use flash && epatch ${FILESDIR}/php-4.3.11-flash.patch
+ use flash && epatch "${FILESDIR}/php-4.3.11-flash.patch"
# Bug 88795
- use gmp && epatch ${FILESDIR}/php-4.3.11-gmp.patch
+ use gmp && epatch "${FILESDIR}/php-4.3.11-gmp.patch"
# fix imap symlink creation, bug #105351
- use imap && epatch ${FILESDIR}/php4.3.11-imap-symlink.diff
+ use imap && epatch "${FILESDIR}/php4.3.11-imap-symlink.diff"
# we need to unpack the files here, the eclass doesn't handle this
- cd ${WORKDIR}
+ cd "${WORKDIR}"
unpack php-pcrelib-new-secpatch.tar.bz2
- cd ${S}
+ cd "${S}"
# patch to fix PCRE library security issues, bug #102373
- epatch ${FILESDIR}/php4.3.11-pcre-security.patch
+ epatch "${FILESDIR}/php4.3.11-pcre-security.patch"
# sobstitute the bundled PCRE library with a fixed version for bug #102373
einfo "Updating bundled PCRE library"
- rm -rf ${S}/ext/pcre/pcrelib && mv -f ${WORKDIR}/pcrelib-new ${S}/ext/pcre/pcrelib || die "Unable to update the bundled PCRE library"
+ rm -rf "${S}/ext/pcre/pcrelib" && mv -f "${WORKDIR}/pcrelib-new" "${S}/ext/pcre/pcrelib" || die "Unable to update the bundled PCRE library"
}
src_compile() {
@@ -60,9 +60,9 @@ src_install() {
PHP_INSTALLTARGETS="install"
php-sapi_src_install
- rm -f ${D}/usr/bin/php
+ rm -f "${D}/usr/bin/php"
# rename binary
- newbin ${S}/sapi/cgi/php php-cgi
+ newbin "${S}/sapi/cgi/php" php-cgi
}
pkg_postinst() {
diff --git a/dev-php/php-cgi/php-cgi-4.3.11-r3.ebuild b/dev-php/php-cgi/php-cgi-4.3.11-r3.ebuild
new file mode 100644
index 000000000000..da81c96245a2
--- /dev/null
+++ b/dev-php/php-cgi/php-cgi-4.3.11-r3.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-php/php-cgi/php-cgi-4.3.11-r3.ebuild,v 1.1 2005/10/29 22:16:13 chtekk Exp $
+
+PHPSAPI="cgi"
+inherit php-sapi eutils
+
+DESCRIPTION="PHP CGI"
+SLOT="0"
+IUSE="force-cgi-redirect"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~sparc ~x86"
+
+# for this revision only
+PDEPEND=">=${PHP_PROVIDER_PKG}-4.3.11"
+PROVIDE="${PROVIDE} virtual/httpd-php"
+
+# fixed PCRE library for security issues, bug #102373
+SRC_URI="${SRC_URI} http://gentoo.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
+
+src_unpack() {
+ php-sapi_src_unpack
+
+ # Bug 88756
+ use flash && epatch "${FILESDIR}/php-4.3.11-flash.patch"
+
+ # Bug 88795
+ use gmp && epatch "${FILESDIR}/php-4.3.11-gmp.patch"
+
+ # fix imap symlink creation, bug #105351
+ use imap && epatch "${FILESDIR}/php4.3.11-imap-symlink.diff"
+
+ # patch to fix pspell extension, bug #99312 (new patch by upstream)
+ use spell && epatch "${FILESDIR}/php4.3.11-pspell-ext-segf.patch"
+
+ # patch to fix safe_mode bypass in GD extension, bug #109669
+ if use gd || use gd-external ; then
+ epatch "${FILESDIR}/php4.3.11-gd_safe_mode.patch"
+ fi
+
+ # patch open_basedir directory bypass, bug #102943
+ epatch "${FILESDIR}/php4.3.11-fopen_wrappers.patch"
+
+ # patch to fix session.save_path segfault and other issues in
+ # the apache2handler SAPI, bug #107602
+ epatch "${FILESDIR}/php4.3.11-session_save_path-segf.patch"
+
+ # we need to unpack the files here, the eclass doesn't handle this
+ cd "${WORKDIR}"
+ unpack php-pcrelib-new-secpatch.tar.bz2
+ cd "${S}"
+
+ # patch to fix PCRE library security issues, bug #102373
+ epatch "${FILESDIR}/php4.3.11-pcre-security.patch"
+
+ # sobstitute the bundled PCRE library with a fixed version for bug #102373
+ einfo "Updating bundled PCRE library"
+ rm -rf "${S}/ext/pcre/pcrelib" && mv -f "${WORKDIR}/pcrelib-new" "${S}/ext/pcre/pcrelib" || die "Unable to update the bundled PCRE library"
+}
+
+src_compile() {
+ # CLI needed to build stuff
+ myconf="${myconf} \
+ --enable-cgi \
+ --enable-cli \
+ --enable-fastcgi"
+
+ if use force-cgi-redirect; then
+ myconf="${myconf} --enable-force-cgi-redirect"
+ fi
+
+ php-sapi_src_compile
+}
+
+src_install() {
+ PHP_INSTALLTARGETS="install"
+ php-sapi_src_install
+
+ rm -f "${D}/usr/bin/php"
+ # rename binary
+ newbin "${S}/sapi/cgi/php" php-cgi
+}
+
+pkg_postinst() {
+ php-sapi_pkg_postinst
+ einfo "This is a CGI only build."
+}
diff --git a/dev-php/php-cgi/php-cgi-4.4.0-r1.ebuild b/dev-php/php-cgi/php-cgi-4.4.0-r1.ebuild
index f1ff839e2524..24742722ec39 100644
--- a/dev-php/php-cgi/php-cgi-4.4.0-r1.ebuild
+++ b/dev-php/php-cgi/php-cgi-4.4.0-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-php/php-cgi/php-cgi-4.4.0-r1.ebuild,v 1.2 2005/07/16 15:30:12 swegener Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-php/php-cgi/php-cgi-4.4.0-r1.ebuild,v 1.3 2005/10/29 22:16:13 chtekk Exp $
PHPSAPI="cgi"
inherit php-sapi eutils
@@ -37,7 +37,7 @@ src_install() {
php-sapi_src_install
# rename binary
- newbin ${S}/sapi/cgi/php php-cgi
+ newbin "${S}/sapi/cgi/php" php-cgi
}
pkg_postinst() {
diff --git a/dev-php/php-cgi/php-cgi-4.4.0-r2.ebuild b/dev-php/php-cgi/php-cgi-4.4.0-r2.ebuild
index 50ea27390eeb..cbc5b3a0482e 100644
--- a/dev-php/php-cgi/php-cgi-4.4.0-r2.ebuild
+++ b/dev-php/php-cgi/php-cgi-4.4.0-r2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-php/php-cgi/php-cgi-4.4.0-r2.ebuild,v 1.6 2005/10/02 14:02:26 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-php/php-cgi/php-cgi-4.4.0-r2.ebuild,v 1.7 2005/10/29 22:16:13 chtekk Exp $
PHPSAPI="cgi"
inherit php-sapi eutils
@@ -15,25 +15,25 @@ PDEPEND=">=${PHP_PROVIDER_PKG}-4.4.0"
PROVIDE="${PROVIDE} virtual/httpd-php"
# fixed PCRE library for security issues, bug #102373
-SRC_URI="${SRC_URI} http://dl.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
+SRC_URI="${SRC_URI} http://gentoo.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
src_unpack() {
php-sapi_src_unpack
# fix imap symlink creation, bug #105351
- use imap && epatch ${FILESDIR}/php4.4.0-imap-symlink.diff
+ use imap && epatch "${FILESDIR}/php4.4.0-imap-symlink.diff"
# we need to unpack the files here, the eclass doesn't handle this
- cd ${WORKDIR}
+ cd "${WORKDIR}"
unpack php-pcrelib-new-secpatch.tar.bz2
- cd ${S}
+ cd "${S}"
# patch to fix PCRE library security issues, bug #102373
- epatch ${FILESDIR}/php4.4.0-pcre-security.patch
+ epatch "${FILESDIR}/php4.4.0-pcre-security.patch"
# sobstitute the bundled PCRE library with a fixed version for bug #102373
einfo "Updating bundled PCRE library"
- rm -rf ${S}/ext/pcre/pcrelib && mv -f ${WORKDIR}/pcrelib-new ${S}/ext/pcre/pcrelib || die "Unable to update the bundled PCRE library"
+ rm -rf "${S}/ext/pcre/pcrelib" && mv -f "${WORKDIR}/pcrelib-new" "${S}/ext/pcre/pcrelib" || die "Unable to update the bundled PCRE library"
}
src_compile() {
@@ -55,7 +55,7 @@ src_install() {
php-sapi_src_install
# rename binary
- newbin ${S}/sapi/cgi/php php-cgi
+ newbin "${S}/sapi/cgi/php" php-cgi
}
pkg_postinst() {
diff --git a/dev-php/php-cgi/php-cgi-4.4.0-r3.ebuild b/dev-php/php-cgi/php-cgi-4.4.0-r3.ebuild
new file mode 100644
index 000000000000..baf1865e49d7
--- /dev/null
+++ b/dev-php/php-cgi/php-cgi-4.4.0-r3.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-php/php-cgi/php-cgi-4.4.0-r3.ebuild,v 1.1 2005/10/29 22:16:13 chtekk Exp $
+
+PHPSAPI="cgi"
+inherit php-sapi eutils
+
+DESCRIPTION="PHP CGI"
+SLOT="0"
+IUSE="fastcgi force-cgi-redirect"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~sparc ~x86"
+
+# for this revision only
+PDEPEND=">=${PHP_PROVIDER_PKG}-4.4.0"
+PROVIDE="${PROVIDE} virtual/httpd-php"
+
+# fixed PCRE library for security issues, bug #102373
+SRC_URI="${SRC_URI} http://gentoo.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
+
+src_unpack() {
+ php-sapi_src_unpack
+
+ # fix imap symlink creation, bug #105351
+ use imap && epatch "${FILESDIR}/php4.4.0-imap-symlink.diff"
+
+ # patch to fix pspell extension, bug #99312 (new patch by upstream)
+ use spell && epatch "${FILESDIR}/php4.4.0-pspell-ext-segf.patch"
+
+ # patch to fix safe_mode bypass in GD extension, bug #109669
+ if use gd || use gd-external ; then
+ epatch "${FILESDIR}/php4.4.0-gd_safe_mode.patch"
+ fi
+
+ # patch open_basedir directory bypass, bug #102943
+ epatch "${FILESDIR}/php4.4.0-fopen_wrappers.patch"
+
+ # patch to fix session.save_path segfault and other issues in
+ # the apache2handler SAPI, bug #107602
+ epatch "${FILESDIR}/php4.4.0-session_save_path-segf.patch"
+
+ # we need to unpack the files here, the eclass doesn't handle this
+ cd "${WORKDIR}"
+ unpack php-pcrelib-new-secpatch.tar.bz2
+ cd "${S}"
+
+ # patch to fix PCRE library security issues, bug #102373
+ epatch "${FILESDIR}/php4.4.0-pcre-security.patch"
+
+ # sobstitute the bundled PCRE library with a fixed version for bug #102373
+ einfo "Updating bundled PCRE library"
+ rm -rf "${S}/ext/pcre/pcrelib" && mv -f "${WORKDIR}/pcrelib-new" "${S}/ext/pcre/pcrelib" || die "Unable to update the bundled PCRE library"
+}
+
+src_compile() {
+ myconf="${myconf} --enable-cgi --disable-cli"
+
+ if use fastcgi; then
+ myconf="${myconf} --enable-fastcgi"
+ fi
+
+ if use force-cgi-redirect; then
+ myconf="${myconf} --enable-force-cgi-redirect"
+ fi
+
+ php-sapi_src_compile
+}
+
+src_install() {
+ PHP_INSTALLTARGETS="install"
+ php-sapi_src_install
+
+ # rename binary
+ newbin "${S}/sapi/cgi/php" php-cgi
+}
+
+pkg_postinst() {
+ php-sapi_pkg_postinst
+ einfo "This is a CGI only build."
+}
diff --git a/dev-php/php-cgi/php-cgi-4.4.0.ebuild b/dev-php/php-cgi/php-cgi-4.4.0.ebuild
index 3e9c8fc62804..710df7443540 100644
--- a/dev-php/php-cgi/php-cgi-4.4.0.ebuild
+++ b/dev-php/php-cgi/php-cgi-4.4.0.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-php/php-cgi/php-cgi-4.4.0.ebuild,v 1.10 2005/07/24 05:30:09 hardave Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-php/php-cgi/php-cgi-4.4.0.ebuild,v 1.11 2005/10/29 22:16:13 chtekk Exp $
PHPSAPI="cgi"
inherit php-sapi eutils
@@ -36,9 +36,9 @@ src_install() {
PHP_INSTALLTARGETS="install"
php-sapi_src_install
- rm -f ${D}/usr/bin/php
+ rm -f "${D}/usr/bin/php"
# rename binary
- newbin ${S}/sapi/cgi/php php-cgi
+ newbin "${S}/sapi/cgi/php" php-cgi
}
pkg_postinst() {
diff --git a/dev-php/php/ChangeLog b/dev-php/php/ChangeLog
index 1b44d6c279ee..3bf7ef81a868 100644
--- a/dev-php/php/ChangeLog
+++ b/dev-php/php/ChangeLog
@@ -1,6 +1,22 @@
# ChangeLog for dev-php/php
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-php/php/ChangeLog,v 1.195 2005/10/02 13:57:26 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-php/php/ChangeLog,v 1.196 2005/10/29 22:16:13 chtekk Exp $
+
+*php-4.4.0-r2 (29 Oct 2005)
+*php-4.3.11-r2 (29 Oct 2005)
+
+ 29 Oct 2005; Luca Longinotti <chtekk@gentoo.org>
+ +files/php4.3.11-gd_safe_mode.patch,
+ +files/php4.3.11-pspell-ext-segf.patch,
+ +files/php4.3.11-session_save_path-segf.patch,
+ +files/php4.4.0-fopen_wrappers.patch, +files/php4.4.0-gd_safe_mode.patch,
+ -files/libmbfl-headers.patch, +files/php4.3.11-fopen_wrappers.patch,
+ +files/php4.4.0-pspell-ext-segf.patch,
+ +files/php4.4.0-session_save_path-segf.patch, -files/stdint.diff,
+ php-4.3.11.ebuild, php-4.3.11-r1.ebuild, +php-4.3.11-r2.ebuild,
+ php-4.4.0.ebuild, php-4.4.0-r1.ebuild, +php-4.4.0-r2.ebuild:
+ Old-style PHP update: fix quotation of some vars, change URI of a mirror,
+ remove two unused patches and fix bugs #99312, #109669, #102943, #107602.
02 Oct 2005; Aron Griffis <agriffis@gentoo.org> php-4.4.0-r1.ebuild:
Mark 4.4.0-r1 stable on ia64
diff --git a/dev-php/php/Manifest b/dev-php/php/Manifest
index 9089c3ece77b..3ce71201629c 100644
--- a/dev-php/php/Manifest
+++ b/dev-php/php/Manifest
@@ -1,29 +1,29 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-MD5 7d4aa22887055dc44402c1c89228c586 ChangeLog 26618
-MD5 c3936dcc33eacdde589f42f0f28e4bd6 files/digest-php-4.3.11 213
-MD5 d1536bfe7ebf7dab5076fcd56b03250a files/digest-php-4.3.11-r1 290
-MD5 b3403a09e5d5fa394900b99ca6f63335 files/digest-php-4.4.0 211
-MD5 58cd61c7ae093d9e2b847d68e76b88a2 files/digest-php-4.4.0-r1 288
-MD5 522f94bfc40f65c2263785f960035875 files/libmbfl-headers.patch 309
+MD5 c1a27c2215058036b12a30e665df6da6 ChangeLog 27395
+MD5 289778209b2df87dbc5052351e604b1a files/digest-php-4.3.11 213
+MD5 a7b81d42cc56fdd6c72fbe2549dbe898 files/digest-php-4.3.11-r1 290
+MD5 a7b81d42cc56fdd6c72fbe2549dbe898 files/digest-php-4.3.11-r2 290
+MD5 f25bbe20f37a0eb83f7a57ca2c3a25e3 files/digest-php-4.4.0 211
+MD5 43c5b30a9e9bde68a44cf414341e32e8 files/digest-php-4.4.0-r1 288
+MD5 43c5b30a9e9bde68a44cf414341e32e8 files/digest-php-4.4.0-r2 288
MD5 cdec3284251432935f950c2d15a405b7 files/php-4.3.11-flash.patch 694
MD5 b2aa5952d5c805b3e57a5a6bf0f0b8d0 files/php-4.3.11-gmp.patch 925
MD5 7515e9b1dc298a0fb1c12d35a58c265d files/php-4.3.4-amd64hack.diff 1028
+MD5 cb36a386184ed6a887f62d2205f57173 files/php4.3.11-fopen_wrappers.patch 1481
+MD5 4db8e0b66cde22dd4e4d9f51e59f6098 files/php4.3.11-gd_safe_mode.patch 1573
MD5 47a031979331eeb527d0918d2c38cdbe files/php4.3.11-imap-symlink.diff 1238
MD5 a9b932952f12aa01a9f98a7fcbf32ed9 files/php4.3.11-pcre-security.patch 6031
+MD5 48d9c939434e9b01d0696410d59c503c files/php4.3.11-pspell-ext-segf.patch 8482
+MD5 17b906361a7ab8a3008446871623eeae files/php4.3.11-session_save_path-segf.patch 4938
+MD5 cb36a386184ed6a887f62d2205f57173 files/php4.4.0-fopen_wrappers.patch 1481
+MD5 a540c54ba22dc16b157edcf1ecb6258f files/php4.4.0-gd_safe_mode.patch 883
MD5 4c86d8ed96f2bb38b94e826c1f028c80 files/php4.4.0-imap-symlink.diff 1238
MD5 54a4ad0766f89185d7de2c6d07b07296 files/php4.4.0-pcre-security.patch 6177
-MD5 ad986b02a371b2fea3b4ae5060c9dc81 files/stdint.diff 358
+MD5 48d9c939434e9b01d0696410d59c503c files/php4.4.0-pspell-ext-segf.patch 8482
+MD5 83fb9efb602c178741ea2e40e13b014f files/php4.4.0-session_save_path-segf.patch 4132
MD5 38fe937e954ab7109395cefa86fcd2d4 metadata.xml 384
-MD5 2630de70f85b3e7115124be4489ad515 php-4.3.11-r1.ebuild 1947
-MD5 eaa1a899f214a9ad1a095e9f6a4f5fc5 php-4.3.11.ebuild 1214
-MD5 6c2b68141ee6ebe197a6f9296c0a9365 php-4.4.0-r1.ebuild 1811
-MD5 1832b7dad433181a1ea82028e176f098 php-4.4.0.ebuild 1080
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.2 (GNU/Linux)
-
-iD4DBQFDSLx+gIKl8Uu19MoRAlkkAJ95oq86rerma3XPiGiiOU9RXn0kvgCYwdfA
-KTwI7BwN1UHd8+HX9GXoDg==
-=55EK
------END PGP SIGNATURE-----
+MD5 13f16673a3322d2526c41304a92cb258 php-4.3.11-r1.ebuild 1971
+MD5 97a173f74e09115932bb77211bf0811a php-4.3.11-r2.ebuild 2542
+MD5 c726df49806f6e7c5df1af60e62c9393 php-4.3.11.ebuild 1220
+MD5 85507b461b039104ec28adcc96072bb9 php-4.4.0-r1.ebuild 1831
+MD5 001529d07933cef3c221786bc9d5b2c1 php-4.4.0-r2.ebuild 2401
+MD5 936cb97f05b9e214aa8840adcb11d090 php-4.4.0.ebuild 1082
diff --git a/dev-php/php/files/digest-php-4.3.11 b/dev-php/php/files/digest-php-4.3.11
index ee98e2095709..afa221c26709 100644
--- a/dev-php/php/files/digest-php-4.3.11
+++ b/dev-php/php/files/digest-php-4.3.11
@@ -1,3 +1,3 @@
+MD5 611cdddabfd71ffb724c428be33c14cb hardening-patch-4.3.11-0.3.2.patch.gz 80613
MD5 fbc67d240812136a9842bc1f2a217b7a php-4.3.11.tar.bz2 4012575
MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
-MD5 611cdddabfd71ffb724c428be33c14cb hardening-patch-4.3.11-0.3.2.patch.gz 80613
diff --git a/dev-php/php/files/digest-php-4.3.11-r1 b/dev-php/php/files/digest-php-4.3.11-r1
index 5bff16fceb06..252c3a932b24 100644
--- a/dev-php/php/files/digest-php-4.3.11-r1
+++ b/dev-php/php/files/digest-php-4.3.11-r1
@@ -1,4 +1,4 @@
+MD5 611cdddabfd71ffb724c428be33c14cb hardening-patch-4.3.11-0.3.2.patch.gz 80613
MD5 fbc67d240812136a9842bc1f2a217b7a php-4.3.11.tar.bz2 4012575
MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
-MD5 611cdddabfd71ffb724c428be33c14cb hardening-patch-4.3.11-0.3.2.patch.gz 80613
MD5 33be24619f3a10953f9e1e32beeee97a php-pcrelib-new-secpatch.tar.bz2 357619
diff --git a/dev-php/php/files/digest-php-4.3.11-r2 b/dev-php/php/files/digest-php-4.3.11-r2
new file mode 100644
index 000000000000..252c3a932b24
--- /dev/null
+++ b/dev-php/php/files/digest-php-4.3.11-r2
@@ -0,0 +1,4 @@
+MD5 611cdddabfd71ffb724c428be33c14cb hardening-patch-4.3.11-0.3.2.patch.gz 80613
+MD5 fbc67d240812136a9842bc1f2a217b7a php-4.3.11.tar.bz2 4012575
+MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
+MD5 33be24619f3a10953f9e1e32beeee97a php-pcrelib-new-secpatch.tar.bz2 357619
diff --git a/dev-php/php/files/digest-php-4.4.0 b/dev-php/php/files/digest-php-4.4.0
index 70d0e03a076c..413538df8e6b 100644
--- a/dev-php/php/files/digest-php-4.4.0
+++ b/dev-php/php/files/digest-php-4.4.0
@@ -1,3 +1,3 @@
-MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
-MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
MD5 0a52b85692ebbc299e6b1f6d9d206691 hardening-patch-4.4.0-0.3.2.patch.gz 33347
+MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
+MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
diff --git a/dev-php/php/files/digest-php-4.4.0-r1 b/dev-php/php/files/digest-php-4.4.0-r1
index 1471bf09112b..077ffb8eedda 100644
--- a/dev-php/php/files/digest-php-4.4.0-r1
+++ b/dev-php/php/files/digest-php-4.4.0-r1
@@ -1,4 +1,4 @@
-MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
-MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
MD5 0a52b85692ebbc299e6b1f6d9d206691 hardening-patch-4.4.0-0.3.2.patch.gz 33347
+MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
+MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
MD5 33be24619f3a10953f9e1e32beeee97a php-pcrelib-new-secpatch.tar.bz2 357619
diff --git a/dev-php/php/files/digest-php-4.4.0-r2 b/dev-php/php/files/digest-php-4.4.0-r2
new file mode 100644
index 000000000000..077ffb8eedda
--- /dev/null
+++ b/dev-php/php/files/digest-php-4.4.0-r2
@@ -0,0 +1,4 @@
+MD5 0a52b85692ebbc299e6b1f6d9d206691 hardening-patch-4.4.0-0.3.2.patch.gz 33347
+MD5 fbb6b365f4c0263b1dfd498aef092a77 php-4.3.6-includepath.diff 285
+MD5 e85b606fe48198bfcd785e5a5b1c9613 php-4.4.0.tar.bz2 4086074
+MD5 33be24619f3a10953f9e1e32beeee97a php-pcrelib-new-secpatch.tar.bz2 357619
diff --git a/dev-php/php/files/libmbfl-headers.patch b/dev-php/php/files/libmbfl-headers.patch
deleted file mode 100644
index cb1cd65f14ed..000000000000
--- a/dev-php/php/files/libmbfl-headers.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- scripts/Makefile.frag.old 2005-02-28 06:40:38.693990560 +0100
-+++ scripts/Makefile.frag 2005-02-28 06:40:51.610027024 +0100
-@@ -37,6 +37,8 @@
- ext/xml/ \
- ext/xml/expat/ \
- ext/mbstring/ \
-+ ext/mbstring/libmbfl/ \
-+ ext/mbstring/libmbfl/mbfl/ \
- ext/sqlite/libsqlite/src/sqlite.h
-
- install-headers:
diff --git a/dev-php/php/files/php4.3.11-fopen_wrappers.patch b/dev-php/php/files/php4.3.11-fopen_wrappers.patch
new file mode 100644
index 000000000000..672da5ece63b
--- /dev/null
+++ b/dev-php/php/files/php4.3.11-fopen_wrappers.patch
@@ -0,0 +1,46 @@
+--- main/fopen_wrappers.c 2005/02/02 23:44:07 1.153.2.10
++++ main/fopen_wrappers.c 2005/09/27 15:08:43 1.153.2.10.2.2
+@@ -16,7 +16,7 @@
+ | Jim Winstead <jimw@php.net> |
+ +----------------------------------------------------------------------+
+ */
+-/* $Id: fopen_wrappers.c,v 1.153.2.10 2005/02/02 23:44:07 iliaa Exp $ */
++/* $Id: fopen_wrappers.c,v 1.153.2.10.2.2 2005/09/27 15:08:43 iliaa Exp $ */
+
+ /* {{{ includes
+ */
+@@ -36,14 +36,6 @@
+ #include <winsock.h>
+ #define O_RDONLY _O_RDONLY
+ #include "win32/param.h"
+-#elif defined(NETWARE)
+-/*#include <ws2nlm.h>*/
+-/*#include <sys/socket.h>*/
+-#ifdef NEW_LIBC
+-#include <sys/param.h>
+-#else
+-#include "netware/param.h"
+-#endif
+ #else
+ #include <sys/param.h>
+ #endif
+@@ -57,8 +49,6 @@
+ #if HAVE_PWD_H
+ #ifdef PHP_WIN32
+ #include "win32/pwd.h"
+-#elif defined(NETWARE)
+-#include "netware/pwd.h"
+ #else
+ #include <pwd.h>
+ #endif
+@@ -120,8 +110,8 @@ PHPAPI int php_check_specific_open_based
+ /* Handler for basedirs that end with a / */
+ resolved_basedir_len = strlen(resolved_basedir);
+ if (basedir[strlen(basedir) - 1] == PHP_DIR_SEPARATOR) {
+- if (resolved_basedir[resolved_basedir_len - 1] == '/') {
+- resolved_basedir[resolved_basedir_len - 1] = PHP_DIR_SEPARATOR;
++ if (resolved_basedir[resolved_basedir_len - 1] != PHP_DIR_SEPARATOR) {
++ resolved_basedir[resolved_basedir_len] = PHP_DIR_SEPARATOR;
+ resolved_basedir[++resolved_basedir_len] = '\0';
+ }
+ }
diff --git a/dev-php/php/files/php4.3.11-gd_safe_mode.patch b/dev-php/php/files/php4.3.11-gd_safe_mode.patch
new file mode 100644
index 000000000000..19011120eea2
--- /dev/null
+++ b/dev-php/php/files/php4.3.11-gd_safe_mode.patch
@@ -0,0 +1,39 @@
+--- ext/gd/gd.c 2005/01/17 17:07:57 1.221.2.54
++++ ext/gd/gd.c 2005/10/06 20:44:52 1.221.2.56.2.1
+@@ -18,7 +18,7 @@
+ +----------------------------------------------------------------------+
+ */
+
+-/* $Id: gd.c,v 1.221.2.54 2005/01/17 17:07:57 sniper Exp $ */
++/* $Id: gd.c,v 1.221.2.56.2.1 2005/10/06 20:44:52 iliaa Exp $ */
+
+ /* gd 1.2 is copyright 1994, 1995, Quest Protein Database Center,
+ Cold Spring Harbor Labs. */
+@@ -1644,7 +1644,7 @@ static void _php_image_output(INTERNAL_F
+ }
+
+ if ((argc == 2) || (argc > 2 && Z_STRLEN_PP(file))) {
+- if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC)) {
++ if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC) || (PG(safe_mode) && !php_checkuid(fn, "rb+", CHECKUID_CHECK_FILE_AND_DIR))) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid filename '%s'", fn);
+ RETURN_FALSE;
+ }
+@@ -1699,7 +1699,7 @@ static void _php_image_output(INTERNAL_F
+ char buf[4096];
+ char *path;
+
+- tmp = php_open_temporary_file("", "", &path TSRMLS_CC);
++ tmp = php_open_temporary_file(NULL, NULL, &path TSRMLS_CC);
+ if (tmp == NULL) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to open temporary file");
+ RETURN_FALSE;
+@@ -3017,7 +3017,8 @@ static void php_imagettftext_common(INTE
+ {
+ zval *IM, *EXT = NULL;
+ gdImagePtr im=NULL;
+- int col = -1, x = -1, y = -1, str_len, fontname_len, i, brect[8];
++ long col = -1, x = -1, y = -1;
++ int str_len, fontname_len, i, brect[8];
+ double ptsize, angle;
+ unsigned char *str = NULL, *fontname = NULL;
+ char *error = NULL;
diff --git a/dev-php/php/files/php4.3.11-pspell-ext-segf.patch b/dev-php/php/files/php4.3.11-pspell-ext-segf.patch
new file mode 100644
index 000000000000..a62c42fec553
--- /dev/null
+++ b/dev-php/php/files/php4.3.11-pspell-ext-segf.patch
@@ -0,0 +1,317 @@
+--- ext/pspell/pspell.c 2003-08-28 22:01:29.000000000 +0200
++++ ext/pspell/pspell.c 2005-10-26 23:24:22.000000000 +0200
+@@ -16,7 +16,7 @@
+ +----------------------------------------------------------------------+
+ */
+
+-/* $Id: pspell.c,v 1.28.8.5 2003/08/28 20:01:29 iliaa Exp $ */
++/* $Id: pspell.c,v 1.28.8.5.4.2 2005/10/17 15:43:10 iliaa Exp $ */
+
+ #define IS_EXT_MODULE
+
+@@ -99,6 +99,22 @@
+ delete_pspell_config(config);
+ }
+
++#define PSPELL_FETCH_CONFIG \
++ convert_to_long_ex(conf); \
++ config = (PspellConfig *) zend_list_find(Z_LVAL_PP(conf), &type); \
++ if (config == NULL || type != le_pspell_config) { \
++ php_error_docref(NULL TSRMLS_CC, E_WARNING, "%ld is not a PSPELL config index", Z_LVAL_PP(conf)); \
++ RETURN_FALSE; \
++ } \
++
++#define PSPELL_FETCH_MANAGER \
++ convert_to_long_ex(scin); \
++ manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type); \
++ if (!manager || type != le_pspell) { \
++ php_error_docref(NULL TSRMLS_CC, E_WARNING, "%ld is not a PSPELL result index", Z_LVAL_PP(scin)); \
++ RETURN_FALSE; \
++ } \
++
+ /* {{{ PHP_MINIT_FUNCTION
+ */
+ PHP_MINIT_FUNCTION(pspell)
+@@ -350,14 +366,8 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(conf);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(conf), &type);
++ PSPELL_FETCH_CONFIG;
+
+- if (config == NULL || type != le_pspell_config) {
+- php_error(E_WARNING, "%ld is not a PSPELL config index", Z_LVAL_PP(conf));
+- RETURN_FALSE;
+- }
+-
+ ret = new_pspell_manager(config);
+
+ if(pspell_error_number(ret) != 0){
+@@ -385,13 +395,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ if(pspell_manager_check(manager, Z_STRVAL_PP(word))){
+ RETURN_TRUE;
+@@ -417,13 +423,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ array_init(return_value);
+
+@@ -455,14 +457,10 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(miss);
+ convert_to_string_ex(corr);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ pspell_manager_store_replacement(manager, Z_STRVAL_PP(miss), Z_STRVAL_PP(corr));
+ if(pspell_manager_error_number(manager) == 0){
+@@ -488,13 +486,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ /*If the word is empty, we have to return; otherwise we'll segfault! ouch!*/
+ if(Z_STRLEN_PP(word) == 0){
+@@ -525,13 +519,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ /*If the word is empty, we have to return; otherwise we'll segfault! ouch!*/
+ if(Z_STRLEN_PP(word) == 0){
+@@ -562,12 +552,7 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_MANAGER;
+
+ pspell_manager_clear_session(manager);
+ if(pspell_manager_error_number(manager) == 0){
+@@ -593,12 +578,7 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_MANAGER;
+
+ pspell_manager_save_all_word_lists(manager);
+
+@@ -666,22 +646,17 @@
+ PHP_FUNCTION(pspell_config_runtogether)
+ {
+ int type;
+- zval **sccin, **runtogether;
++ zval **conf, **runtogether;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&runtogether) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&runtogether) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_boolean_ex(runtogether);
+ pspell_config_replace(config, "run-together", Z_LVAL_PP(runtogether) ? "true" : "false");
+@@ -695,22 +670,17 @@
+ PHP_FUNCTION(pspell_config_mode)
+ {
+ int type;
+- zval **sccin, **mode;
++ zval **conf, **mode;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&mode) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&mode) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_long_ex(mode);
+
+@@ -732,7 +702,7 @@
+ PHP_FUNCTION(pspell_config_ignore)
+ {
+ int type;
+- zval **sccin, **pignore;
++ zval **conf, **pignore;
+ int argc;
+
+ int loc = PSPELL_LARGEST_WORD;
+@@ -742,16 +712,11 @@
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&pignore) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&pignore) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_long_ex(pignore);
+ ignore = Z_LVAL_PP(pignore);
+@@ -782,22 +747,17 @@
+ PHP_FUNCTION(pspell_config_personal)
+ {
+ int type;
+- zval **sccin, **personal;
++ zval **conf, **personal;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&personal) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&personal) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_string_ex(personal);
+
+@@ -820,22 +780,17 @@
+ PHP_FUNCTION(pspell_config_repl)
+ {
+ int type;
+- zval **sccin, **repl;
++ zval **conf, **repl;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&repl) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&repl) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ pspell_config_replace(config, "save-repl", "true");
+
+@@ -860,22 +815,17 @@
+ PHP_FUNCTION(pspell_config_save_repl)
+ {
+ int type;
+- zval **sccin, **save;
++ zval **conf, **save;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&save) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&save) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_boolean_ex(save);
+ pspell_config_replace(config, "save-repl", Z_LVAL_PP(save) ? "true" : "false");
diff --git a/dev-php/php/files/php4.3.11-session_save_path-segf.patch b/dev-php/php/files/php4.3.11-session_save_path-segf.patch
new file mode 100644
index 000000000000..3836776b14b4
--- /dev/null
+++ b/dev-php/php/files/php4.3.11-session_save_path-segf.patch
@@ -0,0 +1,154 @@
+--- sapi/apache2handler/sapi_apache2.c 2005-03-10 12:39:04.000000000 +0100
++++ sapi/apache2handler/sapi_apache2.c 2005-10-26 16:02:03.000000000 +0200
+@@ -18,7 +18,7 @@
+ +----------------------------------------------------------------------+
+ */
+
+-/* $Id: sapi_apache2.c,v 1.1.2.39 2005/03/10 11:39:04 jorton Exp $ */
++/* $Id: sapi_apache2.c,v 1.1.2.40.2.5 2005/10/12 21:41:36 tony2001 Exp $ */
+
+ #include <fcntl.h>
+
+@@ -268,23 +268,18 @@
+ TSRMLS_FETCH();
+
+ ctx = SG(server_context);
+-
+- /* We use APLOG_STARTUP because it keeps us from printing the
+- * data and time information at the beginning of the error log
+- * line. Not sure if this is correct, but it mirrors what happens
+- * with Apache 1.3 -- rbb
+- */
++
+ if (ctx == NULL) { /* we haven't initialized our ctx yet, oh well */
+ ap_log_error(APLOG_MARK, APLOG_ERR | APLOG_STARTUP, 0, NULL, "%s", msg);
+ } else {
+- ap_log_rerror(APLOG_MARK, APLOG_ERR | APLOG_STARTUP, 0, ctx->r, "%s", msg);
++ ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, ctx->r, "%s", msg);
+ }
+ }
+
+ static void php_apache_sapi_log_message_ex(char *msg, request_rec *r)
+ {
+ if (r) {
+- ap_log_rerror(APLOG_MARK, APLOG_ERR | APLOG_STARTUP, 0, r, msg, r->filename);
++ ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, msg, r->filename);
+ } else {
+ php_apache_sapi_log_message(msg);
+ }
+@@ -458,15 +453,34 @@
+ request_rec *parent_req = NULL;
+ TSRMLS_FETCH();
+
++#define PHPAP_INI_OFF \
++ if (strcmp(r->protocol, "INCLUDED")) { \
++ zend_try { zend_ini_deactivate(TSRMLS_C); } zend_end_try(); \
++ } \
++
+ conf = ap_get_module_config(r->per_dir_config, &php4_module);
++
++ /* apply_config() needs r in some cases, so allocate server_context early */
++ ctx = SG(server_context);
++ if (ctx == NULL) {
++ ctx = SG(server_context) = apr_pcalloc(r->pool, sizeof(*ctx));
++ /* register a cleanup so we clear out the SG(server_context)
++ * after each request. Note: We pass in the pointer to the
++ * server_context in case this is handled by a different thread.
++ */
++ apr_pool_cleanup_register(r->pool, (void *)&SG(server_context), php_server_context_cleanup, apr_pool_cleanup_null);
++ ctx->r = r;
++ ctx = NULL; /* May look weird to null it here, but it is to catch the right case in the first_try later on */
++ } else {
++ parent_req = ctx->r;
++ ctx->r = r;
++ }
+ apply_config(conf);
+
+ if (strcmp(r->handler, PHP_MAGIC_TYPE) && strcmp(r->handler, PHP_SOURCE_MAGIC_TYPE) && strcmp(r->handler, PHP_SCRIPT)) {
+ /* Check for xbithack in this case. */
+ if (!AP2(xbithack) || strcmp(r->handler, "text/html") || !(r->finfo.protection & APR_UEXECUTE)) {
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return DECLINED;
+ }
+ }
+@@ -475,32 +489,24 @@
+ * the configuration; default behaviour is to accept. */
+ if (r->used_path_info == AP_REQ_REJECT_PATH_INFO
+ && r->path_info && r->path_info[0]) {
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return HTTP_NOT_FOUND;
+ }
+
+ /* handle situations where user turns the engine off */
+ if (!AP2(engine)) {
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return DECLINED;
+ }
+
+ if (r->finfo.filetype == 0) {
+ php_apache_sapi_log_message_ex("script '%s' not found or unable to stat", r);
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return HTTP_NOT_FOUND;
+ }
+ if (r->finfo.filetype == APR_DIR) {
+ php_apache_sapi_log_message_ex("attempt to invoke directory '%s' as script", r);
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return HTTP_FORBIDDEN;
+ }
+
+@@ -516,24 +522,30 @@
+
+ zend_first_try {
+
+- ctx = SG(server_context);
+ if (ctx == NULL) {
+- ctx = SG(server_context) = apr_pcalloc(r->pool, sizeof(*ctx));
+- /* register a cleanup so we clear out the SG(server_context)
+- * after each request. Note: We pass in the pointer to the
+- * server_context in case this is handled by a different thread.
+- */
+- apr_pool_cleanup_register(r->pool, (void *)&SG(server_context), php_server_context_cleanup, apr_pool_cleanup_null);
+-
+- ctx->r = r;
++normal:
+ brigade = apr_brigade_create(r->pool, r->connection->bucket_alloc);
++ ctx = SG(server_context);
+ ctx->brigade = brigade;
+
+ if (php_apache_request_ctor(r, ctx TSRMLS_CC)!=SUCCESS) {
+ zend_bailout();
+ }
+ } else {
+- parent_req = ctx->r;
++ if (!parent_req) {
++ parent_req = ctx->r;
++ }
++ if (parent_req && strcmp(parent_req->handler, PHP_MAGIC_TYPE) && strcmp(parent_req->handler, PHP_SOURCE_MAGIC_TYPE) && strcmp(parent_req->handler, PHP_SCRIPT)) {
++ if (php_apache_request_ctor(r, ctx TSRMLS_CC)!=SUCCESS) {
++ zend_bailout();
++ }
++ }
++
++ /* check if comming due to ErrorDocument */
++ if (parent_req && parent_req->status != HTTP_OK) {
++ parent_req = NULL;
++ goto normal;
++ }
+ ctx->r = r;
+ brigade = ctx->brigade;
+ }
diff --git a/dev-php/php/files/php4.4.0-fopen_wrappers.patch b/dev-php/php/files/php4.4.0-fopen_wrappers.patch
new file mode 100644
index 000000000000..672da5ece63b
--- /dev/null
+++ b/dev-php/php/files/php4.4.0-fopen_wrappers.patch
@@ -0,0 +1,46 @@
+--- main/fopen_wrappers.c 2005/02/02 23:44:07 1.153.2.10
++++ main/fopen_wrappers.c 2005/09/27 15:08:43 1.153.2.10.2.2
+@@ -16,7 +16,7 @@
+ | Jim Winstead <jimw@php.net> |
+ +----------------------------------------------------------------------+
+ */
+-/* $Id: fopen_wrappers.c,v 1.153.2.10 2005/02/02 23:44:07 iliaa Exp $ */
++/* $Id: fopen_wrappers.c,v 1.153.2.10.2.2 2005/09/27 15:08:43 iliaa Exp $ */
+
+ /* {{{ includes
+ */
+@@ -36,14 +36,6 @@
+ #include <winsock.h>
+ #define O_RDONLY _O_RDONLY
+ #include "win32/param.h"
+-#elif defined(NETWARE)
+-/*#include <ws2nlm.h>*/
+-/*#include <sys/socket.h>*/
+-#ifdef NEW_LIBC
+-#include <sys/param.h>
+-#else
+-#include "netware/param.h"
+-#endif
+ #else
+ #include <sys/param.h>
+ #endif
+@@ -57,8 +49,6 @@
+ #if HAVE_PWD_H
+ #ifdef PHP_WIN32
+ #include "win32/pwd.h"
+-#elif defined(NETWARE)
+-#include "netware/pwd.h"
+ #else
+ #include <pwd.h>
+ #endif
+@@ -120,8 +110,8 @@ PHPAPI int php_check_specific_open_based
+ /* Handler for basedirs that end with a / */
+ resolved_basedir_len = strlen(resolved_basedir);
+ if (basedir[strlen(basedir) - 1] == PHP_DIR_SEPARATOR) {
+- if (resolved_basedir[resolved_basedir_len - 1] == '/') {
+- resolved_basedir[resolved_basedir_len - 1] = PHP_DIR_SEPARATOR;
++ if (resolved_basedir[resolved_basedir_len - 1] != PHP_DIR_SEPARATOR) {
++ resolved_basedir[resolved_basedir_len] = PHP_DIR_SEPARATOR;
+ resolved_basedir[++resolved_basedir_len] = '\0';
+ }
+ }
diff --git a/dev-php/php/files/php4.4.0-gd_safe_mode.patch b/dev-php/php/files/php4.4.0-gd_safe_mode.patch
new file mode 100644
index 000000000000..1e0d49d1373c
--- /dev/null
+++ b/dev-php/php/files/php4.4.0-gd_safe_mode.patch
@@ -0,0 +1,20 @@
+--- ext/gd/gd.c 2005/05/06 16:51:54 1.221.2.56
++++ ext/gd/gd.c 2005/10/06 20:44:52 1.221.2.56.2.1
+@@ -18,7 +18,7 @@
+ +----------------------------------------------------------------------+
+ */
+
+-/* $Id: gd.c,v 1.221.2.56 2005/05/06 16:51:54 tony2001 Exp $ */
++/* $Id: gd.c,v 1.221.2.56.2.1 2005/10/06 20:44:52 iliaa Exp $ */
+
+ /* gd 1.2 is copyright 1994, 1995, Quest Protein Database Center,
+ Cold Spring Harbor Labs. */
+@@ -1644,7 +1644,7 @@ static void _php_image_output(INTERNAL_F
+ }
+
+ if ((argc == 2) || (argc > 2 && Z_STRLEN_PP(file))) {
+- if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC)) {
++ if (!fn || fn == empty_string || php_check_open_basedir(fn TSRMLS_CC) || (PG(safe_mode) && !php_checkuid(fn, "rb+", CHECKUID_CHECK_FILE_AND_DIR))) {
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid filename '%s'", fn);
+ RETURN_FALSE;
+ }
diff --git a/dev-php/php/files/php4.4.0-pspell-ext-segf.patch b/dev-php/php/files/php4.4.0-pspell-ext-segf.patch
new file mode 100644
index 000000000000..a62c42fec553
--- /dev/null
+++ b/dev-php/php/files/php4.4.0-pspell-ext-segf.patch
@@ -0,0 +1,317 @@
+--- ext/pspell/pspell.c 2003-08-28 22:01:29.000000000 +0200
++++ ext/pspell/pspell.c 2005-10-26 23:24:22.000000000 +0200
+@@ -16,7 +16,7 @@
+ +----------------------------------------------------------------------+
+ */
+
+-/* $Id: pspell.c,v 1.28.8.5 2003/08/28 20:01:29 iliaa Exp $ */
++/* $Id: pspell.c,v 1.28.8.5.4.2 2005/10/17 15:43:10 iliaa Exp $ */
+
+ #define IS_EXT_MODULE
+
+@@ -99,6 +99,22 @@
+ delete_pspell_config(config);
+ }
+
++#define PSPELL_FETCH_CONFIG \
++ convert_to_long_ex(conf); \
++ config = (PspellConfig *) zend_list_find(Z_LVAL_PP(conf), &type); \
++ if (config == NULL || type != le_pspell_config) { \
++ php_error_docref(NULL TSRMLS_CC, E_WARNING, "%ld is not a PSPELL config index", Z_LVAL_PP(conf)); \
++ RETURN_FALSE; \
++ } \
++
++#define PSPELL_FETCH_MANAGER \
++ convert_to_long_ex(scin); \
++ manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type); \
++ if (!manager || type != le_pspell) { \
++ php_error_docref(NULL TSRMLS_CC, E_WARNING, "%ld is not a PSPELL result index", Z_LVAL_PP(scin)); \
++ RETURN_FALSE; \
++ } \
++
+ /* {{{ PHP_MINIT_FUNCTION
+ */
+ PHP_MINIT_FUNCTION(pspell)
+@@ -350,14 +366,8 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(conf);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(conf), &type);
++ PSPELL_FETCH_CONFIG;
+
+- if (config == NULL || type != le_pspell_config) {
+- php_error(E_WARNING, "%ld is not a PSPELL config index", Z_LVAL_PP(conf));
+- RETURN_FALSE;
+- }
+-
+ ret = new_pspell_manager(config);
+
+ if(pspell_error_number(ret) != 0){
+@@ -385,13 +395,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ if(pspell_manager_check(manager, Z_STRVAL_PP(word))){
+ RETURN_TRUE;
+@@ -417,13 +423,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ array_init(return_value);
+
+@@ -455,14 +457,10 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(miss);
+ convert_to_string_ex(corr);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ pspell_manager_store_replacement(manager, Z_STRVAL_PP(miss), Z_STRVAL_PP(corr));
+ if(pspell_manager_error_number(manager) == 0){
+@@ -488,13 +486,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ /*If the word is empty, we have to return; otherwise we'll segfault! ouch!*/
+ if(Z_STRLEN_PP(word) == 0){
+@@ -525,13 +519,9 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+ convert_to_string_ex(word);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++
++ PSPELL_FETCH_MANAGER;
+
+ /*If the word is empty, we have to return; otherwise we'll segfault! ouch!*/
+ if(Z_STRLEN_PP(word) == 0){
+@@ -562,12 +552,7 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_MANAGER;
+
+ pspell_manager_clear_session(manager);
+ if(pspell_manager_error_number(manager) == 0){
+@@ -593,12 +578,7 @@
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(scin);
+- manager = (PspellManager *) zend_list_find(Z_LVAL_PP(scin), &type);
+- if(!manager){
+- php_error(E_WARNING, "%ld is not a PSPELL result index",Z_LVAL_PP(scin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_MANAGER;
+
+ pspell_manager_save_all_word_lists(manager);
+
+@@ -666,22 +646,17 @@
+ PHP_FUNCTION(pspell_config_runtogether)
+ {
+ int type;
+- zval **sccin, **runtogether;
++ zval **conf, **runtogether;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&runtogether) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&runtogether) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_boolean_ex(runtogether);
+ pspell_config_replace(config, "run-together", Z_LVAL_PP(runtogether) ? "true" : "false");
+@@ -695,22 +670,17 @@
+ PHP_FUNCTION(pspell_config_mode)
+ {
+ int type;
+- zval **sccin, **mode;
++ zval **conf, **mode;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&mode) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&mode) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_long_ex(mode);
+
+@@ -732,7 +702,7 @@
+ PHP_FUNCTION(pspell_config_ignore)
+ {
+ int type;
+- zval **sccin, **pignore;
++ zval **conf, **pignore;
+ int argc;
+
+ int loc = PSPELL_LARGEST_WORD;
+@@ -742,16 +712,11 @@
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&pignore) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&pignore) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_long_ex(pignore);
+ ignore = Z_LVAL_PP(pignore);
+@@ -782,22 +747,17 @@
+ PHP_FUNCTION(pspell_config_personal)
+ {
+ int type;
+- zval **sccin, **personal;
++ zval **conf, **personal;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&personal) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&personal) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_string_ex(personal);
+
+@@ -820,22 +780,17 @@
+ PHP_FUNCTION(pspell_config_repl)
+ {
+ int type;
+- zval **sccin, **repl;
++ zval **conf, **repl;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&repl) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&repl) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ pspell_config_replace(config, "save-repl", "true");
+
+@@ -860,22 +815,17 @@
+ PHP_FUNCTION(pspell_config_save_repl)
+ {
+ int type;
+- zval **sccin, **save;
++ zval **conf, **save;
+ int argc;
+
+ PspellConfig *config;
+
+ argc = ZEND_NUM_ARGS();
+- if (argc != 2 || zend_get_parameters_ex(argc,&sccin,&save) == FAILURE) {
++ if (argc != 2 || zend_get_parameters_ex(argc,&conf,&save) == FAILURE) {
+ WRONG_PARAM_COUNT;
+ }
+
+- convert_to_long_ex(sccin);
+- config = (PspellConfig *) zend_list_find(Z_LVAL_PP(sccin), &type);
+- if(!config){
+- php_error(E_WARNING, "%ld is not a PSPELL config index",Z_LVAL_PP(sccin));
+- RETURN_FALSE;
+- }
++ PSPELL_FETCH_CONFIG;
+
+ convert_to_boolean_ex(save);
+ pspell_config_replace(config, "save-repl", Z_LVAL_PP(save) ? "true" : "false");
diff --git a/dev-php/php/files/php4.4.0-session_save_path-segf.patch b/dev-php/php/files/php4.4.0-session_save_path-segf.patch
new file mode 100644
index 000000000000..8f936ae5ec39
--- /dev/null
+++ b/dev-php/php/files/php4.4.0-session_save_path-segf.patch
@@ -0,0 +1,127 @@
+--- sapi/apache2handler/sapi_apache2.c 2005/04/08 20:35:02 1.1.2.40
++++ sapi/apache2handler/sapi_apache2.c 2005/10/12 21:41:36 1.1.2.40.2.5
+@@ -18,7 +18,7 @@
+ +----------------------------------------------------------------------+
+ */
+
+-/* $Id: sapi_apache2.c,v 1.1.2.40 2005/04/08 20:35:02 sniper Exp $ */
++/* $Id: sapi_apache2.c,v 1.1.2.40.2.5 2005/10/12 21:41:36 tony2001 Exp $ */
+
+ #include <fcntl.h>
+
+@@ -453,15 +453,34 @@ static int php_handler(request_rec *r)
+ request_rec *parent_req = NULL;
+ TSRMLS_FETCH();
+
++#define PHPAP_INI_OFF \
++ if (strcmp(r->protocol, "INCLUDED")) { \
++ zend_try { zend_ini_deactivate(TSRMLS_C); } zend_end_try(); \
++ } \
++
+ conf = ap_get_module_config(r->per_dir_config, &php4_module);
++
++ /* apply_config() needs r in some cases, so allocate server_context early */
++ ctx = SG(server_context);
++ if (ctx == NULL) {
++ ctx = SG(server_context) = apr_pcalloc(r->pool, sizeof(*ctx));
++ /* register a cleanup so we clear out the SG(server_context)
++ * after each request. Note: We pass in the pointer to the
++ * server_context in case this is handled by a different thread.
++ */
++ apr_pool_cleanup_register(r->pool, (void *)&SG(server_context), php_server_context_cleanup, apr_pool_cleanup_null);
++ ctx->r = r;
++ ctx = NULL; /* May look weird to null it here, but it is to catch the right case in the first_try later on */
++ } else {
++ parent_req = ctx->r;
++ ctx->r = r;
++ }
+ apply_config(conf);
+
+ if (strcmp(r->handler, PHP_MAGIC_TYPE) && strcmp(r->handler, PHP_SOURCE_MAGIC_TYPE) && strcmp(r->handler, PHP_SCRIPT)) {
+ /* Check for xbithack in this case. */
+ if (!AP2(xbithack) || strcmp(r->handler, "text/html") || !(r->finfo.protection & APR_UEXECUTE)) {
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return DECLINED;
+ }
+ }
+@@ -470,32 +489,24 @@ static int php_handler(request_rec *r)
+ * the configuration; default behaviour is to accept. */
+ if (r->used_path_info == AP_REQ_REJECT_PATH_INFO
+ && r->path_info && r->path_info[0]) {
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return HTTP_NOT_FOUND;
+ }
+
+ /* handle situations where user turns the engine off */
+ if (!AP2(engine)) {
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return DECLINED;
+ }
+
+ if (r->finfo.filetype == 0) {
+ php_apache_sapi_log_message_ex("script '%s' not found or unable to stat", r);
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return HTTP_NOT_FOUND;
+ }
+ if (r->finfo.filetype == APR_DIR) {
+ php_apache_sapi_log_message_ex("attempt to invoke directory '%s' as script", r);
+- zend_try {
+- zend_ini_deactivate(TSRMLS_C);
+- } zend_end_try();
++ PHPAP_INI_OFF;
+ return HTTP_FORBIDDEN;
+ }
+
+@@ -511,24 +522,30 @@ static int php_handler(request_rec *r)
+
+ zend_first_try {
+
+- ctx = SG(server_context);
+ if (ctx == NULL) {
+- ctx = SG(server_context) = apr_pcalloc(r->pool, sizeof(*ctx));
+- /* register a cleanup so we clear out the SG(server_context)
+- * after each request. Note: We pass in the pointer to the
+- * server_context in case this is handled by a different thread.
+- */
+- apr_pool_cleanup_register(r->pool, (void *)&SG(server_context), php_server_context_cleanup, apr_pool_cleanup_null);
+-
+- ctx->r = r;
++normal:
+ brigade = apr_brigade_create(r->pool, r->connection->bucket_alloc);
++ ctx = SG(server_context);
+ ctx->brigade = brigade;
+
+ if (php_apache_request_ctor(r, ctx TSRMLS_CC)!=SUCCESS) {
+ zend_bailout();
+ }
+ } else {
+- parent_req = ctx->r;
++ if (!parent_req) {
++ parent_req = ctx->r;
++ }
++ if (parent_req && strcmp(parent_req->handler, PHP_MAGIC_TYPE) && strcmp(parent_req->handler, PHP_SOURCE_MAGIC_TYPE) && strcmp(parent_req->handler, PHP_SCRIPT)) {
++ if (php_apache_request_ctor(r, ctx TSRMLS_CC)!=SUCCESS) {
++ zend_bailout();
++ }
++ }
++
++ /* check if comming due to ErrorDocument */
++ if (parent_req && parent_req->status != HTTP_OK) {
++ parent_req = NULL;
++ goto normal;
++ }
+ ctx->r = r;
+ brigade = ctx->brigade;
+ }
diff --git a/dev-php/php/files/stdint.diff b/dev-php/php/files/stdint.diff
deleted file mode 100644
index 451d7fb44cf3..000000000000
--- a/dev-php/php/files/stdint.diff
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Nura php-4.3.10/Zend/zend_strtod.c php-4.3.10.stdint/Zend/zend_strtod.c
---- php-4.3.10/Zend/zend_strtod.c 2004-12-14 05:35:26.000000000 -0300
-+++ php-4.3.10.stdint/Zend/zend_strtod.c 2004-12-16 15:33:47.000000000 -0300
-@@ -128,6 +128,7 @@
- #endif
-
- #if defined(__sparc__) || defined(__ppc__)
-+#include <stdint.h>
- #define u_int32_t uint32_t
- #endif
-
diff --git a/dev-php/php/php-4.3.11-r1.ebuild b/dev-php/php/php-4.3.11-r1.ebuild
index 163b37671f02..1a1888fb439f 100644
--- a/dev-php/php/php-4.3.11-r1.ebuild
+++ b/dev-php/php/php-4.3.11-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-php/php/php-4.3.11-r1.ebuild,v 1.6 2005/09/27 02:47:28 weeve Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-php/php/php-4.3.11-r1.ebuild,v 1.7 2005/10/29 22:16:13 chtekk Exp $
PHPSAPI="cli"
inherit php-sapi eutils
@@ -11,32 +11,32 @@ KEYWORDS="alpha amd64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86"
IUSE=""
# fixed PCRE library for security issues, bug #102373
-SRC_URI="${SRC_URI} http://dl.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
+SRC_URI="${SRC_URI} http://gentoo.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
src_unpack() {
php-sapi_src_unpack
- [ "${ARCH}" == "amd64" ] && epatch ${FILESDIR}/php-4.3.4-amd64hack.diff
+ [ "${ARCH}" == "amd64" ] && epatch "${FILESDIR}/php-4.3.4-amd64hack.diff"
# Bug 88756
- use flash && epatch ${FILESDIR}/php-4.3.11-flash.patch
+ use flash && epatch "${FILESDIR}/php-4.3.11-flash.patch"
# Bug 88795
- use gmp && epatch ${FILESDIR}/php-4.3.11-gmp.patch
+ use gmp && epatch "${FILESDIR}/php-4.3.11-gmp.patch"
# fix imap symlink creation, bug #105351
- use imap && epatch ${FILESDIR}/php4.3.11-imap-symlink.diff
+ use imap && epatch "${FILESDIR}/php4.3.11-imap-symlink.diff"
# we need to unpack the files here, the eclass doesn't handle this
- cd ${WORKDIR}
+ cd "${WORKDIR}"
unpack php-pcrelib-new-secpatch.tar.bz2
- cd ${S}
+ cd "${S}"
# patch to fix PCRE library security issues, bug #102373
- epatch ${FILESDIR}/php4.3.11-pcre-security.patch
+ epatch "${FILESDIR}/php4.3.11-pcre-security.patch"
# sobstitute the bundled PCRE library with a fixed version for bug #102373
einfo "Updating bundled PCRE library"
- rm -rf ${S}/ext/pcre/pcrelib && mv -f ${WORKDIR}/pcrelib-new ${S}/ext/pcre/pcrelib || die "Unable to update the bundled PCRE library"
+ rm -rf "${S}/ext/pcre/pcrelib" && mv -f "${WORKDIR}/pcrelib-new" "${S}/ext/pcre/pcrelib" || die "Unable to update the bundled PCRE library"
}
src_compile() {
diff --git a/dev-php/php/php-4.3.11-r2.ebuild b/dev-php/php/php-4.3.11-r2.ebuild
new file mode 100644
index 000000000000..450cd3ea9a62
--- /dev/null
+++ b/dev-php/php/php-4.3.11-r2.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-php/php/php-4.3.11-r2.ebuild,v 1.1 2005/10/29 22:16:13 chtekk Exp $
+
+PHPSAPI="cli"
+inherit php-sapi eutils
+
+DESCRIPTION="PHP Shell Interpreter"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE=""
+
+# fixed PCRE library for security issues, bug #102373
+SRC_URI="${SRC_URI} http://gentoo.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
+
+src_unpack() {
+ php-sapi_src_unpack
+ [ "${ARCH}" == "amd64" ] && epatch "${FILESDIR}/php-4.3.4-amd64hack.diff"
+
+ # Bug 88756
+ use flash && epatch "${FILESDIR}/php-4.3.11-flash.patch"
+
+ # Bug 88795
+ use gmp && epatch "${FILESDIR}/php-4.3.11-gmp.patch"
+
+ # fix imap symlink creation, bug #105351
+ use imap && epatch "${FILESDIR}/php4.3.11-imap-symlink.diff"
+
+ # patch to fix pspell extension, bug #99312 (new patch by upstream)
+ use spell && epatch "${FILESDIR}/php4.3.11-pspell-ext-segf.patch"
+
+ # patch to fix safe_mode bypass in GD extension, bug #109669
+ if use gd || use gd-external ; then
+ epatch "${FILESDIR}/php4.3.11-gd_safe_mode.patch"
+ fi
+
+ # patch open_basedir directory bypass, bug #102943
+ epatch "${FILESDIR}/php4.3.11-fopen_wrappers.patch"
+
+ # patch to fix session.save_path segfault and other issues in
+ # the apache2handler SAPI, bug #107602
+ epatch "${FILESDIR}/php4.3.11-session_save_path-segf.patch"
+
+ # we need to unpack the files here, the eclass doesn't handle this
+ cd "${WORKDIR}"
+ unpack php-pcrelib-new-secpatch.tar.bz2
+ cd "${S}"
+
+ # patch to fix PCRE library security issues, bug #102373
+ epatch "${FILESDIR}/php4.3.11-pcre-security.patch"
+
+ # sobstitute the bundled PCRE library with a fixed version for bug #102373
+ einfo "Updating bundled PCRE library"
+ rm -rf "${S}/ext/pcre/pcrelib" && mv -f "${WORKDIR}/pcrelib-new" "${S}/ext/pcre/pcrelib" || die "Unable to update the bundled PCRE library"
+}
+
+src_compile() {
+ myconf="${myconf} \
+ --disable-cgi \
+ --enable-cli"
+
+ php-sapi_src_compile
+}
+
+
+src_install() {
+ PHP_INSTALLTARGETS="install"
+ php-sapi_src_install
+
+ einfo "Installing manpage"
+ doman sapi/cli/php.1
+}
+
+pkg_postinst() {
+ php-sapi_pkg_postinst
+ einfo "This is a CLI only build."
+ einfo "You cannot use it on a webserver."
+
+ if [ -f "${ROOT}/root/.pearrc" -a "`md5sum ${ROOT}/root/.pearrc`" = "f0243f51b2457bc545158cf066e4e7a2 ${ROOT}/root/.pearrc" ]; then
+ einfo "Cleaning up an old PEAR install glitch"
+ mv ${ROOT}/root/.pearrc ${ROOT}/root/.pearrc.`date +%Y%m%d%H%M%S`
+ fi
+}
diff --git a/dev-php/php/php-4.3.11.ebuild b/dev-php/php/php-4.3.11.ebuild
index 29187969957e..cca71b2de8e0 100644
--- a/dev-php/php/php-4.3.11.ebuild
+++ b/dev-php/php/php-4.3.11.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-php/php/php-4.3.11.ebuild,v 1.13 2005/07/08 04:07:42 hardave Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-php/php/php-4.3.11.ebuild,v 1.14 2005/10/29 22:16:13 chtekk Exp $
PHPSAPI="cli"
inherit php-sapi eutils
@@ -12,13 +12,13 @@ IUSE=""
src_unpack() {
php-sapi_src_unpack
- [ "${ARCH}" == "amd64" ] && epatch ${FILESDIR}/php-4.3.4-amd64hack.diff
+ [ "${ARCH}" == "amd64" ] && epatch "${FILESDIR}/php-4.3.4-amd64hack.diff"
# Bug 88756
- use flash && epatch ${FILESDIR}/php-4.3.11-flash.patch
+ use flash && epatch "${FILESDIR}/php-4.3.11-flash.patch"
# Bug 88795
- use gmp && epatch ${FILESDIR}/php-4.3.11-gmp.patch
+ use gmp && epatch "${FILESDIR}/php-4.3.11-gmp.patch"
}
src_compile() {
diff --git a/dev-php/php/php-4.4.0-r1.ebuild b/dev-php/php/php-4.4.0-r1.ebuild
index cf74dd07ae43..10f3405ea033 100644
--- a/dev-php/php/php-4.4.0-r1.ebuild
+++ b/dev-php/php/php-4.4.0-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-php/php/php-4.4.0-r1.ebuild,v 1.8 2005/10/09 06:43:26 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-php/php/php-4.4.0-r1.ebuild,v 1.9 2005/10/29 22:16:13 chtekk Exp $
PHPSAPI="cli"
inherit php-sapi eutils
@@ -11,26 +11,26 @@ KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sparc x86"
IUSE=""
# fixed PCRE library for security issues, bug #102373
-SRC_URI="${SRC_URI} http://dl.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
+SRC_URI="${SRC_URI} http://gentoo.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
src_unpack() {
php-sapi_src_unpack
- [ "${ARCH}" == "amd64" ] && epatch ${FILESDIR}/php-4.3.4-amd64hack.diff
+ [ "${ARCH}" == "amd64" ] && epatch "${FILESDIR}/php-4.3.4-amd64hack.diff"
# fix imap symlink creation, bug #105351
- use imap && epatch ${FILESDIR}/php4.4.0-imap-symlink.diff
+ use imap && epatch "${FILESDIR}/php4.4.0-imap-symlink.diff"
# we need to unpack the files here, the eclass doesn't handle this
- cd ${WORKDIR}
+ cd "${WORKDIR}"
unpack php-pcrelib-new-secpatch.tar.bz2
- cd ${S}
+ cd "${S}"
# patch to fix PCRE library security issues, bug #102373
- epatch ${FILESDIR}/php4.4.0-pcre-security.patch
+ epatch "${FILESDIR}/php4.4.0-pcre-security.patch"
# sobstitute the bundled PCRE library with a fixed version for bug #102373
einfo "Updating bundled PCRE library"
- rm -rf ${S}/ext/pcre/pcrelib && mv -f ${WORKDIR}/pcrelib-new ${S}/ext/pcre/pcrelib || die "Unable to update the bundled PCRE library"
+ rm -rf "${S}/ext/pcre/pcrelib" && mv -f "${WORKDIR}/pcrelib-new" "${S}/ext/pcre/pcrelib" || die "Unable to update the bundled PCRE library"
}
src_compile() {
diff --git a/dev-php/php/php-4.4.0-r2.ebuild b/dev-php/php/php-4.4.0-r2.ebuild
new file mode 100644
index 000000000000..9d210d3ca575
--- /dev/null
+++ b/dev-php/php/php-4.4.0-r2.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-php/php/php-4.4.0-r2.ebuild,v 1.1 2005/10/29 22:16:13 chtekk Exp $
+
+PHPSAPI="cli"
+inherit php-sapi eutils
+
+DESCRIPTION="PHP Shell Interpreter"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE=""
+
+# fixed PCRE library for security issues, bug #102373
+SRC_URI="${SRC_URI} http://gentoo.longitekk.com/php-pcrelib-new-secpatch.tar.bz2"
+
+src_unpack() {
+ php-sapi_src_unpack
+ [ "${ARCH}" == "amd64" ] && epatch "${FILESDIR}/php-4.3.4-amd64hack.diff"
+
+ # fix imap symlink creation, bug #105351
+ use imap && epatch "${FILESDIR}/php4.4.0-imap-symlink.diff"
+
+ # patch to fix pspell extension, bug #99312 (new patch by upstream)
+ use spell && epatch "${FILESDIR}/php4.4.0-pspell-ext-segf.patch"
+
+ # patch to fix safe_mode bypass in GD extension, bug #109669
+ if use gd || use gd-external ; then
+ epatch "${FILESDIR}/php4.4.0-gd_safe_mode.patch"
+ fi
+
+ # patch open_basedir directory bypass, bug #102943
+ epatch "${FILESDIR}/php4.4.0-fopen_wrappers.patch"
+
+ # patch to fix session.save_path segfault and other issues in
+ # the apache2handler SAPI, bug #107602
+ epatch "${FILESDIR}/php4.4.0-session_save_path-segf.patch"
+
+ # we need to unpack the files here, the eclass doesn't handle this
+ cd "${WORKDIR}"
+ unpack php-pcrelib-new-secpatch.tar.bz2
+ cd "${S}"
+
+ # patch to fix PCRE library security issues, bug #102373
+ epatch "${FILESDIR}/php4.4.0-pcre-security.patch"
+
+ # sobstitute the bundled PCRE library with a fixed version for bug #102373
+ einfo "Updating bundled PCRE library"
+ rm -rf "${S}/ext/pcre/pcrelib" && mv -f "${WORKDIR}/pcrelib-new" "${S}/ext/pcre/pcrelib" || die "Unable to update the bundled PCRE library"
+}
+
+src_compile() {
+ myconf="${myconf} \
+ --disable-cgi \
+ --enable-cli"
+
+ php-sapi_src_compile
+}
+
+
+src_install() {
+ PHP_INSTALLTARGETS="install"
+ php-sapi_src_install
+
+ einfo "Installing manpage"
+ doman sapi/cli/php.1
+}
+
+pkg_postinst() {
+ php-sapi_pkg_postinst
+ einfo "This is a CLI only build."
+ einfo "You cannot use it on a webserver."
+
+ if [ -f "${ROOT}/root/.pearrc" -a "`md5sum ${ROOT}/root/.pearrc`" = "f0243f51b2457bc545158cf066e4e7a2 ${ROOT}/root/.pearrc" ]; then
+ einfo "Cleaning up an old PEAR install glitch"
+ mv ${ROOT}/root/.pearrc ${ROOT}/root/.pearrc.`date +%Y%m%d%H%M%S`
+ fi
+}
diff --git a/dev-php/php/php-4.4.0.ebuild b/dev-php/php/php-4.4.0.ebuild
index 6a96e1c69793..3c0caba38675 100644
--- a/dev-php/php/php-4.4.0.ebuild
+++ b/dev-php/php/php-4.4.0.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-php/php/php-4.4.0.ebuild,v 1.11 2005/08/16 04:07:37 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-php/php/php-4.4.0.ebuild,v 1.12 2005/10/29 22:16:13 chtekk Exp $
PHPSAPI="cli"
inherit php-sapi eutils
@@ -12,7 +12,7 @@ IUSE=""
src_unpack() {
php-sapi_src_unpack
- [ "${ARCH}" == "amd64" ] && epatch ${FILESDIR}/php-4.3.4-amd64hack.diff
+ [ "${ARCH}" == "amd64" ] && epatch "${FILESDIR}/php-4.3.4-amd64hack.diff"
}
src_compile() {