[PHP-CVS] svn: /php/php-src/ branches/PHP_5_4/sapi/apache2handler/config.w32 trunk/sapi/apache2handler/config.w32

2011-07-06 Thread Pierre Joye
pajoye   Wed, 06 Jul 2011 11:13:38 +

Revision: http://svn.php.net/viewvc?view=revisionrevision=313001

Log:
- add apache 2.3 (upcoming 2.4) handler

Changed paths:
U   php/php-src/branches/PHP_5_4/sapi/apache2handler/config.w32
U   php/php-src/trunk/sapi/apache2handler/config.w32

Modified: php/php-src/branches/PHP_5_4/sapi/apache2handler/config.w32
===
--- php/php-src/branches/PHP_5_4/sapi/apache2handler/config.w32 2011-07-06 
11:00:55 UTC (rev 313000)
+++ php/php-src/branches/PHP_5_4/sapi/apache2handler/config.w32 2011-07-06 
11:13:38 UTC (rev 313001)
@@ -5,7 +5,7 @@

 if (PHP_APACHE2HANDLER != no) {
if (PHP_ZTS == no) {
-   WARNING(Apache2 module requires an --enable-zts build of PHP 
on windows);
+   WARNING(Apache 2.0 module requires an --enable-zts build of 
PHP on windows);
} else if (CHECK_HEADER_ADD_INCLUDE(httpd.h, CFLAGS_APACHE2HANDLER, 
PHP_PHP_BUILD + \\include\\apache2) 
CHECK_LIB(libhttpd.lib, apache2handler, 
PHP_PHP_BUILD + \\lib\\apache2) 
CHECK_LIB(libapr.lib, apache2handler, PHP_PHP_BUILD 
+ \\lib\\apache2) 
@@ -23,7 +23,7 @@

 if (PHP_APACHE2_2HANDLER != no) {
if (PHP_ZTS == no) {
-   WARNING(Apache2 module requires an --enable-zts build of PHP 
on windows);
+   WARNING(Apache 2.2 module requires an --enable-zts build of 
PHP on windows);
} else if (CHECK_HEADER_ADD_INCLUDE(httpd.h, 
CFLAGS_APACHE2_2HANDLER, PHP_PHP_BUILD + \\include\\apache2_2) 
CHECK_LIB(libhttpd.lib, apache2_2handler, 
PHP_PHP_BUILD + \\lib\\apache2_2) 
CHECK_LIB(libapr-1.lib, apache2_2handler, 
PHP_PHP_BUILD + \\lib\\apache2_2) 
@@ -37,3 +37,22 @@
WARNING(Could not find apache2.2 libraries/headers);
}
 }
+
+ARG_ENABLE('apache2-3handler', 'Build Apache 2.3.x handler', 'no');
+if (PHP_APACHE2_3HANDLER != no) {
+   if (PHP_ZTS == no) {
+   WARNING(Apache 2.3 module requires an --enable-zts build of 
PHP on windows);
+   } else if (CHECK_HEADER_ADD_INCLUDE(httpd.h, 
CFLAGS_APACHE2_3HANDLER, PHP_PHP_BUILD + \\include\\apache2_3) 
+   CHECK_LIB(libhttpd.lib, apache2_3handler, 
PHP_PHP_BUILD + \\lib\\apache2_3) 
+   CHECK_LIB(libapr-1.lib, apache2_3handler, 
PHP_PHP_BUILD + \\lib\\apache2_3) 
+   CHECK_LIB(libaprutil-1.lib, apache2_3handler, 
PHP_PHP_BUILD + \\lib\\apache2_3)
+   ) {
+   SAPI('apache2_3handler', 'mod_php5.c sapi_apache2.c 
apache_config.c php_functions.c',
+   'php' + PHP_VERSION + 'apache2_3.dll',
+   '/D PHP_APACHE2_EXPORTS /I win32',
+   'sapi\\apache2handler');
+   } else {
+   WARNING(Could not find apache2.3 libraries/headers);
+   }
+}
+

Modified: php/php-src/trunk/sapi/apache2handler/config.w32
===
--- php/php-src/trunk/sapi/apache2handler/config.w322011-07-06 11:00:55 UTC 
(rev 313000)
+++ php/php-src/trunk/sapi/apache2handler/config.w322011-07-06 11:13:38 UTC 
(rev 313001)
@@ -5,7 +5,7 @@

 if (PHP_APACHE2HANDLER != no) {
if (PHP_ZTS == no) {
-   WARNING(Apache2 module requires an --enable-zts build of PHP 
on windows);
+   WARNING(Apache 2.0 module requires an --enable-zts build of 
PHP on windows);
} else if (CHECK_HEADER_ADD_INCLUDE(httpd.h, CFLAGS_APACHE2HANDLER, 
PHP_PHP_BUILD + \\include\\apache2) 
CHECK_LIB(libhttpd.lib, apache2handler, 
PHP_PHP_BUILD + \\lib\\apache2) 
CHECK_LIB(libapr.lib, apache2handler, PHP_PHP_BUILD 
+ \\lib\\apache2) 
@@ -23,7 +23,7 @@

 if (PHP_APACHE2_2HANDLER != no) {
if (PHP_ZTS == no) {
-   WARNING(Apache2 module requires an --enable-zts build of PHP 
on windows);
+   WARNING(Apache 2.2 module requires an --enable-zts build of 
PHP on windows);
} else if (CHECK_HEADER_ADD_INCLUDE(httpd.h, 
CFLAGS_APACHE2_2HANDLER, PHP_PHP_BUILD + \\include\\apache2_2) 
CHECK_LIB(libhttpd.lib, apache2_2handler, 
PHP_PHP_BUILD + \\lib\\apache2_2) 
CHECK_LIB(libapr-1.lib, apache2_2handler, 
PHP_PHP_BUILD + \\lib\\apache2_2) 
@@ -37,3 +37,22 @@
WARNING(Could not find apache2.2 libraries/headers);
}
 }
+
+ARG_ENABLE('apache2-3handler', 'Build Apache 2.3.x handler', 'no');
+if (PHP_APACHE2_3HANDLER != no) {
+   if (PHP_ZTS == no) {
+   WARNING(Apache 2.3 module requires an --enable-zts build of 
PHP on windows);
+   } else if (CHECK_HEADER_ADD_INCLUDE(httpd.h, 
CFLAGS_APACHE2_3HANDLER, PHP_PHP_BUILD + \\include\\apache2_3) 
+   CHECK_LIB(libhttpd.lib, 

[PHP-CVS] svn: /php/php-src/ branches/PHP_5_4/Zend/tests/bug55135.phpt branches/PHP_5_4/Zend/zend_vm_def.h branches/PHP_5_4/Zend/zend_vm_execute.h trunk/Zend/tests/bug55135.phpt trunk/Zend/zend_vm_def

2011-07-06 Thread Dmitry Stogov
dmitry   Wed, 06 Jul 2011 12:04:02 +

Revision: http://svn.php.net/viewvc?view=revisionrevision=313005

Log:
Fixed bug #55135 (Array keys are no longer type casted in unset())

Bug: https://bugs.php.net/55135 (Assigned) Array keys are no longer type casted 
in unset()
  
Changed paths:
A   php/php-src/branches/PHP_5_4/Zend/tests/bug55135.phpt
U   php/php-src/branches/PHP_5_4/Zend/zend_vm_def.h
U   php/php-src/branches/PHP_5_4/Zend/zend_vm_execute.h
A   php/php-src/trunk/Zend/tests/bug55135.phpt
U   php/php-src/trunk/Zend/zend_vm_def.h
U   php/php-src/trunk/Zend/zend_vm_execute.h

Added: php/php-src/branches/PHP_5_4/Zend/tests/bug55135.phpt
===
--- php/php-src/branches/PHP_5_4/Zend/tests/bug55135.phpt	(rev 0)
+++ php/php-src/branches/PHP_5_4/Zend/tests/bug55135.phpt	2011-07-06 12:04:02 UTC (rev 313005)
@@ -0,0 +1,38 @@
+--TEST--
+Bug #55135 (Array keys are no longer type casted in unset())
+--FILE--
+?php
+// This fails.
+$array = array(1 = 2);
+$a = 1;
+unset($array[$a]);
+print_r($array);
+
+// Those works.
+$array = array(1 = 2);
+$a = 1;
+unset($array[$a]);
+print_r($array);
+
+$array = array(1 = 2);
+unset($array[1]);
+print_r($array);
+
+$array = array(1 = 2);
+$a = 1;
+unset($array[1]);
+print_r($array);
+?
+--EXPECT--
+Array
+(
+)
+Array
+(
+)
+Array
+(
+)
+Array
+(
+)

Modified: php/php-src/branches/PHP_5_4/Zend/zend_vm_def.h
===
--- php/php-src/branches/PHP_5_4/Zend/zend_vm_def.h	2011-07-06 11:27:32 UTC (rev 313004)
+++ php/php-src/branches/PHP_5_4/Zend/zend_vm_def.h	2011-07-06 12:04:02 UTC (rev 313005)
@@ -3917,7 +3917,6 @@
 	case IS_RESOURCE:
 	case IS_BOOL:
 	case IS_LONG:
-ZEND_VM_C_LABEL(num_index_dim):
 		hval = Z_LVAL_P(offset);
 		zend_hash_index_del(ht, hval);
 		break;
@@ -3944,6 +3943,12 @@
 			zval_ptr_dtor(offset);
 		}
 		break;
+ZEND_VM_C_LABEL(num_index_dim):
+		zend_hash_index_del(ht, hval);
+		if (OP2_TYPE == IS_CV || OP2_TYPE == IS_VAR) {
+			zval_ptr_dtor(offset);
+		}
+		break;
 	case IS_NULL:
 		zend_hash_del(ht, , sizeof());
 		break;

Modified: php/php-src/branches/PHP_5_4/Zend/zend_vm_execute.h
===
--- php/php-src/branches/PHP_5_4/Zend/zend_vm_execute.h	2011-07-06 11:27:32 UTC (rev 313004)
+++ php/php-src/branches/PHP_5_4/Zend/zend_vm_execute.h	2011-07-06 12:04:02 UTC (rev 313005)
@@ -13526,7 +13526,6 @@
 	case IS_RESOURCE:
 	case IS_BOOL:
 	case IS_LONG:
-num_index_dim:
 		hval = Z_LVAL_P(offset);
 		zend_hash_index_del(ht, hval);
 		break;
@@ -13553,6 +13552,12 @@
 			zval_ptr_dtor(offset);
 		}
 		break;
+num_index_dim:
+		zend_hash_index_del(ht, hval);
+		if (IS_CONST == IS_CV || IS_CONST == IS_VAR) {
+			zval_ptr_dtor(offset);
+		}
+		break;
 	case IS_NULL:
 		zend_hash_del(ht, , sizeof());
 		break;
@@ -15506,7 +15511,6 @@
 	case IS_RESOURCE:
 	case IS_BOOL:
 	case IS_LONG:
-num_index_dim:
 		hval = Z_LVAL_P(offset);
 		zend_hash_index_del(ht, hval);
 		break;
@@ -15533,6 +15537,12 @@
 			zval_ptr_dtor(offset);
 		}
 		break;
+num_index_dim:
+		zend_hash_index_del(ht, hval);
+		if (IS_TMP_VAR == IS_CV || IS_TMP_VAR == IS_VAR) {
+			zval_ptr_dtor(offset);
+		}
+		break;
 	case IS_NULL:
 		zend_hash_del(ht, , sizeof());
 		break;
@@ -17682,7 +17692,6 @@
 	case IS_RESOURCE:
 	case IS_BOOL:
 	case IS_LONG:
-num_index_dim:
 		hval = Z_LVAL_P(offset);
 		zend_hash_index_del(ht, hval);
 		break;
@@ -17709,6 +17718,12 @@
 			zval_ptr_dtor(offset);
 		}
 		break;
+num_index_dim:
+		zend_hash_index_del(ht, hval);
+		if (IS_VAR == IS_CV || IS_VAR == IS_VAR) {
+			zval_ptr_dtor(offset);
+		}
+		break;
 	case IS_NULL:
 		zend_hash_del(ht, , sizeof());
 		break;
@@ -20670,7 +20685,6 @@
 	case IS_RESOURCE:
 	case IS_BOOL:
 	case IS_LONG:
-num_index_dim:
 		hval = Z_LVAL_P(offset);
 		zend_hash_index_del(ht, hval);
 		break;
@@ -20697,6 +20711,12 @@
 			zval_ptr_dtor(offset);
 		}
 		break;
+num_index_dim:
+		zend_hash_index_del(ht, hval);
+		if (IS_CV == IS_CV || IS_CV == IS_VAR) {
+			zval_ptr_dtor(offset);
+		}
+		break;
 	case IS_NULL:
 		zend_hash_del(ht, , sizeof());
 		break;
@@ -21992,7 +22012,6 @@
 	case IS_RESOURCE:
 	case IS_BOOL:
 	case IS_LONG:
-num_index_dim:
 		hval = Z_LVAL_P(offset);
 		zend_hash_index_del(ht, hval);
 		break;
@@ -22019,6 +22038,12 @@
 			zval_ptr_dtor(offset);
 		}
 		break;
+num_index_dim:
+		zend_hash_index_del(ht, hval);
+		if (IS_CONST == IS_CV || IS_CONST == IS_VAR) {
+			

Re: [PHP-CVS] svn: /php/php-src/branches/PHP_5_4/ NEWS configure.in main/php_version.h

2011-07-06 Thread Hannes Magnusson
On Sun, Jun 19, 2011 at 22:15, Stanislav Malyshev s...@php.net wrote:
 stas                                     Sun, 19 Jun 2011 20:15:33 +

 Revision: http://svn.php.net/viewvc?view=revisionrevision=312302

 Log:
 Back to -dev

 Changed paths:
    U   php/php-src/branches/PHP_5_4/NEWS
    U   php/php-src/branches/PHP_5_4/configure.in
    U   php/php-src/branches/PHP_5_4/main/php_version.h

 Modified: php/php-src/branches/PHP_5_4/NEWS
 ===
 --- php/php-src/branches/PHP_5_4/NEWS   2011-06-19 20:13:45 UTC (rev 312301)
 +++ php/php-src/branches/PHP_5_4/NEWS   2011-06-19 20:15:33 UTC (rev 312302)
 @@ -1,6 +1,6 @@
  PHP                                                                        
 NEWS
  |||
 -20 Jun 2011, PHP 5.4.0 Alpha 1
 +?? ??? 2011, PHP 5.4.0


Hmmmh..
So the news for alpha2 will not be separated from alpha1?
Thats going to make it hard to see the difference for users :]

-Hannes

--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-CVS] svn: /php/php-src/branches/PHP_5_4/ NEWS configure.in main/php_version.h

