Commit 3c7bc2c8 authored by Raphael Geissert's avatar Raphael Geissert Committed by Ondrej Sury

Imported Debian patch 5.3.3-1

parent 931ef23e
.pc/
\ No newline at end of file
php5 (5.3.3-1) experimental; urgency=low
* Upload PHP 5.3.3 to experimental for further testing
+ Fixes odbc_autocommit (Closes: #586570)
+ Adds support for sqlite3_busy_timout (Closes: #589473)
+ Fixes CVE-2010-2225, CVE-2010-2094, CVE-2010-1917, CVE-2010-1866
and other CVEs that do not apply to the Debian packages or are
irrelevant as per the pre-5.3.2-2 security policy.
* Changes pending update from unstable:
+ Use system crypt
* Build the FPM SAPI.
-- Raphael Geissert <geissert@debian.org> Sat, 31 Jul 2010 15:53:12 -0400
php5 (5.3.2-2) unstable; urgency=low
[ Ondřej Surý ]
......
......@@ -22,6 +22,7 @@ Build-Depends: apache2-prefork-dev,
libcurl4-openssl-dev | libcurl-dev,
libdb-dev (>= 4.7) | libdb4.8-dev | libdb4.6-dev,
libenchant-dev,
libevent-dev (>= 1.4.11),
libexpat1-dev (>= 1.95.2-2.1),
libfreetype6-dev,
libgcrypt11-dev,
......@@ -72,10 +73,10 @@ Homepage: http://www.php.net/
Package: php5
Architecture: all
Depends: ${misc:Depends}, libapache2-mod-php5 (>= ${source:Version}) | libapache2-mod-php5filter (>= ${source:Version}) | php5-cgi (>= ${source:Version}), php5-common (>= ${source:Version})
Depends: ${misc:Depends}, libapache2-mod-php5 (>= ${source:Version}) | libapache2-mod-php5filter (>= ${source:Version}) | php5-cgi (>= ${source:Version}) | php5-fpm (>= ${source:Version}), php5-common (>= ${source:Version})
Description: server-side, HTML-embedded scripting language (metapackage)
This package is a metapackage that, when installed, guarantees that you
have at least one of the three server-side versions of the PHP5 interpreter
have at least one of the four server-side versions of the PHP5 interpreter
installed. Removing this package won't remove PHP5 from your system, however
it may remove other packages that depend on this one.
.
......@@ -175,6 +176,23 @@ Description: command-line interpreter for the php5 scripting language
in. The goal of the language is to allow web developers to write dynamically
generated pages quickly. This version of PHP5 was built with the Suhosin patch.
Package: php5-fpm
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, mime-support, php5-common (= ${binary:Version}), libmagic1, ucf, tzdata
Provides: ${php:Provides}
Suggests: php-pear
Description: server-side, HTML-embedded scripting language (FPM-CGI binary)
This package provides the Fast Process Manager interpreter that runs
as a daemon and receives Fast/CGI requests. Note that MOST Apache users
probably want the libapache2-mod-php5 package.
.
${php:Extensions}
.
PHP5 is an HTML-embedded scripting language. Much of its syntax is borrowed
from C, Java and Perl with a couple of unique PHP-specific features thrown
in. The goal of the language is to allow web developers to write dynamically
generated pages quickly. This version of PHP5 was built with the Suhosin patch.
Package: php5-dev
Depends: ${misc:Depends}, autoconf (>= 2.63), automake (>= 1.11), libssl-dev, libtool (>= 2.2), shtool, php5-common (>= ${binary:Version})
Conflicts: ${libtool:Conflicts}
......@@ -189,7 +207,7 @@ Description: Files for PHP5 module development
generated pages quickly. This version of PHP5 was built with the Suhosin patch.
Package: php5-dbg
Depends: ${misc:Depends}, php5-common (= ${binary:Version}), libapache2-mod-php5 (= ${binary:Version}) | libapache2-mod-php5filter (= ${binary:Version}) | php5-cgi (= ${binary:Version}) | php5-cli (= ${binary:Version}) | php5-curl (= ${binary:Version}) | php5-enchant (= ${binary:Version}) | php5-gd (= ${binary:Version}) | php5-gmp (= ${binary:Version}) | php5-imap (= ${binary:Version}) | php5-interbase (= ${binary:Version}) | php5-intl (= ${binary:Version}) | php5-ldap (= ${binary:Version}) | php5-mcrypt (= ${binary:Version}) | php5-mysql (= ${binary:Version}) | php5-odbc (= ${binary:Version}) | php5-pgsql (= ${binary:Version}) | php5-pspell (= ${binary:Version}) | php5-recode (= ${binary:Version}) | php5-snmp (= ${binary:Version}) | php5-sqlite (= ${binary:Version}) | php5-sybase (= ${binary:Version}) | php5-tidy (= ${binary:Version}) | php5-xmlrpc (= ${binary:Version}) | php5-xsl (= ${binary:Version})
Depends: ${misc:Depends}, php5-common (= ${binary:Version}), libapache2-mod-php5 (= ${binary:Version}) | libapache2-mod-php5filter (= ${binary:Version}) | php5-cgi (= ${binary:Version}) | php5-cli (= ${binary:Version}) | php5-fpm (= ${binary:Version}) | php5-curl (= ${binary:Version}) | php5-enchant (= ${binary:Version}) | php5-gd (= ${binary:Version}) | php5-gmp (= ${binary:Version}) | php5-imap (= ${binary:Version}) | php5-interbase (= ${binary:Version}) | php5-intl (= ${binary:Version}) | php5-ldap (= ${binary:Version}) | php5-mcrypt (= ${binary:Version}) | php5-mysql (= ${binary:Version}) | php5-odbc (= ${binary:Version}) | php5-pgsql (= ${binary:Version}) | php5-pspell (= ${binary:Version}) | php5-recode (= ${binary:Version}) | php5-snmp (= ${binary:Version}) | php5-sqlite (= ${binary:Version}) | php5-sybase (= ${binary:Version}) | php5-tidy (= ${binary:Version}) | php5-xmlrpc (= ${binary:Version}) | php5-xsl (= ${binary:Version})
Recommends: gdb
Section: debug
Priority: extra
......
File mode changed from 100755 to 100644
......@@ -3,8 +3,10 @@ Origin: vendor
Forwarded: no
Last-Update: 2010-01-18
--- a/ext/sockets/sockets.c
+++ b/ext/sockets/sockets.c
Index: php-5.3.3RC3/ext/sockets/sockets.c
===================================================================
--- php-5.3.3RC3.orig/ext/sockets/sockets.c
+++ php-5.3.3RC3/ext/sockets/sockets.c
@@ -720,6 +720,7 @@ static int php_sock_array_to_fd_set(zval
php_sock = (php_socket*) zend_fetch_resource(element TSRMLS_CC, -1, le_socket_name, NULL, 1, le_socket);
......@@ -13,15 +15,16 @@ Last-Update: 2010-01-18
PHP_SAFE_FD_SET(php_sock->bsd_socket, fds);
if (php_sock->bsd_socket > *max_fd) {
--- a/ext/standard/streamsfuncs.c
+++ b/ext/standard/streamsfuncs.c
@@ -610,6 +610,9 @@ static int stream_array_to_fd_set(zval *
Index: php-5.3.3RC3/ext/standard/streamsfuncs.c
===================================================================
--- php-5.3.3RC3.orig/ext/standard/streamsfuncs.c
+++ php-5.3.3RC3/ext/standard/streamsfuncs.c
@@ -610,6 +610,8 @@ static int stream_array_to_fd_set(zval *
* is not displayed.
* */
if (SUCCESS == php_stream_cast(stream, PHP_STREAM_AS_FD_FOR_SELECT | PHP_STREAM_CAST_INTERNAL, (void*)&this_fd, 1) && this_fd >= 0) {
+ if (this_fd > FD_SETSIZE)
+ continue;
+
PHP_SAFE_FD_SET(this_fd, fds);
Description: Fix a null pointer dereference when processing invalid
XML-RPC requests.
Origin: vendor
Forwarded: http://bugs.php.net/51288
Last-Update: 2010-03-12
Index: php/ext/xmlrpc/xmlrpc-epi-php.c
===================================================================
--- php.orig/ext/xmlrpc/xmlrpc-epi-php.c
+++ php/ext/xmlrpc/xmlrpc-epi-php.c
@@ -778,6 +778,7 @@ zval* decode_request_worker(char *xml_in
zval* retval = NULL;
XMLRPC_REQUEST response;
STRUCT_XMLRPC_REQUEST_INPUT_OPTIONS opts = {{0}};
+ const char *method_name;
opts.xml_elem_opts.encoding = encoding_in ? utf8_get_encoding_id_from_string(encoding_in) : ENCODING_DEFAULT;
/* generate XMLRPC_REQUEST from raw xml */
@@ -788,10 +789,16 @@ zval* decode_request_worker(char *xml_in
if (XMLRPC_RequestGetRequestType(response) == xmlrpc_request_call) {
if (method_name_out) {
- zval_dtor(method_name_out);
- Z_TYPE_P(method_name_out) = IS_STRING;
- Z_STRVAL_P(method_name_out) = estrdup(XMLRPC_RequestGetMethodName(response));
- Z_STRLEN_P(method_name_out) = strlen(Z_STRVAL_P(method_name_out));
+ method_name = XMLRPC_RequestGetMethodName(response);
+ if (method_name) {
+ zval_dtor(method_name_out);
+ Z_TYPE_P(method_name_out) = IS_STRING;
+ Z_STRVAL_P(method_name_out) = estrdup(method_name);
+ Z_STRLEN_P(method_name_out) = strlen(Z_STRVAL_P(method_name_out));
+ } else if (retval) {
+ zval_ptr_dtor(&retval);
+ retval = NULL;
+ }
}
}
Index: php/ext/xmlrpc/tests/bug51288.phpt
===================================================================
--- /dev/null
+++ php/ext/xmlrpc/tests/bug51288.phpt
@@ -0,0 +1,14 @@
+--TEST--
+Bug #51288 (CVE-2010-0397, NULL pointer deref when no <methodName> in request)
+--FILE--
+<?php
+$method = NULL;
+$req = '<?xml version="1.0"?><methodCall></methodCall>';
+var_dump(xmlrpc_decode_request($req, $method));
+var_dump($method);
+echo "Done\n";
+?>
+--EXPECT--
+NULL
+NULL
+Done
Description: Fix whatis entries of the man pages
Origin: vendor
Forwarded: http://bugs.php.net/50795
Last-Update: 2010-01-18
--- a/sapi/cli/php.1.in
+++ b/sapi/cli/php.1.in
@@ -1,6 +1,5 @@
.TH PHP 1 "2010" "The PHP Group" "Scripting Language"
.SH NAME
-.TP 15
php \- PHP Command Line Interface 'CLI'
.SH SYNOPSIS
.B php
--- a/scripts/man1/php-config.1.in
+++ b/scripts/man1/php-config.1.in
@@ -1,6 +1,5 @@
.TH php\-config 1 "2006" "The PHP Group" "Scripting Language"
.SH NAME
-.TP 15
php\-config \- get information about PHP configuration and compile options
.SH SYNOPSIS
.B php\-config
--- a/scripts/man1/phpize.1.in
+++ b/scripts/man1/phpize.1.in
@@ -1,7 +1,6 @@
.TH phpize 1 "2006" "The PHP Group" "Scripting Language"
.SH NAME
-.TP 15
-phpize - prepare a PHP extension for compiling
+phpize \- prepare a PHP extension for compiling
.SH SYNOPSIS
.B phpize
[options]
Description: Fix an unaligned memory access in enchant_dict_suggest()
Origin: vendor
Forwarded: http://bugs.php.net/51289
Last-Update: 2010-03-12
Index: php/ext/enchant/enchant.c
===================================================================
--- php.orig/ext/enchant/enchant.c
+++ php/ext/enchant/enchant.c
@@ -724,6 +724,7 @@ PHP_FUNCTION(enchant_dict_quick_check)
if (enchant_dict_check(pdict->pdict, word, wordlen) > 0) {
int n_sugg;
+ size_t n_sugg_st;
char **suggs;
if (!sugg && ZEND_NUM_ARGS() == 2) {
@@ -732,7 +733,8 @@ PHP_FUNCTION(enchant_dict_quick_check)
array_init(sugg);
- suggs = enchant_dict_suggest(pdict->pdict, word, wordlen, (size_t *) &n_sugg);
+ suggs = enchant_dict_suggest(pdict->pdict, word, wordlen, &n_sugg_st);
+ memcpy(&n_sugg, &n_sugg_st, sizeof(n_sugg));
if (suggs && n_sugg) {
int i;
for (i = 0; i < n_sugg; i++) {
@@ -777,6 +779,7 @@ PHP_FUNCTION(enchant_dict_suggest)
char **suggs;
enchant_dict *pdict;
int n_sugg;
+ size_t n_sugg_st;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &dict, &word, &wordlen) == FAILURE) {
RETURN_FALSE;
@@ -784,7 +787,8 @@ PHP_FUNCTION(enchant_dict_suggest)
PHP_ENCHANT_GET_DICT;
- suggs = enchant_dict_suggest(pdict->pdict, word, wordlen, (size_t *)&n_sugg);
+ suggs = enchant_dict_suggest(pdict->pdict, word, wordlen, &n_sugg_st);
+ memcpy(&n_sugg, &n_sugg_st, sizeof(n_sugg));
if (suggs && n_sugg) {
int i;
Index: php/ext/enchant/tests/dict_quick_check.phpt
===================================================================
--- /dev/null
+++ php/ext/enchant/tests/dict_quick_check.phpt
@@ -0,0 +1,26 @@
+--TEST--
+enchant_dict_quick_check() basic test
+--SKIPIF--
+<?php
+if(!extension_loaded('enchant')) die('skip, enchant not loader');
+
+$tag = 'en_US';
+$r = enchant_broker_init();
+if (!enchant_broker_dict_exists($r, $tag))
+ die('skip, no dictionary for ' . $tag . ' tag');
+?>
+--FILE--
+<?php
+
+$tag = 'en_US';
+$r = enchant_broker_init();
+
+$d = enchant_broker_request_dict($r, $tag);
+enchant_dict_quick_check($d, 'soong', $suggs);
+
+echo "Elements: " . count($suggs) . "\n";
+echo "Done\n";
+?>
+--EXPECTF--
+Elements: %d
+Done
From: Sean Finney <seanius@debian.org>
Subject: Fix improper signed overflow detection in filter extension
The existing filter code relied on detecting invalid long integers by
examining computed values for wraparound. This is not defined behavior
in any C standard, and in fact recent versions of gcc will optimize out
such checks resulting in invalid code.
This patch therefore changes how the overflow/underflow conditions are
detected, using more reliable arithmetic. It also fixes another bug, that
the minimum integer value (-PHP_INT_MAX)-1 could not be detected properly.
This patch also includes an update to the test case that detects such
overflows, adding much more thorough and descriptive checking.
Bug: http://bugs.php.net/bug.php?id=51023
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=570287
--- php.orig/ext/filter/logical_filters.c
+++ php/ext/filter/logical_filters.c
@@ -68,7 +68,7 @@
static int php_filter_parse_int(const char *str, unsigned int str_len, long *ret TSRMLS_DC) { /* {{{ */
long ctx_value;
- int sign = 0;
+ int sign = 0, digit = 0;
const char *end = str + str_len;
switch (*str) {
@@ -82,7 +82,7 @@ static int php_filter_parse_int(const ch
/* must start with 1..9*/
if (str < end && *str >= '1' && *str <= '9') {
- ctx_value = ((*(str++)) - '0');
+ ctx_value = ((sign)?-1:1) * ((*(str++)) - '0');
} else {
return -1;
}
@@ -95,19 +95,18 @@ static int php_filter_parse_int(const ch
while (str < end) {
if (*str >= '0' && *str <= '9') {
- ctx_value = (ctx_value * 10) + (*(str++) - '0');
+ digit = (*(str++) - '0');
+ if ( (!sign) && ctx_value <= (LONG_MAX-digit)/10 ) {
+ ctx_value = (ctx_value * 10) + digit;
+ } else if ( sign && ctx_value >= (LONG_MIN+digit)/10) {
+ ctx_value = (ctx_value * 10) - digit;
+ } else {
+ return -1;
+ }
} else {
return -1;
}
}
- if (sign) {
- ctx_value = -ctx_value;
- if (ctx_value > 0) { /* overflow */
- return -1;
- }
- } else if (ctx_value < 0) { /* overflow */
- return -1;
- }
*ret = ctx_value;
return 1;
--- php.orig/ext/filter/tests/046.phpt
+++ php/ext/filter/tests/046.phpt
@@ -4,16 +4,46 @@ Integer overflow
<?php if (!extension_loaded("filter")) die("skip"); ?>
--FILE--
<?php
-$s = sprintf("%d", PHP_INT_MAX);
-var_dump(is_long(filter_var($s, FILTER_VALIDATE_INT)));
+$max = sprintf("%d", PHP_INT_MAX);
+switch($max) {
+case "2147483647": /* 32-bit systems */
+ $min = "-2147483648";
+ $overflow = "2147483648";
+ $underflow = "-2147483649";
+ break;
+case "9223372036854775807": /* 64-bit systems */
+ $min = "-9223372036854775808";
+ $overflow = "9223372036854775808";
+ $underflow = "-9223372036854775809";
+ break;
+default:
+ die("failed: unknown value for PHP_MAX_INT");
+ break;
+}
-$s = sprintf("%.0f", PHP_INT_MAX+1);
-var_dump(filter_var($s, FILTER_VALIDATE_INT));
+function test_validation($val, $msg) {
+ $f = filter_var($val, FILTER_VALIDATE_INT);
+ echo "$msg filtered: "; var_dump($f); // filtered value (or false)
+ echo "$msg is_long: "; var_dump(is_long($f)); // test validation
+ echo "$msg equal: "; var_dump($val == $f); // test equality of result
+}
-$s = sprintf("%d", -PHP_INT_MAX);
-var_dump(is_long(filter_var($s, FILTER_VALIDATE_INT)));
+// PHP_INT_MAX
+test_validation($max, "max");
+test_validation($overflow, "overflow");
+test_validation($min, "min");
+test_validation($underflow, "underflow");
?>
---EXPECT--
-bool(true)
-bool(false)
-bool(true)
+--EXPECTF--
+max filtered: int(%d)
+max is_long: bool(true)
+max equal: bool(true)
+overflow filtered: bool(false)
+overflow is_long: bool(false)
+overflow equal: bool(false)
+min filtered: int(-%d)
+min is_long: bool(true)
+min equal: bool(true)
+underflow filtered: bool(false)
+underflow is_long: bool(false)
+underflow equal: bool(false)
Description: Backport upstream fix for tests that require the bundled
gd library but are not skipped in case the external library is used.
Origin: upstream
Index: php/ext/gd/tests/bug42434.phpt
===================================================================
--- php.orig/ext/gd/tests/bug42434.phpt
+++ php/ext/gd/tests/bug42434.phpt
@@ -5,6 +5,7 @@ Bug #42434 (ImageLine w/ antialias = 1px
if (!extension_loaded('gd')) {
die('skip gd extension not available');
}
+if (!GD_BUNDLED) die("skip requires bundled GD library\n");
?>
--FILE--
<?php
Index: php/ext/gd/tests/imageantialias_error1.phpt
===================================================================
--- php.orig/ext/gd/tests/imageantialias_error1.phpt
+++ php/ext/gd/tests/imageantialias_error1.phpt
@@ -6,6 +6,7 @@ Guilherme Blanco <guilhermeblanco [at] h
--SKIPIF--
<?php
if (!extension_loaded("gd")) die("skip GD not present");
+if (!GD_BUNDLED) die("skip requires bundled GD library\n");
?>
--FILE--
<?php
Index: php/ext/gd/tests/imageantialias_error2.phpt
===================================================================
--- php.orig/ext/gd/tests/imageantialias_error2.phpt
+++ php/ext/gd/tests/imageantialias_error2.phpt
@@ -6,6 +6,7 @@ Guilherme Blanco <guilhermeblanco [at] h
--SKIPIF--
<?php
if (!extension_loaded("gd")) die("skip GD not present");
+if (!GD_BUNDLED) die("skip requires bundled GD library\n");
?>
--FILE--
<?php
Index: php/ext/gd/tests/imagelayereffect_basic.phpt
===================================================================
--- php.orig/ext/gd/tests/imagelayereffect_basic.phpt
+++ php/ext/gd/tests/imagelayereffect_basic.phpt
@@ -6,7 +6,7 @@ Rafael Dohms <rdohms [at] gmail [dot] co
--SKIPIF--
<?php
if (!extension_loaded("gd")) die("skip GD not present");
- if (!GD_BUNDLED) die('function only available in bundled, external GD detected');
+ if (!GD_BUNDLED) die('skip function only available in bundled, external GD detected');
?>
--FILE--
<?php
Index: php/ext/gd/tests/imagelayereffect_error1.phpt
===================================================================
--- php.orig/ext/gd/tests/imagelayereffect_error1.phpt
+++ php/ext/gd/tests/imagelayereffect_error1.phpt
@@ -6,7 +6,7 @@ Rafael Dohms <rdohms [at] gmail [dot] co
--SKIPIF--
<?php
if (!extension_loaded("gd")) die("skip GD not present");
- if (!GD_BUNDLED) die('function only available in bundled, external GD detected');
+ if (!GD_BUNDLED) die('skip function only available in bundled, external GD detected');
?>
--FILE--
<?php
Index: php/ext/gd/tests/imagelayereffect_error2.phpt
===================================================================
--- php.orig/ext/gd/tests/imagelayereffect_error2.phpt
+++ php/ext/gd/tests/imagelayereffect_error2.phpt
@@ -6,7 +6,7 @@ Rafael Dohms <rdohms [at] gmail [dot] co
--SKIPIF--
<?php
if (!extension_loaded("gd")) die("skip GD not present");
- if (!GD_BUNDLED) die('function only available in bundled, external GD detected');
+ if (!GD_BUNDLED) die('skip function only available in bundled, external GD detected');
?>
--FILE--
<?php
Index: php/ext/gd/tests/imagelayereffect_error3.phpt
===================================================================
--- php.orig/ext/gd/tests/imagelayereffect_error3.phpt
+++ php/ext/gd/tests/imagelayereffect_error3.phpt
@@ -6,7 +6,7 @@ Rafael Dohms <rdohms [at] gmail [dot] co
--SKIPIF--
<?php
if (!extension_loaded("gd")) die("skip GD not present");
- if (!GD_BUNDLED) die('function only available in bundled, external GD detected');
+ if (!GD_BUNDLED) die('skip function only available in bundled, external GD detected');
?>
--FILE--
<?php
Description: Backport upstream fix for tests with incorrect locale name
Origin: upstream
Index: php/ext/standard/tests/strings/strtolower.phpt
===================================================================
--- php.orig/ext/standard/tests/strings/strtolower.phpt
+++ php/ext/standard/tests/strings/strtolower.phpt
@@ -22,7 +22,7 @@ if( substr(PHP_OS, 0, 3) == 'WIN') {
if( substr(PHP_OS, 0, 3) == 'WIN') {
setlocale(LC_ALL, 'C');
} else {
- setlocale(LC_ALL, 'en-US.UTF-8');
+ setlocale(LC_ALL, 'en_US.UTF-8');
}
echo "*** Testing strtolower() with all 256 chars ***\n";
Index: php/ext/standard/tests/strings/strtoupper1.phpt
===================================================================
--- php.orig/ext/standard/tests/strings/strtoupper1.phpt
+++ php/ext/standard/tests/strings/strtoupper1.phpt
@@ -22,7 +22,7 @@ if( substr(PHP_OS, 0, 3) == 'WIN') {
if( substr(PHP_OS, 0, 3) == 'WIN') {
setlocale(LC_ALL, 'C');
} else {
- setlocale(LC_ALL, 'en-US.UTF-8');
+ setlocale(LC_ALL, 'en_US.UTF-8');
}
echo "*** Testing strtoupper() with all 256 chars ***\n";
Description: Backport upstream fix for broken var_dump test
Origin: http://svn.php.net/viewvc/php/php-src/trunk/ext/standard/tests/general_functions/var_dump_64bit.phpt?r1=279276&r2=295009&view=patch
Bug-Debian: http://bugs.debian.org/571772
--- php.orig/ext/standard/tests/general_functions/var_dump_64bit.phpt
+++ php/ext/standard/tests/general_functions/var_dump_64bit.phpt
@@ -462,8 +462,7 @@
-- Iteration 14 --
string(22) "1234
5678
- 9100
-abcda"
+ 9100 abcda"
*** Testing var_dump() on boolean variables ***
-- Iteration 1 --
@@ -1303,8 +1302,7 @@ array(14) {
[13]=>
string(22) "1234
5678
- 9100
-abcda"
+ 9100 abcda"
}
array(15) {
[0]=>
Description: Add major version number to paths and allow process pools
to be configured in individual files in /etc/php5/fpm/pool.d/
Origin: vendor
Forwarded: not-needed
Last-Update: 2010-07-30
Index: php-5.3.3/sapi/fpm/php-fpm.conf.in
===================================================================
--- php-5.3.3.orig/sapi/fpm/php-fpm.conf.in
+++ php-5.3.3/sapi/fpm/php-fpm.conf.in
@@ -8,7 +8,7 @@
; Include one or more files. If glob(3) exists, it is used to include a bunch of
; files from a glob(3) pattern. This directive can be used everywhere in the
; file.
-;include=@EXPANDED_SYSCONFDIR@/fpm.d/*.conf
+;include=@EXPANDED_SYSCONFDIR@/php5/fpm/*.conf
;;;;;;;;;;;;;;;;;;
; Global Options ;
@@ -17,11 +17,11 @@
[global]
; Pid file
; Default Value: none
-;pid = @EXPANDED_LOCALSTATEDIR@/run/php-fpm.pid
+pid = @EXPANDED_LOCALSTATEDIR@/run/php5-fpm.pid
; Error log file
; Default Value: @EXPANDED_LOCALSTATEDIR@/log/php-fpm.log
-;error_log = @EXPANDED_LOCALSTATEDIR@/log/php-fpm.log
+error_log = @EXPANDED_LOCALSTATEDIR@/log/php5-fpm.log
; Log level
; Possible Values: alert, error, warning, notice, debug
@@ -61,6 +61,10 @@
; used in logs and stats. There is no limitation on the number of pools which
; FPM can handle. Your system will tell you anyway :)
+; To configure the pools it is recommended to have one .conf file per
+; pool in the following directory:
+include=@EXPANDED_SYSCONFDIR@/php5/fpm/pool.d/*.conf
+
; Start a new pool named 'www'.
[www]
@@ -138,12 +142,12 @@ pm.max_children = 50
; The desired minimum number of idle server processes.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
-;pm.min_spare_servers = 5
+pm.min_spare_servers = 5
; The desired maximum number of idle server processes.
; Note: Used only when pm is set to 'dynamic'
; Note: Mandatory when pm is set to 'dynamic'
-;pm.max_spare_servers = 35
+pm.max_spare_servers = 35
; The number of requests each child process should execute before respawning.
; This can be useful to work around memory leaks in 3rd party libraries. For
@@ -234,7 +238,7 @@ pm.max_children = 50
; Chdir to this directory at the start. This value must be an absolute path.
; Default Value: current directory or / when chroot
-;chdir = /var/www
+chdir = /var/www
; Redirect worker stdout and stderr into main error log. If not set, stdout and
; stderr will be redirected to /dev/null according to FastCGI specs.
Description: Use GCC's atomic builtins in the FPM SAPI to allow it to
build everywhere.
Origin: vendor
Forwarded: http://bugs.php.net/52407
Last-Update: 2010-07-28
Index: php-5.3.3/sapi/fpm/fpm/fpm_atomic.h
===================================================================
--- php-5.3.3.orig/sapi/fpm/fpm/fpm_atomic.h
+++ php-5.3.3/sapi/fpm/fpm/fpm_atomic.h
@@ -12,7 +12,19 @@
#endif
#include <sched.h>
-#if ( __i386__ || __i386 )
+#if (__GNUC__) && (__GNUC__ >= 4 && __GNUC_MINOR__ >= 1)
+
+/**
+ * all the cases below (as provided by upstream) define:
+ * word as atomic_int_t, and
+ * unsigned word as atomic_uint_t
+ * and only use volatile atomic_uint_t as atomic_t
+ */
+
+typedef volatile unsigned long atomic_t;
+#define atomic_cmp_set(a,b,c) __sync_bool_compare_and_swap(a,b,c)
+
+#elif ( __i386__ || __i386 )
typedef int32_t atomic_int_t;
typedef uint32_t atomic_uint_t;
......@@ -4,14 +4,16 @@ Origin: vendor
Forwarded: no
Last-Update: 2010-01-18
--- pkg-php.orig/ext/dba/config.m4
+++ pkg-php/ext/dba/config.m4
@@ -306,7 +306,7 @@ if test "$PHP_DB4" != "no"; then
Index: php-5.3.3RC3/ext/dba/config.m4
===================================================================
--- php-5.3.3RC3.orig/ext/dba/config.m4
+++ php-5.3.3RC3/ext/dba/config.m4
@@ -323,7 +323,7 @@ if test "$PHP_DB4" != "no"; then
break
fi
done
- PHP_DBA_DB_CHECK(4, db-4.6 db-4.5 db-4.4 db-4.3 db-4.2 db-4.1 db-4.0 db-4 db4 db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)])
+ PHP_DBA_DB_CHECK(4, db db-4.6 db-4.5 db-4.4 db-4.3 db-4.2 db-4.1 db-4.0 db-4 db4, [(void)db_create((DB**)0, (DB_ENV*)0, 0)])
- PHP_DBA_DB_CHECK(4, db-5.0 db-4.8 db-4.7 db-4.6 db-4.5 db-4.4 db-4.3 db-4.2 db-4.1 db-4.0 db-4 db4 db, [(void)db_create((DB**)0, (DB_ENV*)0, 0)])
+ PHP_DBA_DB_CHECK(4, db db-5.0 db-4.8 db-4.7 db-4.6 db-4.5 db-4.4 db-4.3 db-4.2 db-4.1 db-4.0 db-4 db4, [(void)db_create((DB**)0, (DB_ENV*)0, 0)])
fi
PHP_DBA_STD_RESULT(db4,Berkeley DB4)
Description: Fix php-fpm's manpage section to match location of binary
(/usr/sbin,) additionally, remove some stuff that is useless or
doesn't apply to Debian.
Origin: vendor
Forwarded: http://bugs.php.net/52476
Last-Update: 2010-07-29
Index: php-5.3.3/sapi/fpm/php-fpm.1.in
===================================================================
--- php-5.3.3.orig/sapi/fpm/php-fpm.1.in
+++ php-5.3.3/sapi/fpm/php-fpm.1.in
@@ -1,4 +1,4 @@
-.TH PHP-FPM 1 "2009" "The PHP Group" "Scripting Language"
+.TH PHP-FPM 8 "2009" "The PHP Group" "Scripting Language"
.SH NAME
.TP 15
php-fpm \- PHP FastCGI Process Manager 'PHP-FPM'
@@ -99,15 +99,8 @@ The configuration file for the php-fpm d
.TP
.B php.ini
The standard php configuration file.
-.SH EXAMPLES
-You should use the init script provided to start and stop the php-fpm daemon. This situation applies for any unix systems which use init.d for their main process manager.
-.P
-.PD 1
-.RS
-sudo /etc/init.d/php-fpm start
-.RE
-.TP
-If your installation has no appropriate init script, launch php-fpm with no arguments. It will launch as a daemon (background process) by default. The file @php_fpm_localstatedir@/run/php-fpm.pid determines whether php-fpm is already up and running. Once started, php-fpm then responds to several POSIX signals:
+.SH SIGNALS
+Once started, php-fpm then responds to several POSIX signals:
.P
.PD 0
.RS
@@ -121,10 +114,6 @@ If your installation has no appropriate
.RE
.PD 1
.P
-.SH TIPS
-The PHP-FPM CGI daemon will work well with most popular webservers, including Apache2, lighttpd and nginx.
-.PD 1
-.P
.SH SEE ALSO
The PHP-FPM website:
.PD 0
......@@ -30,7 +30,6 @@ suhosin.patch
fix_broken_upstream_tests.patch
use_embedded_timezonedb.patch
force_libmysqlclient_r.patch
bad_whatis_entries.patch
gentoo/009_ob-memory-leaks.patch
mssql-null-exception.patch
sybase-alias.patch
......@@ -39,34 +38,19 @@ strcmp_null-OnUpdateErrorLog.patch
unaligned_memory_access.patch
fix_broken_5.3_tests.patch
dont-gitclean-in-build.patch
broken_5.3_test-posix_uname.patch
#broken_5.3_test-posix_uname.patch
shtool_mkdir_-p_-race-condition.patch
qdbm-is-usr_include_qdbm.patch
filter_validate_int.patch
zend_int_overflow.patch
fix_var_dump_64bit.phpt.patch