update to php 5.3.3 (Bug + Security fixes)

This commit is contained in:
Remi Collet 2010-07-22 15:28:52 +00:00
parent d324eefdcb
commit 6deb5f7708
9 changed files with 151 additions and 336 deletions

View File

@ -1 +1 @@
php-5.3.2.tar.bz2 php-5.3.3.tar.bz2

View File

@ -1,169 +0,0 @@
Fixes garbage collector bugs, see
- http://svn.php.net/viewvc?view=revision&revision=297307
- http://svn.php.net/viewvc?view=revision&revision=298213
- http://svn.php.net/viewvc?view=revision&revision=298253
--- php/php-src/branches/PHP_5_3/Zend/zend_gc.c 2010/04/01 21:23:02 297306
+++ php/php-src/branches/PHP_5_3/Zend/zend_gc.c 2010/04/01 22:54:03 297307
@@ -282,7 +282,11 @@
GC_SET_BLACK(obj->buffered);
if (EXPECTED(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].valid &&
Z_OBJ_HANDLER_P(pz, get_properties) != NULL)) {
- p = Z_OBJPROP_P(pz)->pListHead;
+ HashTable *props = Z_OBJPROP_P(pz);
+ if(!props) {
+ return;
+ }
+ p = props->pListHead;
}
}
} else if (Z_TYPE_P(pz) == IS_ARRAY) {
@@ -313,7 +317,11 @@
GC_SET_BLACK(obj->buffered);
if (EXPECTED(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].valid &&
Z_OBJ_HANDLER_P(pz, get_properties) != NULL)) {
- p = Z_OBJPROP_P(pz)->pListHead;
+ HashTable *props = Z_OBJPROP_P(pz);
+ if(!props) {
+ return;
+ }
+ p = props->pListHead;
while (p != NULL) {
pz = *(zval**)p->pData;
if (Z_TYPE_P(pz) != IS_ARRAY || Z_ARRVAL_P(pz) != &EG(symbol_table)) {
@@ -346,7 +354,11 @@
GC_SET_COLOR(obj->buffered, GC_GREY);
if (EXPECTED(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].valid &&
Z_OBJ_HANDLER_P(pz, get_properties) != NULL)) {
- p = Z_OBJPROP_P(pz)->pListHead;
+ HashTable *props = Z_OBJPROP_P(pz);
+ if(!props) {
+ return;
+ }
+ p = props->pListHead;
}
}
} else if (Z_TYPE_P(pz) == IS_ARRAY) {
@@ -380,7 +392,11 @@
GC_SET_COLOR(obj->buffered, GC_GREY);
if (EXPECTED(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].valid &&
Z_OBJ_HANDLER_P(pz, get_properties) != NULL)) {
- p = Z_OBJPROP_P(pz)->pListHead;
+ HashTable *props = Z_OBJPROP_P(pz);
+ if(!props) {
+ return;
+ }
+ p = props->pListHead;
while (p != NULL) {
pz = *(zval**)p->pData;
if (Z_TYPE_P(pz) != IS_ARRAY || Z_ARRVAL_P(pz) != &EG(symbol_table)) {
@@ -445,7 +461,11 @@
GC_SET_COLOR(obj->buffered, GC_WHITE);
if (EXPECTED(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].valid &&
Z_OBJ_HANDLER_P(pz, get_properties) != NULL)) {
- p = Z_OBJPROP_P(pz)->pListHead;
+ HashTable *props = Z_OBJPROP_P(pz);
+ if(!props) {
+ return 0;
+ }
+ p = props->pListHead;
}
}
}
@@ -484,7 +504,11 @@
GC_SET_COLOR(obj->buffered, GC_WHITE);
if (EXPECTED(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].valid &&
Z_OBJ_HANDLER_P(pz, get_properties) != NULL)) {
- p = Z_OBJPROP_P(pz)->pListHead;
+ HashTable *props = Z_OBJPROP_P(pz);
+ if(!props) {
+ return;
+ }
+ p = props->pListHead;
while (p != NULL) {
zval_scan(*(zval**)p->pData TSRMLS_CC);
p = p->pListNext;
@@ -531,7 +555,11 @@
if (EXPECTED(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].valid &&
Z_OBJ_HANDLER_P(pz, get_properties) != NULL)) {
- p = Z_OBJPROP_P(pz)->pListHead;
+ HashTable *props = Z_OBJPROP_P(pz);
+ if(!props) {
+ return;
+ }
+ p = props->pListHead;
}
}
} else {
@@ -572,7 +600,11 @@
if (EXPECTED(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(pz)].valid &&
Z_OBJ_HANDLER_P(pz, get_properties) != NULL)) {
- p = Z_OBJPROP_P(pz)->pListHead;
+ HashTable *props = Z_OBJPROP_P(pz);
+ if(!props) {
+ return;
+ }
+ p = props->pListHead;
while (p != NULL) {
pz = *(zval**)p->pData;
if (Z_TYPE_P(pz) != IS_ARRAY || Z_ARRVAL_P(pz) != &EG(symbol_table)) {
--- php/php-src/branches/PHP_5_3/Zend/zend_execute.c 2010/04/20 12:26:15 298212
+++ php/php-src/branches/PHP_5_3/Zend/zend_execute.c 2010/04/20 12:30:35 298213
@@ -708,6 +708,7 @@
return variable_ptr;
}
} else { /* we need to split */
+ GC_ZVAL_CHECK_POSSIBLE_ROOT(*variable_ptr_ptr);
if (!is_tmp_var) {
if (PZVAL_IS_REF(value) && Z_REFCOUNT_P(value) > 0) {
ALLOC_ZVAL(variable_ptr);
--- php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_api.c 2010/04/21 12:13:49 298252
+++ php/php-src/branches/PHP_5_3/ext/mysqli/mysqli_api.c 2010/04/21 12:52:24 298253
@@ -1663,13 +1663,13 @@
{
MY_MYSQL *mysql;
zval *mysql_link = NULL;
- zval *mysql_value;
+ zval **mysql_value;
long mysql_option;
unsigned int l_value;
long ret;
int expected_type;
- if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Olz", &mysql_link, mysqli_link_class_entry, &mysql_option, &mysql_value) == FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "OlZ", &mysql_link, mysqli_link_class_entry, &mysql_option, &mysql_value) == FAILURE) {
return;
}
MYSQLI_FETCH_RESOURCE(mysql, MY_MYSQL *, &mysql_link, "mysqli_link", MYSQLI_STATUS_INITIALIZED);
@@ -1680,13 +1680,13 @@
}
}
expected_type = mysqli_options_get_option_zval_type(mysql_option);
- if (expected_type != Z_TYPE_P(mysql_value)) {
+ if (expected_type != Z_TYPE_PP(mysql_value)) {
switch (expected_type) {
case IS_STRING:
- convert_to_string_ex(&mysql_value);
+ convert_to_string_ex(mysql_value);
break;
case IS_LONG:
- convert_to_long_ex(&mysql_value);
+ convert_to_long_ex(mysql_value);
break;
default:
break;
@@ -1694,10 +1694,10 @@
}
switch (expected_type) {
case IS_STRING:
- ret = mysql_options(mysql->mysql, mysql_option, Z_STRVAL_PP(&mysql_value));
+ ret = mysql_options(mysql->mysql, mysql_option, Z_STRVAL_PP(mysql_value));
break;
case IS_LONG:
- l_value = Z_LVAL_PP(&mysql_value);
+ l_value = Z_LVAL_PP(mysql_value);
ret = mysql_options(mysql->mysql, mysql_option, (char *)&l_value);
break;
default:

View File

@ -1,115 +0,0 @@
diff -up php-5.3.2RC2/configure.in.gnusrc php-5.3.2RC2/configure.in
--- php-5.3.2RC2/configure.in.gnusrc 2010-02-12 01:20:28.000000000 +0100
+++ php-5.3.2RC2/configure.in 2010-02-12 13:58:21.000000000 +0100
@@ -58,6 +58,8 @@ AC_DEFUN([PHP_EXT_DIR],[ext/$1])dnl
AC_DEFUN([PHP_EXT_SRCDIR],[$abs_srcdir/ext/$1])dnl
AC_DEFUN([PHP_ALWAYS_SHARED],[])dnl
+AC_DEFINE([_GNU_SOURCE], 1, [Define to enable GNU C Library extensions])
+
dnl Setting up the PHP version based on the information above.
dnl -------------------------------------------------------------------------
diff -up php-5.3.2RC2/ext/interbase/interbase.c.gnusrc php-5.3.2RC2/ext/interbase/interbase.c
--- php-5.3.2RC2/ext/interbase/interbase.c.gnusrc 2010-01-03 10:23:27.000000000 +0100
+++ php-5.3.2RC2/ext/interbase/interbase.c 2010-02-12 13:58:21.000000000 +0100
@@ -24,7 +24,6 @@
#include "config.h"
#endif
-#define _GNU_SOURCE
#include "php.h"
diff -up php-5.3.2RC2/ext/pdo_firebird/firebird_driver.c.gnusrc php-5.3.2RC2/ext/pdo_firebird/firebird_driver.c
--- php-5.3.2RC2/ext/pdo_firebird/firebird_driver.c.gnusrc 2010-02-03 20:48:04.000000000 +0100
+++ php-5.3.2RC2/ext/pdo_firebird/firebird_driver.c 2010-02-12 13:58:21.000000000 +0100
@@ -22,7 +22,6 @@
#include "config.h"
#endif
-#define _GNU_SOURCE
#include "php.h"
#ifdef ZEND_ENGINE_2
diff -up php-5.3.2RC2/ext/standard/file.c.gnusrc php-5.3.2RC2/ext/standard/file.c
--- php-5.3.2RC2/ext/standard/file.c.gnusrc 2010-02-11 19:03:57.000000000 +0100
+++ php-5.3.2RC2/ext/standard/file.c 2010-02-12 13:58:21.000000000 +0100
@@ -113,9 +113,6 @@ php_file_globals file_globals;
#endif
#if defined(HAVE_FNMATCH) && !defined(PHP_WIN32)
-# ifndef _GNU_SOURCE
-# define _GNU_SOURCE
-# endif
# include <fnmatch.h>
#endif
diff -up php-5.3.2RC2/ext/zlib/zlib_fopen_wrapper.c.gnusrc php-5.3.2RC2/ext/zlib/zlib_fopen_wrapper.c
--- php-5.3.2RC2/ext/zlib/zlib_fopen_wrapper.c.gnusrc 2010-01-03 10:23:27.000000000 +0100
+++ php-5.3.2RC2/ext/zlib/zlib_fopen_wrapper.c 2010-02-12 14:00:10.000000000 +0100
@@ -19,8 +19,6 @@
/* $Id: zlib_fopen_wrapper.c 293036 2010-01-03 09:23:27Z sebastian $ */
-#define _GNU_SOURCE
-
#include "php.h"
#include "php_zlib.h"
#include "fopen_wrappers.h"
diff -up php-5.3.2RC2/main/php.h.gnusrc php-5.3.2RC2/main/php.h
--- php-5.3.2RC2/main/php.h.gnusrc 2010-02-04 11:13:54.000000000 +0100
+++ php-5.3.2RC2/main/php.h 2010-02-12 13:58:21.000000000 +0100
@@ -30,6 +30,7 @@
#define PHP_HAVE_STREAMS
#define YYDEBUG 0
+#include "php_config.h"
#include "php_version.h"
#include "zend.h"
#include "zend_qsort.h"
diff -up php-5.3.2RC2/main/streams/cast.c.gnusrc php-5.3.2RC2/main/streams/cast.c
--- php-5.3.2RC2/main/streams/cast.c.gnusrc 2010-02-03 21:49:03.000000000 +0100
+++ php-5.3.2RC2/main/streams/cast.c 2010-02-12 14:01:02.000000000 +0100
@@ -18,7 +18,6 @@
/* $Id: cast.c 294462 2010-02-03 20:49:03Z pajoye $ */
-#define _GNU_SOURCE
#include "php.h"
#include "php_globals.h"
#include "php_network.h"
diff -up php-5.3.2RC2/main/streams/memory.c.gnusrc php-5.3.2RC2/main/streams/memory.c
--- php-5.3.2RC2/main/streams/memory.c.gnusrc 2010-01-03 10:23:27.000000000 +0100
+++ php-5.3.2RC2/main/streams/memory.c 2010-02-12 14:01:22.000000000 +0100
@@ -18,7 +18,6 @@
/* $Id: memory.c 293036 2010-01-03 09:23:27Z sebastian $ */
-#define _GNU_SOURCE
#include "php.h"
PHPAPI int php_url_decode(char *str, int len);
diff -up php-5.3.2RC2/main/streams/streams.c.gnusrc php-5.3.2RC2/main/streams/streams.c
--- php-5.3.2RC2/main/streams/streams.c.gnusrc 2010-02-05 01:39:31.000000000 +0100
+++ php-5.3.2RC2/main/streams/streams.c 2010-02-12 14:01:38.000000000 +0100
@@ -21,7 +21,6 @@
/* $Id: streams.c 294550 2010-02-05 00:39:31Z pajoye $ */
-#define _GNU_SOURCE
#include "php.h"
#include "php_globals.h"
#include "php_network.h"
diff -up php-5.3.2RC2/Zend/zend_language_parser.c.gnusrc php-5.3.2RC2/Zend/zend_language_parser.c
--- php-5.3.2RC2/Zend/zend_language_parser.c.gnusrc 2010-02-12 01:26:13.000000000 +0100
+++ php-5.3.2RC2/Zend/zend_language_parser.c 2010-02-12 13:58:21.000000000 +0100
@@ -366,6 +366,8 @@
#include "zend_API.h"
#include "zend_constants.h"
+#include <string.h>
+
#define YYERROR_VERBOSE
#define YYSTYPE znode

View File

@ -1,15 +0,0 @@
--- php-5.3.2RC1/ext/phar/Makefile.frag.orig 2009-12-26 13:02:41.000000000 +0100
+++ php-5.3.2RC1/ext/phar/Makefile.frag 2009-12-26 13:03:17.000000000 +0100
@@ -19,11 +19,7 @@
else \
$(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \
fi;`
-PHP_PHARCMD_BANG = `if test -x "$(PHP_EXECUTABLE)"; then \
- $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \
- else \
- $(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)"; \
- fi; `
+PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";`
$(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc
-@test -d $(builddir)/phar || mkdir $(builddir)/phar

View File

@ -1,11 +1,8 @@
diff -up php-5.3.3/configure.in.aconf26x php-5.3.3/configure.in
Fix use of divert() to work with autoconf 2.6x. --- php-5.3.3/configure.in.aconf26x 2010-07-22 15:24:35.376051049 +0200
+++ php-5.3.3/configure.in 2010-07-22 15:25:19.922175093 +0200
diff -up php-5.3.2/configure.in.aconf26x php-5.3.2/configure.in
--- php-5.3.2/configure.in.aconf26x 2010-03-06 07:55:20.000000000 +0100
+++ php-5.3.2/configure.in 2010-03-06 07:57:57.000000000 +0100
@@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
## $Id: configure.in 295792 2010-03-03 16:36:07Z johannes $ -*- autoconf -*- ## $Id: configure.in 301439 2010-07-21 10:50:07Z johannes $ -*- autoconf -*-
dnl ## Process this file with autoconf to produce a configure script. dnl ## Process this file with autoconf to produce a configure script.
-divert(1) -divert(1)
@ -49,18 +46,18 @@ diff -up php-5.3.2/configure.in.aconf26x php-5.3.2/configure.in
dnl ## In diversion 5 we check which extensions should be compiled. dnl ## In diversion 5 we check which extensions should be compiled.
dnl ## All of these are normally in the extension directories. dnl ## All of these are normally in the extension directories.
diff -up php-5.3.2/ext/standard/config.m4.aconf26x php-5.3.2/ext/standard/config.m4 diff -up php-5.3.3/ext/standard/config.m4.aconf26x php-5.3.3/ext/standard/config.m4
--- php-5.3.2/ext/standard/config.m4.aconf26x 2010-02-22 01:34:22.000000000 +0100 --- php-5.3.3/ext/standard/config.m4.aconf26x 2010-06-17 12:22:03.000000000 +0200
+++ php-5.3.2/ext/standard/config.m4 2010-03-06 07:58:47.000000000 +0100 +++ php-5.3.3/ext/standard/config.m4 2010-07-22 15:24:35.382051000 +0200
@@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
dnl $Id: config.m4 295350 2010-02-22 00:34:22Z pajoye $ -*- autoconf -*- dnl $Id: config.m4 300511 2010-06-17 10:22:03Z pajoye $ -*- autoconf -*-
-divert(3)dnl -divert(3)dnl
+divert(1003)dnl +divert(1003)dnl
dnl dnl
dnl Check if flush should be called explicitly after buffered io dnl Check if flush should be called explicitly after buffered io
@@ -333,7 +333,7 @@ dnl @@ -342,7 +342,7 @@ dnl
AC_CHECK_FUNCS(getcwd getwd asinh acosh atanh log1p hypot glob strfmon nice fpclass isinf isnan mempcpy strpncpy) AC_CHECK_FUNCS(getcwd getwd asinh acosh atanh log1p hypot glob strfmon nice fpclass isinf isnan mempcpy strpncpy)
AC_FUNC_FNMATCH AC_FUNC_FNMATCH
@ -69,9 +66,9 @@ diff -up php-5.3.2/ext/standard/config.m4.aconf26x php-5.3.2/ext/standard/config
dnl dnl
dnl Check if there is a support means of creating a new process dnl Check if there is a support means of creating a new process
diff -up php-5.3.2/scripts/phpize.m4.aconf26x php-5.3.2/scripts/phpize.m4 diff -up php-5.3.3/scripts/phpize.m4.aconf26x php-5.3.3/scripts/phpize.m4
--- php-5.3.2/scripts/phpize.m4.aconf26x 2009-12-02 18:42:58.000000000 +0100 --- php-5.3.3/scripts/phpize.m4.aconf26x 2009-12-02 18:42:58.000000000 +0100
+++ php-5.3.2/scripts/phpize.m4 2010-03-06 07:55:20.000000000 +0100 +++ php-5.3.3/scripts/phpize.m4 2010-07-22 15:24:35.382051000 +0200
@@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
dnl This file becomes configure.in for self-contained extensions. dnl This file becomes configure.in for self-contained extensions.

114
php-5.3.3-gnusrc.patch Normal file
View File

@ -0,0 +1,114 @@
diff -up php5.3-201004081030/configure.in.gnusrc php5.3-201004081030/configure.in
--- php5.3-201004081030/configure.in.gnusrc 2010-03-19 00:36:53.000000000 +0100
+++ php5.3-201004081030/configure.in 2010-04-08 14:32:20.000000000 +0200
@@ -58,6 +58,8 @@ AC_DEFUN([PHP_EXT_DIR],[ext/$1])dnl
AC_DEFUN([PHP_EXT_SRCDIR],[$abs_srcdir/ext/$1])dnl
AC_DEFUN([PHP_ALWAYS_SHARED],[])dnl
+AC_DEFINE([_GNU_SOURCE], 1, [Define to enable GNU C Library extensions])
+
dnl Setting up the PHP version based on the information above.
dnl -------------------------------------------------------------------------
diff -up php5.3-201004081030/ext/interbase/interbase.c.gnusrc php5.3-201004081030/ext/interbase/interbase.c
--- php5.3-201004081030/ext/interbase/interbase.c.gnusrc 2010-01-03 10:36:55.000000000 +0100
+++ php5.3-201004081030/ext/interbase/interbase.c 2010-04-08 14:32:20.000000000 +0200
@@ -24,7 +24,6 @@
#include "config.h"
#endif
-#define _GNU_SOURCE
#include "php.h"
diff -up php5.3-201004081030/ext/pdo_firebird/firebird_driver.c.gnusrc php5.3-201004081030/ext/pdo_firebird/firebird_driver.c
--- php5.3-201004081030/ext/pdo_firebird/firebird_driver.c.gnusrc 2010-01-12 14:36:12.000000000 +0100
+++ php5.3-201004081030/ext/pdo_firebird/firebird_driver.c 2010-04-08 14:32:20.000000000 +0200
@@ -22,7 +22,6 @@
#include "config.h"
#endif
-#define _GNU_SOURCE
#include "php.h"
#ifdef ZEND_ENGINE_2
diff -up php5.3-201004081030/ext/standard/file.c.gnusrc php5.3-201004081030/ext/standard/file.c
--- php5.3-201004081030/ext/standard/file.c.gnusrc 2010-03-19 00:36:53.000000000 +0100
+++ php5.3-201004081030/ext/standard/file.c 2010-04-08 14:32:20.000000000 +0200
@@ -113,9 +113,6 @@ php_file_globals file_globals;
#endif
#if defined(HAVE_FNMATCH) && !defined(PHP_WIN32)
-# ifndef _GNU_SOURCE
-# define _GNU_SOURCE
-# endif
# include <fnmatch.h>
#endif
diff -up php5.3-201004081030/ext/zlib/zlib_fopen_wrapper.c.gnusrc php5.3-201004081030/ext/zlib/zlib_fopen_wrapper.c
--- php5.3-201004081030/ext/zlib/zlib_fopen_wrapper.c.gnusrc 2010-03-12 12:36:27.000000000 +0100
+++ php5.3-201004081030/ext/zlib/zlib_fopen_wrapper.c 2010-04-08 14:33:46.000000000 +0200
@@ -19,8 +19,6 @@
/* $Id: zlib_fopen_wrapper.c 296107 2010-03-12 10:28:59Z jani $ */
-#define _GNU_SOURCE
-
#include "php.h"
#include "php_zlib.h"
#include "fopen_wrappers.h"
diff -up php5.3-201004081030/main/php.h.gnusrc php5.3-201004081030/main/php.h
--- php5.3-201004081030/main/php.h.gnusrc 2010-03-12 12:36:33.000000000 +0100
+++ php5.3-201004081030/main/php.h 2010-04-08 14:32:20.000000000 +0200
@@ -30,6 +30,7 @@
#define PHP_HAVE_STREAMS
#define YYDEBUG 0
+#include "php_config.h"
#include "php_version.h"
#include "zend.h"
#include "zend_qsort.h"
diff -up php5.3-201004081030/main/streams/cast.c.gnusrc php5.3-201004081030/main/streams/cast.c
--- php5.3-201004081030/main/streams/cast.c.gnusrc 2010-01-19 16:36:23.000000000 +0100
+++ php5.3-201004081030/main/streams/cast.c 2010-04-08 14:33:15.000000000 +0200
@@ -18,7 +18,6 @@
/* $Id: cast.c 293732 2010-01-19 13:44:08Z jani $ */
-#define _GNU_SOURCE
#include "php.h"
#include "php_globals.h"
#include "php_network.h"
diff -up php5.3-201004081030/main/streams/memory.c.gnusrc php5.3-201004081030/main/streams/memory.c
--- php5.3-201004081030/main/streams/memory.c.gnusrc 2010-01-03 10:36:58.000000000 +0100
+++ php5.3-201004081030/main/streams/memory.c 2010-04-08 14:32:20.000000000 +0200
@@ -18,7 +18,6 @@
/* $Id: memory.c 293036 2010-01-03 09:23:27Z sebastian $ */
-#define _GNU_SOURCE
#include "php.h"
PHPAPI int php_url_decode(char *str, int len);
diff -up php5.3-201004081030/Zend/zend_language_parser.c.gnusrc php5.3-201004081030/Zend/zend_language_parser.c
--- php5.3-201004081030/Zend/zend_language_parser.c.gnusrc 2010-04-08 12:41:33.000000000 +0200
+++ php5.3-201004081030/Zend/zend_language_parser.c 2010-04-08 14:32:20.000000000 +0200
@@ -366,6 +366,8 @@
#include "zend_API.h"
#include "zend_constants.h"
+#include <string.h>
+
#define YYERROR_VERBOSE
#define YYSTYPE znode
--- php5.3-201005241430/main/streams/streams.c.gnusrc 2010-05-18 22:35:37.000000000 +0200
+++ php5.3-201005241430/main/streams/streams.c 2010-05-24 17:02:08.900419954 +0200
@@ -21,7 +21,6 @@
/* $Id: streams.c 299466 2010-05-18 19:39:39Z pajoye $ */
-#define _GNU_SOURCE
#include "php.h"
#include "php_globals.h"
#include "php_network.h"

View File

@ -1,6 +1,7 @@
--- php-5.2.3/ext/dba/dba.c.macropen diff -up php5.3-201006130830/ext/dba/dba.c.macropen php5.3-201006130830/ext/dba/dba.c
+++ php-5.2.3/ext/dba/dba.c --- php5.3-201006130830/ext/dba/dba.c.macropen 2010-03-03 02:35:57.000000000 +0100
@@ -930,7 +930,7 @@ +++ php5.3-201006130830/ext/dba/dba.c 2010-06-13 11:07:54.501185871 +0200
@@ -912,7 +912,7 @@ static void php_dba_open(INTERNAL_FUNCTI
} }
} }
@ -9,9 +10,10 @@
dba_close(info TSRMLS_CC); dba_close(info TSRMLS_CC);
php_error_docref2(NULL TSRMLS_CC, Z_STRVAL_PP(args[0]), Z_STRVAL_PP(args[1]), E_WARNING, "Driver initialization failed for handler: %s%s%s", hptr->name, error?": ":"", error?error:""); php_error_docref2(NULL TSRMLS_CC, Z_STRVAL_PP(args[0]), Z_STRVAL_PP(args[1]), E_WARNING, "Driver initialization failed for handler: %s%s%s", hptr->name, error?": ":"", error?error:"");
FREENOW; FREENOW;
--- php-5.2.3/ext/dba/dba_db3.c.macropen diff -up php5.3-201006130830/ext/dba/dba_db3.c.macropen php5.3-201006130830/ext/dba/dba_db3.c
+++ php-5.2.3/ext/dba/dba_db3.c --- php5.3-201006130830/ext/dba/dba_db3.c.macropen 2010-01-03 10:36:52.000000000 +0100
@@ -91,7 +91,7 @@ +++ php5.3-201006130830/ext/dba/dba_db3.c 2010-06-13 11:07:54.501185871 +0200
@@ -91,7 +91,7 @@ DBA_OPEN_FUNC(db3)
if ((err=db_create(&dbp, NULL, 0)) == 0) { if ((err=db_create(&dbp, NULL, 0)) == 0) {
dbp->set_errcall(dbp, php_dba_db3_errcall_fcn); dbp->set_errcall(dbp, php_dba_db3_errcall_fcn);
@ -20,12 +22,13 @@
dba_db3_data *data; dba_db3_data *data;
data = pemalloc(sizeof(*data), info->flags&DBA_PERSISTENT); data = pemalloc(sizeof(*data), info->flags&DBA_PERSISTENT);
--- php-5.2.3/ext/dba/dba_db4.c.macropen diff -up php5.3-201006130830/ext/dba/dba_db4.c.macropen php5.3-201006130830/ext/dba/dba_db4.c
+++ php-5.2.3/ext/dba/dba_db4.c --- php5.3-201006130830/ext/dba/dba_db4.c.macropen 2010-06-03 10:35:55.000000000 +0200
@@ -99,9 +99,9 @@ +++ php5.3-201006130830/ext/dba/dba_db4.c 2010-06-13 11:12:11.841435434 +0200
@@ -125,9 +125,9 @@ DBA_OPEN_FUNC(db4)
dbp->set_errcall(dbp, php_dba_db4_errcall_fcn); dbp->set_errcall(dbp, php_dba_db4_errcall_fcn);
if ( if (
#if (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1) #if (DB_VERSION_MAJOR > 4 || (DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1))
- (err=dbp->open(dbp, 0, info->path, NULL, type, gmode, filemode)) == 0) { - (err=dbp->open(dbp, 0, info->path, NULL, type, gmode, filemode)) == 0) {
+ (err=(dbp->open)(dbp, 0, info->path, NULL, type, gmode, filemode)) == 0) { + (err=(dbp->open)(dbp, 0, info->path, NULL, type, gmode, filemode)) == 0) {
#else #else

View File

@ -16,8 +16,8 @@
Summary: PHP scripting language for creating dynamic web sites Summary: PHP scripting language for creating dynamic web sites
Name: php Name: php
Version: 5.3.2 Version: 5.3.3
Release: 3%{?dist} Release: 1%{?dist}
License: PHP License: PHP
Group: Development/Languages Group: Development/Languages
URL: http://www.php.net/ URL: http://www.php.net/
@ -28,21 +28,18 @@ Source2: php.ini
Source3: macros.php Source3: macros.php
# Build fixes # Build fixes
Patch1: php-5.3.2-gnusrc.patch Patch1: php-5.3.3-gnusrc.patch
Patch2: php-5.3.0-install.patch Patch2: php-5.3.0-install.patch
Patch3: php-5.2.4-norpath.patch Patch3: php-5.2.4-norpath.patch
Patch4: php-5.3.0-phpize64.patch Patch4: php-5.3.0-phpize64.patch
Patch5: php-5.2.0-includedir.patch Patch5: php-5.2.0-includedir.patch
Patch6: php-5.2.4-embed.patch Patch6: php-5.2.4-embed.patch
Patch7: php-5.3.0-recode.patch Patch7: php-5.3.0-recode.patch
Patch8: php-5.3.2-aconf26x.patch Patch8: php-5.3.3-aconf26x.patch
# http://bugs.php.net/50578
Patch9: php-5.3.2-phar.patch
Patch10: php-5.3.2-gc.patch
# Fixes for extension modules # Fixes for extension modules
Patch20: php-4.3.11-shutdown.patch Patch20: php-4.3.11-shutdown.patch
Patch21: php-5.2.3-macropen.patch Patch21: php-5.3.3-macropen.patch
# Functional changes # Functional changes
Patch40: php-5.0.4-dlopen.patch Patch40: php-5.0.4-dlopen.patch
@ -436,8 +433,6 @@ support for using the enchant library to PHP.
%patch6 -p1 -b .embed %patch6 -p1 -b .embed
%patch7 -p1 -b .recode %patch7 -p1 -b .recode
%patch8 -p1 -b .aconf26x %patch8 -p1 -b .aconf26x
%patch9 -p1 -b .shebang
%patch10 -p4 -b .gc
%patch20 -p1 -b .shutdown %patch20 -p1 -b .shutdown
%patch21 -p1 -b .macropen %patch21 -p1 -b .macropen
@ -460,6 +455,8 @@ mkdir build-cgi build-apache build-embedded build-zts
# Remove bogus test; position of read position after fopen(, "a+") # Remove bogus test; position of read position after fopen(, "a+")
# is not defined by C standard, so don't presume anything. # is not defined by C standard, so don't presume anything.
rm -f ext/standard/tests/file/bug21131.phpt rm -f ext/standard/tests/file/bug21131.phpt
# php_egg_logo_guid() removed by patch41
rm -f tests/basic/php_egg_logo_guid.phpt
# Tests that fail. # Tests that fail.
rm -f ext/standard/tests/file/bug22414.phpt \ rm -f ext/standard/tests/file/bug22414.phpt \
@ -870,6 +867,9 @@ rm files.* macros.php
%files enchant -f files.enchant %files enchant -f files.enchant
%changelog %changelog
* Thu Jul 22 2010 Remi Collet <Fedora@famillecollet.com> 5.3.3-1
- PHP 5.3.3 released
* Fri Apr 30 2010 Remi Collet <Fedora@famillecollet.com> 5.3.2-3 * Fri Apr 30 2010 Remi Collet <Fedora@famillecollet.com> 5.3.2-3
- garbage collector upstream patches (#580236) - garbage collector upstream patches (#580236)

View File

@ -1 +1 @@
46f500816125202c48a458d0133254a4 php-5.3.2.tar.bz2 21ceeeb232813c10283a5ca1b4c87b48 php-5.3.3.tar.bz2