2011-07-06 Thread Stas Malyshev

Hi!

On 7/6/11 12:12 PM, Hannes Magnusson wrote:

Hmmmh..
So the news for alpha2 will not be separated from alpha1?
Thats going to make it hard to see the difference for users :]


Well, alphas aren't really for users - i.e., it should not be used in 
any setting where the difference (as opposed to whole product 
working/not working) is important. Also, we don't have non-release 
versions in any other parts of the NEWS. Do you think we should have it 
in 5.4? It would then be required to merge it when we release a stable 
version, I guess?

--
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-CVS] svn: /php/php-src/branches/PHP_5_4/ NEWS configure.in main/php_version.h

2011-07-06 Thread Rasmus Lerdorf
On 07/06/2011 12:18 PM, Stas Malyshev wrote:
 Hi!
 
 On 7/6/11 12:12 PM, Hannes Magnusson wrote:
 Hmmmh..
 So the news for alpha2 will not be separated from alpha1?
 Thats going to make it hard to see the difference for users :]
 
 Well, alphas aren't really for users - i.e., it should not be used in
 any setting where the difference (as opposed to whole product
 working/not working) is important. Also, we don't have non-release
 versions in any other parts of the NEWS. Do you think we should have it
 in 5.4? It would then be required to merge it when we release a stable
 version, I guess?

