Nikita Popov [Thu, 2 Nov 2017 18:20:14 +0000 (19:20 +0100)]
Don't dup after fetch_dimension_const
Any duplication that may be necessary must have happened earlier
already. Also I'm not sure what the IS_REF branch was there for
originally, but it does not appear to be relevant anymore.
Xinchen Hui [Thu, 2 Nov 2017 02:40:45 +0000 (10:40 +0800)]
Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
Made "result", "statement" and "last_message" to always use Zend MM heap. (even for persistent connections these entities don't relive request boundary)
Fixed memory leaks
Use interned strings for "magic" property of internal classes. (not copyied into SHM)
Reverted incomplete fix and too strict asserts.
Mark persistent connection related data as "thread-local".
Persistent resources are "thread-local". Register persistent resources through new functions zend_register_persistent_resource()/zend_register_persistent_resource_ex().
PCRE cache is "thread-local"
Allow reference-counting on "thread-local" persistent zvals
Dmitry Stogov [Thu, 2 Nov 2017 00:27:25 +0000 (03:27 +0300)]
Made "result", "statement" and "last_message" to always use Zend MM heap. (even for persistent connections these entities don't relive request boundary)
Dmitry Stogov [Wed, 1 Nov 2017 12:19:31 +0000 (15:19 +0300)]
Persistent resources are "thread-local".
Register persistent resources through new functions zend_register_persistent_resource()/zend_register_persistent_resource_ex().
Nikita Popov [Mon, 30 Oct 2017 21:00:42 +0000 (22:00 +0100)]
Remove zend_get_parameters(_ex) APIs
zend_get_parameters_ex() has been marked as deprecated for a long
time already. What zend_get_paramers() does is even more
questionable under PHP7. Both functions are obsoleted by the ZPP
mechanism, so I'm dropping them.
Dmitry Stogov [Mon, 30 Oct 2017 20:13:10 +0000 (23:13 +0300)]
Prevent reference-counting on persistent zvals (internal constants, default properties and constants of internal classes).
New macro ZVAL_COPY_OR_DUP() is used perform duplication, if necessary.
This should eliminate related race-coditions in ZTS build and prevent reference-counting bugs after unclean shutdown.
Implemented request #62055 (Make run-tests.php support --CGI-- sections)
Not regarding the CGI section might even been seen as a bug, and since
server-tests.php appears to broken, anway[1][2], we implement it for
run-tests.php in the way as described[3] for server-tests.php, i.e.
respective tests are skipped if no CGI executable is found.
Anatol Belski [Mon, 30 Oct 2017 18:48:21 +0000 (19:48 +0100)]
Rethink the version checks
As the actual behavior change happens with ICU >= 58, the new
functionality should stay same in the lower versions. This comply also
with lower PHP versions so far.
Jakub Zelenka [Mon, 30 Oct 2017 16:36:38 +0000 (16:36 +0000)]
Prevent leaking x509 and csr resources if it is not requested
All functions using php_openssl_x509_from_zval or php_openssl_csr_from_zval
with makeresource equal to 0 do not deref the resource which means there
is a leak till the end of the request. This can cause issues for long
running apps. It is a generic solution for bug #75363 which also covers
other functions.
Joe Watkins [Mon, 30 Oct 2017 14:16:38 +0000 (14:16 +0000)]
Merge branch 'PHP-7.2' of git.php.net:/php-src into PHP-7.2
* 'PHP-7.2' of git.php.net:/php-src:
Yet one attempt to mitigate the unzip error on AppVeyor
Ensure SDK is checked out before asking for version
Fix fetching the SDK version
Fix SDK version comparison and add more verbosity
Don't use the cache dependency, SDK version is handled in script
Remove status check on the SDK repo and add version check
Use abbrev
Catch with the latest AppVeyor unzip errors
Fixed type inference
Joe Watkins [Mon, 30 Oct 2017 14:16:27 +0000 (14:16 +0000)]
Merge branch 'PHP-7.1' of git.php.net:/php-src into PHP-7.1
* 'PHP-7.1' of git.php.net:/php-src:
Yet one attempt to mitigate the unzip error on AppVeyor
Ensure SDK is checked out before asking for version
Fix fetching the SDK version
Fix SDK version comparison and add more verbosity
Don't use the cache dependency, SDK version is handled in script
Remove status check on the SDK repo and add version check
Use abbrev
Catch with the latest AppVeyor unzip errors
Fixed type inference
Joe Watkins [Mon, 30 Oct 2017 14:16:16 +0000 (14:16 +0000)]
Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0
* 'PHP-7.0' of git.php.net:/php-src:
Yet one attempt to mitigate the unzip error on AppVeyor
Ensure SDK is checked out before asking for version
Fix fetching the SDK version
Fix SDK version comparison and add more verbosity
Don't use the cache dependency, SDK version is handled in script
Remove status check on the SDK repo and add version check
Catch with the latest AppVeyor unzip errors