Given the pretty big changes that are likely to occur between alpha
releases, I think it would be a good idea to have separated NEWS
sections. And yes, when we put out the first beta we merge them all.

-Rasmus

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-CVS] svn: /php/php-src/branches/PHP_5_4/ NEWS configure.in main/php_version.h

2011-07-06 Thread Stas Malyshev

Hi!

On 7/6/11 12:20 PM, Rasmus Lerdorf wrote:

Given the pretty big changes that are likely to occur between alpha
releases, I think it would be a good idea to have separated NEWS
sections. And yes, when we put out the first beta we merge them all.


OK, I'll split them.

--
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] svn: /php/php-src/ branches/PHP_5_4/NEWS branches/PHP_5_4/main/SAPI.c trunk/main/SAPI.c

2011-07-06 Thread Hannes Magnusson
bjoriWed, 06 Jul 2011 20:38:58 +

Revision: http://svn.php.net/viewvc?view=revisionrevision=313026

Log:
Fixed bug#55084 (Function registered by header_register_callback is
called only once per process). (Hannes)

also fixed an issue when header()s are sent from the callback function

Bug: https://bugs.php.net/55084 (Open) Function registered by 
header_register_callback is called only once per process
  
Changed paths:
U   php/php-src/branches/PHP_5_4/NEWS
U   php/php-src/branches/PHP_5_4/main/SAPI.c
U   php/php-src/trunk/main/SAPI.c

Modified: php/php-src/branches/PHP_5_4/NEWS
===
--- php/php-src/branches/PHP_5_4/NEWS   2011-07-06 19:55:49 UTC (rev 313025)
+++ php/php-src/branches/PHP_5_4/NEWS   2011-07-06 20:38:58 UTC (rev 313026)
@@ -141,6 +141,8 @@
 separators to the first byte. FR #53457. (Adam)
   . Added hex2bin() function. (Scott)
   . Fixed crypt_blowfish handling of 8-bit characters. (Stas) (CVE-2011-2483)
+  . Fixed bug#55084 (Function registered by header_register_callback is
+called only once per process). (Hannes)

 - Improved CURL extension:
   . Added support for CURLOPT_MAX_RECV_SPEED_LARGE and

Modified: php/php-src/branches/PHP_5_4/main/SAPI.c
===
--- php/php-src/branches/PHP_5_4/main/SAPI.c2011-07-06 19:55:49 UTC (rev 
313025)
+++ php/php-src/branches/PHP_5_4/main/SAPI.c2011-07-06 20:38:58 UTC (rev 
313026)
@@ -430,6 +430,8 @@
SG(sapi_headers).http_status_line = NULL;
SG(sapi_headers).mimetype = NULL;
SG(headers_sent) = 0;
+   SG(callback_run) = 0;
+   SG(callback_func) = NULL;
SG(read_post_bytes) = 0;
SG(request_info).post_data = NULL;
SG(request_info).raw_post_data = NULL;
@@ -539,6 +541,10 @@
sapi_send_headers_free(TSRMLS_C);
SG(sapi_started) = 0;
SG(headers_sent) = 0;
+   SG(callback_run) = 0;
+   if (SG(callback_func)) {
+   zval_ptr_dtor(SG(callback_func));
+   }
SG(request_info).headers_read = 0;
SG(global_request_time) = 0;
 }
@@ -816,7 +822,7 @@
int retval;
int ret = FAILURE;

-   if (SG(headers_sent) || SG(request_info).no_headers) {
+   if (SG(headers_sent) || SG(request_info).no_headers || 
SG(callback_run)) {
return SUCCESS;
}


Modified: php/php-src/trunk/main/SAPI.c
===
--- php/php-src/trunk/main/SAPI.c   2011-07-06 19:55:49 UTC (rev 313025)
+++ php/php-src/trunk/main/SAPI.c   2011-07-06 20:38:58 UTC (rev 313026)
@@ -430,6 +430,8 @@
SG(sapi_headers).http_status_line = NULL;
SG(sapi_headers).mimetype = NULL;
SG(headers_sent) = 0;
+   SG(callback_run) = 0;
+   SG(callback_func) = NULL;
SG(read_post_bytes) = 0;
SG(request_info).post_data = NULL;
SG(request_info).raw_post_data = NULL;
@@ -539,6 +541,10 @@
sapi_send_headers_free(TSRMLS_C);
SG(sapi_started) = 0;
SG(headers_sent) = 0;
+   SG(callback_run) = 0;
+   if (SG(callback_func)) {
+   zval_ptr_dtor(SG(callback_func));
+   }
SG(request_info).headers_read = 0;
SG(global_request_time) = 0;
 }
@@ -816,7 +822,7 @@
int retval;
int ret = FAILURE;

-   if (SG(headers_sent) || SG(request_info).no_headers) {
+   if (SG(headers_sent) || SG(request_info).no_headers || 
SG(callback_run)) {
return SUCCESS;
}


-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: [PHP-CVS] svn: /php/php-src/branches/PHP_5_4/ NEWS configure.in main/php_version.h

2011-07-06 Thread Pierre Joye
On Wed, Jul 6, 2011 at 9:20 PM, Rasmus Lerdorf ras...@lerdorf.com wrote:

 Given the pretty big changes that are likely to occur between alpha
 releases, I think it would be a good idea to have separated NEWS
 sections. And yes, when we put out the first beta we merge them all.

Exactly, every change happening between two tests releases (no matter
the state) has its NEWS entry. They got merged, removed or rephrased
for the final release.

Cheers.
-- 
Pierre

@pierrejoye | http://blog.thepimp.net | http://www.libgd.org

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php