Compare commits

..
Author SHA1 Message Date
Christoph M. Becker 9160e881a6 Update versions for PHP 7.3.0beta1 2018-07-31 13:10:09 +00:00
Christoph M. Becker f6ee308143 Fix ZEND_EXTENSION_API_NO 2018-07-31 14:11:39 +02:00
Christoph M. Becker 144e8d1f83 Update API version numbers
These are supposed to be final now for PHP 7.3.
2018-07-31 13:33:48 +02:00
Christoph M. Becker bf5cf79456 Fix UPGRADING 2018-07-31 13:31:28 +02:00
Christoph M. Becker 974abd8b43 Update UPGRADING wrt. samesite cookie RFC
Cf. <https://wiki.php.net/rfc/same-site-cookie>.
2018-07-31 12:48:33 +02:00
Pedro Magalhães 2b58ab23c6 Support for samesite cookies with array syntax
Allows using an alternative array argument with
support for the samesite option on the following
functions:
setcookie
setrawcookie
session_set_cookie_params
2018-07-31 12:40:26 +02:00
Frederik Bosch 08b9310e6d implement same site cookie see https://bugs.php.net/bug.php?id=72230 see https://tools.ietf.org/html/draft-west-first-party-cookies-07 see https://scotthelme.co.uk/csrf-is-dead/ 2018-07-31 12:40:24 +02:00
Dmitry Stogov 3ccd985478 Improved method visibility checks 2018-07-31 13:05:57 +03:00
Dmitry Stogov 57527455eb Simplified property name to string conversion 2018-07-31 12:24:53 +03:00
Dmitry Stogov c42f0ba4f7 Removed useless IS_UNDEF checks 2018-07-31 12:23:46 +03:00
Peter Kokot 7c1e0930c4 Remove TSRM_CHECK_GCC_ARG and LIBZEND_CPLUSPLUS_CHECKS
This removes two old Autoconf macro definitions since they are not used
anymore.
2018-07-31 05:59:05 +02:00
Peter Kokot b719aa41f4 Fix minor Autoconf coding style
This fixes two minor Autoconf coding styles. Double quotes in arguments
don't need to be escaped. This removes warning given by autoreconf:
- warning: back quotes and double quotes must not be escaped in...
2018-07-31 03:09:44 +02:00
Anatol Belski 160353688b Update NEWS [ci skip] 2018-07-30 19:44:59 +02:00
Anatol Belski b49891aa90 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS [ci skip]
  Update NEWS [ci skip]
2018-07-30 19:44:01 +02:00
Anatol Belski 095a30e11b Update NEWS [ci skip] 2018-07-30 19:43:23 +02:00
Anatol Belski e111ef5626 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS [ci skip]
2018-07-30 19:42:45 +02:00
Anatol Belski 093cb1d7c6 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75402 Possible Memory Leak using PDO::CURSOR_SCROLL option
2018-07-30 18:29:40 +02:00
Anatol Belski d207d6a57f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75402 Possible Memory Leak using PDO::CURSOR_SCROLL option
2018-07-30 18:28:53 +02:00
Dmitry Stogov 5674cf888d Use better macros 2018-07-30 16:48:34 +03:00
Dmitry Stogov 909f943fe5 Loop optimization 2018-07-30 16:08:45 +03:00
Gabriel Caruso 9c8b3ae43f Make more tests run on 64bit plataforms 2018-07-30 09:43:09 -03:00
Gabriel Caruso 4a1336de7c Give a reason why the test was skipped 2018-07-30 09:03:21 -03:00
Gabriel Caruso 745f6627bd Remove superfluous SKIPIF sections of always available functions 2018-07-30 09:01:39 -03:00
Dmitry Stogov be805f146c Added missing define 2018-07-30 13:29:09 +03:00
Dmitry Stogov 3ced766da9 Removed duplicate code. zend_fetch_dimension_address_LIST_w() was a copy of zend_fetch_dimension_address_W(), ZEND_FETCH_LIST_W_SPEC_CV_... a copy of ZEND_FETCH_DIM_W_SPEC_CV_... 2018-07-30 10:53:39 +03:00
Peter Kokot f2e4de8b56 Fix AC_RUN_IFELSE calls when cross-compiling
AC_RUN_IFELSE program can't be run when cross-compiling. This fix removes
warnings given by autotools scripts.
2018-07-30 06:38:59 +02:00
Peter Kokot 6399fa1eea [ci skip] Fix typo 2018-07-30 06:28:40 +02:00
Gabriel Caruso d88bbcea82 Remove superfluous SKIPIF sections of always available constants 2018-07-30 00:53:28 -03:00
Peter Kokot 4371945b8b Replace obsolete AC_TRY_FOO with AC_FOO_IFELSE
Autoconf 2.50 released in 2001 made several macros obsolete including
the AC_TRY_RUN, AC_TRY_COMPILE and AC_TRY_LINK:
http://git.savannah.gnu.org/cgit/autoconf.git/tree/ChangeLog.2

These macros should be replaced with the current AC_FOO_IFELSE instead:
- AC_TRY_RUN with AC_RUN_IFELSE and AC_LANG_SOURCE
- AC_TRY_LINK with AC_LINK_IFELSE and AC_LANG_PROGRAM
- AC_TRY_COMPILE with AC_COMPILE_IFELSE and AC_LANG_PROGRAM

PHP 5.4 to 7.1 require Autoconf 2.59+ version, PHP 7.2 and above require
2.64+ version, and the PHP 7.2 phpize script requires 2.59+ version which
are all greater than above mentioned 2.50 version therefore systems
should be well supported by now.

This patch was created with the help of autoupdate script:
autoupdate <file>

Reference docs:
- https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Obsolete-Macros.html
- https://www.gnu.org/software/autoconf/manual/autoconf-2.59/autoconf.pdf
2018-07-30 02:36:38 +02:00
Gabriel Caruso aac5cdc7d7 Remove superfluous SKIPIF sections of always available interfaces 2018-07-29 18:03:34 -03:00
Peter Kokot 72551dd89e [ci skip] Document RETSIGTYPE 2018-07-29 21:32:35 +02:00
Gabriel Caruso 1461f8ef0d Remove superfluous SKIPIF sections of always available functions 2018-07-29 15:42:19 -03:00
Gabriel Caruso f2b5ac7963 [ci skip] Fix typo 2018-07-29 13:48:35 -03:00
Gabriel Caruso a61756252a Run tokenizer_data_gen.sh to reorganize tokens
This will help us in future PRs, reducing the numbers of changed lines
2018-07-29 13:21:33 -03:00
Peter Kokot 17de277a2f Remove obsolete AC_TYPE_SIGNAL
The AC_TYPE_SIGNAL macro defined the RETSIGTYPE based on the signal
type defined in the signal.h. On pre C89 sistems (K&R C) it could be
void or int. Since C89 it can be safely assumed that the signal and
therefore the RETSIGTYPE is always void, so the RETSIGTYPE can be
replaced with void in the code if it uses it. PHP doesn't use the
RETSIGTYPE in current code anyway.

Refs:
- https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Obsolete-Macros.html
2018-07-29 16:06:46 +02:00
Peter Kokot daaf706df0 Upgrade deprecated AC_OUTPUT macro calls
Autoconf 2.50 made several changes to macro calls. These include also
arguments passed to AC_OUTPUT macro. The upgrading chapter in Autoconf
documentation include an example of using AC_OUTPUT with
AC_CONFIG_FILES and AC_CONFIG_COMMANDS:
- https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Obsolete-Macros.html

PHP 5.4 to 7.1 require Autoconf 2.59+, PHP 7.2+ require Autoconf 2.64+,
and PHP 7.2 phpize script requires Autoconf 2.59+ which are all greater
than above mentioned 2.50 version. Systems out there should well support
this by now.

This patch was created with the help of autoupdate script:
autoupdate <file>

More info on where exactly this got deprecated:
- ftp://ftp.gnu.org/old-gnu/Manuals/autoconf-2.13/html_mono/autoconf.html
- ftp://ftp.auckland.ac.nz/pub/gnu/Manuals/autoconf-2.52/html_chapter/autoconf_15.html
- http://git.savannah.gnu.org/cgit/autoconf.git/tree/NEWS
2018-07-29 16:04:39 +02:00
Peter Kokot 7394879adf Upgrade AX_FUNC_WHICH_GETHOSTBYNAME_R to serial 8
The AX_FUNC_WHICH_GETHOSTBYNAME_R macro is from the Autoconf Archive.
Latest version of the file has few docs changes. File is also renamed
as is a pattern of other m4 Autoconf Archive files.

Refs:
- http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_func_which_gethostbyname_r.m4
2018-07-29 15:59:33 +02:00
Peter Kokot ab702e4fde Trim trailing whitespaces in build files
Some editors utilizing .editorconfig automatically trim whitespaces. For
convenience this patch removes whitespaces in certain build files in
Zend and TSRM folders.
2018-07-29 15:46:43 +02:00
Peter Kokot 209f05a878 [ci skip] Note HAVE_ST_BLKSIZE and HAVE_ST_RDEV 2018-07-29 14:44:56 +02:00
Peter Kokot d2184efb7b Replace obsolete AC_STRUCT_ST_BLKSIZE and AC_STRUCT_ST_RDEV
Autoconf 2.50 released in 2001 has made several macros obsolete. Instead
of the AC_STRUCT_ST_BLKSIZE and AC_STRUCT_ST_RDEV the new
AC_CHECK_MEMBERS should be used.

When checking for the presence of stat struct members st_blkzize and
st_rdev the new AC_CHECK_MEMBERS macro defines new constants
HAVE_STRUCT_STAT_ST_BLKSIZE and HAVE_STRUCT_STAT_ST_RDEV.

Old constants HAVE_ST_BLKSIZE and HAVE_ST_RDEV need to be replaced
respectively in PHP code (this patch) and in PHP extenstions if they use
them.

PHP 5.4 to 7.1 require Autoconf 2.59+ version, PHP 7.2 and above require
2.64+ version, and the PHP 7.2 phpize script requires 2.59+ version which
are all greater than above mentioned 2.50 version.
2018-07-29 13:59:40 +02:00
Peter Kokot d7ad4babe0 [ci skip] Note removal of PHP_PROG_LEX 2018-07-29 13:37:48 +02:00
Peter Kokot 03b717d4cc Remove unused PHP_PROG_LEX macro
Since PHP 5.3 flex lexer has been replaced with re2c. Commit
0f9e2b1753 made PHP_PROG_LEX macro still
available for BC.

In commit df6bd506d4 it was updated. Since
this macro is entirely not used in PHP source code anymore from PHP 5.3
and up, this patch removes it together with some old traces of warnings
suppression and comments.
2018-07-29 10:53:21 +02:00
Peter Kokot 255e29f3bc Remove unused libmbfl build system related files
PHP build system already builds necessary files also from libmbfl
directory using the mbstring config.m4 file.
2018-07-29 10:07:32 +02:00
Peter Kokot b12cece8d5 Replace obsolete AC_AIX with AC_USE_SYSTEM_EXTENSIONS
Since Autoconf 2.62 the AC_AIX macro has been made obsolete and should
be replaced with the AC_USE_SYSTEM_EXTENSIONS instead.

Both macro behaviors are the same since the old one is just a wrapper
around the new AC_USE_SYSTEM_EXTENSIONS:
http://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/specific.m4

PHP 7.2+ and the main configure.ac script require minimum Autoconf 2.64+.

Refs:
- http://git.savannah.gnu.org/cgit/autoconf.git/tree/NEWS
- https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Obsolete-Macros.html
2018-07-29 08:00:15 +02:00
Peter Kokot 0a01eae039 Fix typo in config.m4
The AC_CHECK_FUNCS has the following synopsis:
AC_CHECK_FUNCS(function..., [action-if-found], [action-if-not-found]).

Fourth argument doesn't exist.
2018-07-29 06:10:16 +02:00
Peter Kokot cf3b852109 Trim trailing whitespaces in build files
Some editors utilizing .editorconfig automatically trim whitespaces. For
convenience this patch removes whitespaces in certain build files:
- ext/*/config*.m4
- configure.ac
- acinclude.m4
2018-07-29 03:43:45 +02:00
Peter Kokot b60d8ab2e2 Upgrade AX_CHECK_COMPILE_FLAG macro to serial 6
The AX_CHECK_COMPILE_FLAG macro is from the Autoconf Archive. Latest
version of the file has a new All-permissive license for even more
convenience for usage.

Refs:
- http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_check_compile_flag.m4
- https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html
2018-07-28 01:40:02 +02:00
Peter Kokot cf8ef08e20 Fix typos in code 2018-07-27 16:27:41 +02:00
Peter Kokot 0eabd5231b Remove unused Git ident attributes from zip extension
$Id attributes were used with SVN. With Git most of the Git ident
attributes in source code files are not used anymore.
2018-07-27 15:49:34 +02:00
Gabriel Caruso 1359ff8052 Reverts some changes from 7ec64a83
Checking for the PHP_VERSION_ID here is actually part of the test
2018-07-27 08:01:43 -03:00
Dmitry Stogov a588b825d6 Improved assignment to "next" element of array ($a[] = ...) 2018-07-27 13:15:22 +03:00
Xinchen Hui a7746d10a5 Fixed bug #76667 (Segfault with divide-assign op and __get + __set) 2018-07-27 13:00:14 +08:00
Gabriel Caruso 7ec64a831d Remove superfluous check for PHP 7+ tests 2018-07-27 00:48:30 -03:00
Christoph M. Becker d035bc2bfe Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #76665: SQLite3Stmt::bindValue() with SQLITE3_FLOAT doesn't juggle
2018-07-26 14:23:40 +02:00
Kalle Sommer Nielsen ba8f0615e1 Fixed ZTS build 2018-07-26 14:01:49 +02:00
Anatol Belski 6059ecee3a Sync with ab8094c6 2018-07-26 13:58:08 +02:00
Christoph M. Becker ce66492a13 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #76665: SQLite3Stmt::bindValue() with SQLITE3_FLOAT doesn't juggle
2018-07-26 13:26:58 +02:00
Dmitry Stogov f374e93762 Use better check 2018-07-26 14:13:33 +03:00
Gabriel Caruso 562150906a Remove extra semicolons 2018-07-26 12:38:22 +02:00
Dmitry Stogov ab8094c666 Pack zend_constant.flags and zend_constant.module_number into reserved space inside zend_constant.value. 2018-07-26 12:58:07 +03:00
Dmitry Stogov 7a41e4c0d0 Documented ZEND_ACC_* flags (values are kept unchanged, except for ZEND_ACC_IMMUTABLE, that was introduced in 7.3 anyway) 2018-07-26 10:42:57 +03:00
Gabriel Caruso fb966b9825 Remove unused variables 2018-07-25 22:05:41 -03:00
Gabriel Caruso 9e4d590b19 Remove extra semicolons 2018-07-25 21:47:04 -03:00
Peter Kokot 8d18d631b6 Replace obsolete AC_TRY_CPP with AC_PREPROC_IFELSE
The AC_TRY_CPP macro is obsolete since Autoconf 2.50 in 2001:
- http://git.savannah.gnu.org/cgit/autoconf.git/tree/NEWS
- https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Obsolete-Macros.html
2018-07-25 23:00:20 +02:00
Dmitry Stogov 57c4ae393c typo 2018-07-25 23:00:33 +03:00
Dmitry Stogov f950128cd6 Encode parent class name as IS_CONST operand in DECLARE_INHERITED_CLASS and DECLARE_ANON_INHERITED_CLASS opcodes (eliminate FETCH_CLAS
S opcode).
2018-07-25 13:40:47 +03:00
Peter Kokot a5e80b22e1 Fix typos in code comments 2018-07-25 11:57:11 +02:00
Dmitry Stogov a29a800cb0 Regenerate scanners using re2c version >= 1.0.0 (newer version, at least, produce less code) 2018-07-25 12:49:03 +03:00
Dmitry Stogov aed3de1bc5 Split add/sub_function(s) into fast and slow parts 2018-07-25 12:48:16 +03:00
Peter Kokot df6bd506d4 Remove obsolete macro AC_DECL_YYTEXT
The macro AC_DECL_YYTEXT has been obsolete since Autoconf 2.50 released
in 2001. Now it is included in the AC_PROG_LEX macro.

Autoconf news info about obsoletion:
- http://git.savannah.gnu.org/cgit/autoconf.git/tree/NEWS

Docs:
https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Obsolete-Macros.html

PHP 5.4 to 7.1 require Autoconf 2.59+ version, PHP 7.2 and above require
2.64+ version, and the PHP 7.2 phpize script requires 2.59+ version which
are all greater than above mentioned 2.50 version. Systems out there should
well support this by now.
2018-07-25 03:09:14 +02:00
Peter Kokot 8d3f8ca12a Remove unused Git attributes ident
The $Id$ keywords were used in Subversion where they can be substituted
with filename, last revision number change, last changed date, and last
user who changed it.

In Git this functionality is different and can be done with Git attribute
ident. These need to be defined manually for each file in the
.gitattributes file and are afterwards replaced with 40-character
hexadecimal blob object name which is based only on the particular file
contents.

This patch simplifies handling of $Id$ keywords by removing them since
they are not used anymore.
2018-07-25 00:53:25 +02:00
Christoph M. Becker dcd6a6ff36 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #76643: Segmentation fault when using `output_add_rewrite_var`
2018-07-24 12:41:35 +02:00
Christoph M. Becker a96ca13963 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #76643: Segmentation fault when using `output_add_rewrite_var`
2018-07-24 12:28:22 +02:00
Dmitry Stogov d775fe33d1 Better name: ZEND_PROPERTY_HAS => ZEND_PROPERTY_NOT_EMPTY 2018-07-24 09:31:57 +03:00
Xinchen Hui 1638a6e118 Give a meaningful name 2018-07-24 12:51:36 +08:00
Xinchen Hui 4aada3993c Micro-optmization 2018-07-24 12:16:35 +08:00
Xinchen Hui d31d4d1392 Update NEWs 2018-07-24 11:37:30 +08:00
Xinchen Hui 3ca9aaf24e Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWs
  Fixed bug #68553 (array_column: null values in $index_key become incrementing keys in result)

Conflicts:
	ext/standard/array.c
2018-07-24 11:37:09 +08:00
Xinchen Hui 033dac7a6f Update NEWs 2018-07-24 11:35:43 +08:00
Xinchen Hui 2a181b5ea0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #68553 (array_column: null values in $index_key become incrementing keys in result)
2018-07-24 11:35:22 +08:00
Xinchen Hui 4799cde613 Merge branch 'master' of https://github.com/oerdnj/php-src
* 'master' of https://github.com/oerdnj/php-src:
  Use __cpuid_count() from cpuid.h instead of custom assembly
2018-07-24 10:48:07 +08:00
Kalle Sommer Nielsen 0b7686584e Merge branch 'master' of git.php.net:/php-src 2018-07-23 17:38:52 +02:00
Kalle Sommer Nielsen ba138a3746 Removed the generated-tests library, this is a left Zöe's phpruntests repository it seems and never fully implemented. The only times this part of the code has been touched throughout the years has been minor PRs and entire php-src grep commits.
If anything this belongs to the phpruntests.git repository.
2018-07-23 17:38:26 +02:00
Dmitry Stogov 7ef8e3f87f Fixed tests 2018-07-23 17:00:33 +03:00
Dmitry Stogov d4e60a1ffd Avoid code duplication 2018-07-23 16:53:44 +03:00
Kalle Sommer Nielsen b1864b0178 Fix HKEY registry path (not that it should matter, dead code, Anatol?) 2018-07-23 15:37:02 +02:00
Kalle Sommer Nielsen 08f10ef47a Remove some dead code
sapi/*: Remove Windows code from FPM and LiteSpeed, as we don't support these SAPIs on Windows anyway
ext/com_dotnet: Remove non Windows code, as ext/com_dotnet is only supported on Windows
2018-07-23 15:26:39 +02:00
Dmitry Stogov b121405960 Use better destructor (key may be only IS_STRING or IS_LONG). 2018-07-23 15:57:06 +03:00
Dmitry Stogov ebd1f5af3e API cleanup.
Removed useless filename and lineno arguments, used in DEBUG build.
The patch doesn't break source compatibility of public API (only binary compatibility).
2018-07-23 15:24:07 +03:00
Dmitry Stogov afc82e243c Micro-optimization 2018-07-23 10:52:00 +03:00
Xinchen Hui 850c67e957 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed pefree_size (efree_size will be expaned to do {} while () form)
2018-07-23 15:49:04 +08:00
Xinchen Hui c20a97df6d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed pefree_size (efree_size will be expaned to do {} while () form)
2018-07-23 15:48:52 +08:00
Gabriel Caruso c93aba042f Give a reason why the test was skipped
This will help us debug why a test was skipped in GCOV
(http://gcov.php.net/viewer.php?version=PHP_HEAD&func=skip), and maybe
put them to run again
2018-07-22 16:41:41 -03:00
Gabriel Caruso 8ca1f47a7a Use variables that already received ZEND_NUM_ARGS() 2018-07-22 15:54:00 -03:00
Jakub Zelenka 26cd84d19f Return bool from zlog_stream_set_msg_{prefix,suffix} 2018-07-22 17:40:38 +01:00
Christoph M. Becker 89e2202cb5 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #52974: jewish.c: compile error under Windows with GBK charset
2018-07-22 18:18:19 +02:00
Christoph M. Becker 33eb30274f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #52974: jewish.c: compile error under Windows with GBK charset
2018-07-22 17:59:38 +02:00
Jakub Zelenka e5a9956336 Update NEWS and UPGRADING with info about syslog.filter 2018-07-22 16:36:36 +01:00
Jakub Zelenka c85504386d Rename none syslog.filter to all and update ini description 2018-07-22 16:29:35 +01:00
Philip Prindeville 2010c02e5c Add syslog.filter INI for filtering syslog messages
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2018-07-22 15:36:47 +01:00
Nikita Popov 4a528d46f5 Add UPGRADING notes for deprecations 2018-07-21 22:48:42 +02:00
Nikita Popov fb0e8c65b9 Deprecate pdo_odbc.db2_instance_name
Part of https://wiki.php.net/rfc/deprecations_php_7_3.
2018-07-21 22:38:39 +02:00
Nikita Popov 4a5b2101e5 Deprecate string.strip_tags filter
Part of https://wiki.php.net/rfc/deprecations_php_7_3.
2018-07-21 22:38:39 +02:00
Nikita Popov d9acfa45b8 Deprecate fgetss() and gzgetss()
SplFileObject::fgetss() will also generate a deprecation notice
through an internal call to fgetss().

Part of RFC https://wiki.php.net/rfc/deprecations_php_7_3.
2018-07-21 22:38:35 +02:00
Nikita Popov 5c4047b339 Deprecate defining a free-standing assert() function
Part of https://wiki.php.net/rfc/deprecations_php_7_3.
2018-07-21 22:34:09 +02:00
Nikita Popov f4a9da389b Deprecate non-string needles in string search functions
Part of https://wiki.php.net/rfc/deprecations_php_7_3.
2018-07-21 22:34:09 +02:00
Nikita Popov e6016ab20d Deprecate undocumented mbereg_* aliases
Part of https://wiki.php.net/rfc/deprecations_php_7_3.
2018-07-21 22:34:09 +02:00
Peter Kokot fef2029614 Move GMP bug 74670 test file to tests dir 2018-07-20 19:43:09 +02:00
Nikita Popov ee561ff2a2 Fix off-by-one allocation
The return value of this function is pretty meaningless, but
leaving it alone for now.
2018-07-20 17:52:56 +02:00
Nikita Popov 6e2c54d3e7 Fix incorrect length calculation
sizeof char pointer != sizeof string literal.
2018-07-20 17:47:53 +02:00
Trevor Rowbotham fb0faf0208 [ci skip] Add new global MBString constants to UPGRADING
The constants are mentioned further up in the New Features section,
but weren't explicitly listed under the New Global Constants section.
2018-07-20 13:17:48 +02:00
Gabriel Caruso 6ac48425a8 Removed and fixed unused variables 2018-07-19 22:51:37 -03:00
Anatol Belski 8d041e171b Merge branch 'PHP-7.2'
* PHP-7.2:
  Update binary SDK version for AppVeyor
2018-07-19 18:38:19 +02:00
Anatol Belski 2073e96ec5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update binary SDK version for AppVeyor
2018-07-19 18:37:38 +02:00
Ferenc Kovacs 5345ddee99 Merge branch 'PHP-7.2' 2018-07-19 16:59:00 +02:00
Ferenc Kovacs ca618a4f10 Merge branch 'PHP-7.1' into PHP-7.2 2018-07-19 16:57:50 +02:00
Dmitry Stogov 5be44312f8 Removed redundand code 2018-07-19 15:47:15 +03:00
Dmitry Stogov 54ebebd686 Matching loops optimization 2018-07-19 15:28:31 +03:00
Dmitry Stogov b81d712961 Micro optimizations 2018-07-19 11:19:28 +03:00
Dmitry Stogov d77aa8fa6d Fixed typo 2018-07-19 09:41:15 +03:00
Hongbo a76661a4a2 fix ext_skel continue
"continue" inside switch is ambiguous, should be "continue 2".
2018-07-18 20:49:12 +02:00
Dmitry Stogov 1820f2f2f3 Reorder conditions 2018-07-18 17:46:48 +03:00
Dmitry Stogov 29f942b3d0 Move "/e" modifier check into regex compiler 2018-07-18 16:35:17 +03:00
Dmitry Stogov 5d60651165 Merge "no_utf_check" and "g_notempty" into single "options". 2018-07-18 16:10:41 +03:00
Dmitry Stogov e8a04b387e Allocate array of proper size 2018-07-18 14:49:52 +03:00
Dmitry Stogov 412dd75e05 Perform checks for propertis started with '\\0' only for dynamic properties 2018-07-18 14:49:00 +03:00
Christoph M. Becker 583616deb1 [ci skip] Fix typo in comment 2018-07-18 11:29:05 +02:00
Remi Collet 0c3561892b add info about zend_class_entry.iterator_funcs 2018-07-18 11:17:53 +02:00
Dmitry Stogov 3b6e1ee4ee Improved "Fast Shutdown". 2018-07-17 17:31:04 +03:00
Christoph M. Becker 7db988cc30 Update NEWS for 7.3.0beta1 2018-07-17 16:02:50 +02:00
Ondřej Surý 1a078117b5 Use __cpuid_count() from cpuid.h instead of custom assembly 2018-07-17 13:59:53 +00:00
Anatol Belski 53ef61bcae Merge branch 'PHP-7.2'
* PHP-7.2:
  7.0.32 next
2018-07-17 12:38:21 +02:00
Anatol Belski b494d94f16 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  7.0.32 next
2018-07-17 12:37:51 +02:00
Dmitry Stogov df60566671 Inline FETCH_CONST and DEFINED handlers into "hybrid" executor. 2018-07-17 13:30:55 +03:00
Anatol Belski ca50aa9ca8 Merge branch 'master' of git.php.net:php-src 2018-07-17 12:01:14 +02:00
Anatol Belski b1f4f5c80c Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS
2018-07-17 12:00:11 +02:00
Anatol Belski c4106d4569 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-07-17 11:59:17 +02:00
Dmitry Stogov 88dd38ee81 Reduce overhead of case-insensitive constants deprecation for "fast path" 2018-07-17 12:58:58 +03:00
Christoph M. Becker 9f957fd303 Improve implementation of array_key_first() and array_key_last()
Firstly, we must not separate the $stack argument for performance
reasons.  Secondly, we prefer `Z_ARRVAL_P` over `HASH_OF` to clarify
our intention.

Thanks to Nikita, for catching these issues!
2018-07-17 11:53:06 +02:00
Enno Woortmann 50516a6e1f Add implementation and tests for new methods - array_key_first(array $a) Returns the key of the first element or null - array_key_last(array $a) Returns the key of the last element or null 2018-07-17 11:31:00 +02:00
Christoph M. Becker 79a27ccf3f FILTER_FLAG_(SCHEME|HOST)_REQUIRED are now deprecated 2018-07-17 11:01:44 +02:00
Christoph M. Becker c0407d95f7 Deprecate explicit use of FILTER_FLAG_SCHEME|HOST_REQUIRED
As of PHP 5.2.1 FILTER_VALIDATE_URL implies FILTER_FLAG_SCHEME_REQUIRED
| FILTER_FLAG_HOST_REQUIRED, which makes these constants useless at
best, if not even misleading.  Therefore we deprecate the explicit use
of these constants for FILTER_VALIDATE_URL, to pave the way for their
eventual removal.

See <https://wiki.php.net/rfc/deprecations_php_7_3#filter_flag_scheme_required_and_filter_flag_host_required>.
2018-07-17 10:45:46 +02:00
Remi Collet ffa41787d5 Merge branch 'PHP-7.2'
* PHP-7.2:
  NEWS
2018-07-17 06:07:43 +02:00
Remi Collet e069b0beba NEWS 2018-07-17 06:07:28 +02:00
Stanislav Malyshev 2abdcae886 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix test
2018-07-16 18:52:14 -07:00
Stanislav Malyshev ebd5f56442 Fix test 2018-07-16 18:52:01 -07:00
Stanislav Malyshev 28d8b8de71 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #76459 windows linkinfo lacks openbasedir check
  Add NEWS
  Fixed bug #76459 windows linkinfo lacks openbasedir check
  Fix bug #76557: heap-buffer-overflow (READ of size 48) while reading exif data
  Fix bug #76423 - Int Overflow lead to Heap OverFlow in exif_thumbnail_extract of exif.c
2018-07-16 16:54:31 -07:00
Stanislav Malyshev a536d6d61b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76459 windows linkinfo lacks openbasedir check
  Add NEWS
  Fixed bug #76459 windows linkinfo lacks openbasedir check
  Fix bug #76557: heap-buffer-overflow (READ of size 48) while reading exif data
  Fix bug #76423 - Int Overflow lead to Heap OverFlow in exif_thumbnail_extract of exif.c
2018-07-16 16:53:57 -07:00
Nikita Popov 3588d8af12 Deprecate case-insensitive constants
RFC: https://wiki.php.net/rfc/case_insensitive_constant_deprecation
2018-07-16 19:16:55 +02:00
Nikita Popov a632ecd224 Remove use of case-insensitive constants in tests 2018-07-16 19:16:55 +02:00
Dmitry Stogov 70d0175a13 Fixed error messages. 2018-07-16 17:08:11 +03:00
Dmitry Stogov 5cf6474277 Flatten strip_tags state machine (GCC overoptimized this function, producing enormpous amount of code). 2018-07-16 13:22:17 +03:00
Gabriel Caruso 49c193eeb3 Make more tests run and fix SKIPIF sections 2018-07-16 00:01:46 -03:00
Gabriel Caruso 59456974f2 Test http_response_code function 2018-07-15 23:51:16 -03:00
Gabriel Caruso cf5f26b260 Fix failing test upstream
There was a trailing tab when a error message was generated. Removing
it, test is passing now.
2018-07-15 23:40:00 -03:00
Christoph M. Becker 9c2b4985b1 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #73817: Incorrect entries in get_html_translation_table
2018-07-15 23:41:15 +02:00
Christoph M. Becker 8efd3c3387 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #73817: Incorrect entries in get_html_translation_table
2018-07-15 23:19:37 +02:00
Gabriel Caruso 96f83e40c8 Small tweaks to php scripts 2018-07-14 19:37:12 -03:00
Gabriel Caruso c7d1c14b5c Small tweaks to php scripts 2018-07-14 19:33:35 -03:00
Gemorroj 233cbb53b3 [ci skip] Update php.ini-production
remove duplicated strings
2018-07-14 13:32:46 +02:00
Anatol Belski bf8b5b2269 Regroup the ifdef'd occurrences 2018-07-14 12:51:37 +02:00
Anatol Belski f6440c3aa6 Trail long path support also for deletion 2018-07-14 11:44:38 +02:00
Anatol Belski b9963969fd Merge branch 'PHP-7.2'
* PHP-7.2:
  Improve test
2018-07-13 20:15:17 +02:00
Anatol Belski dee191ee07 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Improve test
2018-07-13 20:14:44 +02:00
Anatol Belski dbabb35ff9 Distinguish two error messages 2018-07-13 19:01:43 +02:00
Anatol Belski 1bcc2fcb4e Avoid early allocation 2018-07-13 07:35:33 +02:00
Stanislav Malyshev 54f920d661 [ci skip] Add dates to maintainer names
The dates are initialized from oldest and newest commit
that can be attributed to that person.
2018-07-12 23:34:36 +02:00
Anatol Belski 644ab58d0f Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed RecursiveDirectoryIterator with long path or with edge case length
2018-07-12 19:58:43 +02:00
Anatol Belski f28aeaee05 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed RecursiveDirectoryIterator with long path or with edge case length
2018-07-12 19:57:08 +02:00
Dmitry Stogov 571dac8c8f Fixed tests 2018-07-12 17:17:09 +03:00
Dmitry Stogov 5e8977bd62 Merge zend_class_entry.create_object and zend_class_entry.interface_gets_implemented into the same memory lacation. The first used only by classes, the second only by magic interfaces. 2018-07-12 17:09:40 +03:00
Christoph M. Becker 432c4e77a8 [ci skip] Update next version
According to <https://externals.io/message/102762>.
2018-07-12 15:22:26 +02:00
Christoph M. Becker 6c630eefcb Fix #33502: Some nullary functions don't check the number of arguments
We add the missing zend_parse_parameters_none() checks for:

* output_reset_rewrite_vars()
* func_num_args()
* gc_status()
* gc_disable()
* gc_enable()
* gc_enabled()
* gc_collect_cycles()
* gc_mem_caches()
* zend_version()
2018-07-12 15:05:56 +02:00
Christoph M. Becker 5f5cf8cb94 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix Travis build
2018-07-12 13:47:11 +02:00
Christoph M. Becker 77ced46dea Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix Travis build
2018-07-12 13:46:10 +02:00
Andrea Faulds e4e9cd8355 Export stdClass objects using (object) cast (fixes #48016)
Before this change, var_export()'s output for stdClass objects calls
the non-existent stdClass::__set_state method, and is therefore useless.

This commit makes var_export() output an (object) cast from an array
instead, which when evaluated, will produce a stdClass object. Other
classes see unchanged output.
2018-07-12 13:22:26 +02:00
Dmitry Stogov 7d4e18b05d Improved user iterator implementation to reduce zend_class_entry memory consumption and avoid race condition during resolving/caching of user iterator functions of internal classes in ZTS build. 2018-07-12 14:04:14 +03:00
Anatol Belski 0834679e40 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix macro
2018-07-12 11:38:18 +02:00
Anatol Belski 9443c61928 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix macro
2018-07-12 11:37:13 +02:00
Anatol Belski 129c5c1181 Support long path also when reading from file cache 2018-07-12 09:26:50 +02:00
Anatol Belski 81eb8e7507 Mark conditions unexpected 2018-07-11 18:05:28 +02:00
Dmitry Stogov 85ee47eda0 Changed structure of zend_class_entry.trait_aliases and zend_class_entry.trait_precedences to avoid keeping "intermediate" trait references, that are used only during inheritance. 2018-07-11 18:56:10 +03:00
Anatol Belski 2367e649bc Make error messages more speaking 2018-07-11 14:34:18 +02:00
Anatol Belski 9ac133a0b3 Switch to ioutil routines to support long path in file cache 2018-07-11 14:28:57 +02:00
Anatol Belski 871d0aa5cd Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix condition
2018-07-11 13:16:04 +02:00
Anatol Belski cc266045a5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix condition
2018-07-11 13:13:56 +02:00
Anatol Belski 14db98825a Fix build with ZEND_RC_DEBUG 2018-07-11 12:19:20 +02:00
Dmitry Stogov 956ac5cbf5 Fixed possible assertion/crash when PHP script can't be stored in SHM (e.g. because another process already did this) 2018-07-11 10:35:36 +03:00
Kalle Sommer Nielsen 2aff1cb226 Remove these two old and outdated files we never use:
* OBJECTS2_HOWTO is rather outdated and the wiki contains much of this
 * ZendCore.dep is an old leftover from the previous Windows build system
2018-07-10 21:24:54 +02:00
Christoph M. Becker 0896a3abd1 [ci skip] Fix typos 2018-07-10 17:03:48 +02:00
Christoph M. Becker 091c0a8a59 [ci skip] Document changes to php_add[c]slashes 2018-07-10 16:04:14 +02:00
Christoph M. Becker 271ae3eb2b Fix #76574: use of undeclared identifiers INT_MAX and LONG_MAX
As of Oniguruma 6.4.0 <limits.h> is required, so we have to add a check
for this header file to set the respective macro.
2018-07-10 14:28:28 +02:00
Dmitry Stogov 4182b0855f Avoid copying 2018-07-10 13:17:33 +03:00
Anatol Belski bf5a81364c [skip ci] Update NEWS 2018-07-10 11:53:04 +02:00
Anatol Belski a5cb84c82e Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
2018-07-10 11:52:24 +02:00
Anatol Belski a766f65ca3 [ci skip] Update NEWS 2018-07-10 11:51:49 +02:00
Anatol Belski c23736216d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-07-10 11:51:11 +02:00
Anatol Belski d82cb24e19 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix bug #76524 - ZipArchive memory leak
2018-07-10 11:20:50 +02:00
Anatol Belski ebb590b625 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #76524 - ZipArchive memory leak
2018-07-10 11:19:54 +02:00
Dmitry Stogov 7da042cbd8 Use ZVAL_COPY_DEREF() 2018-07-10 12:11:10 +03:00
Dmitry Stogov 0db8c974a5 Avoid useless copying 2018-07-10 12:03:32 +03:00
Dmitry Stogov 62b3464871 Removed deprecated condition 2018-07-10 11:04:10 +03:00
Dmitry Stogov 6c61f15408 Optimization 2018-07-10 00:04:44 +03:00
Anatol Belski 90edf754c5 Merge branch 'PHP-7.2'
* PHP-7.2:
  Sync callback signature with libxml2 2.9.8
2018-07-09 21:25:19 +02:00
Anatol Belski 474292c3e4 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync callback signature with libxml2 2.9.8
2018-07-09 21:24:51 +02:00
Anatol Belski cce87471b1 Skip test on incompatible servers 2018-07-09 16:39:58 +02:00
Dmitry Stogov dbb9867b3e Avoid useless checks for public functions 2018-07-09 17:30:14 +03:00
Dmitry Stogov e4be6ce0fa Combined few checks into one 2018-07-09 17:29:34 +03:00
Dmitry Stogov 797e87060c Avoid reloading 2018-07-09 16:28:13 +03:00
Anatol Belski 117c37da76 Merge branch 'PHP-7.2'
* PHP-7.2:
  Add missing flag
2018-07-09 15:15:08 +02:00
Anatol Belski a6e8c73c43 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add missing flag
2018-07-09 15:14:30 +02:00
Dmitry Stogov a34fedb723 Eliminated check 2018-07-09 15:18:09 +03:00
Anatol Belski c90f1964f9 Move to size_t for string length 2018-07-09 13:34:04 +02:00
Anatol Belski 3e1e3ab728 Remove conflicting declaration 2018-07-09 12:32:45 +02:00
Dmitry Stogov 40551e0255 Eliminated reference-counting and EG(exception) check 2018-07-09 13:20:46 +03:00
Dmitry Stogov ad2719cf9c Fixed test 2018-07-09 12:49:19 +03:00
Dmitry Stogov 67b4c3379a Uze ZVAL_COPY_DEREF() instead of ZVAL_DEREF() and ZVAL_COPY() 2018-07-09 12:46:46 +03:00
Kalle Sommer Nielsen 094c2aaf83 The session_array global is not used at all, so comment it out for now 2018-07-09 04:21:46 +02:00
Kalle Sommer Nielsen 529baa9a3d Added test to accompany the FILTER_SANITIZE_ADD_SLASHES filter 2018-07-09 03:59:35 +02:00
Kalle Sommer Nielsen a8dce31957 Added the 'add_slashes' sanitization filter (FILTER_SANITIZE_ADD_SLASHES) as an alias to 'magic_quotes' (FILTER_SANITIZE_MAGIC_QUOTES) so we can move past our "magical" legacy. 2018-07-09 03:58:20 +02:00
Christoph M. Becker 1c01b1ab48 Fix #76594: Bus Error due to unaligned access in zend_ini.c OnUpdateLong
Since commit ea83b69[1] changed the type of mbstring.strict_detection
from `long` to `zend_bool`, we have to update the `on_modify` callback
as well.

[1] http://git.php.net/?p=php-src.git;a=commit;h=ea83b69883f3f77fd27e4663fa854c88f141ab41
2018-07-09 00:54:36 +02:00
Anatol Belski d664d1e959 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix C++11 and up compatibility for zend_finite and more
2018-07-08 20:34:58 +02:00
Anatol Belski 545a29d0cb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix C++11 and up compatibility for zend_finite and more
2018-07-08 20:32:52 +02:00
Anatol Belski e4a2cdb564 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed regex for checking libzip static lib
2018-07-07 17:33:47 +02:00
Dylan K. Taylor 77a841db48 Fixed regex for checking libzip static lib
This bug caused linking issues in debug mode (see bug [#76564](https://bugs.php.net/bug.php?id=76564))

This issue affects PHP 7.2 and master.
2018-07-07 17:32:16 +02:00
Anatol Belski 0fbbdd3aa1 [ci skip] Fix EOL 2018-07-07 17:14:54 +02:00
Jakub Zelenka 3b10e9ccf1 Update NEWS for log related changes in FPM 2018-07-07 13:16:16 +01:00
Jakub Zelenka 3e5afbf0a8 Refactore FPM logging 2018-07-07 13:01:44 +01:00
Jakub Zelenka 2a78006adb Update NEWS and UPGRADING for fpm_get_status addition 2018-07-07 12:53:08 +01:00
Jakub Zelenka f86f3edeef Migrate fpm_get_status test 2018-07-07 12:48:16 +01:00
Till Backhaus 140def4ac7 Implement fpm_get_status 2018-07-07 12:33:11 +01:00
Peter Kokot b585f043cb Add missing INI directives to curl phpinfo 2018-07-07 12:11:49 +02:00
Peter Kokot 956446bdfa Bump Autoconf version in configure.ac to 2.64
Since PHP 7.2 the minimum autoconf version is 2.64. The configure.ac
script file includes also AX_CHECK_COMPILE_FLAG macro call so besides
only checking it in buildconf script this bumps the autoconf here too.

The phpize.m4 script is for now still relaxed to 2.59 version since some
still supported systems such as CentOS 6 still include autoconf 2.63
version and might require calling phpize on some old extensions.
2018-07-07 12:11:14 +02:00
Peter Kokot 491f1477be Replace AC_CONFIG_HEADER with AC_CONFIG_HEADERS
Autoconf doesn't mention the AC_CONFIG_HEADER macro since the v2.13
released in 1999 anywhere in the documentation. Future of this macro is
unclear and commented as possible candidate for obsoletion in the
autoconf source code. Since it is just a wrapper around the main
AC_CONFIG_HEADERS macro, the functionality is the same, and also more
clear to find it in the autoconf documentation and avoid possible future
obsoletion.
2018-07-07 12:10:53 +02:00
Nikita Popov 9aeeecc47c Merge branch 'PHP-7.2' 2018-07-07 12:08:27 +02:00
Nikita Popov 5d0d812a53 Merge branch 'PHP-7.1' into PHP-7.2 2018-07-07 12:08:02 +02:00
seliver 95013042bf Fixed bug #76136 (stream_socket_get_name enclosed IPv6 in brackets)
The IPv6 IP of a socket is provided by inet_ntop() as a string, but
this function doesn't enclose the IP in brackets. This patch adds
them in the php_network_populate_name_from_sockaddr() function.
2018-07-07 11:47:50 +02:00
Peter Kokot 67352cb2c0 Fix bug #76392
On systems without glibc, such as Alpine with Musl libc, the function attributes
are not supported. GCC 6 doesn't properly omit some systems. This is
already fixed in GCC 7 but for systems with GCC 6 and ones without
glibc, this additional check fixes this bug.
2018-07-07 11:31:44 +02:00
Nikita Popov 04e3523b7d Warn if continue is used on switch
Supersedes RFC https://wiki.php.net/rfc/continue_on_switch_deprecation
by generating a warning instead of deprecating and removing this
functionality.
2018-07-07 11:12:48 +02:00
Nikita Popov 41a6625c09 Add UPGRADING for mb_ereg changes
Also some minor code cleanup.
2018-07-07 11:06:29 +02:00
ju1ius 8f1782678e adds support for named subpatterns to mb_ereg_replace
Named subpatterns are now passed to `mb_ereg_replace_callback`.

This commit also adds a subset of the oniguruma back-reference syntax
for replacements:
* `\k<name>` and `\k'name'` for named subpatterns.
* `\k<n>` and `\k'n'` for numbered subpatterns
These last two notations allow referencing numbered groups where n > 9.
2018-07-06 23:34:54 +02:00
ju1ius 212f56b7ca adds support for named captures to mb_ereg & mb_ereg_search
`mb_ereg`, `mb_ereg_search_regs` & `mb_ereg_search_getregs`
returned only numbered capturing groups.
Now they return both numbered and named capturing groups.
Fixes Bug #72704.
2018-07-06 23:34:54 +02:00
Zenju 69a49af0d3 Fix out-of bounds access
Test case: strnatcmp_ex(L"333", 3, L"333 ", 4, true)
The reason this bug didn't come up earlier is probably because most input strings are null-terminated.
2018-07-06 19:02:19 +02:00
Christoph M. Becker b37dafcc23 Add test for PR #2382 2018-07-06 18:59:04 +02:00
Anatol Belski 1870a61a91 Fix coding style 2018-07-06 17:57:08 +02:00
David Carlier 9da4e30c75 random_bytes improvements for FreeBSD (from 12.x serie)
giving the possiblity to pre-fill the buffer. A new getrandom
function was added for future version with a similar interface
than Linux's syscall.
2018-07-06 17:47:59 +02:00
Anatol Belski 0b94534e93 [ci skip] Update NEWS 2018-07-06 17:46:04 +02:00
Anatol Belski 903f41aef7 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
2018-07-06 17:45:38 +02:00
Anatol Belski d207fd449c [ci skip] Update NEWS 2018-07-06 17:45:01 +02:00
Anatol Belski 1ae888d984 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-07-06 17:44:37 +02:00
Anatol Belski ed23cea9de Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix event log handling in startup phase
  Fix bug #76488 Memory leak when fetching a BLOB field
2018-07-06 16:08:57 +02:00
Anatol Belski d85651d58d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix event log handling in startup phase
  Fix bug #76488 Memory leak when fetching a BLOB field
  Fix year
  Bump version
2018-07-06 16:08:17 +02:00
Sara Golemon b0ca997405 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix year
  Bump version
2018-07-06 10:05:17 -04:00
Xinchen Hui 4c67f7e012 Forgotten one replacement 2018-07-06 19:18:06 +08:00
Xinchen Hui 9d1e9b73c5 rename ref_dtor_func to rc_dtor_func 2018-07-06 19:15:26 +08:00
Xinchen Hui f9297387f4 Rename zval_dtor_func and ref_dotr_func 2018-07-06 18:47:30 +08:00
Xinchen Hui e3355ac5ec Revert "Rename _zval_dtor_func to _ref_dtor_func"
This reverts commit a362ae6b12.
2018-07-06 18:37:45 +08:00
Xinchen Hui a362ae6b12 Rename _zval_dtor_func to _ref_dtor_func 2018-07-06 18:32:27 +08:00
Yousif Masoud 9a21aa77af fixes typo in daemonization DEBUG message after fork: acknoledge -> acknowledge 2018-07-06 11:25:08 +02:00
Dmitry Stogov bd8e76761f Use zval_ptr_dtor() instead of zval_dtor() in in-place array/object conversion functions 2018-07-06 12:07:13 +03:00
Mike 6a4e1e8b8e [ci skip] Fix typo 2018-07-06 09:55:47 +02:00
Dmitry Stogov 41db5f73ce Fixed reference-counting in zend_parse_arg_str_weak() 2018-07-06 03:11:20 +03:00
Dmitry Stogov dcf7592076 Optimize array to object casting 2018-07-06 03:10:05 +03:00
Dmitry Stogov ca40664ad6 Conversion related optimizations 2018-07-06 01:26:43 +03:00
Dmitry Stogov 85b2bc38e1 Optimize object to array casting 2018-07-06 01:25:24 +03:00
Dmitry Stogov 8361c0a9a7 Avoid useless checks in object_init() 2018-07-06 01:24:15 +03:00
Nikita Popov 606de9e4a9 Fix inverted stristr() argument order in mysqli test 2018-07-05 21:25:21 +02:00
Nikita Popov a057384113 Merge branch 'PHP-7.2' 2018-07-05 19:11:43 +02:00
Nikita Popov f3dc67b255 Merge branch 'PHP-7.1' into PHP-7.2 2018-07-05 19:11:25 +02:00
Nikita Popov 0c4ab798de Merge branch 'PHP-7.2' 2018-07-05 19:10:24 +02:00
Nikita Popov 0504594a28 Merge branch 'PHP-7.1' into PHP-7.2 2018-07-05 19:09:40 +02:00
Anatol Belski 0630e3bc03 Reduce error buffer size
120 bytes is ample, the doc says.
2018-07-05 17:24:38 +02:00
Dmitry Stogov 169d454593 Use zval_ptr_dtor() imstead of zval_dtor() 2018-07-05 17:55:54 +03:00
Dmitry Stogov 43d5a3665d It's safer to use zval_ptr_dtor() for iterator keys. 2018-07-05 16:56:52 +03:00
Dmitry Stogov d0a6b1009f Use zval_ptr_dtor() to replace bound variables (original values nay be circular structures). 2018-07-05 16:46:38 +03:00
Dmitry Stogov 5f83904a5d Use zval_ptr_dtor_nogc() instead of zval_dtor() inplaces where circular-references are not possible 2018-07-05 15:25:55 +03:00
Dmitry Stogov 918a9f09f8 Use zval_ptr_dtor_nogc() in JSON parser (it can't produce circular data structures) 2018-07-05 15:07:16 +03:00
Dmitry Stogov 3780b027dd Use zval_ptr_dtor() instead of zval_dtor() in internal functions that destroy new created object (This is safer and produces less code) 2018-07-05 14:25:17 +03:00
Dmitry Stogov 91fc0d1a41 Replace zval_dtor() with specialized destructors 2018-07-05 14:17:53 +03:00
Dmitry Stogov 83f6f8563c Use zval_ptr_dtor() instead of legacy zval_dtor(), to destroy unused values returned from PHP functions (they may be circular data structures). 2018-07-05 14:09:47 +03:00
Dmitry Stogov 273e194df5 Replace zval_dtor() with specialized destructors 2018-07-05 13:55:56 +03:00
Dmitry Stogov 77c6ca7b62 Fixed wrong zval_dtor() usage 2018-07-05 13:37:59 +03:00
Dmitry Stogov b01d9e826c Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  [ci skip] Fix a typo. RANGE_RANGE should be RAND_RANGE
2018-07-05 13:33:18 +03:00
Dmitry Stogov b6fb584505 Replace zval_dtor() with specialized destructors 2018-07-05 13:32:39 +03:00
Tyson Andre 5bbe6080b4 [ci skip] Fix a typo. RANGE_RANGE should be RAND_RANGE 2018-07-05 12:11:56 +02:00
Dmitry Stogov 0d235517a3 Don't keep dangling pointer to function_name 2018-07-05 12:20:50 +03:00
Dmitry Stogov b6cc4d2009 Use zval_ptr_dtor() instead of zval_dtor() in internal functions that destroy new created object (This is safer and produces less code) 2018-07-05 11:54:26 +03:00
Dmitry Stogov 265c3ed6cf Fixed incorrrecr zval_dtor() usage to replace value of argument passed by reference, that may lead to memory leaks. 2018-07-05 10:57:49 +03:00
Remi Collet 587ab00698 NEW and UPGRADING 2018-07-05 06:34:08 +02:00
Remi Collet 0ea4013f10 Fixed bug #62596 add getallheaders (apache_request_headers) missing function in FPM add sapi_add_request_header in public API (was add_request_header) fix arginfo for fastcgi_finish_request fucntion 2018-07-05 06:30:58 +02:00
Dmitry Stogov 6c0ddcda47 Removed legacy zval_dtor() usage. It doesn't work with zvals with refcount == 0, anyway. 2018-07-05 02:28:00 +03:00
Dmitry Stogov 5898583e94 Fixed some incorrect zval_dtor() usages 2018-07-04 23:48:39 +03:00
Dmitry Stogov 3a8f26060c Argument unpacking with Traversables and non-integer keys.
Changed error message, added UPGRADING note and test.
2018-07-04 22:34:36 +03:00
Kalle Sommer Nielsen 6337af09dc Added test case for bug #76539 for master only as the behavior has been restored 2018-07-04 19:50:34 +02:00
Dmitry Stogov 4a475a4976 Replace legacy zval_dtor() by zval_ptr_dtor_nogc() or even more specialized destructors.
zval_dtor() doesn't make a lot of sense in PHP-7.* and it's used incorrectly in some places.
Its occurances should be replaced by zval_ptr_dtor() or zval_ptr_dtor_nogc(), or even more specialized destructors.
2018-07-04 19:22:24 +03:00
Christoph M. Becker d798fd491b [ci skip] Document GC_C() → zend_gc_get_status() 2018-07-04 12:19:29 +02:00
Dmitry Stogov af341213f7 se zval_ptr_dtor_str() instead of zend_string_release_ex(Z_STR(*), 0) 2018-07-04 12:08:07 +03:00
Dmitry Stogov 5f19816f53 concat_function() micro optimization 2018-07-04 12:05:51 +03:00
Dmitry Stogov d84ef96742 SEND_UNPACK should throw exception on Traversable with non-integer keys 2018-07-04 09:35:12 +03:00
Xinchen Hui a6467af8a5 Fixed test skip 2018-07-04 11:20:28 +08:00
Xinchen Hui 36f05a80d7 Fixed build 2018-07-04 11:15:32 +08:00
Kalle Sommer Nielsen c49f0fd9ac Fixed bug #76501 (Funny message with fatal error) 2018-07-04 03:04:31 +02:00
Dmitry Stogov 2edf94a637 Avoid useless copying and conversion 2018-07-04 01:09:00 +03:00
Dmitry Stogov 7eb045d31a API cleanup. Removed unused functions (kept compatibility macros). 2018-07-04 00:50:57 +03:00
Nikita Popov e080fb6d92 Do not continue extract()ing after an exception has been thrown
Make behavior consistent with a loop of normal assignments.

This is not a big issue now, because $this is the only case that
may generate an error. However typed references introduce additional
error conditions, which would be silenced by this kind of behavior.
2018-07-03 22:45:35 +02:00
Anatol Belski 2af3234a09 [ci skip] Update NEWS 2018-07-03 20:03:11 +02:00
Peter Kokot b7368fe0d0 Add missing autoconf m4 quotes
Two macro calls were missing quotes and in order to be able to run the
autoupdate script, this patch adds them.
2018-07-03 19:12:44 +02:00
Anatol Belski eb41eba3fe Remove BOM 2018-07-03 19:06:14 +02:00
Anatol Belski 682ca5fccd Fix compilation with Firebird < 3 2018-07-03 19:04:11 +02:00
Dorin Marcoci 78f23a6dd4 Boolean data type support, added in Firebird 3. Fixes #74462. 2018-07-03 19:04:11 +02:00
Christoph M. Becker e51b364a50 [ci skip] Document zend_parse_parameters_none() 2018-07-03 18:58:37 +02:00
Peter Kokot 29000091b2 Remove sqlite and xmlrpc extension versions from phpinfo output
The rest of the core extensions don't display the extension versions in
the phpinfo output since they in most cases match the PHP release version.
2018-07-03 17:01:17 +02:00
Dmitry Stogov 14e6c0cb8c str_replace() micro-optimization 2018-07-03 17:47:08 +03:00
Anatol Belski 7cdd732aca Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #76564 ext/zip link issues
2018-07-03 15:46:48 +02:00
Anatol Belski e5ef7cbe87 Fixed bug #76564 ext/zip link issues
Add zlib for linking directly, so then ext/zlib is not required.
2018-07-03 15:45:01 +02:00
Christoph M. Becker a0b9f8d411 Update NEWS for 7.3.0beta1 2018-07-03 12:52:48 +00:00
Remi Collet cb52bbfdfa Merge branch 'PHP-7.2'
* PHP-7.2:
  bump to 7.2.9-dev
2018-07-03 13:53:33 +02:00
Remi Collet 8bf21adb8c bump to 7.2.9-dev 2018-07-03 13:52:04 +02:00
Dmitry Stogov 004a0568f4 Eliminated REFCOUNTED checks on persistent constant operands in SEND_VAL[_EX] and QM_ASSIGN. 2018-07-03 13:10:22 +03:00
Dmitry Stogov 177c7e3a72 Merge branch 'bug63217'
* bug63217:
  Another fix for bug #63217
  Partial revert of 30156d588c
2018-07-03 12:58:50 +03:00
Dmitry Stogov 3fd97a5b1f Better hot/cold code splitting 2018-07-03 11:07:39 +03:00
Dmitry Stogov 28b03f9605 Another fix for bug #63217 2018-07-03 01:09:58 +03:00
Nikita Popov 23ae6ca405 Fix check for invoking abstract method 2018-07-02 21:33:09 +02:00
Nikita Popov 826e403d2c Add $ before property name in error message 2018-07-02 21:24:38 +02:00
Dmitry Stogov 57af94c8b9 Partial revert of 30156d588c 2018-07-02 20:54:44 +03:00
Nikita Popov 04824aa263 Merge branch 'PHP-7.2' 2018-07-02 18:58:01 +02:00
Nikita Popov 9bbb9e537c Merge branch 'PHP-7.1' into PHP-7.2 2018-07-02 18:57:25 +02:00
Nikita Popov 1b66ba17ad Remove unnecessary explicit argc check
Instead specify a default value for the argument, which is more
idiomatic.
2018-07-02 18:29:30 +02:00
Nikita Popov 76f1d98a0c Remove METHOD_NOTSTATIC checks in reflection
PHP does not allow static calls to non-static internal methods
anyway, so these checks are redundant.
2018-07-02 18:26:48 +02:00
Nikita Popov 2cc6922cbf Merge branch 'PHP-7.2' 2018-07-02 17:59:33 +02:00
Nikita Popov 3a236d0587 Merge branch 'PHP-7.1' into PHP-7.2 2018-07-02 17:59:15 +02:00
Nikita Popov a57b5e82a9 Merge branch 'PHP-7.2' 2018-07-02 17:30:07 +02:00
Nikita Popov 09bb2527e9 Merge branch 'PHP-7.1' into PHP-7.2 2018-07-02 17:29:32 +02:00
Rudi Theunissen 30156d588c Fixed bug #63217
Don't automatically convert literal string keys to integers on
array access, as we may be dealing with an ArrayAccess object,
rather than a plain array.
2018-07-02 16:41:59 +02:00
Anatol Belski 6d61814d0e Remove the forked test and adjust the original one 2018-07-02 16:08:09 +02:00
Dmitry Stogov 091d77f28a Avoid magic method hash lookups 2018-07-02 17:03:50 +03:00
Dmitry Stogov 43aca3118a Avoid string comparisons for magic methods (all magic methods start with "__") 2018-07-02 17:03:02 +03:00
Anatol Belski a63e834b66 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update libs_version.txt
2018-07-02 12:12:39 +02:00
Anatol Belski 26a33a96fa Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update libs_version.txt
2018-07-02 12:12:02 +02:00
Jakub Zelenka d404b5e255 Add ssl/tls streams options for min and max proto version 2018-07-01 18:46:52 +01:00
Jakub Zelenka ce0721bee5 Update NEWS, UPGRADING and default php.ini files with syslog changes 2018-07-01 18:27:36 +01:00
Philip Prindeville 2475337bd8 Add syslog's ident and facility parameters to config
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2018-07-01 18:08:07 +01:00
Christoph M. Becker 0c4f4481f5 Merge branch 'PHP-7.2'
* PHP-7.2:
  Make newly introduced bug76556.phpt more resilient
2018-07-01 00:23:06 +02:00
Christoph M. Becker 39d668e927 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Make newly introduced bug76556.phpt more resilient
2018-07-01 00:21:34 +02:00
Christoph M. Becker 1b61c3b210 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #76556: get_debug_info handler for BreakIterator shows wrong type
2018-06-30 23:22:20 +02:00
Christoph M. Becker ae163d9a36 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #76556: get_debug_info handler for BreakIterator shows wrong type
2018-06-30 23:17:54 +02:00
Nikita Popov 8faa6ef30e Add test for void return type on internal function 2018-06-30 20:14:15 +02:00
Nikita Popov 7909d4532c Merge branch 'PHP-7.2' 2018-06-30 20:11:59 +02:00
Nikita Popov 0f1726e45d Merge branch 'PHP-7.1' into PHP-7.2 2018-06-30 20:11:39 +02:00
Nikita Popov 5d7be2c2bc Merge branch 'PHP-7.2' 2018-06-30 19:50:56 +02:00
Nikita Popov 34deda13a8 Merge branch 'PHP-7.1' into PHP-7.2 2018-06-30 19:50:40 +02:00
Christoph M. Becker abbc1e683c Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #71848: getimagesize with $imageinfo returns false
2018-06-30 16:50:49 +02:00
Christoph M. Becker e2285eb542 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #71848: getimagesize with $imageinfo returns false
2018-06-30 16:40:32 +02:00
Peter Kokot 7c04219098 Fix pecl vs ext typo in phar
Phar phpinfo output lists also info about bz2 extension if it's
disabled and a quick info about installation. Instead of not maintained
pecl package bz2 the ext/bz2 should be mentioned. Also some outdated
pecl/phar are updated to ext/phar instead in test comments.
2018-06-30 15:35:43 +02:00
Christoph M. Becker 8bc2163c8a Add ext/sodium to php.ini-* 2018-06-30 14:52:30 +02:00
Nikita Popov 43c533d799 Merge branch 'PHP-7.2' 2018-06-29 23:23:08 +02:00
Nikita Popov deb1bad80f Merge branch 'PHP-7.1' into PHP-7.2 2018-06-29 23:23:02 +02:00
Nikita Popov 7ac06d66d4 Add zend_update_static_property_ex API
And cleanup the implementation to perform a normal by-value
assignment.
2018-06-29 22:56:59 +02:00
Nikita Popov 813b6fc950 Add zend_read_static_property_ex API
For symmetry with zend_read_property_ex.
2018-06-29 22:49:15 +02:00
Nikita Popov 10b484e624 Fix build
These were changed in 6e77a60a75.
2018-06-29 22:44:58 +02:00
Anatol Belski 7a6dc29605 [ci skip] Update NEWS 2018-06-29 20:12:45 +02:00
Anatol Belski efdf4a83b1 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
2018-06-29 20:12:24 +02:00
Anatol Belski 15ad5d31d1 [ci skip] Update NEWS 2018-06-29 20:11:55 +02:00
Anatol Belski ef274e0b60 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-06-29 20:11:23 +02:00
Anatol Belski ff8f2710f6 Check return value of pcre2_maketables() 2018-06-29 19:15:38 +02:00
Anatol Belski 4ff6c0cb44 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #76548 pg_fetch_result did not fetch the next row
2018-06-29 18:36:22 +02:00
Anatol Belski 486f18f09e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76548 pg_fetch_result did not fetch the next row
2018-06-29 18:35:44 +02:00
Dmitry Stogov 6e77a60a75 Removed INIT_OVERLOADED_CLASS... macros 2018-06-29 14:41:35 +03:00
Dmitry Stogov d6ab163be8 cleanup 2018-06-29 12:35:14 +03:00
Dmitry Stogov dd932f7e63 Changed php_add[c]slashes prototypes (removed should_free argument) 2018-06-29 00:19:16 +03:00
Nikita Popov a7101415cb Merge branch 'PHP-7.2' 2018-06-28 23:06:08 +02:00
Nikita Popov 00c0d7702c Merge branch 'PHP-7.1' into PHP-7.2 2018-06-28 23:05:09 +02:00
Nikita Popov db7ead0768 Fix ReflectionProperty::get/setValue() on internal static property
This was broken by 6dc0cd868d, which
moved static property initialization outside of constant updating.

Instead of replicating logic, use zend_get_static_property() API
in the reflection implementation, just like we're using
read_property for non-static proprety access.
2018-06-28 22:45:26 +02:00
Anatol Belski e1e0176e68 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update SDK version for AppVeyor
2018-06-28 15:59:10 +02:00
Anatol Belski c5276ad380 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update SDK version for AppVeyor
2018-06-28 15:58:20 +02:00
Anatol Belski 95a71caab1 Merge branch 'PHP-7.2'
* PHP-7.2:
  Sync versions for VC++ 15.8
2018-06-28 13:29:32 +02:00
Anatol Belski e835916f65 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync versions for VC++ 15.8
2018-06-28 13:28:46 +02:00
Christoph M. Becker 2ff26bdf73 [ci skip] Document new typedef zif_handler 2018-06-28 12:52:36 +02:00
Christoph M. Becker 3ab920a911 [ci skip] Announce emails should not be cross-posted
Otherwise answers may be send to all the lists which might be
irrelevant for particular participants only subscribed to one of them.
2018-06-28 12:36:53 +02:00
Anatol Belski a1ae9d5f9e [ci skip] Update NEWS 2018-06-28 11:41:49 +02:00
Anatol Belski eeab21b6d7 Merge branch 'PHP-7.2'
* PHP-7.2:
  Don't ignore commits on NEWS, etc. on AppVeyor
2018-06-28 10:55:35 +02:00
Anatol Belski b35f45ded2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Don't ignore commits on NEWS, etc. on AppVeyor
2018-06-28 10:54:59 +02:00
Andrew Nester ef9ed19ec7 DOMDocument::formatOutput attribute sometimes ignored 2018-06-28 10:38:20 +02:00
Xinchen Hui f1c0500fda Update NEWS 2018-06-28 12:38:40 +08:00
Xinchen Hui 8e940654e1 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Fixed bug #76536 (PHP crashes with core dump when throwing exception in error handler). (Laruence)
2018-06-28 12:38:26 +08:00
Xinchen Hui 809a7b5f8f Update NEWS 2018-06-28 12:38:14 +08:00
Xinchen Hui 5d7f9dcca7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76536 (PHP crashes with core dump when throwing exception in error handler). (Laruence)
2018-06-28 12:37:58 +08:00
Nikita Popov bddb085a68 Store unmangled name in ReflectionProperty
Avoid redundant unmangles and string copies, where possible.
2018-06-27 23:52:21 +02:00
Nikita Popov ce7fc2e308 Fix typos... 2018-06-27 23:22:29 +02:00
Nikita Popov 78f2a1b81d Optimize ReflectionProperty constructor
Perform HT lookups using a zend_string. Don't copy the name for
the "name" property. We can always use the original name directly,
as properties case case-sensitive, so the original name should
always match the unmangled name of the fetched property info.
2018-06-27 23:21:06 +02:00
Nikita Popov 9b02ee0bba Fixed bug #76538 2018-06-27 23:06:25 +02:00
Christoph M. Becker 3f241f3caa Update UPGRADING wrt. PCRE2
The upgrade to PCRE2 should mostly be transparent to existing code, but
apparently there are some minor differences, which warrant a note in
UPGRADING (and consequently, in the migration guide).
2018-06-27 15:19:41 +02:00
Nikita Popov 17afe6430f Fixed bug #76439 2018-06-27 14:15:56 +02:00
Dmitry Stogov 716bbd3480 Remove duplicated code (keep destroy_zend_function() for compatibility) 2018-06-27 14:54:42 +03:00
Dmitry Stogov 56450c6e65 Moved very rare exception check into a single place. 2018-06-27 13:34:15 +03:00
Peter Kokot 32489322a1 Remove outdated comments about PHP 3 2018-06-27 11:53:40 +02:00
Dmitry Stogov 6dc0cd868d Fixed ZTS race condition (zend_class_entry->ce_flags of internal classes must not be modified, because internal class enties are shared between threads) 2018-06-27 12:33:20 +03:00
Xinchen Hui 1231b49271 Add test for issue #1400 2018-06-27 16:49:05 +08:00
Xinchen Hui a394e1554c Update NEWS 2018-06-27 13:09:54 +08:00
Xinchen Hui 3d8c82c353 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Fixed bug #76534 (PHP hangs on 'illegal string offset on string references with an error handler)

Conflicts:
	Zend/zend_vm_execute.h
2018-06-27 13:08:47 +08:00
Xinchen Hui 7b98d056d3 Update NEWS 2018-06-27 13:07:53 +08:00
Xinchen Hui 3521661bd1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76534 (PHP hangs on 'illegal string offset on string references with an error handler)

Conflicts:
	Zend/zend_execute.c
	Zend/zend_vm_def.h
	Zend/zend_vm_execute.h
2018-06-27 13:07:36 +08:00
Kalle Sommer Nielsen 76827e39ba Minor cleanup in regards to magic_quotes in tests:
- dba008.phpt never runs anyway, no need to keep it
- bug75357.phpt has a branch that is never hit, which should not change the bug behavior in anyway
- bug55371.phpt added a simple 'done' test to not let the EXPECT section be empty
2018-06-26 22:38:00 +02:00
Dmitry Stogov 1b80de93b8 Cleanup conditions 2018-06-26 16:18:30 +03:00
Dmitry Stogov ff97ba253f Merge branch 'fetch_r_tmp'
* fetch_r_tmp:
  Make FETCH_R/IS, FETCH_DIM_R/IS, FETCH_OBJ_R/IS, FETCH_STATIC_PROP_R/IS return TMP_VAR, instead of VAR.
2018-06-26 14:48:53 +03:00
Dmitry Stogov 54f171cdc0 Restored zend_array_element_type() prototype 2018-06-26 11:23:37 +03:00
Dmitry Stogov 8c22d3e729 Make FETCH_R/IS, FETCH_DIM_R/IS, FETCH_OBJ_R/IS, FETCH_STATIC_PROP_R/IS return TMP_VAR, instead of VAR. 2018-06-25 23:43:23 +03:00
Nikita Popov f2c4f06f84 Remove unnecessary uses of z/ parameters 2018-06-25 22:27:42 +02:00
Dmitry Stogov 49a4e69584 Fixed ability to call plain functions through zend_call_method() 2018-06-25 23:01:21 +03:00
Dmitry Stogov b89ce98129 typo 2018-06-25 22:43:19 +03:00
Dmitry Stogov 7f67513ca3 Lazy function copying from op_cache SHM into process memory 2018-06-25 19:53:58 +03:00
Christoph M. Becker 30f7997762 [ci skip] Remove obsolete task
INSTALL points to the online docs and win32/install.txt is removed as
of commit 1e9e7d4[1].

[1] http://git.php.net/?p=php-src.git;a=commit;h=1e9e7d4dc4949b67908e55ab3f3e44528923c029
2018-06-25 18:00:26 +02:00
Dmitry Stogov c8f355b12c Micro-optimization 2018-06-25 17:32:13 +03:00
Nikita Popov 73f07738b9 Fix off-by-one error 2018-06-25 15:26:10 +02:00
Nikita Popov 2543e61aed Fixed bug #76509
In PHP static properties are shared between inheriting classes,
unless they are explicitly overwritten. However, because this
functionality was implemented using reference, it was possible
to break the implementation by reassigning the static property
reference.

This is fixed by switching the implementation from using references
to using INDIRECTs, which cannot be affected by userland code.
2018-06-25 15:04:09 +02:00
Nikita Popov 102bcb5c05 Update array_element_type inference for previous change
LIST_R and DIM_IS return value can't be MAY_BE_REF anymore.
2018-06-25 14:27:02 +02:00
Nikita Popov 490a49d0bb Use COPY_DEREF for DIM_IS and LIST_R as well
Also add an upgrading note for the behavior change, not that we
expect anyone to be affected...
2018-06-25 14:23:06 +02:00
Markus Staab a0a4232ae3 [ci skip] fixed typos 2018-06-25 13:14:55 +02:00
Dmitry Stogov ecce21169e Added note about zend_function.reserved[] fields usage 2018-06-25 13:35:14 +03:00
Dmitry Stogov 7793bc8ee6 Improved type inference. Result of opcodes using ZVAL_COPY_DEREF can't be MAY_BE_REF. 2018-06-25 13:07:44 +03:00
Christoph M. Becker 0778359223 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix arginfo wrt. optional/required parameters
2018-06-25 11:57:25 +02:00
Christoph M. Becker 2458dab466 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix arginfo wrt. optional/required parameters
2018-06-25 11:54:45 +02:00
Christoph M. Becker d169d06d30 Remove useless PHPDBG_* constants
The sole purpose of `PHPDBG_FILE`, `PHPDBG_METHOD`, `PHPDBG_LINENO` and
`PHPDBG_FUNC` has been to be passed as first argument to `phpdbg_break`.
However, this functions is replaced as of PHP 5.6.3 by
`phpdbg_break_file`, `phpdbg_break_method` and 'phpdbg_break_func`,
respectively.  Therefore, we're finally removing the useless constants.
2018-06-25 11:42:54 +02:00
Anatol Belski 836f329114 Merge branch 'PHP-7.2'
* PHP-7.2:
  Prepare tests for ICU 62.1
2018-06-25 11:32:03 +02:00
Anatol Belski 096fd88dcb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Prepare tests for ICU 62.1
2018-06-25 11:31:21 +02:00
Nikita Popov 61d00a6cf3 Use COPY_DEREF instead of COPY_UNREF
This fixes the behavior when the storage location of the fetch is
modified before the operand is dereferenced by the using VM opcode.

Furthermore it elimiates references as a possible return value from
*_R opcodes, which will give us more opportunities for inferences,
in particular in regard to typed properties.
2018-06-25 11:23:59 +02:00
Dusta da82719f20 Update http to https 2018-06-25 08:31:32 +02:00
COFFEE 19b42bd6b3 numner => number 2018-06-25 08:29:36 +02:00
Nikita Popov 4abf423d75 Merge branch 'PHP-7.2' 2018-06-24 22:29:19 +02:00
Nikita Popov 14b22704c7 Merge branch 'PHP-7.1' into PHP-7.2 2018-06-24 22:28:57 +02:00
Nikita Popov 66cf76ee54 Remove expr_without_variable
We no longer need this distinction.
2018-06-24 13:44:54 +02:00
Anatol Belski e03739d4ab Remove obsolete version checks in tests 2018-06-22 17:56:18 +02:00
Anatol Belski 8c92318677 [ci skip] Update NEWS 2018-06-22 17:33:57 +02:00
Anatol Belski aa92d42018 If there's no setlocale, char tables are not used 2018-06-22 17:31:26 +02:00
Nikita Popov b592cd7b98 Merge branch 'PHP-7.2' 2018-06-22 16:23:25 +02:00
Nikita Popov ed9d1b708b Fixed bug #76520 2018-06-22 16:22:04 +02:00
Anatol Belski 8b58b2aac6 Don't discard char tables just generated 2018-06-22 15:18:39 +02:00
Remi Collet 3b9ecb2d65 add note about php_url struct changes 2018-06-22 14:58:30 +02:00
Anatol Belski 684ce24eec Improve locale character tables handling and reduce pattern cache size
If a locale other than C is active, character tables are saved into the
compile context. Every compiled pattern will have a pointer to the
character table, that was present in the context at the time of the
pattern compilation. Thus, the cache entries don't need to carry char
tables pointer, which reduces their size to 8 bytes on 64-bit. Instead,
the generated character tables are tracked in a separate HashTable. If a
character table was generated before, it'll be assigned to the compile
context when the locale changes. Otherwise a new char table will be
generated and cached.
2018-06-22 14:45:29 +02:00
Dmitry Stogov 34e58a6447 Reduced overhead of magic method calls (__get/__set/__unset/__isset/__dectructor/__clone). 2018-06-22 14:29:54 +03:00
Dmitry Stogov 3c600e2d61 retval shouldn't be NULL 2018-06-22 14:28:29 +03:00
Dmitry Stogov 9b2d708f21 Reduce spl_autoload() overhead 2018-06-22 13:19:53 +03:00
Anatol Belski bb2f1a6830 Fixed bug #76514 Regression in preg_match makes it fail with PREG_JIT_STACKLIMIT_ERROR
Looks like some patterns might require more stack for JIT execution. It
is a regression, as the same pattern was passing using JIT.
2018-06-22 11:05:30 +02:00
Dmitry Stogov 71e18471f2 Merge branch 'PHP-7.2'
* PHP-7.2:
  Added parenthesis
2018-06-22 12:04:49 +03:00
Dmitry Stogov 4a4c72a82a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Added parenthesis
2018-06-22 12:04:39 +03:00
Dmitry Stogov 1f726c9925 Added parenthesis 2018-06-22 12:04:23 +03:00
Dmitry Stogov 73b675a988 Avoid duplication of "shadow" property_info 2018-06-22 02:46:59 +03:00
Christoph M. Becker 23ca95aa3e Fix line endings in new PHPT 2018-06-22 00:01:51 +02:00
Christoph M. Becker 71d16feebb Fix #76512: \w no longer includes unicode characters
The migration from PCRE to PCRE2 missed to rename once occurrence of
`PCRE_UCP` to `PCRE2_UCP`.  We fix that.  We also revert the changes to
bug52971.phpt which had been incorrectly made in commit a5bc5ae[1].

[1] <http://git.php.net/?p=php-src.git;a=commit;h=a5bc5aed71f7a15f14f33bb31b8e17bf5f327e2d>
2018-06-21 22:45:08 +02:00
Jakub Zelenka c2a3ab070b Merge branch 'PHP-7.2' 2018-06-21 17:03:07 +01:00
Jakub Zelenka d95ee27551 Make new openssl ext tests in 7.2 consitent 2018-06-21 17:02:44 +01:00
Jakub Zelenka 5f349b728e Merge branch 'PHP-7.2' 2018-06-21 16:50:45 +01:00
Jakub Zelenka 77bd405959 Merge branch 'PHP-7.1' into PHP-7.2 2018-06-21 16:47:08 +01:00
Charles R. Portwood II 55277a6684 RFC: Argon2 Password Hash Enhancements Implementation of Argon2id per RFC https://wiki.php.net/rfc/argon2_password_hash_enhancements
- m4 and Windows configure scripts now forces Argon2 reference library version >= 20161029
- Implementation tested against 20161029 and 20171227 for Argon2id support
- Updates Argon2 ext/standard/password/tests to run tests for both Argon2i and Argon2id
2018-06-21 13:26:57 +02:00
Peter Kokot 3f96f01e9e Bump phar and hash extension version to match PHP version 2018-06-21 13:15:32 +02:00
Dmitry Stogov 4418d61ca3 Avoid reusing zend_function.common.prototype for magic things (use reserved fields instead). 2018-06-21 13:09:25 +03:00
Anatol Belski f87cc89f4d Gereralize VA macro expansion mechanism
Avoids code duplication and makes in usable elsewhere.
2018-06-21 11:50:48 +02:00
Xinchen Hui 4bd6be8a5f Update NEWS 2018-06-21 17:27:18 +08:00
Xinchen Hui 8b2f40724b Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Fixed bug #76505 (array_merge_recursive() is duplicating sub-array keys)
2018-06-21 17:26:57 +08:00
Xinchen Hui e62c6e7dbe Update NEWS 2018-06-21 17:26:45 +08:00
Xinchen Hui 939e1095f2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76505 (array_merge_recursive() is duplicating sub-array keys)
2018-06-21 17:26:27 +08:00
Stanislav Malyshev 3f53b02a53 Merge branch 'PHP-7.2'
* PHP-7.2:
  Revert "ICU 59+ requires C++11 and errors out without the option"
2018-06-20 10:42:04 -07:00
Stanislav Malyshev 011be49dda Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Revert "ICU 59+ requires C++11 and errors out without the option"
2018-06-20 10:41:59 -07:00
Nikita Popov 22ce955b95 Remove unnnecessary DEREF parameter 2018-06-20 16:03:50 +02:00
Nikita Popov e357f67faf Remove code duplication
And fix indentation
2018-06-20 15:05:08 +02:00
Nikita Popov 8e2f0824f7 Merge branch 'PHP-7.2' 2018-06-20 12:32:20 +02:00
Nikita Popov 44f4d2be01 Merge branch 'PHP-7.1' into PHP-7.2 2018-06-20 12:30:19 +02:00
Stanislav Malyshev 2825c82076 Merge branch 'pull-request/3281'
* pull-request/3281:
  Revert braces inside condition
  Use .= where possible
  Remove unncecessary parantheses
  Remove unused variable old_php
  Fix property name
2018-06-19 22:43:20 -07:00
Stanislav Malyshev 3346659f2a Merge branch 'pull-request/3274'
* pull-request/3274:
  Added const modifier
  76363: added jsm extension to list of mime types
2018-06-19 16:50:16 -07:00
Stanislav Malyshev f61e1d28fe Merge branch 'pull-request/3288'
* pull-request/3288:
  Fix bug #75481: makedev warning
2018-06-19 16:43:52 -07:00
Stanislav Malyshev 30bdc09129 Merge branch 'pull-request/3309'
* pull-request/3309:
  phar module, unsignedness check changes. while at it, correcting seemingly subtle bug when checking extension validity.
2018-06-19 16:42:28 -07:00
Sara Golemon 1108b5a19b Move class constant definition to the right enum file 2018-06-19 18:21:08 -04:00
Christoph M. Becker 963998f0ab Update NEWS for 7.3.0alpha3 2018-06-19 15:36:31 +02:00
Gabriel Caruso fc775f6915 Report unknown variables passed to compact() 2018-06-19 12:50:15 +02:00
Robert Lu ecc1a7c582 Fix bug #44217: Output after stdout/stderr closed cause immediate exit with status 0
We exit with status 255 instead.
2018-06-19 12:15:33 +02:00
David Carlier 80bb649ad1 phar module, unsignedness check changes.
while at it, correcting seemingly subtle bug when checking
extension validity.
2018-06-18 14:08:50 +00:00
Dmitry Stogov 84d7d4e1cc Fixed bug #76466 (Loop variable confusion) 2018-06-18 11:21:23 +03:00
Xinchen Hui 83a77f5a28 Fixed typo 2018-06-18 12:14:17 +08:00
Xinchen Hui 7f196c45ef use defined macro 2018-06-18 12:14:00 +08:00
Xinchen Hui 4d69bbeee7 Fixed bug #76437 (token_get_all with TOKEN_PARSE flag fails to recognise close tag) 2018-06-18 11:33:48 +08:00
Stanislav Malyshev 24f7096154 Merge branch 'PHP-7.2'
* PHP-7.2:
  ICU 59+ requires C++11 and errors out without the option
  Fix #76300 - Dont attempt to change visibility of a parent private
2018-06-17 16:43:46 -07:00
Stanislav Malyshev 61a4fc4e44 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  ICU 59+ requires C++11 and errors out without the option
2018-06-17 16:42:49 -07:00
Pedro Magalhães 13e9a471d7 Fix #76300 - Dont attempt to change visibility of a parent private 2018-06-17 15:53:55 -07:00
Stanislav Malyshev 7d7b7e801e Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #76300 - Dont attempt to change visibility of a parent private
2018-06-17 15:47:06 -07:00
Stanislav Malyshev 671fc2ec55 Merge branch 'pull-request/3233' into PHP-7.2
* pull-request/3233:
  Fix #76300 - Dont attempt to change visibility of a parent private
2018-06-17 15:26:42 -07:00
Stanislav Malyshev 5819ff4865 Merge branch 'pull-request/3268'
* pull-request/3268:
  Sync sysvsem and sysvshm versions in phpinfo
2018-06-17 14:12:45 -07:00
Stanislav Malyshev 201f440760 Merge branch 'pull-request/3295'
* pull-request/3295:
  Remove old and unused warnings when building apache
2018-06-17 14:11:07 -07:00
Stanislav Malyshev 19d5656b1a Merge branch 'pull-request/3307'
* pull-request/3307:
  Bump snmp extension version to PHP version
2018-06-17 14:06:40 -07:00
Stanislav Malyshev d7ed929e1c Merge branch 'pull-request/3296'
* pull-request/3296:
  Bump fileinfo extension version to PHP release version
2018-06-17 14:05:01 -07:00
Stanislav Malyshev 0e7460d793 Merge branch 'pull-request/3304'
* pull-request/3304:
  Bump intl extension version to PHP release version
2018-06-17 13:54:04 -07:00
Xinchen Hui 77e632d04f only warning when the flag is true 2018-06-17 11:39:08 +08:00
Peter Kokot be49d61b19 Remove old SVN keywords substitutions
When the PHP source code was versioned in Subversion, there was
possible to substitute certain keywords such as $Id$ with revision
number, last change time and author name. Such approach is not used
in Git so this patch removes these outdated artifacts from source
code files.
2018-06-16 13:04:30 +02:00
Peter Kokot 5651b1a7ca Remove Git ident attribute from the iconv extension 2018-06-16 12:49:55 +02:00
Peter Kokot 7bf091c5c2 Remove SVN revision from phar phpinfo output
The SVN revision was utilized with Subversion. The Git ident
attribute applies only for particular file and since other core
extensions don't output this information anymore this patch
removes it from the phpinfo output to sync and make the phpinfo
core extensions more consistent.
2018-06-16 12:47:33 +02:00
Nikita Popov d04917c7b3 Fixed bug #75218
I've introduced a new CompileError type, from which ParseError
inherits. These errors are not parse errors in the narrow sense
of the term, even though they happen to be generated during
parsing in our implementation. Additionally reusing the ParseError
class for this purpose would change existing error messages (if
the exception is not caught) from a "Fatal error:" to a "Parse
error:" prefix, and also the error kind from E_COMPILE_ERROR to
E_PARSE.
2018-06-16 12:41:03 +02:00
Peter Kokot 0bd3fecbcb Remove old SVN keywords substitutions from the zip tests 2018-06-16 12:36:00 +02:00
David Carlier 19af5e471f Add NEWS entries
[ci skip]
2018-06-16 12:33:28 +02:00
Tom Van Looy 3775bf9351 [ci skip] Mention new hrtime() in NEWS 2018-06-16 12:30:27 +02:00
Peter Kokot 70f41d1d9c Bump snmp extension version to PHP version
This patch syncs the snmp extension to match it with the PHP release
version.
2018-06-15 12:55:21 +02:00
Xinchen Hui 35872c0960 Remove assertion 2018-06-15 17:21:59 +08:00
Xinchen Hui 51f6321189 Update NEWS 2018-06-15 16:32:27 +08:00
Xinchen Hui efcaa37190 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #76477 (Opcache causes empty return value)
2018-06-15 16:31:58 +08:00
Xinchen Hui f31ba7cb53 Fixed bug #76477 (Opcache causes empty return value) 2018-06-15 16:31:31 +08:00
Anatol Belski 5334463e6c [ci skip] Update NEWS 2018-06-15 07:30:10 +02:00
Victor Csiky 71c04324b7 Fixe bug #76386
..that is also a duplicate of #67122
2018-06-15 07:23:31 +02:00
Peter Kokot d6ccaef3e6 Bump fileinfo extension version to PHP release version
To sync core extensions and their versioning more the fileinfo extension
can be versioned same way as PHP releases.
2018-06-15 00:28:28 +02:00
Peter Kokot b1767d8a56 Bump intl extension version to PHP release version
This patch syncs and simplifies the intl core extension versioning
to match the PHP release version.
2018-06-14 23:35:29 +02:00
Nikita Popov 0b04938c87 Fix unspecialized executor
If we conditionally fetch a value, we also need to conditionally
free it.
2018-06-14 23:26:27 +02:00
Stanislav Malyshev 3d16bb5b62 Merge branch 'pull-request/3299'
* pull-request/3299:
  Bump extension, module and PHP API numbers for 7.3
2018-06-14 12:30:41 -07:00
Jakub Zelenka f3ef13e1d6 Bump PHP_JSON_VERSION to 1.7.0 2018-06-14 20:25:59 +01:00
Michael Moravec a5748cab2e Bump extension, module and PHP API numbers for 7.3 2018-06-14 16:26:13 +02:00
Peter Kokot bbd7b2d0ee Remove old and unused warnings when building apache
The configure script already warns users at the beginning with
unrecognized options warning so additional check is not required. These
sapis were also removed from the PHP core.
2018-06-14 04:45:28 +02:00
Dmitry Stogov 591f4f005d Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed invalid free introduced by d6e81f0bfd (avoid keeping "invalid" pointer)
2018-06-14 02:41:14 +03:00
Dmitry Stogov dad8bd5851 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed invalid free introduced by d6e81f0bfd (avoid keeping "invalid" pointer)
2018-06-14 02:40:59 +03:00
Dmitry Stogov fcfa006a4e Avoid useless stream buffer copying and workaround with chunk_size manipulation. 2018-06-14 02:34:17 +03:00
Nat Zimmermann 4ac531afb3 Revert braces inside condition 2018-06-13 23:37:14 +01:00
Nikita Popov bc56bb847d Merge branch 'PHP-7.2' 2018-06-13 23:48:37 +02:00
Nikita Popov d04a1e8d70 Merge branch 'PHP-7.1' into PHP-7.2 2018-06-13 23:48:28 +02:00
Dmitry Stogov c1ce43d1d2 php_json_escape_string() optimization 2018-06-13 18:26:48 +03:00
Christoph M. Becker 52f92b51aa erealloc() is infallible 2018-06-13 16:10:08 +02:00
Markus Staab 10a9c51942 emalloc never returns null 2018-06-13 16:00:41 +02:00
Peter Kokot 128cd0d0f2 Remove old SVN keywords substitutions from xsl and sockets tests
When the PHP source code was versioned in Subversion, there was
possible to substitute certain keywords such as $Id$ with revision
number, last change time and author name. Such approach is not used
in Git so this patch removes these outdated artifacts from the xsl
and sockets extensions tests files.
2018-06-13 15:56:06 +02:00
Dmitry Stogov 100b4cdabd emalloc() never returns NULL 2018-06-13 12:39:56 +03:00
Xinchen Hui 9465ec4673 Added num_roots to gc_status 2018-06-13 16:41:51 +08:00
Dmitry Stogov e788e8261e Removed "gc_" prefix. 2018-06-13 11:28:24 +03:00
Dmitry Stogov 2afc83732c Allow access to some garbage collection internals (Benjamin Eberlei) 2018-06-13 11:10:17 +03:00
Xinchen Hui 609385bbf8 Fixed bug #76446 (zend_variables.c:73: zend_string_destroy: Assertion `!(zval_gc_flags((str)->gc)). 2018-06-13 15:06:51 +08:00
Peter Kokot 97f2ce4031 Fix bug #75481: makedev warning
To use makedev the sys/sysmacros.h needs to be included on newer
systems.
2018-06-13 04:36:55 +02:00
Jakub Zelenka 1650e4669d Merge branch 'PHP-7.2' 2018-06-12 18:11:20 +01:00
Jakub Zelenka dd622f9ca9 Port FPM test 023 and 024 to the new FPM testing 2018-06-12 18:09:27 +01:00
Jakub Zelenka b2460c9ec2 Merge branch 'PHP-7.2' 2018-06-12 18:04:30 +01:00
Jakub Zelenka bc58ba750f Merge branch 'PHP-7.1' into PHP-7.2 2018-06-12 18:03:01 +01:00
Anatol Belski 0cb6b17b29 [ci skip] Update NEWS 2018-06-12 18:08:24 +02:00
Anatol Belski 548e2a6cd6 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
2018-06-12 18:08:05 +02:00
Anatol Belski 827cb0484e [ci skip] Update NEWS 2018-06-12 18:07:35 +02:00
Anatol Belski 87cb883563 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-06-12 18:07:11 +02:00
Anatol Belski c9fc0095ce Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #76462 Undefined property: DateInterval::$f
2018-06-12 15:31:49 +02:00
Anatol Belski 5f1190684f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76462 Undefined property: DateInterval::$f
2018-06-12 15:31:01 +02:00
Xinchen Hui 1cc9933130 Fixed bug #76463 (var has array key type but not value type) 2018-06-12 20:55:06 +08:00
Tom Van Looy 19d31433dc Enable HRTime on OpenBSD
OpenBSD has clock_gettime() so this will work. They have _POSIX_TIMERS on -1 in
unistd because they don't have per-process timers.
2018-06-12 12:27:48 +02:00
Remi Collet c5ab9169ce NEWS 2018-06-12 09:36:31 +02:00
Remi Collet 25188727b1 Merge branch 'PHP-7.2'
* PHP-7.2:
  NEWS
  Add OPSYS_CPM constant as documented and to match libzip naming
2018-06-12 09:36:14 +02:00
Remi Collet eb2a3c6c65 NEWS 2018-06-12 09:35:52 +02:00
Remi Collet 075e685439 Add OPSYS_CPM constant as documented and to match libzip naming 2018-06-12 09:31:41 +02:00
Xinchen Hui 72104d2b6e supplemental fix for bug #76427
there are two parts to make this problem visible , the first is
our new gc new freeing zvals in an opposite direction(compare to 7.2)
the second is zend_object_store_del doesn't check IS_VALID since 7.3
(using assertion instead)
2018-06-12 09:40:34 +08:00
Nikita Popov f2be6e732a Update data tables for Unicode 11 2018-06-11 20:25:37 +02:00
Nikita Popov e4e334effb Remove dead code for ADD_STRING/ADD_CHAR optimization
These opcodes don't exist anymore. The modern equivalent would be
the ROPE_* opcodes. However the code would have to be different
anyway.
2018-06-11 20:17:36 +02:00
Anatol Belski 3b07c6cf87 Skip tests when Oniguruma is disabled 2018-06-11 17:44:34 +02:00
Anatol Belski a34ba6f30c Fix mbstring fallback when --disable-mbregex used 2018-06-11 17:44:34 +02:00
Xinchen Hui dc99a13fac Correct NEWS 2018-06-11 21:10:13 +08:00
Xinchen Hui 1a952bca22 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Remove inappropriate FreeLibrary calls
  Remove inappropriate FreeLibrary call
  The ZEND_EXTENSION change is merged with xdebug now so we can drop this for master only
  Fixed bug #76443 (php+php_interbase.dll crash on module_shutdown)
2018-06-11 21:01:10 +08:00
Xinchen Hui ffaee27478 Fixed bug #76427 (Segfault in zend_objects_store_put) 2018-06-11 21:00:38 +08:00
Anatol Belski b2a200188f Remove inappropriate FreeLibrary calls 2018-06-11 13:53:17 +02:00
Anatol Belski 05e2d3d59d Merge branch 'PHP-7.2'
* PHP-7.2:
  Remove inappropriate FreeLibrary call
2018-06-11 13:51:56 +02:00
Anatol Belski 7dcfa839c9 Remove inappropriate FreeLibrary call 2018-06-11 13:49:42 +02:00
Kalle Sommer Nielsen dd494a83db The ZEND_EXTENSION change is merged with xdebug now so we can drop this for master only 2018-06-11 13:34:20 +02:00
Kalle Sommer Nielsen a6b9ddbfe2 Fixed bug #76443 (php+php_interbase.dll crash on module_shutdown) 2018-06-11 11:50:39 +02:00
Peter Kokot eebad01672 Remove revision from OCI8 extension
The revisions were used in SVN. Other core extensions don't
provide this information in the phpinfo output anymore so
this patch removes it from the OCI8 info output to make it
consistent with other extensions.
2018-06-10 21:22:12 +02:00
Tyson Andre d0fc6dba0c Fix the Z_IMMUTABLE macro - '(' was mismatched
The macro properly has two matching `(` and `)` symbols
after this change.

This typo was causing syntax errors when compiling extensions
using the (deprecated) macro.

This fixes a bug in the PHP 7.3 branch introduced by
742d5a01ed
2018-06-10 21:21:42 +02:00
Nikita Popov 2edd33b29d Merge branch 'PHP-7.2' 2018-06-10 21:21:29 +02:00
Nikita Popov 3d7284d09e Merge branch 'PHP-7.1' into PHP-7.2 2018-06-10 21:21:11 +02:00
Jakub Zelenka 8c3b0455ee Merge branch 'PHP-7.2' 2018-06-10 14:34:23 +01:00
Jakub Zelenka bca6d373fc Merge branch 'PHP-7.1' into PHP-7.2 2018-06-10 14:33:28 +01:00
Christoph M. Becker 3cbf594dfd Deprecate image2wbmp()
According to https://wiki.php.net/rfc/image2wbmp, we deprecate
`image2wbmp()`, rename the `$threshold` parameter to `$foreground`, and
remove superfluous code.
2018-06-10 00:33:42 +02:00
Nikita Popov 60323906f9 Optimizer: Don't propagate constants into MAKE_REF
This occurs in Zend/tests/assign_ref_error_var_handling.phpt,
added in 95a0709935.
2018-06-10 00:10:32 +02:00
Christoph M. Becker 92ae59cf64 [ci skip] Update NEWS
Cf. https://github.com/php/php-src/commit/3fdde65617e9f954e2c964768aac8831005497e5
2018-06-09 22:36:35 +02:00
Nikita Popov 95a0709935 Fix handling of ERROR zval in op1 of ASSIGN_REF
If op1 is ERROR the behavior is to not perform any assignment and
return NULL. However, if the RHS was a by-value returning function,
we'd instead emit a notice and return the RHS as the return value
(even though the value was not assigned to anything -- the temporary
is immediately destroyed).

This normalized the behavior to always check for an ERROR in op1
first.
2018-06-09 21:31:30 +02:00
Anatol Belski 6d239098cf Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix test portability
2018-06-09 20:59:41 +02:00
Anatol Belski 66badcdc0c Fix test portability 2018-06-09 20:57:17 +02:00
Anatol Belski 8db4543fdc [ci skip] Update NEWS 2018-06-09 20:36:50 +02:00
Anatol Belski c79af09bc6 Add check for variable size array feature
Usage of VLA is not portable, wile supported by some compilers. For
instance, GCC supports it even if -std=c89 is passed. Even if we would
switch to C99, it would be still not portable at least with VC++. Thus,
adding a centralized check so such code can be guarded and moved to
alloca() if needed.
2018-06-09 20:27:16 +02:00
Nikita Popov d877d18676 Error on by-ref assign to overloaded prop returning ref
This error was already thrown if __get() was used -- however not
if it returned by reference. This is incorrect, because the
reference return makes no difference to a by-reference assignment,
which has reference-breaking semantics. The result was that the
assignment was accepted silently, even though it didn't do anything
(not even the value was assigned, let alone the reference).
2018-06-09 18:42:22 +02:00
Nat Zimmermann 3c3ef6dd26 Use .= where possible 2018-06-09 17:02:35 +01:00
Nat Zimmermann 1b767ac26b Remove unncecessary parantheses 2018-06-09 17:01:31 +01:00
Nat Zimmermann e5043d06c9 Remove unused variable old_php 2018-06-09 16:59:25 +01:00
Nat Zimmermann a91d5a8194 Fix property name 2018-06-09 16:58:41 +01:00
Christoph M. Becker eed3637d84 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #76409: heap use after free in _php_stream_free
2018-06-09 17:57:10 +02:00
Christoph M. Becker 3fdde65617 Fix #76409: heap use after free in _php_stream_free
We must not close the stream in exif_read_from_impl(), since it is the
responsibility of the (caller's) caller to do so, if it actually opened
the stream.

We simplify the reproduce script, which is actually about supplying a
path to a directory (opposed to a regular file), and use `.` instead of
`/` to also make it work on Windows.
2018-06-09 17:52:05 +02:00
Peter Kokot 7bb741cad9 Remove exif version from the phpinfo output
This patch removes the exif version in the phpinfo output to sync it
with the rest of the php bundled extensions. Also in the past the
revision id from the version control system was used and is today not
needed anymore.
2018-06-09 15:32:21 +02:00
Nikita Popov 777187cbaf Don't use UNREFs during array operations
Perform DEREFs instead. We were already doing this in some, but not
all places.

While UNREFs are supposed to be transparent, in practice they have
rare observable side effects. Calling array_merge() on an array
should never change how that array behaves.
2018-06-09 13:20:13 +02:00
Anatol Belski 9cd2d77514 Fixed bug #76422 ftruncate fails on files > 2GB 2018-06-09 11:28:24 +02:00
Nikita Popov 968eb0b38c Fix mysqlnd build without openssl 2018-06-09 11:04:40 +02:00
Nikita Popov 7498f0163b Fix handling of assign-ops on overloaded props with ref return
Assign-ops and incdec on overloaded properties are implemented
using a read_property followed by write_property. Previously, if
__get() returned by-reference, pre-incdec and assign-op
additionally also modified the reference, while post-incdec worked
correctly.

This change synchronizes the three code-paths to not modify the
reference. The pre-incdec implementation matches the post-incdec
implementation, the assign-op implementation uses a distinct
result operand.
2018-06-09 00:36:46 +02:00
Nikita Popov befc518c82 Merge branch 'PHP-7.2' 2018-06-08 23:11:45 +02:00
Nikita Popov e029019275 Deduplicate code using php_timezone_to_string()
Looks like this usage was overlooked when the function was
introduced.
2018-06-08 23:10:43 +02:00
David Carlier ad52ec3db8 cast to int to disable compilation warnings. 2018-06-08 23:08:42 +02:00
Peter Kokot 25c35ab30a Sync phpinfo output for pdo_pgsql
This patch removes the module version and revision from the phpinfo
output to sync the phpinfo with the rest of the bundled extensions.
2018-06-08 23:06:22 +02:00
Nikita Popov fc8f5b0f09 Merge branch 'PHP-7.2' 2018-06-08 23:02:25 +02:00
Keyur Govande 695b8192c7 Avoid leaking the urandom fd
When Apache is reloaded, it unloads the extension, but the open file descriptor to /dev/urandom is left hanging around and is leaked. This fixes the bug.

Duplicate of https://github.com/jedisct1/libsodium-php/pull/173
2018-06-08 23:01:57 +02:00
Stas Malyshev fdd9f572da Update NEWS for 7.3.0alpha2 2018-06-07 10:24:35 -07:00
Dmitry Stogov 1597b56619 Inline few small opcode handlers into hybrid executor 2018-06-07 16:30:53 +03:00
pmukhin 57e72dc198 Added const modifier 2018-06-06 21:34:18 +07:00
pmukhin 48c954ca46 76363: added jsm extension to list of mime types 2018-06-06 21:04:42 +07:00
Dmitry Stogov e17fc0d73c Added parentheses 2018-06-06 15:29:59 +03:00
Dmitry Stogov 180bf90ded Fastcall calling convention is not comaptible with variable number of arguments 2018-06-06 15:27:18 +03:00
Dmitry Stogov 531de5f24a Fixed prototypes, foo(void) instead of foo() 2018-06-06 15:26:26 +03:00
Anatol Belski 7bef16c37b Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix VC compilation as variable size array is not supported
  NEWS for 7.2.8
2018-06-06 11:21:11 +02:00
Anatol Belski 0bafb530d6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix VC compilation as variable size array is not supported
  Fix MySQL 8 auth
2018-06-06 11:14:15 +02:00
Dmitry Stogov 18bc3afdcb Micro-optimizations 2018-06-06 01:57:19 +03:00
Johannes Schlüter 5de306ccd3 Merge branch 'PHP-7.1' 2018-06-06 00:25:15 +02:00
Johannes Schlüter cb5c1fbe10 Merge branch 'master' of git.php.net:/php-src 2018-06-06 00:25:01 +02:00
Johannes Schlüter 84f6f693e7 Merge branch 'PHP-7.1' 2018-06-06 00:24:19 +02:00
Sara Golemon 917222f395 NEWS for 7.2.8 2018-06-05 12:07:52 -04:00
Christoph M. Becker c4331b00be Update to SQLite 3.24.0 2018-06-05 15:01:02 +02:00
Xinchen Hui 1ce4b484f8 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Embed zend_leave_helper() into hybrid executor to avoid call overhead.
  Cleanup
2018-06-05 17:19:17 +08:00
Xinchen Hui 0a0f6c495f Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #76410 (SIGV in zend_mm_alloc_small)
  Fix bug #76390 - do not allow invalid strings in range()

Conflicts:
	ext/standard/array.c
2018-06-05 17:16:45 +08:00
Xinchen Hui 951e29f66e Fixed bug #76410 (SIGV in zend_mm_alloc_small) 2018-06-05 17:15:57 +08:00
Dmitry Stogov 59c2ff2543 Embed zend_leave_helper() into hybrid executor to avoid call overhead. 2018-06-05 11:33:19 +03:00
Dmitry Stogov b6a2ae3a5b Cleanup 2018-06-05 11:26:15 +03:00
Stanislav Malyshev c12fc77bdf Fix bug #76390 - do not allow invalid strings in range() 2018-06-04 22:54:03 -07:00
Stanislav Malyshev 5fbb0988d1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #76390 - do not allow invalid strings in range()
2018-06-04 22:51:38 -07:00
Christoph M. Becker 4ade46ad1b [ci skip] Fix typos in NEWS 2018-06-05 00:58:03 +02:00
Christoph M. Becker 3f16a43d74 [ci skip] Remove trailing WS
Since commit 2238403 removed respective trailing WS in files generated
by this script, we remove the trailing WS in the first place, to avoid
further mundane merge conflicts.

[1] http://git.php.net/?p=php-src.git;a=commit;h=2238403892ccf87143a59814538d9f764509d9e7
2018-06-05 00:21:36 +02:00
Peter Kokot 279498564f Remove enchant version from the phpinfo output
This patch syncs the phpinfo output with other bundled extensions.
2018-06-04 18:40:38 +02:00
Peter Kokot 24e1ae0e90 Remove some old occurrences of configure.in
configure.ac is the recommended file to use instead of the old
configure.in which will be removed in autotools future versions.
2018-06-04 17:59:00 +02:00
Peter Kokot cf6b24ccda Sync tidy phpinfo extension version
This patch removes the tidy extension Git ident attribute blob name from
the phpinfo output to be synced with other extensions versioning system
and replaces table header with normal row in the first tidy info table.
2018-06-04 17:10:49 +02:00
Peter Kokot cb64696ca6 Normalize the ldap extension version in phpinfo output
This patch normalizes the phpinfo output for the ldap extension and
removes the displayed Git attribute ident blob object name.
2018-06-04 17:06:41 +02:00
Peter Kokot ede39739fd Normalize Reflection phpinfo() output
This patch normalizes the Reflection extension version in the phpinfo
output. It removes the Git attributes ident blob object name from Git
repository as an extension version.

Also the table output is synced with other extensions (i.e. enabled
in a row instead of table header).
2018-06-04 16:28:16 +02:00
Anatol Belski 01b9975639 [ci skip] Update libmagic.patch 2018-06-03 14:06:11 +02:00
Anatol Belski 6f24d75b56 Remove unnecessary decls, php.h is included 2018-06-03 12:45:37 +02:00
Anatol Belski 4363588f2f Align the ported place with libmagic 2018-06-03 12:14:42 +02:00
Peter Kokot 03a3faa151 Sync sysvsem and sysvshm versions in phpinfo
This patch removes the versions of the sysvsem and sysvshm extensions in
the phpinfo output to sync them with PHP core and bundled extensions
versions displayed. Instead it displays the extension enabled status.
2018-06-03 04:05:46 +02:00
Anatol Belski e147eb24b2 [ci skip] Add UPGRADING note 2018-06-02 20:58:39 +02:00
Peter Kokot 67dfcdba95 Update README.REDIST.BINS
- Update PCRE2 library license info
- Added libbcmath license info
2018-06-02 18:58:46 +02:00
Peter Kokot 07257a59d0 Normalize SimpleXML phpinfo output 2018-06-02 13:44:41 +02:00
Peter Kokot c71433a774 Remove revision for recode from phpinfo 2018-06-02 13:43:49 +02:00
Nikita Popov adb09c98d2 Fix return type of zend_ini_dtor 2018-06-02 13:41:09 +02:00
Peter Kokot c03ee19230 Normalize the POSIX phpinfo output
Instead of the Git attributes ident blob object name display only
extension status (enabled).
2018-06-02 13:35:22 +02:00
Peter Kokot 40c1d5d4e2 Normalize filter phpinfo() output
This patch normalizes the filter extension version in the php info
output. Instead of the Git attributes ident blob object name from Git
repository only extension status is displayed.
2018-06-02 13:35:22 +02:00
Peter Kokot 0a37b48284 Normalize sysvmsg phpinfo() output
This patch normalizes the sysvmsg extension version in the php info
output. Instead of the Git attributes ident blob object name from Git
repository it only displays the extension status.

Remove sysvmsg version
2018-06-02 13:35:21 +02:00
Peter Kokot 1fd7cbb49e Fix warnings defined but not used 2018-06-02 13:30:40 +02:00
Peter Kokot 1e5ca6209b Fix warning unused variable ret 2018-06-02 13:30:23 +02:00
Dmitry Stogov 0b90cf85a6 Removed "dead" code (zend_hash_update() never fails) 2018-06-01 11:58:57 +03:00
Dmitry Stogov 9e0f131d2b Fixed ISSET/ISEMPTY bit meaning to simplify run-time checks 2018-05-31 19:02:51 +03:00
Anatol Belski 35302c22ac Use hrtime() for timing tests 2018-05-31 15:32:47 +02:00
Anatol Belski ca2e9df56c Fix AVX part 2018-05-31 14:15:28 +02:00
Anatol Belski 95258f2480 Do one test build with AVX 2018-05-31 12:32:15 +02:00
Dmitry Stogov f2b4ec4bdc Export standard object handlers, to avoid indirect access 2018-05-31 11:57:22 +03:00
Dmitry Stogov 0d72bb8fcb Optimize zend_new_array() for special case, when size <= HT_MIN_SIZE 2018-05-31 01:17:55 +03:00
Dmitry Stogov 45d62d9f9b Use SSE/AVX instructions 2018-05-30 20:59:29 +03:00
Dmitry Stogov 683123fa39 Use SSE2 instruction to reset HashTable 2018-05-30 20:17:52 +03:00
Dmitry Stogov 3c122e1605 Avoid rehashing of "packed" array 2018-05-30 20:17:25 +03:00
Dmitry Stogov 655d249ac9 Eliminate some checks for zero character inside an inclue file name 2018-05-30 18:24:31 +03:00
Dmitry Stogov ff58d70548 Avoid agressive inlining in rarely used paths 2018-05-30 14:03:48 +03:00
Dmitry Stogov 84aab1d4e1 Marked rarely used opcodes as "cold" (e.g. ADD_CONST_CONST ususaly optimized out). 2018-05-30 01:50:44 +03:00
Peter Kokot 28136b071a Remove build system files of bundled library libbcmath
The bundled library libbcmath is maintained in the php-src and its
build system files are outdated and not used.
2018-05-29 18:56:50 +02:00
Dmitry Stogov da5a44c1c0 Revert "Avoid reference-counting"
This reverts commit ea26ab3393.
2018-05-29 18:04:16 +03:00
Dmitry Stogov d90c6f2443 Removed useless zval_ptr_dtor() 2018-05-29 17:58:06 +03:00
Dmitry Stogov 44be0fa67b Fixed HashTable load factor 2018-05-29 10:16:02 +03:00
Dmitry Stogov 37069d7d2f Replace unused generic zend_hash_*add_or_update() functions by compact implmentations. 2018-05-29 01:38:27 +03:00
Dmitry Stogov f4b7239cae _zend_hash_index_add_or_update_i() optimization 2018-05-29 00:09:49 +03:00
Peter Kokot 8cc8b48a63 Update year range in hrtime c and h files 2018-05-28 22:14:52 +02:00
Peter Kokot af01ef8741 Remove unused binary_pipes option
Option binary_pipes was added in PHP 6 which was then refactored
and this option was removed.
2018-05-28 22:14:37 +02:00
Nikita Popov c70468b8d3 Add note about heredoc BC break 2018-05-28 22:14:04 +02:00
Anatol Belski 6f4a01da21 Fix build without global registers 2018-05-28 20:44:58 +02:00
Dmitry Stogov 9af07b6ed5 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Translate correct C++ version with suitable compiler
  Fixed bug #76383 (array_map on $GLOBALS returns IS_INDIRECT)
2018-05-28 18:30:04 +03:00
Dmitry Stogov c27dda709c Removed dead code 2018-05-28 18:29:43 +03:00
Anatol Belski 74be58938c Merge branch 'PHP-7.2'
* PHP-7.2:
  Translate correct C++ version with suitable compiler
  Fixed bug #76383 (array_map on $GLOBALS returns IS_INDIRECT)
2018-05-28 17:15:22 +02:00
Anatol Belski d5ee654b71 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Translate correct C++ version with suitable compiler
  Fixed bug #76383 (array_map on $GLOBALS returns IS_INDIRECT)
2018-05-28 17:13:55 +02:00
Dmitry Stogov c9df8ac6c5 Separate common code into helper function 2018-05-28 18:11:43 +03:00
Dmitry Stogov ea26ab3393 Avoid reference-counting 2018-05-28 17:10:58 +03:00
Dmitry Stogov 5eb1f92f31 Use zend_string_release_ex() instread of zend_string_release() in places, where we sure about string persistence. 2018-05-28 16:27:12 +03:00
Dmitry Stogov 925f05dd1a Added missing debug arguments 2018-05-28 13:09:33 +03:00
Nikita Popov 8582e53430 Merge branch 'PHP-7.2' 2018-05-26 22:06:52 +02:00
Nikita Popov 4455899a93 Merge branch 'PHP-7.1' into PHP-7.2 2018-05-26 22:06:44 +02:00
Peter Kokot 2788ab9fa6 Enhance the ext_skel.php script file
- File is now executable
- Shebang added on top
- Normal UTF-8 encoding instead of UTF-8 with BOM
- trailing whitespaces trimmed as a CS fix
- Closing PHP tag removed in favor of readability, avoiding possible
  issues with whitespaces, and to comply with current CS from the
  PHP ecosystem - PSRs etc.
2018-05-26 22:00:17 +02:00
Nikita Popov cc98b88087 UPGRADING tweaks
Fix a typo and clarify that Reflection changes only affect string
export. No API relevant return values are changed.

[ci skip]
2018-05-26 21:59:36 +02:00
Christoph M. Becker 2c4556ee43 Update to Oniguruma 6.8.2 2018-05-26 14:03:20 +02:00
Christoph M. Becker e265a96d93 Fix #76137: config.guess/config.sub do not recognize RISC-V
These had their latest update more than three years ago, so there may
be even more issues.  Since the config project[1] does not have any
versioning, we're grabbing the most recent HEAD.

[1] <http://git.savannah.gnu.org/gitweb/?p=config.git;a=summary>
2018-05-25 15:20:25 +02:00
Nikita Popov 95c9d9d2d7 Add some upgrading notes for mbstring 2018-05-25 12:09:51 +02:00
Nikita Popov 9d63f4dec1 Fixed bug #76319
While at it, also make sure that mbstring case conversion takes
into account the specified substitution character and substitution
mode.
2018-05-25 11:33:13 +02:00
Joe Watkins 3382424903 Merge branch 'PHP-7.2'
* PHP-7.2:
  fix phpdbg disabling chroot support
2018-05-23 22:24:07 +02:00
Joe Watkins a422b1e60c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix phpdbg disabling chroot support
2018-05-23 22:23:53 +02:00
Pavel Kovář 11b5ec491f Export php_date_get_interval_ce() and php_date_get_period_ce() for extension use 2018-05-23 21:04:07 +02:00
Xinchen Hui 0aff0548cb Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Fixed bug #76367 (NoRewindIterator segfault 11)
2018-05-23 14:46:32 +08:00
Xinchen Hui a9d00be024 Update NEWS 2018-05-23 14:46:18 +08:00
Xinchen Hui dc461d6f56 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76367 (NoRewindIterator segfault 11)
2018-05-23 14:46:01 +08:00
Jakub Zelenka 3986b6ab6e Merge branch 'PHP-7.2' 2018-05-22 13:41:22 +01:00
Jakub Zelenka a231860b02 Merge branch 'PHP-7.1' into PHP-7.2 2018-05-22 13:40:23 +01:00
Xinchen Hui 6c3a38353c indent 2018-05-22 17:05:39 +08:00
Xinchen Hui bc1211b8b8 unnecessary branch 2018-05-22 17:04:42 +08:00
Anatol Belski 8c41e314c8 Merge branch 'PHP-7.2'
* PHP-7.2:
  Allow pecl like usage in ext/pdo, refs #2955
2018-05-21 12:20:27 +02:00
Anatol Belski 1c8c06a403 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Allow pecl like usage in ext/pdo, refs #2955
2018-05-21 12:19:45 +02:00
Anatol Belski 176552ba5e Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS
2018-05-20 14:28:36 +02:00
Anatol Belski 364fad275e [ci skip] Update NEWS 2018-05-20 14:27:23 +02:00
Anatol Belski bcb1dbf6e4 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #76337
2018-05-20 13:33:46 +02:00
xKhorasan 5681f6523b Fixed bug #76337 2018-05-20 13:33:03 +02:00
Anatol Belski d2d78cb3e8 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix versions, as 7.2.6RC is already out
2018-05-19 15:46:52 +02:00
Anatol Belski a8a1dc038c Fix versions, as 7.2.6RC is already out 2018-05-19 15:44:23 +02:00
Anatol Belski 4a17c9c25c Merge branch 'PHP-7.2'
* PHP-7.2:
  Refix the tests once more
2018-05-19 13:12:27 +02:00
Anatol Belski aebbf38df5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Refix the tests once more
2018-05-19 13:11:39 +02:00
Anatol Belski 2042304669 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix remaining AppVeyor test failures due to the image update
2018-05-19 11:45:17 +02:00
Anatol Belski 6fc405e851 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix remaining AppVeyor test failures due to the image update
2018-05-19 11:44:26 +02:00
Anatol Belski 4fb8304143 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix Opcache test fails regarding to AppVeyor image update
2018-05-18 18:39:07 +02:00
Anatol Belski f7b431fb30 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix Opcache test fails regarding to AppVeyor image update
2018-05-18 18:37:53 +02:00
Jakub Zelenka 587cede59d Merge branch 'PHP-7.2' 2018-05-18 17:25:06 +01:00
Jakub Zelenka b027071688 Merge branch 'PHP-7.1' into PHP-7.2 2018-05-18 17:23:17 +01:00
Anatol Belski ef9922faa9 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix curl tests wrt. AppVeyor and curl updates
2018-05-18 17:44:48 +02:00
Anatol Belski e470068293 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix curl tests wrt. AppVeyor and curl updates
2018-05-18 17:43:58 +02:00
Anatol Belski a551d75942 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix cli server test fails after recent AppVeyor image update
2018-05-18 13:41:14 +02:00
Anatol Belski a8422edced Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix cli server test fails after recent AppVeyor image update
2018-05-18 13:40:42 +02:00
Anatol Belski e788708e01 [ci skip] Add upgrading note 2018-05-17 13:18:43 +02:00
Anatol Belski 9d4da80e90 Implemented winsock info import/export 2018-05-17 11:36:23 +02:00
Anatol Belski 1cdf5b7b4b Allow appending an arbitrary suffix to the packages 2018-05-16 17:10:23 +02:00
Anatol Belski 8ebb6e1d9d Extend compile conditions 2018-05-15 11:57:32 +02:00
Christoph M. Becker b9f99a3aed Fix typos 2018-05-14 23:50:42 +02:00
Christoph M. Becker 027dd86107 Dump obsolete EBCDIC support
As already suggested by Thies this code won't compile anymore, because
php3_rqst has been removed in 1999[1].  Since apparently nobody
complained about that, we assume that EBCDIC support isn't required
here, and rid the respective code.

Furthermore, the code appears to be erroneous anyway, since at least
XBM isn't a binary file format.

[1] <https://github.com/php/php-src/commit/3cd0af11eea32f802228004af8fe424c62c8fbfb#diff-1a9cfc6173e3a434387996e46086da56L258>
2018-05-14 23:26:43 +02:00
Dmitry Stogov e9e2d068b6 Fixed conditions 2018-05-14 17:23:37 +03:00
Anatol Belski ce3dae4881 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
2018-05-14 12:10:19 +02:00
Anatol Belski c8ab9e1e53 [ci skip] Update NEWS 2018-05-14 12:09:36 +02:00
Anatol Belski 11e36411c1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-05-14 12:08:52 +02:00
Anatol Belski 4fc68911ca Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #76335 "link(): Bad file descriptor" with non-ASCII path
2018-05-14 10:45:22 +02:00
Anatol Belski 1228f31cd2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76335 "link(): Bad file descriptor" with non-ASCII path
2018-05-14 10:44:49 +02:00
Anatol Belski f5ce1fb724 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
2018-05-14 08:45:31 +02:00
Anatol Belski cbee239262 [ci skip] Update NEWS 2018-05-14 08:44:50 +02:00
Anatol Belski 683635dff6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-05-14 08:43:10 +02:00
Anatol Belski 038a2e4756 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #76333 PHP built-in server does not find files if root path contains special characters
2018-05-13 18:43:12 +02:00
Anatol Belski 398204ace9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76333 PHP built-in server does not find files if root path contains special characters
2018-05-13 18:42:36 +02:00
Jakub Zelenka 2a2bf97a9a Fix keylen type mismatch in openssl_pkey_derive 2018-05-11 17:05:03 +01:00
Jakub Zelenka 1f474272e5 Update NEWS and UPGRADING for openssl_pkey_derive 2018-05-09 19:56:34 +01:00
Jakub Zelenka a76633444c Fix openssl_pkey_derive arginfo 2018-05-09 19:38:47 +01:00
Jim Zubov 897133fbda Add openssl_pkey_derive 2018-05-09 19:37:01 +01:00
Anatol Belski a886ca920f Merge branch 'PHP-7.2'
* PHP-7.2:
  Update SDK version for AppVeyor
  bump versions
2018-05-09 11:31:07 +02:00
Anatol Belski 41aa83f0c2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update SDK version for AppVeyor
  bump versions
2018-05-09 11:30:09 +02:00
Dmitry Stogov 524f5245c5 Avoid useless checks, using zend_string_efree(), in cases where the string is known to be a temporary allocated zend_string. 2018-05-08 17:30:15 +03:00
Dmitry Stogov 9565075cbd Destroy function arguments in direct order 2018-05-08 15:28:57 +03:00
Xinchen Hui a48ade17db Cleanup 2018-05-08 17:32:35 +08:00
Dmitry Stogov 4ad9cf4605 Bit test optimization 2018-05-08 11:58:17 +03:00
Derick Rethans dc796b04c1 Updated to version 2018.5 (2018e) 2018-05-08 09:24:28 +01:00
Derick Rethans 012be34575 Empty merge 2018-05-08 09:24:28 +01:00
Derick Rethans 1a25137a69 Updated to version 2018.5 (2018e) 2018-05-08 09:24:27 +01:00
Derick Rethans 348b5eb434 Empty merge 2018-05-08 09:24:27 +01:00
Dmitry Stogov b8a91ac50b Use "fastcall" calling convention 2018-05-08 01:31:49 +03:00
Dmitry Stogov 1e00b767a4 Use iteration instead of recursion 2018-05-08 01:22:39 +03:00
Dmitry Stogov 858d545ce6 micro optimization 2018-05-08 00:22:04 +03:00
Dmitry Stogov 63f5e11d9b Use add/sub instead of inc/dec 2018-05-08 00:00:59 +03:00
Dmitry Stogov 880694952f micro optimisation 2018-05-07 22:29:16 +03:00
Anatol Belski 3430a1cc9b Merge branch 'PHP-7.2'
* PHP-7.2:
  Update _bits_per_char to use with new PHP 7.1. or greater
2018-05-07 14:43:08 +02:00
Anatol Belski 8ad44700cf Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update _bits_per_char to use with new PHP 7.1. or greater
2018-05-07 14:42:51 +02:00
Dmitry Stogov a0e4488ec7 Optimize zend_hash_find() for the most usual case 2018-05-07 15:18:02 +03:00
Anatol Belski 1bb1f17827 Fix default credentials when none was passed 2018-05-07 12:14:38 +02:00
Anatol Belski 7fbcedb7df Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
2018-05-06 16:16:19 +02:00
Anatol Belski 637e47a5ed [ci skip] Update NEWS 2018-05-06 16:15:42 +02:00
Anatol Belski 538ff93876 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-05-06 16:15:13 +02:00
Anatol Belski 6fe3bf7831 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update libs_version.txt
2018-05-06 16:10:42 +02:00
Anatol Belski b00a5c03e6 [ci skip] Update libs_version.txt 2018-05-06 16:10:10 +02:00
Dmitry Stogov 34ed8e53fe Changed worst HashTable load factor from 1.0 to 0.5 2018-05-04 02:41:35 +03:00
Pedro Magalhães 2dca8671e4 Fix #76300 - Dont attempt to change visibility of a parent private 2018-05-03 21:54:44 +01:00
Dmitry Stogov eafa92ba9d zend_fcall_info_cache.calling_scope is not used by zend_call_function() and doesn't have to be initialized.
It's used only as a result of zend_is_callable() in forward_static_call and spl_autoload.
2018-05-03 19:27:04 +03:00
Dmitry Stogov fdb347a753 zend_is_callable() improvement 2018-05-03 19:25:53 +03:00
Anatol Belski 12da45ada0 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix tests, ref bug #74385
2018-05-03 17:17:02 +02:00
Anatol Belski b0def5bde9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix tests, ref bug #74385
2018-05-03 17:16:42 +02:00
Anatol Belski 97dbbaab14 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #74385 Locale::parseLocale() broken with some arguments
2018-05-03 16:44:22 +02:00
Anatol Belski e01d0387d1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #74385 Locale::parseLocale() broken with some arguments
2018-05-03 16:43:59 +02:00
Dmitry Stogov 1a63fa6ec9 Implemented Request #76178 (Class constants are slow: they should be inlined at runtime)
Run-time cache is used to eliminate recalculation of constant expression in RECV_INIT opcode (only non reference countable values are cached).
2018-05-03 14:40:18 +03:00
Dmitry Stogov 5a31e14beb Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp)
2018-05-03 12:12:07 +03:00
Dmitry Stogov 3fe2e2a372 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp)
2018-05-03 12:11:07 +03:00
Anatol Belski a8ec35ac38 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix shared ext/zip build with static dependency lib
2018-05-02 17:28:10 +02:00
Anatol Belski afc3f6e8d5 Fix shared ext/zip build with static dependency lib 2018-05-02 17:26:37 +02:00
Anatol Belski dbea6e154d Update libmagic.patch 2018-04-30 14:29:55 +02:00
Anatol Belski 94699d2ade Use suitable datatypes 2018-04-30 14:27:11 +02:00
Anatol Belski f603ab57fc Reuse the struct timespec based pieces in libmagic 2018-04-30 12:02:47 +02:00
Thomas Punt 26b0385df8 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix potential memory leak in the enchant extension
  Fix potential memory leak in curl extension
2018-04-29 20:05:20 +01:00
Thomas Punt 3139be0bea Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix potential memory leak in the enchant extension
  Fix potential memory leak in curl extension
2018-04-29 20:04:18 +01:00
Anatol Belski cf45479a19 Reuse strcasestr implementation from libmagic 2018-04-29 19:39:57 +02:00
Thomas Punt 5295c35f69 Merge branch 'master' of https://git.php.net/push/php-src 2018-04-29 17:39:22 +01:00
Thomas Punt 091f69e869 Merge branch 'PHP-7.2'
* PHP-7.2:
  The SO_PASSCRED constant is conditionally defined
2018-04-29 17:38:59 +01:00
Thomas Punt beab622265 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  The SO_PASSCRED constant is conditionally defined
2018-04-29 17:38:12 +01:00
Anatol Belski 09db1ae4b7 Fix C89 compat 2018-04-29 16:18:59 +02:00
Anatol Belski e2182a1ba7 Port libmagic 5.33 2018-04-29 16:02:08 +02:00
Thomas Punt 74ecbbebe5 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix potential memory leaks in sockets extension
2018-04-28 13:58:45 +01:00
Thomas Punt d990b9316a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix potential memory leaks in sockets extension
2018-04-28 13:57:30 +01:00
Dmitry Stogov c88be6aee1 Bit check micro-optimization 2018-04-28 14:13:12 +03:00
Dmitry Stogov 8a719c1b12 Fixed mess between BOOL and SUCCESS/FAILURE 2018-04-28 14:12:36 +03:00
Dmitry Stogov f56f2ca6ed Merge branch 'PHP-7.2'
* PHP-7.2:
  Revert "Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp)."
  Revert "Merge branch 'PHP-7.1' into PHP-7.2"
2018-04-28 13:29:17 +03:00
Dmitry Stogov a0d8cedd2b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Revert "Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp)."
2018-04-28 13:29:05 +03:00
Dmitry Stogov f8c1ce18e9 Revert "Merge branch 'PHP-7.1' into PHP-7.2"
This reverts commit c547c1b980, reversing
changes made to 4c083e7a66.
2018-04-28 13:27:36 +03:00
Dmitry Stogov 1b305ecdcc Revert "Merge branch 'PHP-7.2'"
This reverts commit f75b8a44cc, reversing
changes made to aeb734910a.
2018-04-28 13:26:32 +03:00
Dmitry Stogov 83f98f7340 Don't store values of PHP_SAPI and PHP_BINARY in file cache, because it may be used by different SAPI. 2018-04-28 01:20:49 +03:00
Dmitry Stogov f75b8a44cc Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp).
2018-04-28 00:28:01 +03:00
Dmitry Stogov c547c1b980 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76205 (PHP-FPM sporadic crash when running Infinitewp).
2018-04-28 00:24:56 +03:00
Nikita Popov aeb734910a Merge branch 'PHP-7.2' 2018-04-27 22:24:36 +02:00
Nikita Popov 4c083e7a66 Merge branch 'PHP-7.1' into PHP-7.2 2018-04-27 22:23:55 +02:00
Nikita Popov 1c887eaf0d Merge branch 'PHP-7.2' 2018-04-27 17:02:40 +02:00
Nikita Popov 2c602be7c8 Merge branch 'PHP-7.1' into PHP-7.2 2018-04-27 17:02:01 +02:00
Thomas Punt 31914a827e Merge branch 'PHP-7.2'
* PHP-7.2:
  Allocate default ini values into persistent memory
2018-04-26 21:09:34 +01:00
Thomas Punt 972c4869a7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Allocate default ini values into persistent memory
2018-04-26 21:09:08 +01:00
Thomas Punt d08f1c5f5b Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix memory leak when phpdbg fails to start up
2018-04-26 16:44:02 +01:00
Thomas Punt b3fff5fc41 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix memory leak when phpdbg fails to start up
2018-04-26 16:42:21 +01:00
Nikita Popov 3182292015 Fix unused variable warnings 2018-04-26 16:53:58 +02:00
David Carlier 86cff0bd4c Avoid using _N in SSE code
The _N constant is already defined in OpenSSL. Instead use some
more explicit variable names.
2018-04-26 16:50:19 +02:00
Nikita Popov 32692bb083 Merge branch 'PHP-7.2' 2018-04-26 16:17:23 +02:00
Nikita Popov 7c852a7961 Merge branch 'PHP-7.1' into PHP-7.2 2018-04-26 16:17:13 +02:00
Anatol Belski 16216b6666 Switch to more robust config for external pcre2
For the standard layout the first option is pkg-config. Otherwise,
pcre2-config is used, which is produced by a manual installation into a
prefix. This removes the most of the hackish pieces like checking for
the lib filenames and parsing headers.
2018-04-26 14:20:36 +02:00
Anatol Belski d22d99a344 Fix regex 2018-04-25 16:30:10 +02:00
Anatol Belski 217354899b Revamp pcre config for build with external lib
- support multiarch in addition to the usual lib path
- fix symbol checks
- fix jit availability check
- exit early on unsupported version
2018-04-25 16:17:20 +02:00
Scott Arciszewski 8677edb2dd Update NEWS
Add whitespace in NEWS file
2018-04-25 07:39:31 +02:00
Ferenc Kovacs a19ce1eee6 Merge branch 'PHP-7.2' 2018-04-25 00:18:24 +02:00
Ferenc Kovacs 029a60b2c7 Merge branch 'PHP-7.1' into PHP-7.2 2018-04-25 00:16:12 +02:00
Remi Collet e79013a71f Merge branch 'PHP-7.2'
* PHP-7.2:
  update NEWS for 7.2.5
2018-04-24 17:28:25 +02:00
Remi Collet 42344cdc53 update NEWS for 7.2.5 2018-04-24 17:28:05 +02:00
Anatol Belski e107a03419 Fix lib names for build with external libpcre2 2018-04-24 17:06:27 +02:00
Anatol Belski b9c2b92b45 Merge branch 'PHP-7.2'
* PHP-7.2:
  7.0.31 next
2018-04-24 11:38:14 +02:00
Anatol Belski d8f2e1a511 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  7.0.31 next
2018-04-24 11:37:57 +02:00
Anatol Belski 1bf46047c7 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS
2018-04-24 11:26:27 +02:00
Anatol Belski 6e5287bb95 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-04-24 11:24:10 +02:00
Anatol Belski 1de1c86688 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix test portability
2018-04-24 10:49:34 +02:00
Anatol Belski 1df43a086f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test portability
2018-04-24 10:49:15 +02:00
Stanislav Malyshev 99f1d904a0 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix tsrm_ls
  Fix #76129 - remove more potential unfiltered outputs for phar
  Fix test
  Fix bug #76248 - Malicious LDAP-Server Response causes Crash
  Fix bug #76249 - fail on invalid sequences
  Fix #76130: Heap Buffer Overflow (READ: 1786) in exif_iif_add_value
  Fix bug #75981: prevent reading beyond buffer start
2018-04-23 22:04:22 -07:00
Stanislav Malyshev 4c06d929c0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix tsrm_ls
  Fix #76129 - remove more potential unfiltered outputs for phar
  Fix test
  Fix bug #76248 - Malicious LDAP-Server Response causes Crash
  Fix bug #76249 - fail on invalid sequences
  Fix #76130: Heap Buffer Overflow (READ: 1786) in exif_iif_add_value
  Fix bug #75981: prevent reading beyond buffer start
2018-04-23 22:03:33 -07:00
Stanislav Malyshev 03108697b8 Merge branch 'PHP-7.2'
* PHP-7.2:
  Add a bit of defensive conding for bug #76155
2018-04-22 20:28:44 -07:00
Stanislav Malyshev 83e7618f05 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add a bit of defensive conding for bug #76155
2018-04-22 20:28:35 -07:00
Anatol Belski 978cef04a5 Implement output verbosity seting for nmakefile 2018-04-20 11:19:16 +02:00
Anatol Belski c4f4cc95c7 Avoid strlen calls for regexes 2018-04-19 13:29:58 +02:00
Anatol Belski 2e5ac355b9 Move to unsigned types in phar
Preventing integer overflows in principle, which allows to avoid additional
range checks. The phar format is based on 32-bit lengths, so the storage
sizes was kept same.
2018-04-18 20:15:05 +02:00
Jakub Zelenka 8327c4c3bd Merge branch 'PHP-7.2' 2018-04-15 20:43:17 +01:00
Jakub Zelenka 98e43a33c8 Merge branch 'PHP-7.1' into PHP-7.2 2018-04-15 20:42:28 +01:00
Mark Seuffert 193c02875a No Content-Type header if MIME type is unknown 2018-04-14 13:08:53 +02:00
Levi Morrison 0c80cb164f Fix bug #76198 2018-04-14 13:07:44 +02:00
Nikita Popov 33bc061df2 Merge branch 'PHP-7.2' 2018-04-14 13:06:13 +02:00
Nikita Popov ac732d75bd Merge branch 'PHP-7.1' into PHP-7.2 2018-04-14 13:06:00 +02:00
Thomas Punt 4887357269 Implement flexible heredoc/nowdoc syntax
RFC: https://wiki.php.net/rfc/flexible_heredoc_nowdoc_syntaxes

* The ending label no longer has to be followed by a semicolon or
  newline. Any non-label character is fine.
* The ending label may be indented. The indentation will be stripped
  from all lines in the heredoc/nowdoc string.

Lexing of heredoc strings performs a scan-ahead to determine the
indentation of the ending label, so that the correct amount of
indentation can be removed when calculting the semantic values for
use by the parser. This makes the implementation quite a bit more
complicated than we would like :/
2018-04-13 21:35:37 +02:00
Jakub Zelenka dca2d9d56d Merge branch 'PHP-7.2' 2018-04-13 20:18:50 +01:00
Jakub Zelenka b8aec1e725 Merge branch 'PHP-7.1' into PHP-7.2 2018-04-13 20:17:52 +01:00
Jakub Zelenka b7b65fbc7b Merge branch 'PHP-7.2' 2018-04-13 20:13:18 +01:00
Jakub Zelenka 4302c0b542 Merge branch 'PHP-7.1' into PHP-7.2 2018-04-13 20:12:03 +01:00
Christoph M. Becker 9993304da4 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix arginfo for array_replace(_recursive) and array_merge(_recursive)
2018-04-13 15:36:15 +02:00
Christoph M. Becker 3770c2e463 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix arginfo for array_replace(_recursive) and array_merge(_recursive)
2018-04-13 15:28:47 +02:00
Christoph M. Becker 7c65345e18 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #76164: exif_read_data zend_mm_heap corrupted
2018-04-12 23:02:07 +02:00
Christoph M. Becker 281a1754b9 Fix #76164: exif_read_data zend_mm_heap corrupted
We must not release parsed parameters ourselves, since this is already
done by the engine.
2018-04-12 23:00:37 +02:00
Christoph M. Becker c8c0bb11e7 [ci skip] Update UPGRADING
Cf. ce1d69a1f6 and
fef879a2d6, respectively.

Patch provided by Gabriel Caruso.
2018-04-12 19:00:22 +02:00
Anatol Belski 319856dc62 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix memory leak
2018-04-12 18:26:31 +02:00
Anatol Belski 9f4905fb0d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix memory leak
2018-04-12 18:25:58 +02:00
Anatol Belski d16d80f6de Merge branch 'PHP-7.2'
* PHP-7.2:
  bump versions
2018-04-12 18:24:11 +02:00
Anatol Belski ab68d90057 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  bump versions
2018-04-12 18:23:23 +02:00
Christoph M. Becker 7eeb139829 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS
2018-04-12 18:12:41 +02:00
Christoph M. Becker ab200bd660 [ci skip] Update NEWS
Cf. 68296c4055.
2018-04-12 18:11:41 +02:00
Christoph M. Becker 255d38934b Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed #74892 - Fixed URL rewriting for urls started with #
2018-04-12 17:51:05 +02:00
Andrew Nester 68296c4055 Fixed #74892 - Fixed URL rewriting for urls started with #
(cherry picked from commit 6c32d271d2)

This should have already been merged via
9cd82df0bb, but that merge went wrong.
2018-04-12 17:28:35 +02:00
Remi Collet c9d11a9ddb Merge branch 'PHP-7.2'
* PHP-7.2:
  next is 7.2.6
2018-04-11 07:54:31 +02:00
Remi Collet 0d87a0ba57 next is 7.2.6 2018-04-11 07:53:53 +02:00
Christoph M. Becker d2ebe41464 Update bundled libsqlite to 3.23.1 2018-04-10 23:20:21 +02:00
George Wang 6e8cce08f9 Merge branch 'PHP-7.2' 2018-04-10 16:57:49 -04:00
George Wang 043ac320a0 Merge branch 'PHP-7.1' into PHP-7.2 2018-04-10 16:49:29 -04:00
Xinchen Hui 085999c16c Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Fixed bug #76143 (Memory corruption: arbitrary NUL overwrite)
2018-04-10 16:33:51 +08:00
Xinchen Hui 22a8ea2a0a Update NEWS 2018-04-10 16:33:31 +08:00
Xinchen Hui 474895915e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76143 (Memory corruption: arbitrary NUL overwrite)
2018-04-10 16:32:28 +08:00
Anatol Belski 14de058086 Rethink conditions
Raise the requirement to ICU 56. Mixing both old and new normalizer APIs
would create too much complexity. Therefore go by the recommended ICU
version where all the normalizer API became stable. For the older ICU,
the deprecated normalizer API is used.
2018-04-06 21:33:13 +02:00
Anatol Belski 39301abbe1 Expose functionality for NFKC_Casefold normalization 2018-04-06 18:14:11 +02:00
Anatol Belski f9a3519f41 Sync normalizer_get_raw_decomposition() to allow passing form
as it is the case with the other Normalizer methods.
2018-04-06 11:13:15 +02:00
Anatol Belski 36014ad23f Replace the deprecated API by the newer one available with ICU 56+ 2018-04-06 10:12:44 +02:00
Khan M Rashedun-Naby ef79b3ae0c Author Name Character Fix 2018-04-06 08:37:09 +02:00
Anatol Belski 13a5020f98 Check feature availability as ICU < 49 is still supported 2018-04-05 18:08:49 +02:00
Anatol Belski 9a8e7b5718 Use recommended way to handle utf*.h headers and obsolete symbols 2018-04-05 17:22:44 +02:00
Anatol Belski 863aeddc35 Merge branch 'PHP-7.2'
* PHP-7.2:
  Group common flags
2018-04-05 16:46:34 +02:00
Anatol Belski e01f88df7c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Group common flags
2018-04-05 16:45:41 +02:00
Anatol Belski df2e4fd8fc Merge branch 'PHP-7.2'
* PHP-7.2:
  Rename var
2018-04-05 14:56:45 +02:00
Anatol Belski 7768f5e2de Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Rename var
2018-04-05 14:54:14 +02:00
Anatol Belski 50c8d3e0e7 Fix comparison 2018-04-05 14:22:38 +02:00
Anatol Belski 13a2f2d041 Move to non deprecated API on suitable ICU versions 2018-04-05 13:58:03 +02:00
Anatol Belski 08178ed231 Use recommended options for explicit UnicodeString constructors 2018-04-05 13:09:42 +02:00
Christoph M. Becker a9ab5d473b [ci skip] Update UPGRADING
5c5bd30339 removed support for `--with-libmbfl`.
2018-04-04 14:11:37 +02:00
Dmitry Stogov 4df89a31b0 Eliminate useless checks 2018-04-04 02:12:26 +03:00
Dmitry Stogov cb464a53c8 Use "fastcall" calling convention 2018-04-04 01:12:59 +03:00
George Wang 005f2a4676 Merge branch 'PHP-7.2' 2018-04-03 11:48:00 -04:00
George Wang 1e1695e8de Merge branch 'PHP-7.1' into PHP-7.2 2018-04-03 11:47:41 -04:00
Anatol Belski 3aa030e7d9 Merge branch 'PHP-7.2'
* PHP-7.2:
  Sync fix for bug #72498 for 32-bit
2018-04-03 17:25:52 +02:00
Anatol Belski 2115878aaa Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync fix for bug #72498 for 32-bit
2018-04-03 17:25:13 +02:00
Chris Wright 658a23a974 Remove warnings from inet_pton()/inet_ntop() 2018-04-03 14:51:47 +01:00
Anatol Belski 8e6d7f0d8f Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
2018-04-03 11:30:14 +02:00
Anatol Belski 062f93c93e [ci skip] Update NEWS 2018-04-03 11:29:38 +02:00
Anatol Belski 5cd94db8bb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-04-03 11:29:08 +02:00
Anatol Belski 917b3e716a Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix shared ext/intl compilation
  Better explanation for the opcache.max_wasted_percentage ini setting since it was pretty confusing before
2018-04-03 10:44:01 +02:00
Anatol Belski 22e8a3c347 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix shared ext/intl compilation
2018-04-03 10:43:17 +02:00
Christoph M. Becker a4cbd80b8d Update bundled libsqlite to 3.23.0 2018-04-02 23:20:20 +02:00
Dmitry Stogov dc091870ea Prefer reloading key->h 2018-04-02 23:43:37 +03:00
Dmitry Stogov db307eae03 Dereference child1 only after NULL check 2018-04-02 22:16:58 +03:00
Anatol Belski d8200e4885 Simplify namespace access
The icu namespace is an alias which resolves to the real namespace.
2018-04-01 01:03:40 +02:00
Anatol Belski 8d35a42383 Utilize the recommended way to handle the icu namespace 2018-03-31 18:51:56 +02:00
Anatol Belski cad2a0f9c3 Revert the automatic namespace addition 2018-03-31 18:51:56 +02:00
Rasmus Lerdorf 4b4cd6907f Better explanation for the opcache.max_wasted_percentage ini setting
since it was pretty confusing before
2018-03-30 13:28:45 -07:00
Rasmus Lerdorf aaae3637e0 Better explanation for the opcache.max_wasted_percentage ini setting
since it was pretty confusing before
2018-03-30 13:24:17 -07:00
Christoph M. Becker ab592df5dd Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #52070: imagedashedline() - dashed line sometimes is not visible
2018-03-30 19:39:44 +02:00
Christoph M. Becker 76f421dd3a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #52070: imagedashedline() - dashed line sometimes is not visible
2018-03-30 19:29:10 +02:00
Jakub Zelenka 6441b1bb31 Merge branch 'PHP-7.2' 2018-03-30 18:02:07 +01:00
Jakub Zelenka 8b642af484 Merge branch 'PHP-7.1' into PHP-7.2 2018-03-30 17:58:29 +01:00
Dmitry Stogov d4aba32d8c Cache negative defined() results 2018-03-30 16:41:02 +03:00
Anatol Belski ef85100169 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix clang build, ref buf #76153
2018-03-30 14:17:34 +02:00
Anatol Belski 35e3d597f5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix clang build, ref buf #76153
2018-03-30 14:16:44 +02:00
Anatol Belski cc7b4b7e52 Switch to PostgreSQL 10 for AppVeyor tests 2018-03-29 18:31:17 +02:00
Anatol Belski c4a2824cb4 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update binary SDK version for AppVeyor
2018-03-29 17:01:27 +02:00
Anatol Belski 99194d1831 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update binary SDK version for AppVeyor
2018-03-29 17:00:47 +02:00
Anatol Belski a6ac5699b6 Merge branch 'PHP-7.2'
* PHP-7.2:
  Adjust tests for ICU 61.1 compatibility
2018-03-29 14:14:29 +02:00
Anatol Belski 9510611cdd Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Adjust tests for ICU 61.1 compatibility
2018-03-29 14:13:48 +02:00
Dmitry Stogov 4aa9505b6e Merge identical handlers 2018-03-29 11:13:17 +03:00
Ferenc Kovacs 2f0950d599 Merge branch 'PHP-7.2' 2018-03-28 23:23:06 +02:00
Ferenc Kovacs 87a9fc3b85 Merge branch 'PHP-7.1' into PHP-7.2 2018-03-28 23:21:04 +02:00
Anatol Belski 3f8d05b16c Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #76153 Intl compilation fails with icu4c 61.1
2018-03-28 18:05:22 +02:00
Anatol Belski 4e39968e4d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76153 Intl compilation fails with icu4c 61.1
2018-03-28 18:04:09 +02:00
Joe Watkins 9b89b09b24 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed #75996: Add the right urls to the header of mt_rand.
2018-03-27 22:10:34 +02:00
Joe Watkins fc6cbc3eaa Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed #75996: Add the right urls to the header of mt_rand.
2018-03-27 22:09:42 +02:00
johnstevenson 5ff9d229ef Test ini file reporting functions 2018-03-27 22:07:12 +02:00
Gabriel Caruso a09c851ca9 Remove, or fix, unused variables 2018-03-27 22:04:26 +02:00
Joe Watkins f37e95a443 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #76131 some arginfo params are different from the documentation
2018-03-27 22:00:31 +02:00
Joe Watkins 3e267ca91b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #76131 some arginfo params are different from the documentation
2018-03-27 21:58:24 +02:00
solotandem 94b4abdbc4 Be consistent in is_executable on a directory in any stream wrapper.
Current code treats the 'local files' stream wrapper ('php_plain_files_wrapper')
  different than all other stream wrappers. For the 'local' stream wrapper,
  is_executable only checks the mode key in the filestat array on the file or
  directory in question. For other stream wrappers, is_executable always returns
  FALSE on a directory. This treatment is inconsistent on its face.

  Also, for a custom stream wrapper that also points to local files, the result
  of is_executable is always FALSE even though it may be TRUE if the function were
  called on the same item using the 'local' stream wrapper from PHP.

  NOTE: patch does not attempt to add a test for this as there are no tests of
  is_executable for stream wrappers.
2018-03-27 21:49:26 +02:00
Anatol Belski 51172e81aa Merge branch 'PHP-7.2'
* PHP-7.2:
  Update libs_versions.txt
2018-03-27 19:47:03 +02:00
Anatol Belski a492fe213a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update libs_versions.txt
2018-03-27 19:46:25 +02:00
Anatol Belski 2b8772a540 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Fix release date
2018-03-27 16:05:21 +02:00
Anatol Belski c529e9f602 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Fix release date
2018-03-27 16:04:38 +02:00
Anatol Belski acec6f7fe9 Merge branch 'PHP-7.2'
* PHP-7.2:
  7.0.30 next
2018-03-27 15:04:37 +02:00
Anatol Belski 8b2bfaab66 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  7.0.30 next
2018-03-27 15:02:46 +02:00
Anatol Belski 9a7ee28fbd Merge branch 'PHP-7.2'
* PHP-7.2:
  [skip ci] Update NEWS
  [ci skip] Update NEWS
  [ci skip] Update NEWS
  [ci skip] Update NEWS
2018-03-27 14:30:01 +02:00
Anatol Belski 8b20e86491 [skip ci] Update NEWS 2018-03-27 14:29:03 +02:00
Anatol Belski d83a75bb00 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
  [ci skip] Update NEWS
2018-03-27 14:28:20 +02:00
Anatol Belski 5e00c15b88 Merge branch 'PHP-7.2'
* PHP-7.2:
  Do not set PR_SET_DUMPABLE by default
  Do not set PR_SET_DUMPABLE by default
2018-03-27 14:21:42 +02:00
Anatol Belski 600b6277f8 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Do not set PR_SET_DUMPABLE by default
  Do not set PR_SET_DUMPABLE by default
2018-03-27 14:20:53 +02:00
Anatol Belski 6cce3548f1 Fix datatypes 2018-03-26 15:10:16 +02:00
Anatol Belski e9cbd3c4b0 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix phpize build when DEFINE() is involved
2018-03-26 13:39:30 +02:00
Anatol Belski 35f832a007 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix phpize build when DEFINE() is involved
2018-03-26 13:38:55 +02:00
Tim Bazuin 033907b9a5 Add support for rl_completion_suppress_append and rl_completion_append_character
These options are only available with libreadline.
2018-03-25 18:21:35 +02:00
timurib f7f48643e7 Remove redundant warning in array_push() and array_unshift()
Cf. https://github.com/php/php-src/pull/3011.
2018-03-25 17:49:04 +02:00
Anatol Belski 4be28e3f8e Merge branch 'PHP-7.2'
* PHP-7.2:
  Sync version for VC++ 15.7
2018-03-25 13:00:48 +02:00
Anatol Belski 86aecd8801 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync version for VC++ 15.7
2018-03-25 12:59:59 +02:00
Christoph M. Becker 5cb825df72 Fix #69948: path/domain are not sanitized in setcookie
For improved security, characters not allowed for name and value should
also be forbidden for path and domain.
2018-03-24 17:32:30 +01:00
Christoph M. Becker aed1e358dc Implement #51368: php_filter_float does not allow custom thousand separators
A set of hard-coded thousand separator characters (presently, `',.`) is
somewhat limited (users may prefer other separators, such as spaces or
underscores), as well as somewhat too liberal (arbitrary combinations
of different thousand separators are presently possible).  Therefore we
introduce a `thousand` option analogous to `decimal`, which allows to
define the desired thousand separators as non-empty string, defaulting
to `',.`.  While we easily could support empty strings here as well,
that would not make much sense, since this behavior can more easily be
accomplished by not setting the `FILTER_FLAG_ALLOW_THOUSAND` flag in
the first place.
2018-03-24 15:04:32 +01:00
Nikita Popov 9a3bb1201f Merge branch 'PHP-7.2' 2018-03-24 13:16:31 +01:00
Nikita Popov 3306577797 Followup fix for bug #75729
The case of overloaded substr() with 3 arguments was not handled.
2018-03-24 13:15:59 +01:00
Derick Rethans f16e0f8bbe Updated to version 2018.4 (2018d) 2018-03-24 11:26:17 +00:00
Derick Rethans 7c430fc0ee Empty merge 2018-03-24 11:26:17 +00:00
Derick Rethans c72c4c5271 Updated to version 2018.4 (2018d) 2018-03-24 11:26:16 +00:00
Derick Rethans ab5dcc83a1 Empty merge 2018-03-24 11:26:16 +00:00
Nikita Popov c069adb4ba Merge branch 'PHP-7.2' 2018-03-23 22:04:18 +01:00
Michael Heimpold 25ba60b147 Fixed bug #75722: Rework valgrind detection
As described in bug report #75722, the configure script (acinclude.m4)
currently searches for the valgrind header file and enables valgrind
support if found.

When cross-compiling the searched paths are invalid for the target
platform because they belong to the host system. At the moment, there is
no way to tell the build system a dedicated path where to look for the
header file.

This leads to the issue, that when cross-compiling eg. for ARMv5 platform,
that valgrind header file is detected - e.g. because host system is amd64 -
and support is enabled - but target platform will never support valgrind
(valgrind requires e.g. at least ARMv7).

This change reworks the detection so that user could manually opt-in
valgrind support and optionally specify a directory where the build system
should look for the header file using the --with-valgrind option.
2018-03-23 22:02:17 +01:00
Tom Van Looy 7f4327bc24 Fix expat_compat.h path used in #include
Using ext/xml/expat_compat.h does not work if the extension is
compiled out-of-tree.
2018-03-23 22:01:25 +01:00
Gabriel Caruso 543cab8a00 Small improvements to run-tests
* substr instead of preg_match
* cast instead of settype
* remove $borked and check if $bork_info isn't null to report borked
tests
* remove some error control operators
2018-03-23 21:15:18 +01:00
Nikita Popov bd4b203585 Merge branch 'PHP-7.2' 2018-03-23 21:14:58 +01:00
Thomas Petazzoni 2842aa2a07 main/php_ini.c: build empty php_load_zend_extension_cb() when !HAVE_LIBDL
Commit 0782a7fc63 ("Fixed bug #74866
extension_dir = "./ext" now use current directory for base") modified
the php_load_zend_extension_cb() function to use php_load_shlib(), and
pass a handle to the newly introduced zend_load_extension_handle()
function instead of passing the extension path to
zend_load_extension().

While doing so, it introduced a call to php_load_shlib() from code
that is built even when HAVE_LIBDL is not defined. However,
php_load_shlib() is not implemented when HAVE_LIBDL is not defined,
for obvious reasons.

It turns out that zend_load_extension_handle() anyway doesn't do
anything when ZEND_EXTENSIONS_SUPPORT is defined to 0, and
ZEND_EXTENSIONS_SUPPORT is not defined when HAVE_LIBDL is not defined
(Zend/zend_portability.h).

Fixes the following build failure when building on a system that
doesn't have libdl:

main/php_ini.o: In function `php_load_zend_extension_cb':
php_ini.c:(.text+0x478): undefined reference to `php_load_shlib'
php_ini.c:(.text+0x4b0): undefined reference to `php_load_shlib'
collect2: error: ld returned 1 exit status

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-03-23 21:13:45 +01:00
David Carlier 112578fc35 Don't use optimize pragmas with clang 2018-03-23 19:05:51 +01:00
Khan M Rashedun-Naby 08e6840801 Fix typo in crc32.h 2018-03-23 19:05:15 +01:00
Niklas Keller e459d27315 Drop double CHECK_NULL_PATH check for PHARs 2018-03-23 19:04:47 +01:00
Gabriel Caruso caa32517ba Use ZEND_ARG_ARRAY_INFO in DateTime*::__set_state 2018-03-23 18:58:42 +01:00
Nikita Popov ad87e2bd6a Merge branch 'PHP-7.2' 2018-03-23 18:57:58 +01:00
atvoicu 17ed2f21cf Add missing skip prefix for some SKIPIF messages 2018-03-23 18:56:36 +01:00
Dmitry Stogov 91ba1f2085 Remove "hot" mark from JMP(Z|NZ|ZNZ) with IS_CONST operand 2018-03-23 16:11:27 +03:00
Dmitry Stogov fe6f092e5e Fixed bug #75982 ($_SERVER mostly empty with default variables_order GPCS on FastCGI/CGI) 2018-03-23 15:17:10 +03:00
Dmitry Stogov 295b233bfd Mark few more opcode handlers as "hot". 2018-03-23 13:59:47 +03:00
Paul Crovella aca0f7e24c [ci skip] Add normalizer_get_raw_decomposition to UPGRADING 2018-03-23 10:37:05 +01:00
Paul Crovella b873d3c288 Add normalizer_get_raw_decomposition function
Implements #76111 https://bugs.php.net/bug.php?id=76111
2018-03-22 23:27:39 +01:00
Dmitry Stogov a795bd8265 Optimize zend_hash_real_init() 2018-03-23 00:13:45 +03:00
Dmitry Stogov 8598240c69 Fixed a behavior break introduced by d7f2dc4ec6 2018-03-22 16:37:34 +03:00
Dmitry Stogov e791e93b55 Make ZEND_ISSET_ISEMPTY_CV specialised across ISSET/ISEMPTY and HOT (the handler is really small, so inlining affects executor size insignificantly) 2018-03-22 13:03:45 +03:00
Dmitry Stogov e6c179834b Allow extra specialisation for ISSET/ISEMPTY handlers 2018-03-22 13:02:49 +03:00
Dmitry Stogov d1c6bda2bb Fixed expectation 2018-03-22 12:48:22 +03:00
Dmitry Stogov 1735e29b7f Reduce overhead of extra-specialization for opcode handler selection. 2018-03-22 11:33:17 +03:00
Dmitry Stogov d7f2dc4ec6 Improve HashTable iterators handling:
- Avoid iterators check/update on each HashTable update opration
- Keep position equal (or above) nNumUsed instead of HT_INVALID_IDX
- Fixed iterators handling in array_unshift()
2018-03-22 02:41:49 +03:00
Anatol Belski 88b42338b3 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update SDK version for AppVeyor
2018-03-21 13:18:20 +01:00
Anatol Belski 7b8861204e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update SDK version for AppVeyor
2018-03-21 13:17:44 +01:00
Dmitry Stogov feb22b24cf Micro optimization 2018-03-21 12:39:56 +03:00
Dmitry Stogov 28ab2060ee Micro optimization 2018-03-21 11:57:54 +03:00
Anatol Belski f9cfc029a5 Rework datatypes wrt warnings 2018-03-20 22:09:48 +01:00
Christoph M. Becker ec5b408d81 Update to Oniguruma 6.8.1 2018-03-20 17:44:27 +01:00
Christoph M. Becker 8d9f47fb51 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #76113: mbstring does not build with Oniguruma 6.8.1
2018-03-20 17:02:52 +01:00
Christoph M. Becker 8f5c34cd39 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #76113: mbstring does not build with Oniguruma 6.8.1
2018-03-20 16:53:17 +01:00
Anatol Belski 5e106778f0 Use const pointers 2018-03-20 11:12:25 +01:00
Christoph M. Becker 9004985273 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #75944: Wrong cp1251 detection
2018-03-19 14:48:10 +01:00
Anatol Belski cd8d56102f Reuse new alignment macros 2018-03-19 14:38:41 +01:00
Christoph M. Becker cd2912af5e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #75944: Wrong cp1251 detection
2018-03-19 14:34:09 +01:00
Anatol Belski 18750a2238 Eliminate cast 2018-03-19 11:44:27 +01:00
Stanislav Malyshev 371076d6f0 Merge branch 'PHP-7.2'
* PHP-7.2:
  Set tests exit status by defaul - also in other instance.
2018-03-19 01:20:04 -07:00
Stanislav Malyshev 13a33f7c7b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Set tests exit status by defaul - also in other instance.
2018-03-19 01:17:36 -07:00
Stanislav Malyshev 6aec16c0d9 Merge branch 'PHP-7.2'
* PHP-7.2:
  Set tests exit status by default.
2018-03-18 15:07:53 -07:00
Stanislav Malyshev 077b7705af Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Set tests exit status by default.
2018-03-18 15:06:08 -07:00
Anatol Belski 397d40cdd7 Mark non exported symbol as static 2018-03-17 21:17:47 +01:00
Anatol Belski bb2bfa6213 Use const pointers 2018-03-17 12:45:22 +01:00
Anatol Belski fa9ea3c9eb Use const pointers where appropriate 2018-03-16 20:37:51 +01:00
Anatol Belski 192956bb7f Switch to placeholder matching 2018-03-16 18:57:32 +01:00
Anatol Belski 6bbc4bf57e Merge branch 'PHP-7.2'
* PHP-7.2:
  Sync test with newer output
2018-03-16 18:56:55 +01:00
Anatol Belski 615ca3c99d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync test with newer output
2018-03-16 18:56:08 +01:00
Anatol Belski 0097619925 Use const pointers at some appropriate places 2018-03-16 15:43:30 +01:00
Xinchen Hui 5a0b8c125a slashchars are 16 bytes aligned 2018-03-16 16:01:32 +08:00
Xinchen Hui 4353e1100e Fixed folder 2018-03-16 13:23:35 +08:00
Xinchen Hui 9f456d6880 Optimized str_rot13 with SSE2 instructions 2018-03-16 10:52:57 +08:00
Anatol Belski e659fcd89e Workaround VA macro expansion difference with VC++ 2018-03-15 21:17:40 +01:00
Dmitry Stogov 4bbf200b4e Optmized AST creation 2018-03-15 15:40:04 +03:00
Dmitry Stogov eb39d8d686 Use cheaper functions 2018-03-15 12:46:19 +03:00
Xinchen Hui 82e325ea91 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #76094 (Access violation when using opcache)
2018-03-15 11:17:14 +08:00
Xinchen Hui 4758164ac5 Fixed bug #76094 (Access violation when using opcache) 2018-03-15 11:17:00 +08:00
Dmitry Stogov bcacb7545c PHP scanner optimization 2018-03-15 01:33:17 +03:00
Anatol Belski 5a485b1f43 Merge branch 'PHP-7.2'
* PHP-7.2:
  Reduce var scope
2018-03-14 23:11:02 +01:00
Anatol Belski 84881c654e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Reduce var scope
2018-03-14 23:10:24 +01:00
Anatol Belski ddceba9f13 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix stack use after scope
2018-03-14 22:23:38 +01:00
Anatol Belski 783778b9d3 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix stack use after scope
2018-03-14 22:23:04 +01:00
Dmitry Stogov 64f64cf0b7 zend_ast_destroy() optimization 2018-03-15 00:05:00 +03:00
Dmitry Stogov 73f7c84685 Mark zend_ast_export() as "cold". 2018-03-14 23:13:20 +03:00
Dmitry Stogov 53b474504d PHP scanner optimization 2018-03-14 21:27:57 +03:00
Dmitry Stogov d69e3ec47c Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Remove unused argument
  Upgrade binary SDK version for AppVeyor
2018-03-14 21:26:50 +03:00
Anatol Belski f9822b143e Remove unused argument 2018-03-14 16:33:57 +01:00
Dmitry Stogov 1af60a2a71 Keep initialized object_handlers structures in read-only memory. 2018-03-14 14:01:45 +03:00
Anatol Belski 55155a93b6 Merge branch 'PHP-7.2'
* PHP-7.2:
  Upgrade binary SDK version for AppVeyor
2018-03-14 12:01:38 +01:00
Anatol Belski 1e31ac079b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Upgrade binary SDK version for AppVeyor
2018-03-14 12:01:01 +01:00
Dmitry Stogov 12baec3dfa Move constant array into read-only memory 2018-03-14 11:35:31 +03:00
Dmitry Stogov 9dc6661976 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed user-opcode support
2018-03-14 09:41:55 +03:00
Dmitry Stogov 975d144027 Fixed user-opcode support 2018-03-14 09:41:25 +03:00
Dmitry Stogov a1a2ad701c Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed use-after-free
2018-03-14 09:14:32 +03:00
Dmitry Stogov 2db6d8e415 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed use-after-free
2018-03-14 09:14:16 +03:00
Joe Watkins 755d2262c0 Merge branch 'PHP-7.2'
* PHP-7.2:
  bump versions
2018-03-14 05:59:40 +01:00
Joe Watkins a18a11cf80 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  bump versions
2018-03-14 05:59:18 +01:00
Christoph M. Becker 129dd521bb Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #74139: mail.add_x_header default inconsistent with docs [ci skip]
2018-03-14 00:01:46 +01:00
Christoph M. Becker 7448b03300 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #74139: mail.add_x_header default inconsistent with docs [ci skip]
2018-03-13 23:56:31 +01:00
Dmitry Stogov 8afb91cdad PHP scanner optimization 2018-03-14 01:48:17 +03:00
Dmitry Stogov d1585a9e3f Revert "Handle scanner error in first place (don't hide them from ext/tokenizer) and cheaper whitespace handlig."
This reverts commit 0d6da03f5c.
2018-03-14 01:08:03 +03:00
Dmitry Stogov 0d6da03f5c Handle scanner error in first place (don't hide them from ext/tokenizer) and cheaper whitespace handlig. 2018-03-13 18:42:09 +03:00
Christoph M. Becker 62329ef5f0 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #76088: ODBC functions are not available by default on Windows
2018-03-13 14:34:26 +01:00
Christoph M. Becker b2622ed838 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #76088: ODBC functions are not available by default on Windows
2018-03-13 14:33:20 +01:00
Christoph M. Becker 1210df6016 Merge branch 'PHP-7.2'
* PHP-7.2:
  next is 7.2.5
2018-03-13 14:28:45 +01:00
Dmitry Stogov 52fddfcca2 Avoid useless iterations 2018-03-13 16:07:18 +03:00
Remi Collet d660d6d31b next is 7.2.5 2018-03-13 12:49:25 +01:00
Dmitry Stogov 9c0dfd4f10 Get rid of useless SET_UNUSED() 2018-03-13 14:34:48 +03:00
Dmitry Stogov c7045174f1 Moved compiler helper functions from zend_opcode.c to zend_compile.c 2018-03-13 13:49:58 +03:00
Dmitry Stogov 9e1e284d48 Merge branch 'PHP-7.2'
* PHP-7.2:
  Revert "More accurate symbolic constraints oferflow/unserflow handling (better fix for bug #76074)."
2018-03-13 11:04:03 +03:00
Dmitry Stogov 5574562f8f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Revert "More accurate symbolic constraints oferflow/unserflow handling (better fix for bug #76074)."
2018-03-13 11:03:57 +03:00
Dmitry Stogov 1c3796b751 Merge branch 'PHP-7.2'
* PHP-7.2:
  More accurate symbolic constraints oferflow/unserflow handling (better fix for bug #76074).
2018-03-13 10:47:11 +03:00
Dmitry Stogov 575f5002c0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  More accurate symbolic constraints oferflow/unserflow handling (better fix for bug #76074).
2018-03-13 10:45:53 +03:00
Xinchen Hui c305dbacc8 Merge branch 'PHP-7.2'
* PHP-7.2:
  Forgot NEWs
  Forgot NEWS
2018-03-13 13:01:45 +08:00
Xinchen Hui 98fe858275 Forgot NEWs 2018-03-13 13:01:33 +08:00
Xinchen Hui 8e576e5abc Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Forgot NEWS
2018-03-13 13:00:59 +08:00
Xinchen Hui f4da273c76 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #76085 (Segmentation fault in buildFromIterator when directory name contains a \n)
2018-03-13 12:56:27 +08:00
Xinchen Hui e547c9f139 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76085 (Segmentation fault in buildFromIterator when directory name contains a \n)
2018-03-13 12:52:07 +08:00
Anatol Belski a1a3361552 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix heap use after free
2018-03-12 21:03:36 +01:00
Anatol Belski c469213e7b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix heap use after free
2018-03-12 21:02:40 +01:00
Anatol Belski 08755e6b89 Merge branch 'PHP-7.2'
* PHP-7.2:
  Use literal as format
2018-03-12 16:02:14 +01:00
Anatol Belski 16570b8c79 Use literal as format 2018-03-12 16:00:24 +01:00
Anatol Belski a8f71ad5c9 Merge branch 'PHP-7.2'
* PHP-7.2:
  Use string literal as format
2018-03-12 15:18:51 +01:00
Anatol Belski 8a985403f6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Use string literal as format
2018-03-12 15:18:11 +01:00
Anatol Belski 178549b2b0 Merge branch 'PHP-7.2'
* PHP-7.2:
  Provide core includes for the resource compiler by default
2018-03-12 14:16:59 +01:00
Anatol Belski fc09d7e76f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Provide core includes for the resource compiler by default
2018-03-12 14:16:08 +01:00
Dmitry Stogov 0aa6be3eac Merge branch 'PHP-7.2'
* PHP-7.2:
  Replaced usafe reference from SHM to process memory with SHM to SHM reference
2018-03-12 11:21:46 +03:00
Dmitry Stogov e6fb787c66 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Replaced usafe reference from SHM to process memory with SHM to SHM reference
2018-03-12 11:18:33 +03:00
Dmitry Stogov 410de52bd4 Added NEWS entry 2018-03-12 11:07:26 +03:00
Dmitry Stogov b3f91d16dd Fixed bug #75683 (Memory leak in zend_register_functions() in ZTS mode) 2018-03-12 11:04:54 +03:00
Anatol Belski 5cd3b19fc8 Enable more asan checks 2018-03-11 23:08:27 +01:00
Anatol Belski 3c6f552371 Disable function call under address sanitizer
AddressSanitizer seems not to function properly with suppressions. The
default value is still sufficient for test, thus unblock testing by
disabling the function call under AddressSanitizer.
2018-03-11 23:08:27 +01:00
Anatol Belski 754be224d2 Fix clang build and analyze with SIMD enabled 2018-03-11 23:08:27 +01:00
Christoph M. Becker ef01ec08f0 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #62545: wrong unicode mapping in some charsets
2018-03-11 18:05:08 +01:00
Christoph M. Becker 2b02e6dff3 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #62545: wrong unicode mapping in some charsets
2018-03-11 17:54:45 +01:00
Gabriel Caruso d0ee2a8254 Add is_countable function
RFC: https://wiki.php.net/rfc/is-countable
2018-03-11 16:41:16 +01:00
Gabriel Caruso 57896cf515 Make some skipped tests run, and fix some skip messages 2018-03-11 16:38:00 +01:00
Gabriel Caruso 2bd7e2bb27 Fix link for phpdbg documentation 2018-03-11 16:37:40 +01:00
Nikita Popov bd2ecb01d2 Merge branch 'PHP-7.2' 2018-03-11 16:37:08 +01:00
Thomas Petazzoni 8489ecefd3 ext/sockets: make AI_IDN usage optional
AI_IDN is not supported by all C libraries (uClibc, musl), so make it
optional, like AI_ALL.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-03-11 16:35:17 +01:00
Anatol Belski 8f8a6a3a49 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
2018-03-10 20:09:23 +01:00
Anatol Belski d34ab3a53c [ci skip] Update NEWS 2018-03-10 20:08:43 +01:00
Anatol Belski 53f227bb2a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-03-10 20:08:03 +01:00
Bob Weinand 827dff310b Merge branch 'PHP-7.2' 2018-03-10 15:29:21 +01:00
Bob Weinand 9d908c70d5 Fixup mess in NEWS file (mixed 7.2.3 and 7.2.4 NEWS) 2018-03-10 15:29:07 +01:00
Bob Weinand cfd0979be5 Merge branch 'PHP-7.1' into PHP-7.2 2018-03-10 15:21:16 +01:00
Anatol Belski 363e0450aa Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #76068 parse_ini_string fails to parse "[foo]\nbar=1|>baz" with segfault
2018-03-10 11:21:01 +01:00
Anatol Belski cf0012dad0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76068 parse_ini_string fails to parse "[foo]\nbar=1|>baz" with segfault
2018-03-10 11:20:11 +01:00
Joe Watkins 4b43f5c533 Merge branch 'master' of git://github.com/php/php-src 2018-03-10 10:55:12 +01:00
Anatol Belski 98729c95a7 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update link
2018-03-10 09:41:53 +01:00
Anatol Belski d4cb4168ba [ci skip] Update link 2018-03-10 09:40:50 +01:00
Christoph M. Becker d48b233991 Update to Oniguruma 6.7.1
We also apply the still relevant parts of `oniguruma.patch` and update
the patch accordingly.
2018-03-10 01:07:00 +01:00
Christoph M. Becker 4095f63a90 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #73957: signed integer conversion in imagescale()
2018-03-10 00:26:25 +01:00
Christoph M. Becker d709922979 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #73957: signed integer conversion in imagescale()
2018-03-10 00:25:11 +01:00
Dmitry Stogov 9d139b16c2 Test ReflectionZendExtension class 2018-03-09 12:07:52 +01:00
Jonathan Torres 1cb3c15032 Fix typo in upgrade notes 2018-03-09 12:06:17 +01:00
Gabriel Caruso 701437a948 Remove return types from some magic method in protos
__construct, __destruct, __wakeup does not have return types defined.
2018-03-09 12:04:46 +01:00
Anatol Belski acda5e084e Document new configurue options 2018-03-08 12:14:48 +01:00
Anatol Belski d047137d7e Merge branch 'PHP-7.2'
* PHP-7.2:
  Disable PGO for phpdbg
2018-03-08 11:57:55 +01:00
Anatol Belski d1ed6b1b15 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Disable PGO for phpdbg
2018-03-08 11:49:25 +01:00
Anatol Belski 70a1b23c2c Remove unused assignment 2018-03-07 18:09:58 +01:00
Anatol Belski 98aeb528c3 Remove unused assignment 2018-03-07 17:12:27 +01:00
Anatol Belski b7940d368f Merge branch 'PHP-7.2'
* PHP-7.2:
  Exclude /Qspectre for clang analyzer
2018-03-07 15:23:39 +01:00
Anatol Belski 2d660dd630 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Exclude /Qspectre for clang analyzer
2018-03-07 15:23:03 +01:00
Anatol Belski f28630eae0 Merge branch 'PHP-7.2'
* PHP-7.2:
  Guard platform dependent code
2018-03-07 12:29:56 +01:00
Anatol Belski 22857f1d89 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Guard platform dependent code
2018-03-07 12:29:22 +01:00
Nikita Popov 3b5b64ce75 Fix garbage marking in gc_collect_roots()
gc_collect_white() will mark white nodes as black and add them as
garbage, but only if it's not buffered yet. The already buffered
roots are instead marked as garbage in gc_collect_roots() directly.
However, if gc_collect_white() marked a (buffered) root as black
through recursion, it would not subsequently be marked as garbage.
2018-03-07 09:50:25 +01:00
Dmitry Stogov dcbac8ade6 Fixed use-after-free. 2018-03-07 10:21:51 +03:00
Dmitry Stogov 228687362c Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
2018-03-07 00:53:50 +03:00
Anatol Belski 7febfe068a Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
2018-03-06 22:08:49 +01:00
Anatol Belski 7780bfc7b3 [ci skip] Update NEWS 2018-03-06 22:07:58 +01:00
Anatol Belski 000e35db81 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-03-06 22:07:31 +01:00
Dmitry Stogov a2d1f2df46 Eliminate conditional branches 2018-03-07 00:03:13 +03:00
Dmitry Stogov a4109e1f4c Added expectation 2018-03-06 23:22:01 +03:00
Dmitry Stogov 856b63a632 Avoid double copying 2018-03-06 21:59:02 +03:00
Dmitry Stogov 9716bd68a3 Avoid double copying 2018-03-06 21:58:40 +03:00
Dmitry Stogov d03e95442a Use reference counting instead of duplication 2018-03-06 21:20:19 +03:00
Dmitry Stogov 4d75504d4f Avoid double copying and string length recalculation 2018-03-06 21:19:18 +03:00
Christoph M. Becker a98eb1ec2c [ci skip] Fix reference notation in protos 2018-03-06 13:22:39 +01:00
Gabriel Caruso b47b3596ef [ci skip] Use float instead of double in proto 2018-03-06 13:16:18 +01:00
Dmitry Stogov a7f83f474c Memory leak fix, for arg_info of internal functions with type hints (ZTS build only). 2018-03-06 14:59:30 +03:00
Dmitry Stogov c060d88c36 Fixed bug #76050 2018-03-06 03:31:06 +03:00
Dmitry Stogov 44e1d2f8a9 Merge branch 'PHP-7.2'
* PHP-7.2:
  Replaced usafe reference from SHM to process memory with SHM to SHM reference.
2018-03-06 03:00:46 +03:00
Dmitry Stogov 020a02ef9d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Replaced usafe reference from SHM to process memory with SHM to SHM reference.
2018-03-06 02:47:01 +03:00
Dmitry Stogov 47f5f87826 Merge branch 'PHP-7.2'
* PHP-7.2:
  Don't keep HashTable.pDestructor in SHM and always set it into ZVAL_PTR_DTOR in zval_array_dup(). Keeping pointer to a function in SHM is not safe because of ASLR.
2018-03-06 01:02:31 +03:00
Dmitry Stogov b48d2f6d10 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Don't keep HashTable.pDestructor in SHM and always set it into ZVAL_PTR_DTOR in zval_array_dup(). Keeping pointer to a function in SHM is not safe because of ASLR.
2018-03-06 01:00:14 +03:00
Dmitry Stogov d740024e35 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed invalid destructor
2018-03-06 00:47:05 +03:00
Dmitry Stogov b7ebf90221 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed invalid destructor
2018-03-06 00:46:40 +03:00
Anatol Belski 5c41de2e1d Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #76044 'date: illegal option -- -' in ./configure on FreeBSD
2018-03-05 22:39:06 +01:00
Anatol Belski b53f326f67 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76044 'date: illegal option -- -' in ./configure on FreeBSD
2018-03-05 22:38:03 +01:00
Dmitry Stogov d9d30a7f38 AST is not COPYABLE anymore and its reference-counter doesn't have to be initialized by 2. 2018-03-06 00:30:25 +03:00
Dmitry Stogov 84a0423e05 Set and keep HASH_FLAG_STATIC_KEYS for all HashTables stored in SHM (or file cache). 2018-03-06 00:00:13 +03:00
Dmitry Stogov d76061d5c1 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed invalid destructor
2018-03-05 23:38:15 +03:00
Dmitry Stogov 53baf6fa1d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed invalid destructor
2018-03-05 23:33:53 +03:00
Dmitry Stogov 877da311bc Typo 2018-03-05 20:45:26 +03:00
Dmitry Stogov ab139b6bfd Reverted e6d6fcedf7 and overdesign introduced in ae64dd6d56.
Now we have just indexex, pointers and linked list od unused buffers.
2018-03-05 20:20:58 +03:00
Nikita Popov a0563aa7bc Fix incorrect GC_NUM2ADDR usage
Both first_unused and GC_MAX_UNCOMPRESSED are addresses, so we
should compare them directly.
2018-03-05 16:29:46 +01:00
Nikita Popov 4838e9799f Merge branch 'PHP-7.2' 2018-03-05 15:33:34 +01:00
Nikita Popov 634a1ff033 Merge branch 'PHP-7.1' into PHP-7.2 2018-03-05 15:32:39 +01:00
Anatol Belski cf84e5a529 Merge branch 'PHP-7.2'
* PHP-7.2:
  Include username into the file cache path
2018-03-05 15:22:11 +01:00
Anatol Belski 54212dfbf9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Include username into the file cache path
2018-03-05 15:21:31 +01:00
Dmitry Stogov f32b7dbc43 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed "opcache.file_cache_fallback" mode.
2018-03-05 16:21:20 +03:00
Dmitry Stogov a8fbb15311 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed "opcache.file_cache_fallback" mode.
2018-03-05 16:15:38 +03:00
Dmitry Stogov 6c035f53f1 Separate duplicated code into a zend_ini_parse_bool() function. 2018-03-05 11:51:58 +03:00
Anatol Belski 10549ac62d Fix empty value 2018-03-02 23:10:02 +01:00
Anatol Belski c7dc6cc66b Reflect native instruction set in snap filename 2018-03-02 20:39:41 +01:00
Anatol Belski fd5a635225 Add intrinsics info to configure output 2018-03-02 18:12:14 +01:00
Christoph M. Becker eeda55cb3b Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #76041: null pointer access crashed php
2018-03-02 17:21:04 +01:00
Christoph M. Becker d83467d70b Fix #76041: null pointer access crashed php
We must not draw anti-aliased lines on palette images, because that is
not supported by `gdImageSetAAPixelColor()` and it wouldn't make much
sense to support it, due to the limitation to at most 256 colors.
2018-03-02 17:18:45 +01:00
Dmitry Stogov e6d6fcedf7 Switch to better GC address representation 2018-03-02 17:36:18 +03:00
Dmitry Stogov ae64dd6d56 Make distinct between indexes/numbers, GC addresses and pointers to gc_root_buffers.
Perform conversion through macros.
2018-03-02 17:02:29 +03:00
Joe Watkins 0fe7636084 correct condition for leaks in run-tests.php 2018-03-02 13:22:12 +01:00
Joe Watkins f7b48f7f1e Merge branch 'master' of git://github.com/php/php-src 2018-03-02 13:15:22 +01:00
Joe Watkins 03f15f705a add ability to show valgrind output with --show-mem 2018-03-02 13:14:35 +01:00
Dmitry Stogov f844d40fdc GC API cleanup 2018-03-02 11:02:21 +03:00
Dmitry Stogov f37dff9d23 Added NEWS entry 2018-03-02 10:17:49 +03:00
Dmitry Stogov eb3f152a80 Merge branch 'gc-buffer-dynamic4'
* gc-buffer-dynamic4:
  Switch to siple "commpression" scheme
  micro-optimization
  Cleanup
  Tunning for fast paths
  Cleanup
  Improve GC color checks
  Implemented simple adaptive GC threshold selection.
  GC improvement
2018-03-02 10:16:08 +03:00
Dmitry Stogov 06c6c632c3 Switch to siple "commpression" scheme 2018-03-02 10:01:08 +03:00
Xinchen Hui c29f1f41c3 Combines common codes 2018-03-02 10:32:15 +08:00
Dmitry Stogov 8b5e76c790 micro-optimization 2018-03-02 01:53:59 +03:00
Dmitry Stogov 5c78bb80cc Cleanup 2018-03-02 01:42:42 +03:00
Anatol Belski 0d679c353c Get rid of casts 2018-03-01 20:52:09 +01:00
Dmitry Stogov 26e0ebffac Tunning for fast paths 2018-03-01 17:38:32 +03:00
Anatol Belski 1648bfa3ce Improve help message 2018-03-01 15:37:56 +01:00
Dmitry Stogov 165dadace3 Cleanup 2018-03-01 15:51:50 +03:00
Anatol Belski b9040b812c Merge branch 'PHP-7.2'
* PHP-7.2:
  Remove TSRMLS_*
2018-03-01 12:15:20 +01:00
Anatol Belski 3c58b2c31a Remove TSRMLS_* 2018-03-01 12:12:11 +01:00
Xinchen Hui 12ee810960 Attempt to fix build with gcc-4.8 2018-03-01 18:34:39 +08:00
Dmitry Stogov 5994b8ac95 Improve GC color checks 2018-03-01 11:55:26 +03:00
Dmitry Stogov 077d227500 Implemented simple adaptive GC threshold selection. 2018-03-01 11:04:28 +03:00
Xinchen Hui 966923f4be Attempt to fix build again
seems if a cpu supports avx2 but not ssse3, the build will fail. but how
could that possible... :<
2018-03-01 15:05:50 +08:00
Xinchen Hui fd208e82dd Attempt to fix build reported fails in containers 2018-03-01 11:56:12 +08:00
Dmitry Stogov fd348ec43f GC improvement 2018-03-01 03:17:21 +03:00
Joe Watkins 1377ac29f6 Merge branch 'PHP-7.2'
* PHP-7.2:
  fix news date
2018-02-28 12:23:38 +01:00
Joe Watkins 23ebda3a71 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix news date
2018-02-28 12:23:08 +01:00
Dmitry Stogov 4631a5e2e1 Tunning for new GC_TYPE_INFO layout 2018-02-28 13:25:29 +03:00
Xinchen Hui 6a59f3714a Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Fixed bug #76025 (Segfault while throwing exception in error_handler).
2018-02-28 18:07:15 +08:00
Xinchen Hui 07fb188492 Update NEWS 2018-02-28 18:07:05 +08:00
Xinchen Hui 858ebd9285 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76025 (Segfault while throwing exception in error_handler).
2018-02-28 18:06:49 +08:00
Dmitry Stogov 31e5c34542 typo 2018-02-28 10:16:51 +03:00
George Wang 1777db1fdf Merge branch 'PHP-7.2' 2018-02-27 23:34:01 -05:00
George Wang 66e3912f3a Merge branch 'PHP-7.1' into PHP-7.2 2018-02-27 23:33:36 -05:00
George Wang 17e49ba79a Merge branch 'PHP-7.2' 2018-02-27 23:21:32 -05:00
George Wang 3af5722e11 Merge branch 'PHP-7.1' into PHP-7.2 2018-02-27 23:21:04 -05:00
Bob Weinand dfa383497a Merge remote-tracking branch 'origin/PHP-7.2' 2018-02-28 02:36:18 +01:00
Bob Weinand 15d611e451 Merge branch 'PHP-7.1' into PHP-7.2 2018-02-28 02:35:44 +01:00
Bob Weinand c1882ef004 Fixed build (extern php_stripslashes) 2018-02-28 01:47:40 +01:00
Dmitry Stogov f1d5168a74 Simplify GC_FLAGS cand CG_INFO checks 2018-02-28 02:36:50 +03:00
Ferenc Kovacs 7c91b83518 Merge branch 'PHP-7.2' 2018-02-28 00:08:14 +01:00
Ferenc Kovacs fe181463a7 Merge branch 'PHP-7.1' into PHP-7.2 2018-02-28 00:05:10 +01:00
Dmitry Stogov c9e1419fd2 Change CG_TYPE_INFO() layout to provide more room for GC_INFO() 2018-02-28 00:53:30 +03:00
Dmitry Stogov 6f483dc94c Use macros to update specific parts of GC_TYPE_INFO() (direct assignments to GC_TYPE(), GC_FLAGS() and GC_INFO() are prohibited) 2018-02-28 00:52:12 +03:00
Anatol Belski 42022bc943 Constify readonly var 2018-02-27 20:50:37 +01:00
George Wang 2ec012fa2a Merge branch 'PHP-7.2'
Conflicts:
	sapi/litespeed/lsapi_main.c
2018-02-27 13:57:06 -05:00
George Wang 9607d15d7d Merge branch 'PHP-7.1' into PHP-7.2 2018-02-27 13:56:19 -05:00
Dmitry Stogov baa9890112 Completely hide GC implementation details into zend_gc.c 2018-02-27 21:08:26 +03:00
Christoph M. Becker ef255c9f0f Revert "[ci skip] Add missing return types to protos"
This reverts commit a2c7c46d5e.

Since apparently there have been some mistakes in this commit, and it's
not clear yet how to solve them, we're reverting for now.
2018-02-27 17:40:03 +01:00
Dmitry Stogov 58880e3fc1 Get rid of IS_OBJ_USE_GUARDS and IS_OBJ_HAS_GUARDS flags 2018-02-27 17:38:56 +03:00
Anatol Belski 60a27aeec1 Merge branch 'PHP-7.2'
* PHP-7.2:
  7.0.29 next
2018-02-27 11:51:40 +01:00
Anatol Belski 1ec4d3698b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  7.0.29 next
2018-02-27 11:51:10 +01:00
Anatol Belski 58aa1f1d61 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
  [ci skip] Update NEWS
  [ci skip] Update NEWS
2018-02-27 11:40:11 +01:00
Anatol Belski 74bdb8fb15 [ci skip] Update NEWS 2018-02-27 11:39:19 +01:00
Anatol Belski ba8818325e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
  [ci skip] Update NEWS
2018-02-27 11:38:23 +01:00
Stanislav Malyshev 5913d8cec6 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix bug #75981: prevent reading beyond buffer start
2018-02-26 22:27:02 -08:00
Stanislav Malyshev ab9f9b5d3b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #75981: prevent reading beyond buffer start
2018-02-26 22:26:55 -08:00
Xinchen Hui 13eca3d428 Avoding memory allocation 2018-02-26 16:54:53 +08:00
Xinchen Hui fd88e7e3a1 Avoding memory allocation 2018-02-26 16:48:49 +08:00
Xinchen Hui ce3fa92027 Avoding memory allocation if no translastion found 2018-02-26 14:52:45 +08:00
Christoph M. Becker fd8a21b1c5 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS
2018-02-24 23:40:55 +01:00
Christoph M. Becker feef202718 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-02-24 23:39:28 +01:00
Gabriel Caruso 5f54f48024 [ci skip] Remove space between function name and open parentheses 2018-02-24 11:50:39 +01:00
Gabriel Caruso a2c7c46d5e [ci skip] Add missing return types to protos 2018-02-24 11:45:17 +01:00
Christoph M. Becker 3da9fc86d1 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix imagesetinterpolation arginfo
2018-02-24 11:33:13 +01:00
Christoph M. Becker 8c396e0e88 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix imagesetinterpolation arginfo
2018-02-24 11:32:03 +01:00
Stanislav Malyshev 2fce5d6494 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Set FPM maintainership
2018-02-23 17:58:06 -08:00
Stanislav Malyshev c904d380a2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Set FPM maintainership
2018-02-23 17:57:57 -08:00
Christoph M. Becker 94d0c24dca Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #75873: pcntl_wexitstatus returns incorrect on Big_Endian platform (s390x)
2018-02-23 23:53:32 +01:00
Christoph M. Becker 32df2b6617 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #75873: pcntl_wexitstatus returns incorrect on Big_Endian platform (s390x)
2018-02-23 23:52:07 +01:00
Christoph M. Becker 701d1ab0cc Fix skip condition
The test is not about mhash, but rather about hash.
2018-02-23 16:23:55 +01:00
Christoph M. Becker d5f84fb9c5 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix some arginfos
2018-02-23 11:32:18 +01:00
Christoph M. Becker c6cf3d4ada Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix some arginfos
2018-02-23 11:29:21 +01:00
Gabriel Caruso 1314f0fb3a Use int instead of long in protos 2018-02-23 11:06:20 +01:00
zufuliu bff179888f Improve similar_text(), reduce recursive call to php_similar_char()
If the longest common substring is the leftmost common substring, there
is no need to check the string prefixes for further common substrings,
since there are none.
2018-02-22 15:59:24 +01:00
Dmitry Stogov 6fb9e24218 Allow generation of VM map 2018-02-22 15:31:00 +03:00
Gabriel Caruso 0c0a5df111 Test ReflectionClass::getReflectionConstant method 2018-02-22 13:18:52 +01:00
Gabriel Caruso e1cc4863d9 Remove duplicated tests 2018-02-22 13:03:21 +01:00
Dmitry Stogov d393199e13 Fixed compilation warnings 2018-02-22 11:33:26 +03:00
Dmitry Stogov 75f6b0c557 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  remove support for string|unicode in tests
  improve extension skeleton generator
2018-02-22 11:00:58 +03:00
Dmitry Stogov bd908f6145 Fixed build without global register variables 2018-02-22 11:00:29 +03:00
Gabriel Caruso b895690dfa remove support for string|unicode in tests 2018-02-22 08:11:30 +01:00
Pedro Magalhães 230ef2d947 improve extension skeleton generator 2018-02-22 08:04:33 +01:00
Dmitry Stogov 927748b271 Reorganize make_real_object() related code 2018-02-21 18:43:38 +03:00
Dmitry Stogov ecb52b8b3b Move exceprional code into helper & zend_fetch_var_address_helper() micro-optimization. 2018-02-21 17:09:42 +03:00
Dmitry Stogov 7559b1c50c Move result address calculation from specialized handlers to less specialized helpers 2018-02-21 16:06:29 +03:00
Anatol Belski bc3de8caea Fix def signature to match declaration 2018-02-21 11:53:38 +01:00
Dmitry Stogov 9c0427cada Mark exceptional helpers as "cold" 2018-02-21 12:07:29 +03:00
Dmitry Stogov e1b1cff48d Move exceptional code into helpers 2018-02-21 10:10:04 +03:00
Xinchen Hui 91635b011b Optimized php_stripslash with SSSE3 instr 2018-02-21 10:09:11 +08:00
Xinchen Hui a6e1dc8d5b Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Added expectation
  Fix initialisation order
  Fix NEWS
  Fix a memleak with mysqlnd and SSL
  Move exceptional code into helpers
  Fix negotiaton of MySQL auth plugin
  Use EXPECT instead of EXPECTF when possible
  Move cold code, duplicated by specializer, into helper functions
  Fixed build without global register variables
  Sync --enable-native-intrinsics to pecl
  [ci skip] Sort recent NEWS entries alphabetically
  Fix openssl_* arginfos
  Update binary tools SDK branch for AppVeyor
  Separate slow path with make_real_object() and related code into "cold" function.
  [ci skip] run-tests.php: add missing put section
2018-02-21 09:51:38 +08:00
Dmitry Stogov 41eb70a493 Added expectation 2018-02-21 02:49:40 +03:00
Johannes Schlüter c299983904 Merge branch 'master' of git.php.net:/php-src 2018-02-20 23:48:00 +01:00
Johannes Schlüter 9881cb3945 Fix initialisation order 2018-02-20 23:35:57 +01:00
Johannes Schlüter 64ba5d4a06 Merge branch 'PHP-7.2' 2018-02-20 23:33:01 +01:00
Johannes Schlüter 2577cdbea2 Merge branch 'PHP-7.1' into PHP-7.2 2018-02-20 23:32:25 +01:00
Dmitry Stogov b53f5cc92d Move exceptional code into helpers 2018-02-21 01:27:39 +03:00
Johannes Schlüter b35a64bf62 Merge branch 'PHP-7.2' 2018-02-20 23:20:55 +01:00
Johannes Schlüter 1c98955d0f Merge branch 'PHP-7.1' into PHP-7.2 2018-02-20 23:20:28 +01:00
Gabriel Caruso ded3d984c6 Use EXPECT instead of EXPECTF when possible
EXPECTF logic in run-tests.php is considerable, so let's avoid it.
2018-02-20 21:53:48 +01:00
Dmitry Stogov a00286921e Move cold code, duplicated by specializer, into helper functions 2018-02-20 23:44:25 +03:00
Dmitry Stogov b46f10b43f Fixed build without global register variables 2018-02-20 20:39:02 +03:00
Anatol Belski dfcbc2c32b Sync --enable-native-intrinsics to pecl 2018-02-20 17:33:58 +01:00
Christoph M. Becker 190e97b66b Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Sort recent NEWS entries alphabetically
2018-02-20 16:37:45 +01:00
Christoph M. Becker 6237bcd39e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Sort recent NEWS entries alphabetically
2018-02-20 16:33:55 +01:00
Christoph M. Becker e8affd805f Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix openssl_* arginfos
2018-02-20 16:26:06 +01:00
Christoph M. Becker e80e38ab7c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix openssl_* arginfos
2018-02-20 16:25:22 +01:00
Anatol Belski d1466bf4ac Merge branch 'PHP-7.2'
* PHP-7.2:
  Update binary tools SDK branch for AppVeyor
2018-02-20 15:53:11 +01:00
Anatol Belski 884697a290 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update binary tools SDK branch for AppVeyor
2018-02-20 15:52:42 +01:00
Dmitry Stogov 8b7cdbaa49 Separate slow path with make_real_object() and related code into "cold" function. 2018-02-20 17:22:11 +03:00
Michael Wallner ba8cd2f4de [ci skip] run-tests.php: add missing put section 2018-02-20 14:55:52 +01:00
Xinchen Hui 5091f5ff9c Simplified the codes (the penalty of loading unaligned address is negligible) 2018-02-20 20:56:23 +08:00
Dmitry Stogov cbf2d91911 Separate cold paths of ISSET_ISEMPTY_DIM_OBJ 2018-02-20 14:42:53 +03:00
Haitao Lv 764e231cc5 fix ZEND_VM_SET_OPCODE_HANDLER cannot set user opcode handler 2018-02-20 10:46:41 +03:00
Anatol Belski f63393aee8 Fix possible memory leak 2018-02-20 08:23:25 +01:00
Anatol Belski a08c0db2df Merge branch 'PHP-7.2'
* PHP-7.2:
  dos2unix
2018-02-20 08:00:55 +01:00
Anatol Belski ea0355632d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  dos2unix
2018-02-20 08:00:08 +01:00
Anatol Belski 377f346354 Fix conjugation 2018-02-20 07:25:44 +01:00
Craig Duncan 9439dd0b5b Add a test for iterating SXE properties by reference 2018-02-19 21:58:57 +01:00
Nikita Popov ede663f381 Convert iterator by reference errors to exceptions
I'm using RuntimeException in SPL, because other SPL classes that
throw this error used it. Error is used for everything else, because
that's what core does.
2018-02-19 21:58:56 +01:00
Nikita Popov bcc7d46aa4 Merge branch 'PHP-7.2' 2018-02-19 21:46:20 +01:00
Nikita Popov 1b6a9ea584 Merge branch 'PHP-7.1' into PHP-7.2 2018-02-19 21:46:11 +01:00
Gabriel Caruso d4999ad8e9 Report unknown sections in run-tests.php 2018-02-19 21:40:17 +01:00
Nikita Popov df1439241a Simplify code
If operator overloading is ignored tmp will be 0 and we can still
use |=. No need to separate this into two cases.
2018-02-19 21:38:10 +01:00
Anatol Belski d1d228838b Add basic cppcheck suppressions file 2018-02-19 17:43:49 +01:00
Anatol Belski 668a6d329c Reduce var scope 2018-02-19 17:43:48 +01:00
Dmitry Stogov 050d62484b Fixed typo 2018-02-19 17:57:46 +03:00
Dmitry Stogov a3afad5af0 Added tracer to collect frequency of opcode handler call chains 2018-02-19 16:50:24 +03:00
Dmitry Stogov 6d3e1bd124 Added VM instrumentation ability 2018-02-19 16:42:02 +03:00
Dmitry Stogov 85f4b10f76 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Don't add empty include path
  Reduce struct size by 8 bytes on 64-bit
2018-02-19 16:40:45 +03:00
Anatol Belski 250df53204 Don't add empty include path 2018-02-19 14:15:33 +01:00
Dmitry Stogov 2fb91e3619 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Remove explicit params count check
2018-02-19 16:12:15 +03:00
Dmitry Stogov 190a970dd6 Elimintate duplicate error message 2018-02-19 16:11:28 +03:00
Anatol Belski 20934d9e18 Reduce struct size by 8 bytes on 64-bit 2018-02-19 14:02:30 +01:00
Gabriel Caruso 5f6b2c12a2 Remove explicit params count check
Relying on ZPP instead. Also, use ZEND_NUM_ARGS() instead of hardcode
number of parameters
2018-02-19 13:56:30 +01:00
Anatol Belski 34fb5a8585 Merge branch 'PHP-7.2'
* PHP-7.2:
  Use more jobs with cppcheck
2018-02-19 11:28:13 +01:00
Anatol Belski fa7c32040c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Use more jobs with cppcheck
2018-02-19 11:27:42 +01:00
Dmitry Stogov 2bf8b42766 Fixed unintended API break 2018-02-19 13:11:39 +03:00
Dmitry Stogov a02a126d54 Allow optional ignorance of operator overlaoding. Optimizer takes into account possibility of operator overloading at default optimization level, but ignores this possibility at "unsafe" level (opcache.optimization_level=-1). 2018-02-19 12:21:43 +03:00
Anatol Belski 298de027d6 Reduce struct size by 8 bytes on 64-bit 2018-02-19 10:12:46 +01:00
Anatol Belski 5bbf27b87b Remove duplicated assignment 2018-02-19 10:12:46 +01:00
Anatol Belski 65be13a89a Reduce struct size by 8 bytes on 64-bit 2018-02-19 10:12:46 +01:00
Gabriel Caruso a6b2223220 Refactoring duplicated ZPP with a switch 2018-02-19 08:33:18 +01:00
Gabriel Caruso 7566416d9d Share identical arginfos 2018-02-19 08:31:03 +01:00
Gabriel Caruso bffc92b105 Remove duplicated informations in tests 2018-02-19 08:29:54 +01:00
Gabriel Caruso 5153413ed4 Test more functions of ftp 2018-02-19 08:27:37 +01:00
Gabriel Caruso 6d785a7a00 Test more functionalities of SPL 2018-02-19 08:26:34 +01:00
Anatol Belski 34833c9d39 Avoid multiple wcslen() calls 2018-02-18 20:30:33 +01:00
Anatol Belski 34a7c6c1a5 Reduce var scope 2018-02-18 19:59:23 +01:00
Anatol Belski ec5d9ab82b Reduce variable scope 2018-02-18 19:15:36 +01:00
Anatol Belski 8eda7d9410 Remove effectless assignment 2018-02-18 19:07:25 +01:00
Anatol Belski 1bdf7abbcb Fix possible int overflow on vars used in loop with size_t counter 2018-02-18 17:55:50 +01:00
Anatol Belski 26f1ffbd91 Fix overflow, int var used in loop with size_t counter 2018-02-18 17:55:50 +01:00
Nikita Popov 48c0662876 Merge branch 'PHP-7.2' 2018-02-18 17:43:08 +01:00
Nikita Popov 500632ac13 Fix pfsockopen() func info 2018-02-18 17:42:12 +01:00
Nikita Popov c0abab5fca Fix ZEND_SL range inference
This is a bit tricker than right shifts because shifting in the
sign bit flips the sign. The computed bounds are not tight.
2018-02-18 17:42:12 +01:00
Nikita Popov 202989edf8 Fix ZEND_SR range inference
Handle out-of-range RHS correctly.
2018-02-18 17:42:12 +01:00
Nikita Popov 40ff001381 Fix constant() func info
Since PHP 5.6 this can also be an array.
2018-02-18 17:42:11 +01:00
Gabriel Caruso a2933e9ebb Fix some compile results warnings 2018-02-18 16:22:31 +01:00
Nikita Popov c404b27135 Fix pg_pconnect() func info 2018-02-18 16:22:17 +01:00
Nikita Popov 1b54a62fcf Fix gettext func infos 2018-02-18 16:22:16 +01:00
Nikita Popov 705dc3f049 Fix DCE test
Without the type hint the previous optimization no longer applied,
as the result could be an (overloaded) object, which might have
caused dtor effect reordering.
2018-02-18 15:37:10 +01:00
Nikita Popov a5fa7555dd More mysqli func info fixes
Mainly changing resource returns to objects
2018-02-18 15:34:16 +01:00
Nikita Popov 85597e2932 Merge branch 'PHP-7.2' 2018-02-18 15:34:04 +01:00
Nikita Popov ae837db8cf Handle overloaded GMP operators in type inference 2018-02-18 15:33:30 +01:00
Nikita Popov 39974dd65d Disable negative range inference
The negative range inference implementation does not work correctly,
and it's not clear right now how it can be fixed. As such, disable
it entirely for now.
2018-02-18 15:33:28 +01:00
Anatol Belski 036a80037b Avoid multiple wcslen calls 2018-02-18 15:26:33 +01:00
Xinchen Hui 22e7329d9a change layout 2018-02-18 19:47:41 +08:00
Xinchen Hui ac5cdd46f3 Move map out of loop 2018-02-18 19:34:48 +08:00
Gabriel Caruso 4f43d312ad Remove redelcaration of zend_parse_parameters_none 2018-02-18 09:38:47 +01:00
Gabriel Caruso 079598a85d Use zend_parse_parameters_none_throw 2018-02-18 09:36:35 +01:00
Nikita Popov b889ff309b Fix lcfirst() + ucfirst() func info
These may return the original string
2018-02-17 23:22:44 +01:00
Nikita Popov ea1a51f71b Fix bcpowmod() func_info
Returns false on error
2018-02-17 23:22:44 +01:00
Nikita Popov 9c4783cbd3 Fix error_get_last() func info 2018-02-17 23:22:44 +01:00
Nikita Popov d59c45d112 Fix mysqli_connect() func info
This function returns an object, not a resource...
2018-02-17 23:22:44 +01:00
Nikita Popov 50def51d19 Fix bcscale() function info
Master only: This function now returns the old scale.
2018-02-17 23:22:43 +01:00
Nikita Popov 2cd40b3aed Merge branch 'PHP-7.2' 2018-02-17 23:21:31 +01:00
Nikita Popov 846e8a3ec9 Fix COUNT range inference
count() on objects may return a negative number :(
2018-02-17 23:18:30 +01:00
Nikita Popov fa7c23ba27 Fix hash_init() and hash_copy() func info
These functions were switched to use objects instead of resources.
2018-02-17 23:18:29 +01:00
Nikita Popov acb9426a6b Fix curl_multi_close() func info
Returns false on failure
2018-02-17 23:18:29 +01:00
Nikita Popov 8bdf9905da Fix get_object_vars() func info
Numeric keys will be converted to integer nowadays.
2018-02-17 23:18:29 +01:00
Nikita Popov 1a50a50bcf Add RC flags in init_func_return_info 2018-02-17 23:18:29 +01:00
Nikita Popov fd5644cd0b Fix array_values() and array_keys() func info
Can return RCN for empty/packed arrays
2018-02-17 23:18:28 +01:00
Xinchen Hui c79f2de2cf Optimized strrev with SSSE3
since strrev is not wildly used, and SSSE3 is defined default by some
compiler, so won't try to do ifunc here.
2018-02-17 23:19:31 +08:00
Xinchen Hui ab9162426b change argument parsing 2018-02-17 22:29:59 +08:00
Nikita Popov 38bee72e40 Fix DCE of throwing NEWs 2018-02-17 14:51:11 +01:00
Nikita Popov ef10dfc31d Fix another bug in coalesce elimination 2018-02-17 14:51:11 +01:00
Anatol Belski b2cd274122 Remove unnecessary cast 2018-02-17 14:19:06 +01:00
Anatol Belski f4705b77ff Merge branch 'PHP-7.2'
* PHP-7.2:
  Remove duplicated assignment
2018-02-17 13:13:17 +01:00
Anatol Belski 0255c21319 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Remove duplicated assignment
2018-02-17 13:12:29 +01:00
Anatol Belski b2d38ed9ca Reduce variable scope 2018-02-17 13:02:50 +01:00
Anatol Belski f44f9d6206 Remove always true condition 2018-02-17 13:02:50 +01:00
Anatol Belski 0bc4cf901c Fix unsigned comparisons 2018-02-17 13:02:50 +01:00
Anatol Belski e72e537d1b Reduce var scope 2018-02-17 13:02:49 +01:00
Anatol Belski 28132878f2 Reduce var scope 2018-02-17 13:02:49 +01:00
Nikita Popov 257f07ef6d Fix COALESCE jump optimization 2018-02-17 12:42:21 +01:00
Xinchen Hui 55ef99e3b8 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Fixed bug #75961 (Strange references behavior)

Conflicts:
	ext/standard/array.c
2018-02-17 16:39:31 +08:00
Xinchen Hui 114e5d0206 Update NEWS 2018-02-17 16:35:42 +08:00
Xinchen Hui 26dda8999c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75961 (Strange references behavior)
2018-02-17 16:33:39 +08:00
Nikita Popov 7ff186434e Explicitly sort live ranges by start opnum
Instead of moving live ranges around to maintain the start opnum
invariant, add an explicit sorting step in pass two.
2018-02-16 21:51:50 +01:00
Nikita Popov b0af9ac733 Avoid live range references in opcodes
Don't store the live range of the freed variable for FREE_ON_RETURN
frees, instead look it up at runtime. As this is an extremely
unlikely codepath (in particular, it requires a loop variable with
a throwing destructor), saving the runtime lookup of the live range
is not worth the extra complexity this adds everywhere else.
2018-02-16 21:30:48 +01:00
Nikita Popov 07ad75ca96 Merge branch 'PHP-7.2' 2018-02-16 20:31:01 +01:00
Nikita Popov 0674d677bc Merge branch 'PHP-7.1' into PHP-7.2 2018-02-16 20:30:49 +01:00
Anatol Belski a5e532f729 Handle special case when SSE only requested for 32-bit build 2018-02-16 16:51:11 +01:00
Anatol Belski d9994ff7b2 Rework --with-codegen-arch and --enable-native-intrinsics config 2018-02-16 16:23:27 +01:00
Anatol Belski abf5534113 Reduce var scope 2018-02-16 15:44:43 +01:00
Anatol Belski 535497cb97 Remove always true condition 2018-02-16 15:44:42 +01:00
Anatol Belski 7761c819bf Simplify declaration 2018-02-16 15:44:42 +01:00
Anatol Belski 325934c057 Simplify declaration 2018-02-16 15:44:41 +01:00
Nikita Popov f61c01eeb1 Fix unused variable warning 2018-02-16 15:31:54 +01:00
Anatol Belski 1c68f54684 Merge branch 'PHP-7.2'
* PHP-7.2:
  Wrap var depending on conditional compilation
2018-02-16 13:42:04 +01:00
Anatol Belski 4800a95e72 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Wrap var depending on conditional compilation
2018-02-16 13:41:13 +01:00
Dmitry Stogov 25e0413de1 Simplify REFCOUNTED checks 2018-02-16 15:37:40 +03:00
Dmitry Stogov b4112ea288 Don't make expectations about non-constant zval refcauntability 2018-02-16 15:37:04 +03:00
Anatol Belski e5db3054a1 Fix duplicated strlen call 2018-02-16 12:52:59 +01:00
Anatol Belski 3f4598ec51 Remove unnecessary conditions and improve assignment 2018-02-16 12:52:59 +01:00
Anatol Belski 9e5595ef38 Reduce var scope 2018-02-16 12:52:59 +01:00
Anatol Belski 119be77051 Reduce var scope 2018-02-16 12:52:59 +01:00
Anatol Belski 0e52da475a Reduce variable scope 2018-02-16 12:52:58 +01:00
Dmitry Stogov ea7a3c32b8 Added missed "return" 2018-02-16 14:13:52 +03:00
Dmitry Stogov 7e329a82c7 Improved ZPP to reduce amount of generated code. 2018-02-16 11:37:20 +03:00
Dmitry Stogov 6fadb72c0b Move exceptional code into "cold" helpers 2018-02-16 02:45:31 +03:00
Anatol Belski 27908bace1 Reduce variable scope 2018-02-15 21:34:55 +01:00
Anatol Belski 646dad6160 Use explicit for more type safety 2018-02-15 21:30:16 +01:00
Anatol Belski 9258be351f Reduce variable scope 2018-02-15 21:26:01 +01:00
Anatol Belski 567d01ae20 Remove condition that is always false 2018-02-15 21:19:33 +01:00
Anatol Belski 9d8417f190 Reduce variable scope 2018-02-15 21:18:58 +01:00
Dmitry Stogov 02aea893fb Use Z_TYPE_INFO_REFCOUNTED() macro 2018-02-15 21:54:49 +03:00
Dmitry Stogov 285bfb96fe Optimize "backup" functions of inlined opcode handlers for size 2018-02-15 17:04:41 +03:00
Dmitry Stogov 3778abfc15 Added ability to manually sort opcode handlers (not used yet) 2018-02-15 15:56:38 +03:00
Dmitry Stogov 633d037ed5 Added simple VM instrumentation ability 2018-02-15 15:55:19 +03:00
Dmitry Stogov 27d7671603 Avoid generation of rarely used specialized handler 2018-02-15 14:50:42 +03:00
Dmitry Stogov 23da83c8ca Avoid inlining of rarely used handlers 2018-02-15 13:48:04 +03:00
Joe Watkins 8543f566cf Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed print_const_table function and zval types in ____printzv_contents
2018-02-15 08:57:52 +01:00
Joe Watkins 34ab10ef1b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed print_const_table function and zval types in ____printzv_contents
2018-02-15 08:57:43 +01:00
Joe Watkins 8908085ddf Merge branch 'PHP-7.2'
* PHP-7.2:
  bump versions
2018-02-15 08:56:40 +01:00
Joe Watkins 0b5466c0a6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  bump versions
2018-02-15 08:56:08 +01:00
Gabriel Caruso ea4401c1dc Better error message when fail to find test file 2018-02-15 08:51:12 +01:00
Tom Van Looy 7672f8be0b Fix: follow the indent of the other configure options 2018-02-15 08:49:58 +01:00
Nikita Popov 5a4ff9f1a9 Merge branch 'PHP-7.2' 2018-02-14 19:00:41 +01:00
Gabriel Caruso 8a3f45f90b Remove getmxrr alias dns_get_mx test
The test is currently failing, and the same functionality is
already tested (in a better way) in the getmxrr() test.
2018-02-14 19:00:07 +01:00
Anatol Belski 4656c9d88a Fix datatypes for native AVX build 2018-02-14 18:29:41 +01:00
Xinchen Hui 5c05870ef6 Optimized fast_memcpy with AVX instructions
Great thanks to welting for helping :)
2018-02-15 00:18:47 +08:00
Anatol Belski 703e037090 Upgrade bundled PCRE2 to 10.31 2018-02-14 13:44:38 +01:00
Remi Collet 1cae6cf47b Merge branch 'PHP-7.2'
* PHP-7.2:
  add pkg-config example in extension skeleton
2018-02-14 13:29:27 +01:00
Remi Collet a93dba4324 add pkg-config example in extension skeleton 2018-02-14 13:28:21 +01:00
Remi Collet 636905e8b6 Merge branch 'PHP-7.2'
* PHP-7.2:
  factorization of duplicated code
2018-02-14 13:16:55 +01:00
Remi Collet 17164bcf8d factorization of duplicated code 2018-02-14 13:15:09 +01:00
Joe 13a9a886fa Revert "Added return type for some basic functions"
This reverts commit b7d2e04f1f.
2018-02-14 11:18:52 +01:00
Gabriel Caruso b8bb4d77ca Remove empty sections in tests 2018-02-14 11:10:59 +01:00
Dmitry Patsura b7d2e04f1f Added return type for some basic functions 2018-02-14 09:18:52 +01:00
Remi Collet bd870bdb7b Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix timezone var_dump from 51f2a5803f
2018-02-14 08:59:59 +01:00
Remi Collet 528bc00d84 Fix timezone var_dump from 51f2a5803f 2018-02-14 08:59:24 +01:00
Sara Golemon b5ff5f1990 Merge branch 'PHP-7.2'
* PHP-7.2:
  Now working on 7.2.4-dev
2018-02-13 14:37:34 -05:00
Sara Golemon 2cc8cf2994 Now working on 7.2.4-dev 2018-02-13 14:37:00 -05:00
Sara Golemon 81bbb21a35 Merge branch 'PHP-7.2'
* PHP-7.2:
  Now working on 7.2.4-dev
2018-02-13 14:33:59 -05:00
Sara Golemon 5dd2a4185c Now working on 7.2.4-dev 2018-02-13 14:32:37 -05:00
Anatol Belski 57a299d682 Merge branch 'PHP-7.2'
* PHP-7.2:
  Extend skipif check
2018-02-13 14:06:27 +01:00
Anatol Belski 2235da59af Extend skipif check 2018-02-13 14:04:51 +01:00
Xinchen Hui 7bf9267404 Added SSE3 detection 2018-02-13 16:10:43 +08:00
Gabriel Caruso 0f2be28b43 Fix typo 2018-02-13 08:05:05 +01:00
Anatol Belski d7f65f30a0 Revert "Improve conversion loop"
This reverts commit 7a4573a55a.

Don't read over '\0'.
2018-02-12 22:59:21 +01:00
Dmitry Stogov 9794272f3e Micro optimization 2018-02-13 00:56:48 +03:00
Anatol Belski acc55cd34e Extend intrinsics config with AVX and AVX2 2018-02-12 20:54:27 +01:00
Xinchen Hui 6de9c91ba6 Update author info 2018-02-12 21:01:12 +08:00
Xinchen Hui cf0fae5e97 Optimized base64_encode/decode with SIMD instructions 2018-02-12 20:53:14 +08:00
Gabriel Caruso 97353cda99 Fixes for #74707 some methods of tidy class didn't have arginfo declared 2018-02-12 09:30:23 +01:00
Haitao Lv 5206f79987 fix unknown opcode overflow error 2018-02-12 09:27:55 +01:00
Gabriel Caruso 3253057021 Add test for bcpwmod
bc_raisemod's mod can't be zero and expo can't be negative
2018-02-12 09:25:31 +01:00
CHU Zhaowei 51f2a5803f Fixed bug #68406 calling var_dump on a DateTimeZone object modifies it 2018-02-12 09:20:14 +01:00
CHU Zhaowei 766271a105 fix #68406 2018-02-12 09:19:53 +01:00
Joe 7f94a26d2a Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #68406 calling var_dump on a DateTimeZone object modifies it
2018-02-12 09:19:29 +01:00
Joe 8c1147b089 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #68406 calling var_dump on a DateTimeZone object modifies it
2018-02-12 09:19:11 +01:00
Nikita Popov ff5b73b1e2 Fix use of Z_LVAL_P in snmp 2018-02-11 22:47:01 +01:00
Gabriel Caruso a5f1a585e6 Removed unused variables 2018-02-11 22:46:33 +01:00
Christoph M. Becker c718970e9e Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #75857: Timezone gets truncated when formatted
2018-02-11 12:56:39 +01:00
Christoph M. Becker 7554fd9101 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #75857: Timezone gets truncated when formatted
2018-02-11 12:49:41 +01:00
Nikita Popov f16710961b Merge branch 'PHP-7.2' 2018-02-10 19:31:09 +01:00
Nikita Popov ee3f3a9d75 Merge branch 'PHP-7.1' into PHP-7.2 2018-02-10 19:30:57 +01:00
Gabriel Caruso 21e3b0c70c Remove trailing whitespace in inc files 2018-02-10 19:20:23 +01:00
Nikita Popov 1422e2ffd1 Merge branch 'PHP-7.2' 2018-02-10 19:19:16 +01:00
Nikita Popov e87283fa3f Merge branch 'PHP-7.1' into PHP-7.2 2018-02-10 19:19:09 +01:00
Gabriel Caruso 78ed55d7b7 Fixed bug #74707
Several tidy functions receive a tidy object as mandatory parameter
2018-02-10 19:10:01 +01:00
Gabriel Caruso 4fff031e5d Remove getmxrr alias dns_get_mx test
The test is currently failing, and the same functionality is
already tested (in a better way) in the getmxrr() test.
2018-02-10 19:05:44 +01:00
sundarchi1 7711ac78d9 Sync opcache.optimization_level default value
The default value is 0x7FFFBFFF nowadays, disabling constant
propagation.
2018-02-10 19:04:13 +01:00
Sergei Morozov 1c393e9502 [Bug 75448] In case of failure, mysqli::prepare() returns NULL instead of FALSE 2018-02-10 10:40:47 -05:00
Christoph M. Becker 70fec8a1cc Align overflow error messages with upstream
This particularly fixes two tests (bug66356.phpt and bug72339.phpt) if
PHP has been build with an external libgd.
2018-02-10 15:41:33 +01:00
Xinchen Hui 33b9282c59 Remove tested code 2018-02-10 21:44:01 +08:00
Xinchen Hui 08428cf6a7 Fixed cpuinfo in LLVM GCC & Added AVX2 detection
Seems it only defines __builtin_cpu_supports but no __builtin_cpu_init
(Apple LLVM version 9.0.0 (clang-900.0.38))
2018-02-10 17:38:30 +08:00
Xinchen Hui 7ce72f0cf5 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src: (37 commits)
  Avoid conditions inside loop
  Improve loop vectorization
  Improve loop vectorization
  Remove unused function
  Fixed bug #75938
  Remove unused files
  Fixed bug #75940 Unnecessary compile wrapper with PHP_THREAD_SAFETY=yes
  typo
  Update README.GIT-RULES
  Fix SKIPIF section
  Fixes bug #75871 Use pkg-config for libxml2 if available
  Fixed bug #49876 lib path on 64bit distros
  Refactor testing READMEs
  Fixed bug #65414
  Fixed bug #65414
  Fixed bug #74519 strange behavior of AppendIterator
  fix #74519 strange behavior of AppendIterator
  Use bool instead of boolean
  Remove space between function name and open parentheses
  Fix some misspellings
  ...
2018-02-10 17:01:55 +08:00
Xinchen Hui 87b7180480 Fixed cpu feature check in reslover functions 2018-02-10 16:58:27 +08:00
Anatol Belski d3cb224eb3 Avoid conditions inside loop 2018-02-09 19:28:20 +01:00
Anatol Belski 3e6492f305 Improve loop vectorization 2018-02-09 19:28:20 +01:00
Anatol Belski e87dfb1da2 Improve loop vectorization 2018-02-09 19:28:20 +01:00
Christoph M. Becker c8ba185cf9 Remove unused function 2018-02-09 17:39:24 +01:00
Nikita Popov d05ac8f610 Merge branch 'PHP-7.2' 2018-02-09 15:11:42 +01:00
Nikita Popov 7aac61ce76 Fixed bug #75938
New modulus range inference implementation has been verified using
https://gist.github.com/nikic/67947ff92cf0e1f7e931f2f0d4cf817f.

The computed bounds are not tight, but it seems to be very hard to
compute tight bounds on modulus operations.
2018-02-09 15:10:23 +01:00
Christoph M. Becker 41b4a2edc1 Remove unused files
These files had served as fallback for GD < 2.1.0, but since we're
requiring GD ≥ 2.1.0 for years[1], there's no more need for them.

[1] 8a90aad35b
2018-02-09 14:45:36 +01:00
Jaromír Doleček a5b55416f4 Fixed bug #75940 Unnecessary compile wrapper with PHP_THREAD_SAFETY=yes 2018-02-09 14:30:06 +01:00
Dmitry Stogov d968581c5b typo 2018-02-09 11:33:02 +03:00
Joe dfebd98c09 Merge branch 'master' of git://github.com/php/php-src 2018-02-08 17:53:26 +01:00
Gabriel Caruso c25e97fdab Update README.GIT-RULES 2018-02-08 17:52:51 +01:00
Gabriel Caruso 420712415a Fix SKIPIF section 2018-02-08 17:18:26 +01:00
Joe 47b90e910b Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixes bug #75871 Use pkg-config for libxml2 if available
2018-02-08 10:51:47 +01:00
Joe f9a16d492e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixes bug #75871 Use pkg-config for libxml2 if available
2018-02-08 10:51:07 +01:00
Joe 812303aa5e Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #49876 lib path on 64bit distros
2018-02-08 10:43:10 +01:00
Joe d803dcba3b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #49876 lib path on 64bit distros
2018-02-08 10:42:42 +01:00
Peter Kokot 616b00bfa6 Refactor testing READMEs
This patch removes additional README.TESTING2 file and moves its
contents into a single README.TESTING file for convenience.
2018-02-08 10:38:55 +01:00
Joe c8e844be35 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #65414
2018-02-08 10:34:38 +01:00
Joe 44a1271ea0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #65414
2018-02-08 10:33:03 +01:00
Bishop Bettini 4765ba7dc3 Fixed bug #65414 2018-02-08 10:29:56 +01:00
Joe 748c40867b Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #74519 strange behavior of AppendIterator
2018-02-08 10:19:15 +01:00
Joe ab770401e1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #74519 strange behavior of AppendIterator
2018-02-08 10:18:31 +01:00
Gabriel Caruso 414aaa207c Use bool instead of boolean 2018-02-08 10:00:49 +01:00
Gabriel Caruso d9068e84b7 Remove space between function name and open parentheses 2018-02-08 09:57:43 +01:00
Gabriel Caruso 2d48d734a2 Fix some misspellings 2018-02-06 16:59:00 +01:00
Gabriel Caruso 91b09c7aa6 Increase ext/ftp coverage 2018-02-06 16:28:42 +01:00
Christoph M. Becker c73e8a07a5 Remove unused variable
We're not interested in the return value of
`gdGuessBackgroundColorFromCorners`, so there's no need to track it.

See also libgd/libgd@535eab566b.
2018-02-06 14:59:23 +01:00
Gabriel Caruso ef0eb166bc Remove unused variable 2018-02-06 14:33:04 +01:00
Dmitry Stogov 2f3c0b327f Fixed tests 2018-02-06 15:36:31 +03:00
Nikita Popov 39c5857135 Merge branch 'PHP-7.2' 2018-02-05 21:43:50 +01:00
Nikita Popov 1391a0fa0b Fixed bug #75893
It is not sufficient to just add the additional types for aliased
variables at the end of type inference, because types of derived
variables may depend on them. Make sure the additional types are
always added whenever the type of an aliased variable is updated.
2018-02-05 21:41:44 +01:00
Nikita Popov aa7dbc8ee7 Merge branch 'PHP-7.2' 2018-02-05 21:10:12 +01:00
Nikita Popov d9e71169e6 Fixed bug #75729
Don't try to evaluate substr() and strpos() at compile-time if
mbstring function overloading is enabled. I'm reusing the
COMPILE_NO_BUILTIN_STRLEN for the detection of mbstring function
overloading here, even if it's technically only about strlen()...
2018-02-05 21:08:18 +01:00
Nikita Popov db2475cec2 Fix unused variable compiler warnings 2018-02-05 20:58:15 +01:00
Nikita Popov d7fe32500e Match strpos() behavior with mbstring.func_overload
mb_strpos() specifically emulates strpos() behavior when function
overloading is enabled. However, the condition was not changed
when strpos() behavior changed in PHP 7.
2018-02-05 20:58:15 +01:00
Anatol Belski dd4afad087 Fix visibility 2018-02-05 20:42:17 +01:00
Anatol Belski 7a4573a55a Improve conversion loop 2018-02-05 20:42:17 +01:00
Nikita Popov ef20d2990f Remove unnecessary CE_STATIC_MEMBERS() checks
CE_STATIC_MEMBERS(ce) is destroyed after EG(active)=0 is set, so we
should never run into a situation where it is NULL inside the VM.
2018-02-05 18:54:17 +01:00
Dmitry Stogov 752d684971 Removed "dead" code 2018-02-05 20:43:08 +03:00
Dmitry Stogov e0a399f175 One cache slot is enough 2018-02-05 20:40:21 +03:00
Dmitry Stogov ca035f26aa Moved "zval.u2.cache_slot" into free room of "zend_op" 2018-02-05 19:41:47 +03:00
Dmitry Stogov 070a0091b3 Use low bits 2018-02-05 19:41:17 +03:00
Dmitry Stogov 3a794d39f0 Avoid repeatable ARG_SHOULD_BE_SENT_BY_REF() checks in FETCH_*FUNC_ARG and following SEND_VAR_EX. Perform the check once in a new CHECK_FUNC_ARG opcode and reuse in the following FETCH_*FUNC_ARG and SEND_FUNC_ARG (SEND_VAR_EX replacement). 2018-02-05 19:40:06 +03:00
Anatol Belski 7416562ab0 Merge branch 'PHP-7.2'
* PHP-7.2:
  Finer conditions, so /Qspectre is already usable with latest vc15
2018-02-05 10:41:22 +01:00
Anatol Belski 51a0e051fc Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Finer conditions, so /Qspectre is already usable with latest vc15
2018-02-05 10:40:45 +01:00
Michael Wallner ab44dddfe4 Merge branch 'PHP-7.2'
* PHP-7.2:
  fix bug #75916 DNS_CAA record results contain garbage
2018-02-05 09:10:57 +01:00
Michael Wallner 3ef3f74a65 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix bug #75916 DNS_CAA record results contain garbage
2018-02-05 09:08:12 +01:00
Nikita Popov fc23452cbf Adjust manual zpp-like error message implementations
This should also use int/bool.
2018-02-04 23:27:51 +01:00
Nikita Popov b4dff68379 Remove no longer necessary type-name special cases
zend_get_type_by_name() now produces the correct value by itself,
so we no longer need these workarounds.
2018-02-04 23:20:44 +01:00
Gabriel Caruso fef879a2d6 Use bool instead of boolean while throwing a type error
PHP requires boolean typehints to be written "bool" and disallows
"boolean" as an alias. This changes the error messages to match
the actual type name and avoids confusing messages like "must be
of type boolean, boolean given".

This a followup to ce1d69a1f6, which
implements the same change for integer->int.
2018-02-04 23:09:40 +01:00
Gabriel Caruso ce1d69a1f6 Use int instead of integer in type errors
PHP requires integer typehints to be written "int" and does not
allow "integer" as an alias. This changes type error messages to
match the actual type name and avoids confusing messages like
"must be of the type integer, integer given".
2018-02-04 19:08:23 +01:00
Gabriel Caruso 4861730a94 strcoll isn't always available 2018-02-04 17:32:56 +01:00
Gabriel Caruso b0d3c1bf83 Add and fix SKIPIF sections 2018-02-04 17:26:37 +01:00
Gabriel Caruso affc20f891 Use bool instead of boolean in proto 2018-02-04 17:00:24 +01:00
Gabriel Caruso 0709eb80f3 Fix test for TCP_NODELAY constant
Actually check for the constant, instead of just printing a string...
2018-02-04 16:59:29 +01:00
Gabriel Caruso 9a4cc52c23 Remove superfluous PHP version check in tests
Also remove tests that target only old PHP versions.
2018-02-04 16:58:54 +01:00
Gabriel Caruso 84488d921b Remove superfluous SKIPIF sections in more tests 2018-02-04 16:57:08 +01:00
Stanislav Malyshev 3616b6b935 Cleanup some tests - remove unnecessary sections
Also unify credits - all are under --CREDITS-- now.
2018-02-04 02:21:40 -08:00
Nikita Popov 47699a24e6 Bump libcurl requirement to 7.15.5
The existence of the following functions is now guaranteed:
 * curl_escape()
 * curl_unescape()
 * curl_multi_setopt()

libcurl 7.15.5 has been released 11.5 years ago and is available
even in RHEL 5.
2018-02-03 21:11:20 +01:00
Benjamin Morel 5864ab75d5 Script to check the sync of cURL constants with online docs 2018-02-03 20:43:21 +01:00
Benjamin Morel 85021a3993 Add CURLOPT_REQUEST_TARGET constant 2018-02-03 20:43:18 +01:00
Nikita Popov c58b307833 Remove checks for unicode.semantics ini option 2018-02-03 19:50:20 +01:00
Nikita Popov 60c29a7f2b Simplify E_STRICT handling in mysqli tests
E_STRICT is always defined, so we don't need to handle it
conditionally. Instead just let the message be printed and check
the output.
2018-02-03 19:11:55 +01:00
Nikita Popov 1a3bdb4a2c Remove some references to E_STRICT in tests
run-tests.php enforces error_reporting=E_ALL (including E_STRICT),
setting this explicitly in not necessary. Conversely, after the
removal of some E_STRICT errors, explicitly excluding it is no
longer necessary in some places.
2018-02-03 18:17:12 +01:00
Gabriel Caruso 36d8bf5294 Remove superfluous SKIPIF sections in tests 2018-02-03 17:50:51 +01:00
Gabriel Caruso 766ce8bdd5 Remove superfluous SKIPIF sections in SPL tests 2018-02-03 17:50:31 +01:00
Nikita Popov e0171ed9d0 Avoid another unused opline warning
The unconditional opline load here used to be necessary for freeing
the return value in case of exception. However, this is no longer
the case, so using LOAD_OPLINE() should be sufficient now.
2018-02-03 17:43:41 +01:00
Nikita Popov 24e744d8a2 Avoid VM warning if building without global regs 2018-02-03 17:43:41 +01:00
Anatol Belski a06cde8236 If the target attribute is available, attach it explicitly
The ifunc attribute might be not available as it is binary format
dependent.
2018-02-03 17:18:41 +01:00
Gabriel Caruso 1624b0a91f Remove superfluous SKIPIF sections in Zend tests 2018-02-03 16:16:49 +01:00
Lee Hsun 4b19f710e1 Set max_requests to 0
The value will always be overwritten by fpm_run(), and the default
value there is 0 and not 500.
2018-02-03 16:15:12 +01:00
Gabriel Caruso bdb8b4fb2b Fix DateTime*::__set_state arginfo
This is a minor BC break, because classes inheriting from DateTime and
overriding __set_state() now have to specify the additional parameter
as well. However, adding the additional parameter also continues to
work on previous versions of PHP, so this change is acceptable for
master.
2018-02-03 16:12:46 +01:00
Gabriel Caruso a920db8f13 Remove superfluous SKIPIF sections in Reflection tests 2018-02-03 14:10:51 +01:00
Gabriel Caruso c6c9e71a5b Add missing SKIPIF sections 2018-02-03 13:54:34 +01:00
Christoph M. Becker a0e5af70a7 Add missing SKIPIF section
The test requires the session extension, which may not be available, in
which case the test would fail, which is expected anyway, but not for
the expected reasons.
2018-02-03 13:34:58 +01:00
Nikita Popov eafb092d9f Merge branch 'PHP-7.2' 2018-02-02 22:39:32 +01:00
Gabriel Caruso 53dbc69a8d Use %d when expecting line number in tests 2018-02-02 22:35:13 +01:00
Michael Smith 58c778ba60 Fix spelling and grammar mistakes in php.ini files
The spelling of input_encoding is incorrect in both the php.ini-production
and php.ini-development, as of March, 2014. This fixes the spelling.

Cleaning up spelling and grammar includes wrapping lines to 80 characters,
adding articles such as 'the', and fixing spellings such as pathes to
paths.
2018-02-02 22:33:24 +01:00
Gabriel Caruso 8034fdc9d9 Use int instead of integer in proto 2018-02-02 22:32:15 +01:00
Nikita Popov 3e15465f31 Merge branch 'PHP-7.1' into PHP-7.2 2018-02-02 22:31:40 +01:00
Anatol Belski ff02775331 Use 7za for packaging
Better compression, Unicode support and general compatibility.
2018-02-02 18:31:22 +01:00
Christoph M. Becker b309f645f9 Sync gdImageCrop() with upstream
Besides that we still hope to sync the complete bundled libgd sometime,
the upstream implementation of `gdImageCrop()` is much simpler than the
current one, and thus better readable and less error prone.
2018-02-02 17:39:23 +01:00
Dmitry Stogov 9a6100f9dd Break dependency between IS_TYPE_REFCOUNTED and ZEND_CALL_FREE_EXTRA_ARGS 2018-02-02 17:38:07 +03:00
Dmitry Stogov 1208acfe5f Added note about changed VM instructions 2018-02-02 17:35:23 +03:00
Anatol Belski e9ae821abd Merge branch 'PHP-7.2'
* PHP-7.2:
  Switch to the new PHP SDK version on AppVeyor
2018-02-02 14:09:44 +01:00
Anatol Belski b7575758a9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Switch to the new PHP SDK version on AppVeyor
2018-02-02 14:09:20 +01:00
Anatol Belski 674c1ea7dc Fix incompatible pointer warning 2018-02-01 16:52:18 +01:00
Dmitry Stogov 8c977c3430 typo 2018-02-01 17:46:30 +03:00
Anatol Belski 459667ee32 Merge branch 'PHP-7.2'
* PHP-7.2:
  Ensure there are no line breaks in the error msg
2018-02-01 15:30:58 +01:00
Anatol Belski 138ea7c3fe Ensure there are no line breaks in the error msg 2018-02-01 15:30:01 +01:00
Anatol Belski 1f2a5ca417 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
  Fix race conditions with Apache vhost vs. per dir config
2018-02-01 15:26:49 +01:00
Anatol Belski bc584c408c [ci skip] Update NEWS 2018-02-01 15:26:12 +01:00
Anatol Belski 88aeb104a2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
  Fix race conditions with Apache vhost vs. per dir config
2018-02-01 15:25:55 +01:00
Dmitry Stogov ba298725d1 Changed CATCH instruction format (extended_value moved into op2, op2 into result, result into extended_value) 2018-01-31 22:39:30 +03:00
Anatol Belski 3c6e1c2b81 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix race conditions with Apache vhost vs. per dir config
2018-01-31 20:26:20 +01:00
Anatol Belski 73eb5a78b9 Fix race conditions with Apache vhost vs. per dir config
If the same php_value/php_flag is present in httpd.conf and .htaccess,
the key is potentially shared between threads. Unfortunately we can't
intern these keys using the current mechanism, because the MPM is setup
before the SAPI module setup is even started. A more elegant way were
to implement a kind of string pool for the thread safe Apache SAPI
config directives with the mechanism similar to what is done for the
SAPI setup now, but doing a separate management.
2018-01-31 20:15:30 +01:00
Dmitry Stogov 9c7fb529ce Changed FETCH_CONSTANT instruction format (extended_value moved into op1) 2018-01-31 18:15:25 +03:00
Dmitry Stogov f67f455ef7 Changed FETCH_CLASS instruction format (extended_value moved into op1) 2018-01-31 18:14:43 +03:00
Dmitry Stogov 9701b644fa Compress handlers table 2018-01-31 16:46:30 +03:00
Derick Rethans 3152d44b36 Merge branch 'PHP-7.2' 2018-01-31 11:56:11 +00:00
Derick Rethans 5feb53964f Sync with timelib 2017.06 2018-01-31 11:55:35 +00:00
Dmitry Stogov 59ede4c82b Avoid redundand mask extraction 2018-01-31 13:47:43 +03:00
Dmitry Stogov 1d7eab12e6 Avoid redundand mask extraction 2018-01-31 13:34:34 +03:00
Dmitry Stogov e43ac26356 Fixed string comparison (it may fail in case of not null-terminated strings) 2018-01-31 12:38:02 +03:00
Dmitry Stogov 17a3b48454 Make IS_UNUSED to be zero. 2018-01-31 11:18:41 +03:00
Jakub Zelenka 67e8445334 Merge branch 'PHP-7.2' 2018-01-30 20:09:24 +00:00
Jakub Zelenka 3348d40a7b Use correct certs for SNI server tests with separate key and cert 2018-01-30 20:08:19 +00:00
Jakub Zelenka aef59537e6 Merge branch 'PHP-7.1' into PHP-7.2 2018-01-30 20:02:34 +00:00
Dmitry Stogov 7141631cc8 Change FETCH/ISSET instruction modifiers:
- Get rid of ZEND_ISEMPTY and ZEND_ISSET_ISEMPTY_MASK. Use just single ZEND_ISSET bit to make distinct between isset() and empty()
- Use ZEND_FETCH_GLOBAL, ZEND_FETCH_LOCAL and ZEND_FETCH_GLOBAL_LOCK as bitmask
- Removed unused ZEND_FETCH_STANDARD
- Extended ZEND_FETCH_ARG_MASK
2018-01-30 22:06:05 +03:00
Anatol Belski acbd348969 Implement configuration option for explicit native intrinsics
It mimics -march=native, AVX and more to go, if needed.
2018-01-29 18:26:03 +01:00
Thomas Punt e51aadcc4e Merge branch 'PHP-7.2'
* PHP-7.2:
  Use the correct freeing function
2018-01-29 11:17:23 +00:00
Thomas Punt 0f393a6102 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Use the correct freeing function
2018-01-29 11:13:22 +00:00
Gabriel Caruso 4f961e0c4a Remove explicit intval() param count check
Rely on ZPP instead.
2018-01-28 22:07:10 +01:00
Nikita Popov 4a7dacb5ee Don't loop over indexes in Phar::extractTo()
Instead use a more idiomatic foreach loop. The behavior is not
strictly the same, but I see no reason why this specific case
should enforce continuously indexed integer keys.

Also handle references in the array while at it.
2018-01-28 22:05:44 +01:00
Gabriel Caruso faf785af9d Fix misspelling vlaues to values 2018-01-28 21:55:21 +01:00
Nikita Popov d79a0bf748 Merge branch 'PHP-7.2' 2018-01-28 21:53:38 +01:00
Bishop Bettini fa586cee3e Fixed bug #54289
If a directory is passed to Phar::extractTo(), loop over all
entries and extract all files with the given prefix.
2018-01-28 21:51:25 +01:00
Anatol Belski 3917b51358 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS.
2018-01-27 17:25:40 +01:00
Anatol Belski a99df321f1 [ci skip] Update NEWS. 2018-01-27 17:24:29 +01:00
Anatol Belski 4752f8a8ed Merge branch 'PHP-7.2'
* PHP-7.2:
  fixed Big_endian issue on s390x for stream test cases
2018-01-27 16:45:27 +01:00
Sam Ding a8c6b36d62 fixed Big_endian issue on s390x for stream test cases 2018-01-27 16:39:03 +01:00
Christoph M. Becker 5d7b2ce961 Merge branch 'PHP-7.2' and add NEWS entry 2018-01-27 13:16:06 +01:00
Christoph M. Becker 96595a232a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Revert "Fix #75878: RecursiveTreeIterator::setPostfix has wrong signature"
2018-01-27 13:13:06 +01:00
Christoph M. Becker ce7ef7c282 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix #75878: RecursiveTreeIterator::setPostfix has wrong signature
2018-01-27 12:46:10 +01:00
Christoph M. Becker d7a02844f9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #75878: RecursiveTreeIterator::setPostfix has wrong signature
2018-01-27 12:41:15 +01:00
Nikita Popov 466196d454 Merge branch 'PHP-7.2' 2018-01-26 22:28:54 +01:00
Nikita Popov fd255b8878 Merge branch 'PHP-7.1' into PHP-7.2 2018-01-26 22:28:48 +01:00
Nat Zimmermann 478af26d84 Update mb_preferred_mime_name tests 2018-01-26 22:25:18 +01:00
Nat Zimmermann 6fb78e3017 Add unknown encoding warning test for mb_encoding_aliases 2018-01-26 22:25:18 +01:00
Gabriel Caruso c0ef58e9fe Simplify returns in generate-phpt 2018-01-26 22:19:08 +01:00
Nikita Popov e061a4e9e4 Drop the ext/intl/doc directory
Drop outdated documentation stubs. Better intl documentation is
available in the manual...
2018-01-26 22:13:11 +01:00
Anatol Belski ec0bcecee7 Add RtlSecureZeroMemory to explicit_bzero() compile case
just in case one would use the function directly. The use of
ZEND_SECURE_ZERO could be eliminated now, too. Or it can be
kept for BC.
2018-01-26 21:34:31 +01:00
Dmitry Stogov 53eb20f0cb Merge branch 'PHP-7.2'
* PHP-7.2:
  Restore initial values on graceful server restart.
2018-01-26 15:25:03 +03:00
Dmitry Stogov aad12cb49c Restore initial values on graceful server restart. 2018-01-26 15:22:36 +03:00
Anatol Belski 9edf2e9f96 Show the tidyp name, if it was used 2018-01-25 18:55:54 +01:00
Anatol Belski b341556ab5 Add missing define after e7da9685 2018-01-25 18:54:37 +01:00
David Carlier e7da9685cf Tidy extension update to be able to either use tidy or tidyp at configure time 2018-01-25 18:28:55 +01:00
Anatol Belski 93185218e1 Revoke the gcc only restriction
clang at least 5.0 supports GNU style attributes and intrinsic macros.
In general, compilers claiming this functionality should know, what
they do.
2018-01-25 16:24:04 +01:00
Nat Zimmermann 2d1ec6f4b5 Add tests for json_decode with depth below 0 2018-01-24 21:23:24 +01:00
Nikita Popov 2687be6589 Merge branch 'PHP-7.2' 2018-01-24 21:22:50 +01:00
Michael Orlitzky 3fe9e10a1b ext/session: catch incompatible configure flags earlier.
The session extension has a --with-mm flag that tells it to build
the mm backend ("mm" is the name of the library). However, that
backend is not thread-safe, and mod_mm.c will refuse to compile if
the --enable-maintainer-zts flag was also passed to the configure
script.

Rather than crash halfway through the build, this commit adds a check
to the session extension's config.m4 file. If both --with-mm and
--enable-maintainer-zts are "on," then the configure script will
die and explain that they can't be used together.

PHP-bug: 14269
2018-01-24 21:22:15 +01:00
Anatol Belski b6f66f18ad Reimplement ASCII conversion using aligned routine 2018-01-24 18:35:40 +01:00
Anatol Belski 92f9fde23a Macrify the common operation 2018-01-24 18:35:40 +01:00
Derick Rethans 4aa864c4ab Updated to version 2018.3 (2018c) 2018-01-24 13:57:08 +00:00
Derick Rethans 9b4aa706f1 Empty merge 2018-01-24 13:57:08 +00:00
Derick Rethans 6dbe046154 Updated to version 2018.3 (2018c) 2018-01-24 13:57:07 +00:00
Derick Rethans 3bdcb6cf3e Empty merge 2018-01-24 13:57:07 +00:00
Anatol Belski 7e2a9936d3 Move useful macro into zend_portability.h 2018-01-24 10:14:28 +01:00
Anatol Belski a6e86f7a3f Implement intrinsic function resolving per MINIT 2018-01-24 09:33:32 +01:00
Sara Golemon df4edde870 Remove padding just merged since 7.3 isn't released yet.
Also bump PHP_API_VERSION since the struct size has changed.
2018-01-23 11:13:41 -05:00
Sara Golemon 76b63ed149 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix alignment of PG struct cause by ignore_user_abort big endian fix
2018-01-23 11:11:43 -05:00
Sara Golemon 0c22cda951 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix alignment of PG struct cause by ignore_user_abort big endian fix
2018-01-23 11:11:37 -05:00
Sara Golemon 79f9ed9b6f Merge branch 'PHP-7.2'
* PHP-7.2:
  Use Z_EXPECTED_LONG to initialize FAST_ZPP parsing loop
2018-01-23 09:24:54 -05:00
Sara Golemon 0067420049 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Use Z_EXPECTED_LONG to initialize FAST_ZPP parsing loop
2018-01-23 09:24:47 -05:00
Sara Golemon 81425be70b Merge branch 'PHP-7.2'
* PHP-7.2:
  BigEndian fix for ignore_user_abort. Use zend_bool to match OnUpdateBool
2018-01-23 08:59:30 -05:00
Sara Golemon 871066523e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  BigEndian fix for ignore_user_abort. Use zend_bool to match OnUpdateBool
2018-01-23 08:58:53 -05:00
Dmitry Stogov 5e8aa036f2 Access extra data stored in zval through macros 2018-01-23 12:56:22 +03:00
Christoph M. Becker 5b4b4d33b2 Update to SQLite 3.22.0 2018-01-22 23:42:36 +01:00
Anatol Belski e239c5e19b Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
2018-01-22 19:15:53 +01:00
Anatol Belski 4626c28e9c [ci skip] Update NEWS 2018-01-22 19:15:30 +01:00
Anatol Belski b8f14008eb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-01-22 19:15:02 +01:00
Anatol Belski 23287a0a81 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #73725 Unable to retrieve value of varchar(max) type
2018-01-22 17:05:03 +01:00
Anatol Belski e403e122cd Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #73725 Unable to retrieve value of varchar(max) type
2018-01-22 17:03:48 +01:00
Dmitry Stogov a89eb2f101 Removed commented unoptimized code 2018-01-22 16:14:56 +03:00
Dmitry Stogov a561d6a6ee Use OBJ_FLAGS() macro to access object flags (even if they are currently stored together with GC_FLAGS) 2018-01-22 16:10:33 +03:00
Dmitry Stogov b3e22da745 Use OBJ_FLAGS() macro to access object flags (even if they are currently stored together with GC_FLAGS) 2018-01-22 15:57:00 +03:00
Dmitry Stogov 6fb5568b2d Merge HashTable.u.v.consistency into HashTable.u.v.flags 2018-01-22 15:32:34 +03:00
Dmitry Stogov 6634d5e313 Use HT_FLAGS() macro 2018-01-22 14:58:16 +03:00
Dmitry Stogov ebf900a9eb Introduce mcros to access HashTable iterators counter 2018-01-22 14:14:35 +03:00
Dmitry Stogov c75346dcb5 ws 2018-01-22 13:37:48 +03:00
Dmitry Stogov 9cbb521094 Access HashTable.u.flags through HT_FLAGS() macro. 2018-01-22 13:36:15 +03:00
David Carlier 7f51257c08 NetBSD has its own unoptimizable memset version since 2013
checking presence of the function if older versions of NetBSD
2018-01-19 18:24:36 +01:00
Anatol Belski 957b91b739 Implement SSE2 based ASCII to UTF-16 conversion
This also eliminates the INT_MAX length restriction.
2018-01-19 18:00:02 +01:00
Dmitry Stogov 742d5a01ed Get rid of IS_TYPE_COPYABLE. 2018-01-19 17:47:26 +03:00
Dmitry Stogov 465a8cfbad Use reference-counting instead of duplication 2018-01-19 13:56:31 +03:00
Dmitry Stogov 41ef2952c8 Only persistent referencecounted strings should be duplicated. 2018-01-19 13:41:35 +03:00
Dmitry Stogov d8f916124b Usee reference-counting instead of duplication 2018-01-19 13:19:49 +03:00
Dmitry Stogov 5f349f3ab8 Avoid useless duplication 2018-01-19 13:14:15 +03:00
Dmitry Stogov c2152a2662 Move invariant code out of loop 2018-01-19 01:29:37 +03:00
Dmitry Stogov bf7176c70f Use reference-counting instead of duplication and separation, if really necessary. 2018-01-19 01:03:24 +03:00
Dmitry Stogov 1ee94f56c4 Removed IS_TYPE_COPYABLE flag from IS_STRING zvals. 2018-01-18 12:41:27 +03:00
Dmitry Stogov 0a336f9421 Moved IS_CONSTANT_VISITED_MARK, used for protection from recursive self-referencing class constants, from zval.u1.v.type_flags into zval.u2.access_flags. 2018-01-18 11:36:04 +03:00
Xinchen Hui 1e4deadc5b Merge branch 'PHP-7.2'
* PHP-7.2:
  Updated NEWS
  Fixed #75838 (Memory leak in pg_escape_bytea())
2018-01-18 10:54:16 +08:00
Xinchen Hui 2dc1cd1154 Updated NEWS 2018-01-18 10:53:58 +08:00
Xinchen Hui 6184301212 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed #75838 (Memory leak in pg_escape_bytea())
2018-01-18 10:53:39 +08:00
Dmitry Stogov 1613b6a06b Expand SEPARATE_STRING() 2018-01-18 02:30:07 +03:00
Dmitry Stogov a31f251507 Removed useless SEPARATE_STRING() (zend_string_extend() performs separation anyway) 2018-01-18 02:28:18 +03:00
Dmitry Stogov f8885523bf Clenaup SEPARATE_ZVAL...() macros (the behavior is unchanged) 2018-01-18 02:27:11 +03:00
Anatol Belski 8d4b57f62c Add missing closing fold 2018-01-17 20:48:13 +01:00
Dmitry Stogov 25a44cb99e Eliminate duplication, increment_string() performs it anyway. 2018-01-17 20:09:28 +03:00
Dmitry Stogov a87a2f464b Send by reference without duplication 2018-01-17 18:50:18 +03:00
Dmitry Stogov de79001bef ZVAL_COPY_OR_DUP() instead of ZVAL_DUP() 2018-01-17 17:58:42 +03:00
Dmitry Stogov a22f8ac1a9 More effecient array duplication 2018-01-17 17:57:59 +03:00
Dmitry Stogov dd51cb1e34 More effecient array duplication 2018-01-17 17:56:04 +03:00
Dmitry Stogov ae620a06cd More effecient conversion 2018-01-17 17:51:18 +03:00
Dmitry Stogov 515b0508e0 Use ZVAL_COPY() instead og ZVAL_DUP(), because fault is an object 2018-01-17 17:48:36 +03:00
Dmitry Stogov b19d81e0da Use zval_copy_ctor_func() instead of _zval_copy_ctor_func(). 2018-01-17 17:46:57 +03:00
Anatol Belski e9eff0a425 Merge branch 'PHP-7.2'
* PHP-7.2:
  Add switches for Spectre variant 1 mitigation
2018-01-17 14:48:06 +01:00
Anatol Belski f0aa379dc1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add switches for Spectre variant 1 mitigation
2018-01-17 14:47:39 +01:00
Dmitry Stogov f7f790fcc9 Scalar types don't have reference counter 2018-01-17 16:17:43 +03:00
Dmitry Stogov 20866891bd Eliminate duplication 2018-01-17 15:52:52 +03:00
Dmitry Stogov c5c9a69447 Use ZVAL_DUP() instead of zval_copy_ctor() 2018-01-17 14:59:15 +03:00
Dmitry Stogov eb6e574b29 Resource is not copyable (just refcounted) 2018-01-17 14:57:42 +03:00
alexanderholman a01de10b07 Fixed bug #74719
Allow stream context arguments for fopen, rename, unlink, mkdir
and rmdir to be null.
2018-01-17 12:46:59 +01:00
Dmitry Stogov af8de0aa95 Simplified conversion 2018-01-17 14:19:13 +03:00
Dmitry Stogov 3896a0332f Eliminate separations 2018-01-17 14:12:06 +03:00
Dmitry Stogov 48b4e01680 Eliminate useless separations 2018-01-17 14:11:40 +03:00
Xinchen Hui 8ec8d7f926 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Eliminate useless separations
  Avoid separation and simlifyed conversion
  Eliminate useless separation
  Eliminate useless separation
  Eliminate useless separations
  A cheaper way to clone reference value.
2018-01-17 18:04:07 +08:00
Dmitry Stogov 67e47c3ee3 Eliminate useless separations 2018-01-17 12:45:23 +03:00
Dmitry Stogov 19bf64cd61 Avoid separation and simlifyed conversion 2018-01-17 12:37:42 +03:00
Xinchen Hui 5618a5cfd9 Don't use ifunc if compiling with __SSE4_2__ deinfed 2018-01-17 17:31:10 +08:00
Dmitry Stogov 14d3a627c9 Eliminate useless separation 2018-01-17 12:25:49 +03:00
Dmitry Stogov b2c060a291 Eliminate useless separation 2018-01-17 12:09:38 +03:00
Dmitry Stogov 20b13fda09 Eliminate useless separations 2018-01-17 11:59:01 +03:00
Dmitry Stogov ffa16693a7 A cheaper way to clone reference value. 2018-01-17 10:59:50 +03:00
Xinchen Hui 518a9f8bfd Fixed build extension by phpize 2018-01-17 15:09:04 +08:00
Dmitry Stogov 40b8483165 Use SEPARATE_ARRAY 2018-01-17 03:08:22 +03:00
Dmitry Stogov d9e4841e7f Use SERPARATE_ARRAY 2018-01-17 03:02:29 +03:00
Dmitry Stogov 6e1fdd2371 Use SEPARATE_ARRAY 2018-01-17 03:01:56 +03:00
Dmitry Stogov 5d456c1c66 Replaced separation with destructor 2018-01-17 03:01:00 +03:00
Dmitry Stogov c4fa7345dc Removed useless separation 2018-01-17 03:00:11 +03:00
Dmitry Stogov ecd2624875 Avoid array duplication and in-place modification 2018-01-17 02:25:36 +03:00
Dmitry Stogov 5c77bac9a7 A cheaper way to reset type flags. 2018-01-17 01:58:51 +03:00
Anatol Belski 60fb58799f Merge branch 'PHP-7.2'
* PHP-7.2:
  7.0.15 next
  Fixed NEWS
2018-01-16 19:50:36 +01:00
Anatol Belski 13dd12e85f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  7.0.15 next
2018-01-16 19:49:23 +01:00
Dmitry Stogov 19676fdf55 Added zendi_smart_streq() for smart string equality check 2018-01-16 17:24:00 +03:00
Dmitry Stogov e229e7b657 Inline function 2018-01-16 14:13:49 +03:00
Anatol Belski 74de5461eb The cpu setup is still needed when ifunc is supported 2018-01-16 11:55:19 +01:00
Dmitry Stogov 1fd651650f Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Separate the cpuinfo initialization part and call it at startup
2018-01-16 13:51:50 +03:00
Dmitry Stogov 0bfc4f34ca Avoid EG(vm_interrupt) check on forward JMP 2018-01-16 13:50:36 +03:00
Anatol Belski 811326089f Separate the cpuinfo initialization part and call it at startup 2018-01-16 11:27:18 +01:00
Anatol Belski 560cc32e21 Fix __cpuidex usage 2018-01-16 10:56:46 +01:00
Xinchen Hui 9206afc652 Fixed NEWS 2018-01-16 17:31:44 +08:00
Remi Collet 831b3e5473 Merge branch 'PHP-7.2'
* PHP-7.2:
  next is 7.2.3
2018-01-16 09:55:23 +01:00
Remi Collet 5a54107879 next is 7.2.3 2018-01-16 09:54:57 +01:00
Dmitry Stogov 4861373182 Replace checks with asserts 2018-01-16 11:39:51 +03:00
Dmitry Stogov b279aea2bf Removed reference to the obsolete zend_vm_use_old_executor() 2018-01-16 10:44:15 +03:00
Dmitry Stogov d7f3b9b4e9 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Added missed header file
  Added ZEND_API zend_cpu_supports
2018-01-16 10:34:15 +03:00
Dmitry Stogov 267b78550e Use fastcall calling convention 2018-01-16 10:33:41 +03:00
Xinchen Hui 3cb7fff9f1 Added missed header file 2018-01-16 14:56:43 +08:00
Xinchen Hui ff6a9d1f10 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Removed recursive call
  Put ZEND_FASTCALL into the proper place.
2018-01-16 14:54:05 +08:00
Xinchen Hui 3a3e0493d0 Added ZEND_API zend_cpu_supports 2018-01-16 14:53:00 +08:00
Dmitry Stogov d688129360 Removed recursive call 2018-01-16 09:44:49 +03:00
Dmitry Stogov 1e783db679 Put ZEND_FASTCALL into the proper place. 2018-01-16 09:44:10 +03:00
Dmitry Stogov 022e029984 Optimize zval_dtor_func() 2018-01-16 00:57:47 +03:00
Anatol Belski 08478abc59 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
2018-01-15 17:49:46 +01:00
Anatol Belski be89405839 [ci skip] Update NEWS 2018-01-15 17:49:21 +01:00
Anatol Belski cc5e53695a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-01-15 17:47:29 +01:00
Dmitry Stogov d5238b95a3 Added missing #if to allow compilation withput ZEND_MM_CUSTOM 2018-01-15 17:37:15 +03:00
Dmitry Stogov 106575ed39 Manual CSE 2018-01-15 17:36:35 +03:00
Xinchen Hui 0b7a968109 Added missed PHPAPI 2018-01-15 21:39:25 +08:00
Xinchen Hui 92d6f26e3f Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Allow pecl like usage in ext/phar, closes #2955
2018-01-15 21:34:03 +08:00
Xinchen Hui 56d2147cbb Restore change committed by accident 2018-01-15 21:30:56 +08:00
Anatol Belski 89463341c8 Merge branch 'PHP-7.2'
* PHP-7.2:
  Allow pecl like usage in ext/phar, closes #2955
2018-01-15 14:26:22 +01:00
Anatol Belski c5768a7e24 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Allow pecl like usage in ext/phar, closes #2955
2018-01-15 14:25:45 +01:00
Xinchen Hui 98aa3a65c4 Optimized php_addslashes with SSE4.2 instructions
According to benchmark
(https://gist.github.com/laruence/fd0d443d2c5bacca9d8ab99250499956) this brings 30%+ execution time reduced.

In the further, this open the door for possible SSE4.2 optimizations in
other places.
2018-01-15 21:17:50 +08:00
motecshine 0e10bed83e Remove double include of fpm_scoreboard.h 2018-01-15 12:22:04 +01:00
Bishop Bettini cb7387275f Add test for bug #66960 2018-01-15 12:20:10 +01:00
Nikita Popov 3eaab04663 Merge branch 'PHP-7.2' 2018-01-15 12:16:16 +01:00
Nikita Popov f3c1726d25 Merge branch 'PHP-7.1' into PHP-7.2 2018-01-15 12:16:00 +01:00
Anatol Belski 3e40f661a3 Merge branch 'PHP-7.2'
* PHP-7.2:
  Sync for upcoming vc++ 15.6 version raise
2018-01-14 16:43:21 +01:00
Anatol Belski be0620a2f0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync for upcoming vc++ 15.6 version raise
2018-01-14 16:42:17 +01:00
Anatol Belski b4412e0dbc Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS
  [ci skip] Update NEWS
2018-01-13 14:51:34 +01:00
Anatol Belski 43c578b4b2 [ci skip] Update NEWS 2018-01-13 14:50:58 +01:00
Anatol Belski 4fabee770f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Update NEWS
2018-01-13 14:50:00 +01:00
Anatol Belski 50431d0820 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix invalid free
2018-01-13 12:33:45 +01:00
Anatol Belski 1350f4f997 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix invalid free
2018-01-13 12:33:02 +01:00
Nikita Popov 6aa045e174 Merge branch 'PHP-7.2' 2018-01-13 11:06:58 +01:00
Nikita Popov cf70e1910b Merge branch 'PHP-7.1' into PHP-7.2 2018-01-13 11:06:46 +01:00
Nikita Popov 47e6c1491b Merge branch 'PHP-7.2' 2018-01-12 22:51:29 +01:00
Nikita Popov d00f52b6a9 Merge branch 'PHP-7.1' into PHP-7.2 2018-01-12 22:51:20 +01:00
Nikita Popov d8d20020f5 Merge branch 'PHP-7.2' 2018-01-12 21:28:31 +01:00
Nikita Popov e112b8474a Merge branch 'PHP-7.1' into PHP-7.2 2018-01-12 21:28:24 +01:00
Nikita Popov 5fef837c28 Simplify non-linear generator yield from tree
Remove special handling for 2-4 children. Now the three possible
cases are no children, one child, or many children (HT).

The non-linear (many children) case is extremely rare, so there is
no point in trying to optimize it.
2018-01-12 21:14:50 +01:00
Anatol Belski b2a1199d33 [ci skip] Fix typos 2018-01-12 19:12:54 +01:00
timurib a484b9a535 Fix #75765 Exception on extend of undefined class
As the parent class is fetched prior to binding, there are no
safety concerns in this case and we can replace the fatal error
with an Error exception.
2018-01-12 18:41:39 +01:00
Nikita Popov 2d083a3da7 Don't directly access refcount in interbase 2018-01-12 18:38:45 +01:00
Nikita Popov 27f09efa11 Avoid duplicate addition of generators in yield from tree 2018-01-12 18:37:47 +01:00
Nikita Popov 5c983ae852 Merge branch 'PHP-7.2' 2018-01-12 18:34:34 +01:00
Nikita Popov 8c73fc8027 Fixed bug #75653 2018-01-12 18:30:22 +01:00
Nikita Popov b942648771 Merge branch 'PHP-7.2' 2018-01-12 18:18:45 +01:00
Nikita Popov f8c889760c Merge branch 'PHP-7.1' into PHP-7.2 2018-01-12 18:18:34 +01:00
Anatol Belski 4121f2a1ad Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75774 imap_append HeapCorruction
2018-01-12 17:14:46 +01:00
Anatol Belski 1d05750c50 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75774 imap_append HeapCorruction
2018-01-12 17:14:19 +01:00
Anatol Belski 7892eaf075 Merge branch 'PHP-7.2'
* PHP-7.2:
  Unify EOL
  Extend test, latest cURL ships also with smb and smbs
2018-01-12 12:22:35 +01:00
Anatol Belski baaf73be69 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Unify EOL
  Extend test, latest cURL ships also with smb and smbs
2018-01-12 12:21:43 +01:00
Dmitry Stogov 2223f04304 Cleanup (at persistence stage we may get only "user" functions; regular op_arrays can't be referenced from different places) 2018-01-12 12:05:18 +03:00
Anatol Belski 36961661d5 Add missing clean sections 2018-01-12 08:05:07 +01:00
Anatol Belski d857703bdb [ci skip] Update UPGRADING 2018-01-12 07:45:39 +01:00
Dmitry Stogov 12c386f5b9 Use ZEND_CLOSURE_OBJECT() macro to resolve closure op_array to closure object through address calculation, instead of op_array->prototype reuse. (reapply 781e1573af, now it should be OK). 2018-01-11 22:15:45 +03:00
Dmitry Stogov 0ec631c996 Improve Closure::call(). Eliminate zend_fcall_info_init() call and reset ZEND_ACC_CLOSURE flag. 2018-01-11 21:23:52 +03:00
Dmitry Stogov 70aa967d81 Reorder zend_op_array fields for better data locality and packing 2018-01-11 19:50:27 +03:00
Dmitry Stogov c9034c3b33 Get rid of zend_op_array.early_binding 2018-01-11 19:15:52 +03:00
Dmitry Stogov 6ba10a03e7 Revert "Use ZEND_CLOSURE_OBJECT() macro to resolve closure op_array to closure object through address calculation, instead of op_array->prototype reuse." (this patch is incomplete or wrong)
This reverts commit 781e1573af.
2018-01-11 17:27:26 +03:00
Anatol Belski da8204ba1c Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix test for libtidy 5.6.0
2018-01-11 14:34:28 +01:00
Anatol Belski e3fda6e5f6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test for libtidy 5.6.0
2018-01-11 14:33:59 +01:00
Dmitry Stogov 781e1573af Use ZEND_CLOSURE_OBJECT() macro to resolve closure op_array to closure object through address calculation, instead of op_array->prototype reuse. 2018-01-11 16:25:28 +03:00
Christoph M. Becker 35e70af208 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75799 (arg of get_defined_functions is optional)
2018-01-11 13:14:37 +01:00
Christoph M. Becker 7e1d2bd82a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75799 (arg of get_defined_functions is optional)
2018-01-11 13:13:49 +01:00
Anatol Belski 45db77ed0d Revert "Add possibility to lower timer resolution"
This reverts commit c3717d9aec.

The final mitigation of the consequences with spectre should be
discussed more also with the regard to the happenings on the
developments. Right now a preliminary mitigation might be wrong or
suboptimal, thus reverting this.
2018-01-11 12:40:01 +01:00
Dmitry Stogov 57e4be9cef Avoid, most offten unnecessary, memory load. 2018-01-11 12:15:34 +03:00
Anatol Belski c3717d9aec Add possibility to lower timer resolution
The recently discovered security flaw Spectre requires a high resolution
timer. To the today's knowledge, PHP can't be used to create an attack for
this flaw. Still some concerns were raised, that there might be impact in
shared hosting environments. This patch adds a possibility to reduce the
timer resolution by an ini setting, thus giving administrators full
control. Especially, as the flaw was also demonstrated by an abuse of
the JS engine in a browser, Firefox reduced several time sources to 20us.
Any programming language, that doesn't compile to JIT, won't be able to
produce an attack vector for Meltdown and Spectre, at least by todays
knowledge. There are also other factors that say that the security
concern on the hrtime feature is to the big part not justified, still we
aim JIT in the future. Thus, adding a possibility to control the timer
resolution is a good and small enough tradeoff for safety and future.
2018-01-10 18:45:15 +01:00
Dmitry Stogov f09c012ebe Mark FETCH_OBJ_R and INIT_METHOD_CALL as HOT_OBJ for (UNUSED+CONST and CV+CONST) 2018-01-10 19:14:52 +03:00
Dmitry Stogov c73a42ccec Added abiliy to mark object specific handlers with most often used operand types as HOT. (UNUSED+CONST and CV+CONST) 2018-01-10 19:00:38 +03:00
Dmitry Stogov 9d7544aa1c Convert "sparse switch" statements into sequences of "if" with the most probable conditions first 2018-01-10 15:12:03 +03:00
Dmitry Stogov c533396ce4 Strength reduction 2018-01-10 14:23:43 +03:00
Dmitry Stogov d7a0d48d59 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  minor optimize on strstr
2018-01-10 14:11:23 +03:00
Xinchen Hui abd31deb91 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  cleanup
2018-01-10 18:24:03 +08:00
Xinchen Hui 6b9e2b79a0 minor optimize on strstr 2018-01-10 18:22:59 +08:00
Dmitry Stogov 20a1124f63 Added expectation 2018-01-10 12:37:13 +03:00
Dmitry Stogov c32d79b65f cleanup 2018-01-10 12:03:04 +03:00
Dmitry Stogov d89c8dd8b8 Remove HashTable holes in functions and class tables. 2018-01-10 10:15:55 +03:00
Dmitry Stogov 94508cdc3f Fixed whitespaces 2018-01-10 02:22:07 +03:00
Dmitry Stogov 83aa742dde Removed unused array 2018-01-09 23:17:10 +03:00
Nikita Popov d9c706f28d Merge branch 'PHP-7.2' 2018-01-09 20:25:19 +01:00
Nikita Popov 2dd80a0782 Merge branch 'PHP-7.1' into PHP-7.2 2018-01-09 20:24:48 +01:00
Nikita Popov 0c25ea355f Merge branch 'PHP-7.2' 2018-01-09 18:44:44 +01:00
Nikita Popov c8eda195aa Merge branch 'PHP-7.1' into PHP-7.2 2018-01-09 18:44:20 +01:00
Dmitry Stogov 09b1bfecee Allow commas in specializer conditions 2018-01-09 15:08:18 +03:00
Xinchen Hui d80abbf9ce Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Fixed bug #75781 (substr_count incorrect result)
2018-01-09 16:23:38 +08:00
Xinchen Hui 0a1f52fb09 Update NEWS 2018-01-09 16:23:26 +08:00
Xinchen Hui 9a2fc39542 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75781 (substr_count incorrect result)
2018-01-09 16:21:13 +08:00
Dmitry Stogov aa121b6d27 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed possible incorrect "mark" usage
2018-01-09 10:53:37 +03:00
Dmitry Stogov cfee682802 Fixed possible incorrect "mark" usage 2018-01-09 10:30:00 +03:00
Xinchen Hui 69affa985c Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Implement high resolution monotonic timer function hrtime()
2018-01-08 12:57:02 +08:00
Xinchen Hui 4c3c7117e4 remove false dup 2018-01-08 12:56:08 +08:00
Anatol Belski 83497327e7 Implement high resolution monotonic timer function hrtime() 2018-01-07 16:03:52 +01:00
Xinchen Hui 88b8cd7385 Use stack allocated zvals 2018-01-07 20:03:49 +08:00
Xinchen Hui 4a8229b80d Use GC_ADDREF 2018-01-07 19:53:51 +08:00
Xinchen Hui 63a96ebf6a Fixed bug while dealing with ADD_ARRAY_ELEMENT against an existing const array 2018-01-07 14:17:47 +08:00
David Carlier 6e94f943c1 Avoid abs() type mismatch warnings
timelib_time z field was mistakenly promoted to 64 bits types in
one place. Otherwise silence warning with explicit cast down to int.
2018-01-06 21:51:31 +01:00
David Carlier a95e8b80db net/if.h requires sys/socket.h on OpenBSD
This led to a detection failure of this particular header.
2018-01-06 21:42:27 +01:00
Gabriel Caruso a56ea44431 Remove trailing whitespace in C++ files
[ci skip]
2018-01-06 21:38:09 +01:00
Bishop Bettini e3f58de30b PHP 7.1 is the new hotness
PHP 7.0 entered security fix phase.

[ci skip]
2018-01-06 21:12:12 +01:00
Xinchen Hui 5c628d7704 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Fixed typo
2018-01-05 15:05:47 +08:00
Xinchen Hui 8d63c834e4 Change assertion 2018-01-05 15:05:05 +08:00
Kalle Sommer Nielsen 2340f9a67d Fixed typo 2018-01-05 07:30:45 +01:00
Xinchen Hui 729a6688af Optimized FETCH_CLASS before INSTANCEOF out if possible 2018-01-05 12:58:28 +08:00
Xinchen Hui c0913af570 Fixed test 2018-01-05 12:54:20 +08:00
Xinchen Hui 1db6c19365 Fixed wrongly const replacing on partial array 2018-01-05 12:29:39 +08:00
Anatol Belski b09a3e5286 Don't prevent loading odbc and pdo_odbc for tests 2018-01-04 18:23:31 +01:00
Anatol Belski 67872afefd Re-enable ODBC tests 2018-01-04 17:31:59 +01:00
Anatol Belski 205f527379 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix tests
2018-01-04 16:10:37 +01:00
Anatol Belski fc6a990891 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix tests
2018-01-04 16:09:51 +01:00
Kalle Sommer Nielsen 8fe0ee690c Added a <in deps path> for includes and libs on configure 2018-01-04 08:58:27 +01:00
Kalle Sommer Nielsen 34fb94b9f3 Fix macro for Windows 2018-01-04 08:16:20 +01:00
Kalle Sommer Nielsen 1d0ac9819a Use PHP_WIN32 2018-01-04 08:14:41 +01:00
Kalle Sommer Nielsen 44c5dea9d6 Kill the references to C:\winnt (Windows 2000), which we don't support, also remove the note about Windows NT based OS, as we only support NT anyway 2018-01-04 08:11:34 +01:00
Xinchen Hui 2bac045214 Merge branch 'clean-up' of https://github.com/carusogabriel/php-src
* 'clean-up' of https://github.com/carusogabriel/php-src:
  Trailing whitespaces on Zend
  Trailing whitespaces on win32
  Trailing whitespaces on sapi/*
  Trailing whitespaces on ext/*
2018-01-04 14:13:08 +08:00
Xinchen Hui ec69cb664f Added entry on UPGRADING 2018-01-04 13:50:34 +08:00
Xinchen Hui 4a4602c45c Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Happy new year (Update copyright to 2018)
  Happy new year (Update copyright to 2018)
  Revert "Enable ODBC tests on AppVeyor"
  Enable ODBC tests on AppVeyor
  Skip on Travis-CI
  Extend skip section
  2018
  missing changelog entries + fix version and date
  missing changelog entries
  2018
  Trailing whitespaces
2018-01-04 13:45:11 +08:00
Gabriel Caruso 6687e8db15 Trailing whitespaces on Zend
Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
2018-01-04 02:41:57 -02:00
Gabriel Caruso c215b8d147 Trailing whitespaces on win32
Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
2018-01-04 02:41:26 -02:00
Gabriel Caruso 471da3eddc Trailing whitespaces on sapi/*
Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
2018-01-04 02:39:54 -02:00
Gabriel Caruso 2238403892 Trailing whitespaces on ext/*
Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
2018-01-04 02:38:32 -02:00
Lior Kaplan 0e3dede07c Happy new year (Update copyright to 2018) 2018-01-04 01:02:17 +02:00
Lior Kaplan 4959ceb537 Merge branch 'PHP-7.2'
* PHP-7.2:
  Happy new year (Update copyright to 2018)
2018-01-04 00:58:17 +02:00
Lior Kaplan fc528afd2b Happy new year (Update copyright to 2018) 2018-01-04 00:50:42 +02:00
Anatol Belski f9072ac62a Revert "Enable ODBC tests on AppVeyor"
This reverts commit b0db19e223.

More test fixes needed to evaluate.
2018-01-03 21:05:56 +01:00
Anatol Belski b0db19e223 Enable ODBC tests on AppVeyor 2018-01-03 20:28:16 +01:00
Anatol Belski f4076bb1b3 Merge branch 'PHP-7.2'
* PHP-7.2:
  Skip on Travis-CI
2018-01-03 18:36:34 +01:00
Anatol Belski 4635cc5b9d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Skip on Travis-CI
2018-01-03 18:36:10 +01:00
Anatol Belski 5361bf3312 Merge branch 'PHP-7.2'
* PHP-7.2:
  Extend skip section
2018-01-03 16:56:42 +01:00
Anatol Belski e282e52967 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Extend skip section
2018-01-03 16:56:00 +01:00
Remi Collet f70570938d Merge branch 'PHP-7.2'
* PHP-7.2:
  2018
2018-01-03 15:13:18 +01:00
Remi Collet c0862892ff Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  2018
2018-01-03 15:13:10 +01:00
Remi Collet 4b95341ba2 Merge branch 'PHP-7.2'
* PHP-7.2:
  missing changelog entries + fix version and date
  missing changelog entries
  2018
2018-01-03 15:10:25 +01:00
Remi Collet 421787db6b missing changelog entries + fix version and date 2018-01-03 15:10:09 +01:00
Remi Collet 6659689c74 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  missing changelog entries
  2018
2018-01-03 15:07:36 +01:00
Gabriel Caruso 6400264856 Trailing whitespaces
Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
2018-01-03 14:38:00 +01:00
Xinchen Hui 76d0e3d514 Enable replacing const to INSTANCEOF 2018-01-03 18:28:03 +08:00
Xinchen Hui 1e22c9a187 Merge branch 'instanceof-const' of https://github.com/nikic/php-src
* 'instanceof-const' of https://github.com/nikic/php-src:
  Return false for instanceof on literal
2018-01-03 16:08:20 +08:00
Xinchen Hui a76eeea736 Merge branch 'PHP-7.2'
* PHP-7.2:
  Happy new year (Update copyright to 2018)

Conflicts:
	ext/phar/LICENSE
2018-01-03 16:02:15 +08:00
Xinchen Hui 0e62639d28 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Happy new year (Update copyright to 2018)
2018-01-03 16:00:34 +08:00
Ferenc Kovacs 76dd9a5572 Merge branch 'PHP-7.2' 2018-01-03 00:36:55 +01:00
Ferenc Kovacs 5275149e3a Merge branch 'PHP-7.1' into PHP-7.2 2018-01-03 00:35:50 +01:00
Anatol Belski dd0ebc02dc Merge branch 'PHP-7.2'
* PHP-7.2:
  Skip test for pdo_odbc
2018-01-02 12:29:43 +01:00
Anatol Belski 8a8bf1dc13 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Skip test for pdo_odbc
2018-01-02 12:29:19 +01:00
Anatol Belski 53b79dfe09 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix test for pdo_odbc
2018-01-02 11:39:36 +01:00
Anatol Belski 08d06f7d4f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test for pdo_odbc
2018-01-02 11:39:09 +01:00
Stanislav Malyshev 77298dee2e Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix some int/long confusion issues in GMP
2018-01-02 00:12:43 -08:00
Stanislav Malyshev 4380ba7f9c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix some int/long confusion issues in GMP
2018-01-02 00:12:33 -08:00
Anatol Belski eb65916f7f Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
2018-01-02 07:50:57 +01:00
Anatol Belski e07eda1235 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
2018-01-02 07:50:18 +01:00
Xinchen Hui a307689ba7 Remove unnecessary initialization:w 2018-01-02 14:03:34 +08:00
Xinchen Hui 6cf9c91b55 Merge branch 'PHP-7.2'
* PHP-7.2:
  regenerated with newer re2c
2018-01-02 13:59:07 +08:00
Xinchen Hui b2346a9888 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  regenerated with newer re2c
2018-01-02 13:57:56 +08:00
Xinchen Hui 0ebe87dc17 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
2018-01-02 13:50:46 +08:00
Xinchen Hui a7fe2570d3 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Update NEWS
  Fixed bug #75571: Potential infinite loop in gdImageCreateFromGifCtx
  Fix bug #74782: remove file name from output to avoid XSS
2018-01-02 13:50:40 +08:00
Xinchen Hui e8eb52dc98 Merge branch 'PHP-7.2' of git.php.net:/php-src into PHP-7.2
* 'PHP-7.2' of git.php.net:/php-src:
  Update NEWS
  Fixed bug #75571: Potential infinite loop in gdImageCreateFromGifCtx
  Fix bug #74782: remove file name from output to avoid XSS
2018-01-02 13:50:18 +08:00
Stanislav Malyshev 05eb5cda50 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Fixed bug #75571: Potential infinite loop in gdImageCreateFromGifCtx
  Fix bug #74782: remove file name from output to avoid XSS
2018-01-01 21:07:30 -08:00
Stanislav Malyshev a68dc899bb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fixed bug #75571: Potential infinite loop in gdImageCreateFromGifCtx
  Fix bug #74782: remove file name from output to avoid XSS
2018-01-01 21:07:21 -08:00
Xinchen Hui a6519d0514 year++ 2018-01-02 12:57:58 +08:00
Xinchen Hui 017dbf06fc Merge branch 'PHP-7.2'
* PHP-7.2:
  year++
  year++
2018-01-02 12:55:53 +08:00
Xinchen Hui 7a7ec01a49 year++ 2018-01-02 12:55:14 +08:00
Xinchen Hui 1f2ea6c59a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  year++
2018-01-02 12:54:07 +08:00
Nikita Popov d93de12c3d Merge branch 'PHP-7.2' 2018-01-01 21:30:44 +01:00
Nikita Popov 4422f86fde Merge branch 'PHP-7.1' into PHP-7.2 2018-01-01 21:30:30 +01:00
Nikita Popov ffc0a17322 Fix typos 2017-12-30 23:40:33 +01:00
Nikita Popov b6581038eb Use GC_FLAGS_SHIFT in a few more places
Rather than hardcoding 8.
2017-12-30 23:40:25 +01:00
Jakub Zelenka ba85001439 Merge branch 'PHP-7.2' 2017-12-30 17:44:09 +00:00
Jakub Zelenka 84aad458ca Merge branch 'PHP-7.1' into PHP-7.2 2017-12-30 17:41:45 +00:00
Dmitry Stogov 5c8f8f8fce Use ZEND_FAST_CONCAT instead of ZEND_CONCAT for CONST operands. 2017-12-29 13:54:18 +03:00
Dmitry Stogov f010423335 Use IS_EQUAL instead of CASE when first operand is CV or CONST. Removed CASE handlers that duplicated IS_EQUAL. 2017-12-29 12:57:58 +03:00
Dmitry Stogov 27206f9cc5 Removed useless specialization 2017-12-29 12:02:50 +03:00
Nikita Popov 3538cbe6c0 Use free_obj for intl ResourceBundle
Partial fix for bug #67911, the part about __destruct() not being
called.
2017-12-28 12:25:01 +01:00
Dmitry Stogov bee5bc78ed Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75720 (File cache not populated after SHM runs full)
2017-12-28 14:10:01 +03:00
Dmitry Stogov 9188f1d861 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75720 (File cache not populated after SHM runs full)
2017-12-28 14:08:38 +03:00
Xinchen Hui 7dffc6e301 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75742 (potential memleak in internal classes's static members)
2017-12-28 16:31:40 +08:00
Xinchen Hui 650264e360 Fixed bug #75742 (potential memleak in internal classes's static members) 2017-12-28 16:31:09 +08:00
Dmitry Stogov 2b9cc5238e Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed reference-counting
2017-12-28 11:20:52 +03:00
Dmitry Stogov 4b5e182d61 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed reference-counting
2017-12-28 11:20:43 +03:00
Dmitry Stogov ac2fdc56fb zend_fcall_info_cache.initialized is removed (zend_fcall_info_cache is initialized if zend_fcall_info_cache.function_handler is set). 2017-12-27 16:02:20 +03:00
Dmitry Stogov d9f5ea691f zend_fcall_info_cache.initialized is removed (zend_fcall_info_cache is initialized if zend_fcall_info_cache.function_handler is set). 2017-12-27 15:15:03 +03:00
Dmitry Stogov a6fcbb7c87 Use zend_hash_find() instead of zend_hash_find_ptr() to avoid double check 2017-12-27 13:26:06 +03:00
Dmitry Stogov 856ad54f45 Use zend_hash_find() instead of zend_hash_find_ptr() to avoid double check 2017-12-27 13:25:21 +03:00
Xinchen Hui d6b2756da1 Merge branch 'PHP-7.2'
* PHP-7.2:
  Updated NEWS
  Fixed bug #75735 ([embed SAPI] Segmentation fault in sapi_register_post_entry)
2017-12-27 12:52:44 +08:00
Xinchen Hui 14304faae2 Updated NEWS 2017-12-27 12:52:25 +08:00
Xinchen Hui 6693898b30 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75735 ([embed SAPI] Segmentation fault in sapi_register_post_entry)
2017-12-27 12:52:06 +08:00
Dmitry Stogov 6e4d18924b Combine READY_TO_DESTROY, EXTRACT_ZVAL_PTR and FREE_OP_VAR_PTR into single, better optimized, macro. 2017-12-26 16:50:34 +03:00
Dmitry Stogov 6e23e84332 Use zval constructors instead ZVAL_COPY if we know the types 2017-12-26 16:49:34 +03:00
Nikita Popov b2b2b437af Add _IS_NUMBER as cast_object() target type
convert_scalar_to_number() will now call cast_object() with an
_IS_NUMBER argument, in which case the cast handler should return
either an integer or floating point number, whichever is more
appropriate.

Previously convert_scalar_to_number() unconditionally converted
objects to integers instead.

Fixes bug #53033.
Fixes bug #54973.
Fixes bug #73108.
2017-12-26 12:39:06 +01:00
Dmitry Stogov efcbea4345 Cheaper reference construction 2017-12-26 13:30:25 +03:00
Dmitry Stogov 05cb472a88 Avoid overhead of memory allocation and useless referene-counting in implode() 2017-12-26 13:29:18 +03:00
Nikita Popov 182317f6b6 Remove unnecessary type check 2017-12-25 21:21:05 +01:00
Nikita Popov 2667ddc46d Remove unnecessary readobj==writeobj checks
This can no longer be the case since PHP 7. The writeobj must
always point to a different zval.
2017-12-25 21:19:45 +01:00
Nikita Popov 688b9136ab Fixed bug #54043 2017-12-23 13:35:08 +01:00
Nikita Popov 66c8a9d672 Remove EH_SUPPRESS mode
It is unused and does not work in any meaningful way:
Warnings are suppressed, but everything else (both notices and
fatals) are not. It would make some sense if it suppressed
warnings and lower, but right now this is a pointless mode.
2017-12-23 13:28:09 +01:00
Anatol Belski 18ddc2eb9c Merge branch 'PHP-7.2'
* PHP-7.2:
  Revert to Postgres 9.6, AppVeyor seems to have issues with 10
2017-12-22 23:39:59 +01:00
Anatol Belski eb5ba59ad5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Revert to Postgres 9.6, AppVeyor seems to have issues with 10
2017-12-22 23:39:37 +01:00
Anatol Belski 0317dbd126 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update tool path
2017-12-22 23:27:20 +01:00
Anatol Belski 5f235e42fb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update tool path
2017-12-22 23:26:42 +01:00
Anatol Belski 17795503ef Merge branch 'PHP-7.2'
* PHP-7.2:
  Switch AppVeyor to PostgreSQL 10 for tests
2017-12-22 23:15:23 +01:00
Anatol Belski 76dee7dd07 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Switch AppVeyor to PostgreSQL 10 for tests
2017-12-22 23:14:50 +01:00
Anatol Belski 42b1d1a366 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
  Fixed bug #75579 (Interned strings buffer overflow may cause crash)
2017-12-22 19:01:44 +01:00
Anatol Belski 3e2c67b10c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
  Fixed bug #75579 (Interned strings buffer overflow may cause crash)
2017-12-22 19:01:02 +01:00
Nikita Popov 26207101c5 Merge branch 'PHP-7.2' 2017-12-22 18:22:52 +01:00
Nikita Popov 12e991f5bd Merge branch 'PHP-7.1' into PHP-7.2 2017-12-22 18:22:47 +01:00
Nikita Popov d90797a896 Merge branch 'PHP-7.2' 2017-12-22 18:12:23 +01:00
Nikita Popov 2c880037f5 Merge branch 'PHP-7.1' into PHP-7.2 2017-12-22 18:12:17 +01:00
Nikita Popov 9fe0eb8c48 Merge branch 'PHP-7.2' 2017-12-22 18:01:53 +01:00
Nikita Popov 74e3da5c8c Merge branch 'PHP-7.1' into PHP-7.2 2017-12-22 18:01:30 +01:00
Nikita Popov 8bcedb6cd7 Merge branch 'PHP-7.2' 2017-12-22 17:50:48 +01:00
Nikita Popov 3237336985 Merge branch 'PHP-7.1' into PHP-7.2 2017-12-22 17:50:04 +01:00
Anatol Belski 0056389544 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix wrong return value for fail case in set attribute handler in pdo_odbc
2017-12-22 16:46:03 +01:00
Anatol Belski 2252d8d730 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix wrong return value for fail case in set attribute handler in pdo_odbc
2017-12-22 16:45:25 +01:00
Anatol Belski edab9ce1db Merge branch 'PHP-7.2'
* PHP-7.2:
  pdo_odbc has no driver API for quoting, skip the test
2017-12-22 16:28:48 +01:00
Anatol Belski a93445bf55 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  pdo_odbc has no driver API for quoting, skip the test
2017-12-22 16:28:10 +01:00
Dmitry Stogov 35b3fdfd0a Separate exceptional code into cold functions. 2017-12-22 16:35:52 +03:00
Sara Golemon 171ecbb8d1 Fix darwin builds of phpdbg using frameworks 2017-12-21 17:03:04 -05:00
Dmitry Stogov dd0f3012eb Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75579 (Interned strings buffer overflow may cause crash)
2017-12-21 23:44:19 +03:00
Dmitry Stogov a1810758d5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75579 (Interned strings buffer overflow may cause crash)
2017-12-21 23:36:51 +03:00
Anatol Belski 55bc151608 Merge branch 'PHP-7.2'
* PHP-7.2:
  Ensure expected items delivered in same order
2017-12-21 18:38:53 +01:00
Anatol Belski 4d45f53e87 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Ensure expected items delivered in same order
2017-12-21 18:38:16 +01:00
Anatol Belski fc9c8e479b Adapt test 2017-12-21 18:35:02 +01:00
Anatol Belski e8db69f3f7 Add info about thread API used 2017-12-21 17:54:31 +01:00
Anatol Belski 259085f201 Update libmagic.patch, also reflecting PCRE2 changes 2017-12-21 15:47:07 +01:00
Anatol Belski 99a426938b Merge branch 'PHP-7.2'
* PHP-7.2:
  Update libmagic.patch
2017-12-21 15:46:35 +01:00
Anatol Belski 9408f1efa7 Update libmagic.patch 2017-12-21 15:43:04 +01:00
Anatol Belski aa978538ca Merge branch 'PHP-7.2'
* PHP-7.2:
  fileinfo: fix misleading indentation in libmagic
2017-12-21 15:42:16 +01:00
Riccardo Magliocchetti e313daa598 fileinfo: fix misleading indentation in libmagic 2017-12-21 15:39:00 +01:00
Anatol Belski 3c57027556 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix segfault. Compile param --with-tsrm-pth=yes
2017-12-21 13:49:55 +01:00
Anatol Belski ddd401859c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix segfault. Compile param --with-tsrm-pth=yes
2017-12-21 13:49:05 +01:00
Anatol Belski e68084780f Tell the diff by returning NULL, if system has no ODBC data sources 2017-12-20 22:32:54 +01:00
Dmitry Stogov 8dd6d88b57 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Templatize driver name in the expected string
  Bump libcurl requirement to 7.12.1
  Avoid strlen call
  NEWS
  display headers (buildtime) and library (runtime) versions in phpinfo (libzip >= 1.3.1)
2017-12-20 21:45:06 +03:00
Dmitry Stogov 4691cbe5d1 Fixed possible local assembler labels conflicts. 2017-12-20 21:44:24 +03:00
Anatol Belski 09a3da88f0 Merge branch 'PHP-7.2'
* PHP-7.2:
  Templatize driver name in the expected string
2017-12-20 18:50:52 +01:00
Anatol Belski dcc3f00090 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Templatize driver name in the expected string
2017-12-20 18:50:10 +01:00
Nikita Popov 161fd75773 Bump libcurl requirement to 7.12.1
The existence of the following functions is now guaranteed:
 * curl_reset()
 * curl_strerror()
 * curl_multi_strerror()
 * curl_share_strerror()

libcurl 7.12.1 has been released more than 13 years ago and is
available even in RHEL 4.
2017-12-19 23:23:56 +01:00
Nikita Popov b6131364f9 Return false for instanceof on literal 2017-12-19 22:16:45 +01:00
Anatol Belski fc46c4b106 Avoid strlen call 2017-12-19 15:42:34 +01:00
Remi Collet 50e8ee128f Merge branch 'PHP-7.2'
* PHP-7.2:
  NEWS
  display headers (buildtime) and library (runtime) versions in phpinfo (libzip >= 1.3.1)
2017-12-19 14:48:21 +01:00
Remi Collet ac4da9a0ed NEWS 2017-12-19 14:47:59 +01:00
Remi Collet c21ec44b21 display headers (buildtime) and library (runtime) versions in phpinfo (libzip >= 1.3.1) 2017-12-19 14:46:32 +01:00
Anatol Belski 0994e373f2 Compile the blacklist pattern with JIT
There are certain limitations on the pattern size. Should the JIT
compilation fail, the interpreter code is still usable.
2017-12-19 12:57:39 +01:00
Anatol Belski 80571d6f96 Avoid strlen call 2017-12-19 12:57:39 +01:00
Nikita Popov e512305581 Remove opcache.inherited_hack
This ini directive has already been ignored since PHP 5.3.
2017-12-18 22:00:54 +01:00
Nikita Popov 8cced30a6a Merge branch 'PHP-7.2'
[ci skip]
2017-12-18 21:45:07 +01:00
Nikita Popov a1d2bf831f Document removal of opcache.fast_shutdown
[ci skip]
2017-12-18 21:44:48 +01:00
Dmitry Stogov ce4fb228e0 Put interned strings into regular SHM memory if there is no space in shared interned_strings_buffer. 2017-12-18 21:04:41 +03:00
Dmitry Stogov f860ae451a fixed "unused function" compilation warning 2017-12-18 11:43:12 +03:00
Dmitry Stogov b337b90bac Fix warning in the proper place 2017-12-18 11:28:59 +03:00
Xinchen Hui 4dfbfe93aa Use cheaper API 2017-12-18 11:55:14 +08:00
Nikita Popov 744d3c5753 Merge branch 'PHP-7.2' 2017-12-17 12:57:40 +01:00
Jaromír Doleček 11eed9f3ba Fixed bug #75616
PDO can be built shared on Darwin nowadays. There used to be issues
relating to symbol references between dynamically loaded shared
objects.
2017-12-17 12:56:37 +01:00
Nikita Popov ac7e8bdbfa Merge branch 'PHP-7.2' 2017-12-17 12:48:11 +01:00
Jaromír Doleček 200bf9b5d7 Fix bug #75615
Remove -I without argument in pdo_mysql config.m4.
2017-12-17 12:47:35 +01:00
Xinchen Hui 31c0e7b0ec Added integrity check before dfa 2017-12-17 09:48:27 +08:00
Xinchen Hui 4deb63dc5a Merge branch 'PHP-7.2'
* PHP-7.2:
  Updated NEWS
2017-12-17 09:42:18 +08:00
Xinchen Hui a3b5b93ba9 Updated NEWS 2017-12-17 09:42:01 +08:00
Sebastian Ramadan 168c6cda8f Transmit phpdbg webdata len in little-endian
Rather than using machine-endianness through a UB cast.
2017-12-17 00:24:45 +01:00
David Carlier e835e3c132 Improve explicit_bzero implementation
Using the weak symbol explicit_bzero_hook does not work if LTO is
enabled. Instead avoid memset optimizations using an asm memory
barrier.

Use a fallback implementation where the memory is zeroed through
volatile.
2017-12-16 23:07:48 +01:00
Nikita Popov ff7c9990d4 Merge branch 'PHP-7.2' 2017-12-16 22:33:06 +01:00
Nikita Popov 340255a694 Fixed bug #75614
Replace non-standard == with = in shell scripts.
2017-12-16 22:31:10 +01:00
Nikita Popov 388a6bab4c Merge branch 'PHP-7.2' 2017-12-16 22:04:38 +01:00
Nikita Popov ee45104dba Fixed bug #75698 2017-12-16 22:04:18 +01:00
Nikita Popov 55e8b9e860 Merge branch 'PHP-7.2' 2017-12-16 21:25:49 +01:00
Nikita Popov 19d0c5dc9f Add test for bug #75681
The issue itself has been fixed by 8a4532319d.
2017-12-16 21:24:26 +01:00
Nikita Popov 46da97f7da Merge branch 'PHP-7.2' 2017-12-16 21:12:57 +01:00
Nikita Popov 8a4532319d Improve fix for bug #75687
Adding an (incorrect) UNDEF here may cause subsequent narrowing in
other places.

Instead, let's try to handle this edge-case once for all
instructions...
2017-12-16 21:11:40 +01:00
Nikita Popov 43d9f5995d Fix duplicate NEWS entry
Also add an UPGRADING note while at it, as this is potentially
BC breaking.

[ci skip]
2017-12-16 17:41:24 +01:00
Michael Moravec 84235344f9 Fixed bug #75355: preg_quote() does not quote # control character 2017-12-16 17:34:41 +01:00
Nikita Popov abdece72c2 Merge branch 'PHP-7.2' 2017-12-16 17:21:06 +01:00
Nikita Popov f01d5faf30 Merge branch 'PHP-7.1' into PHP-7.2 2017-12-16 17:21:01 +01:00
Nikita Popov 3fde27d87d Merge branch 'PHP-7.2' 2017-12-16 17:10:09 +01:00
Pedro Magalhães 83964e0468 Fix #75607 - Check if existing static trait property is a ref before comparing 2017-12-16 17:07:12 +01:00
Xinchen Hui ef9d2cecc6 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75687 (var 8 (TMP) has array key type but not value type)
2017-12-16 23:59:44 +08:00
Xinchen Hui a20c9bd3fe Fixed bug #75687 (var 8 (TMP) has array key type but not value type) 2017-12-16 23:59:10 +08:00
David Carlier e251d9a6b2 Fix some format specificers
time_t is of 64 bits type on some systems as well.
2017-12-16 15:27:32 +01:00
Markus Staab 5142a06506 Use known string "file" in stream layer 2017-12-16 13:25:05 +01:00
Nikita Popov 80ec2346f4 Merge branch 'PHP-7.2' 2017-12-15 22:04:40 +01:00
Nikita Popov eb77c2c2a7 Merge branch 'PHP-7.1' into PHP-7.2 2017-12-15 22:04:34 +01:00
Nikita Popov 93c7a3803f Fix const qualifier warning 2017-12-15 21:58:52 +01:00
Li-Wen Hsu 72ec23d823 Fix bug #75677: Drop fastcall attribute on variadic function
Fastcall generally doesn't make sense on variadic functions. For
clang in particular this eliminates a "fastcall calling convention
ignored on variadic function" warning.
2017-12-15 21:56:08 +01:00
Anatol Belski 6b1a1771b4 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-12-15 16:27:10 +01:00
Anatol Belski d9a110a294 [ci skip] update NEWS 2017-12-15 16:26:40 +01:00
Anatol Belski 697e02d016 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
2017-12-15 16:26:21 +01:00
Anatol Belski 2515b7a0d9 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75671 pg_version() crashes when called on a connection to cockroach
2017-12-15 15:35:07 +01:00
Anatol Belski 171f1baff1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75671 pg_version() crashes when called on a connection to cockroach
2017-12-15 15:34:44 +01:00
Anatol Belski 9baf84e513 Drop unused code 2017-12-15 15:00:20 +01:00
Anatol Belski 32db45ca54 Drop unused code 2017-12-15 14:58:43 +01:00
Anatol Belski f3f6cd24e9 Modernize realpath and integrate quick variant into virtual_file_ex
The slower I/O as a traditional bottleneck on Windows which is
the target of this patch. The recursive path resolution, while being
an allround solution, is expensive when it comes to the common case.
Files with proper ACLs set can be resolved in one go by usage of specific
API. Those are available since Vista, so actually can be called old. Those
simpler api is used for the cases where no CWD_EXPAND is requested. For
the cases where ACLs are improper, the existing solution based on
FindFirstFile still does good job also partially providing quirks. Cases
involing reparse tags and other non local filesystems are also partially
server by new APIs.

The approach uses both APIs - the quick one for the common case still
integrating realpath cache, and the existing one as a fallback. The tests
show the I/O load drop on the realpath resolution part due to less
system calls for the sub part resolution of paths. In most case it is
justified, as the sub parts were otherwise cached or unused as well. The
realpath() implementation in ioutil is also closer to the POSIX.
2017-12-15 13:23:34 +01:00
Dmitry Stogov 66a604171c Array addition is not commutative 2017-12-15 14:40:19 +03:00
Dmitry Stogov 588f1df7a2 Remove duplicate handlers for commutative operations 2017-12-15 13:42:54 +03:00
Dmitry Stogov b864e6b58c Move constants into read-only data segment 2017-12-15 01:55:00 +03:00
Dmitry Stogov fa06cbf50c typo 2017-12-14 23:56:55 +03:00
Dmitry Stogov a7b6812ae6 Fixed stream handler override 2017-12-14 23:55:57 +03:00
Dmitry Stogov 0d484172fe Turn "pdo_stmt_methods" into constants. 2017-12-14 22:59:58 +03:00
Dmitry Stogov 0f06df310c Turn "php_stream_wrapper"s into constants
Keep non-constant "php_stream_wrapper"s in API functions and callbacks for compatibility.
2017-12-14 22:46:22 +03:00
Dmitry Stogov 83e495e0fd Move constants into read-only data segment 2017-12-14 22:14:36 +03:00
Anatol Belski 5d36763638 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-12-14 18:18:54 +01:00
Anatol Belski 90cccffe89 [ci skip] update NEWS 2017-12-14 18:18:26 +01:00
Anatol Belski 4c4ff47c16 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
2017-12-14 18:17:54 +01:00
Dmitry Stogov 9e709e2fa0 Move constants into read-only data segment 2017-12-14 18:43:44 +03:00
Anatol Belski 71eaf0d97f Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75679 Path 260 character problem
2017-12-14 16:18:33 +01:00
Anatol Belski ed210c186a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75679 Path 260 character problem
2017-12-14 16:17:37 +01:00
Dmitry Stogov 1db8402208 Move zend_object_iterator_funcs structures into read-only data segment 2017-12-14 14:21:22 +03:00
Dmitry Stogov 175e461369 Use fastcall calling convention for objects and resources API 2017-12-14 13:50:39 +03:00
Dmitry Stogov 3aceab825a Manual loop optimizaton.
Cost of the loops body is still the same, but the loop headers are improved.
2017-12-14 03:39:22 +03:00
Dmitry Stogov 4d19bc2279 Disable some "bad" GCC optimizations 2017-12-14 03:25:20 +03:00
Dmitry Stogov dd1050fa6c Improved branch prediction and code locality 2017-12-14 02:22:07 +03:00
Nikita Popov 1537f67055 Merge branch 'PHP-7.2' 2017-12-13 21:29:13 +01:00
Danilo Correa 8c36588ee8 Set default value for some properties in generate-phpt 2017-12-13 21:28:29 +01:00
Nikita Popov 76a001e32a Merge branch 'PHP-7.2' 2017-12-13 21:25:38 +01:00
Nikita Popov 652d30acdc Merge branch 'PHP-7.1' into PHP-7.2 2017-12-13 21:25:21 +01:00
Sara Golemon 4cbc1f7e0d Prep NEWS for PHP 7.2.2 2017-12-12 15:18:44 -05:00
Dmitry Stogov 76e4c8ba73 typo 2017-12-12 19:01:10 +03:00
Dmitry Stogov fe4c7898d8 Avoid reallocation and double copying of variable names. 2017-12-12 13:47:47 +03:00
Dmitry Stogov 2bbcc04c20 Added special cases for array_diff(), when first argument is an empty array or an array with single element. 2017-12-12 01:51:37 +03:00
Dmitry Stogov c5ba76d9de Use cheaper API 2017-12-12 00:30:51 +03:00
Dmitry Stogov 778dfbc138 Use cheaper functions 2017-12-11 23:00:07 +03:00
Nikita Popov fc80114a48 Add gmp_kronecker()
Exposes the mpz_kronecker(), mpz_si_kronecker() and
mpz_kronecher_si() for computing the Kronecker symbol.
2017-12-11 19:25:54 +01:00
Nikita Popov 10a336d3d0 Add gmp_perfect_power()
Exposes the mpz_perfect_power_p() function.

We already had the more specific gmp_perfect_square() function.
2017-12-11 19:25:54 +01:00
Nikita Popov a1d36a1157 Add gmp_lcm()
Exposes mpz_lcm() and mpz_lcm_ui() for calculating the least
common multiple.

We already expose the somewhat complementary gmp_gcd() function.
2017-12-11 19:25:54 +01:00
Nikita Popov 7fea79675c Add gmp_binomial()
Adds PHP bindings for mpz_bin_ui and mpz_bin_uiui, for calculating
binomial coefficients.
2017-12-11 19:25:54 +01:00
Dmitry Stogov dc47171523 Avoid temporary string creation and destruction. 2017-12-11 18:18:30 +03:00
Dmitry Stogov 9f1e970058 Reduce number of hash collisions during dulicate address detection. 2017-12-11 18:16:54 +03:00
Anatol Belski 16eb3873b0 Merge branch 'PHP-7.2'
* PHP-7.2:
  Sync known vc++ versions in 7.1
2017-12-11 14:15:28 +01:00
Anatol Belski 10bb7065cb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync known vc++ versions in 7.1
2017-12-11 14:14:44 +01:00
Anatol Belski 820ab91d36 Merge branch 'PHP-7.2'
* PHP-7.2:
  Add vc++ 19.12 to the known list
2017-12-11 12:58:49 +01:00
Anatol Belski 2d7bea0462 Add vc++ 19.12 to the known list 2017-12-11 12:57:58 +01:00
Anatol Belski 0673aa7f61 Apply calling convention explicitly to the function, not to the decl. 2017-12-11 12:33:27 +01:00
Dmitry Stogov f3aca3c852 Use "fastcal" calling convention for internal PHP functions on x86 2017-12-11 10:55:15 +03:00
Nikita Popov bf9e2692c0 Fix relative constant addressing in file cache
PASS_TWO_UNDO_CONSTANT was using the serialized op_array->literals
pointer, resulting in incorrect offsets.
2017-12-10 22:34:50 +01:00
Peter Kokot 2783b1c823 Remove outdated TODO files
Some extensions included TODO files that has been present for several
years in the repository tree without changes. This included:

- ext/phar
- ext/intl
- ext/zip
- ext/soap
- ext/pdo
- ext/spl
- ext/dom
- ext/gmp
- ext/xmlwriter
- ext/xmlreader

ext/phar feature request has been created instead, and for others it
would be better to use wiki and RFC workflow instead based on current
feature requests and further PHP development requirements.

[ci skip]
2017-12-09 19:18:58 +01:00
Peter Kokot b1ffdd6fbc Update coding standards
Mentioned PHP versions indicate that there is a progress to make code
fully follow the coding standards which is not exactly the real case.
This patch changes few oudated used PHP versions in intro paragraph
and mentions the PHP documentation repository in more abstract way.

[ci skip]
2017-12-09 19:10:51 +01:00
Nikita Popov 9fb75c59b4 Merge branch 'PHP-7.2' 2017-12-09 19:07:47 +01:00
Nikita Popov c069db52ae Merge branch 'PHP-7.1' into PHP-7.2 2017-12-09 19:07:40 +01:00
Javier Eguiluz c136fda18e Fixed a typo 2017-12-09 18:39:06 +01:00
sundarchi1 ca21ba3f82 Make ini formatting more consistent
Default values should have no leading space, everything else should
have one.
2017-12-09 18:36:36 +01:00
Young-X 706a157fc6 Make sizeof formatting consistent
Everything else in that file uses sizeof with parentheses.
2017-12-09 18:34:14 +01:00
Tom Van Looy e4e26f2428 Remove RAND_RANGE() macro
The behavior of RANGE_RANGE() is 7.1 changed completely, from
rescaling an already generated number to generating a number
itself. Because of this str_shuffle() ended up generating two
random numbers on every iteration.

To avoid further misuse the function is dropped entirely. Extensions
for PHP >= 7.1 should directly call php_mt_rand_range().
2017-12-09 17:24:17 +01:00
David Walker 6d4de4cf05 Implement list() reference assignments
Support list() reference assignments of the form:

    list(&$a, list(&$b, $c)) = $d;

RFC: https://wiki.php.net/rfc/list_reference_assignment
2017-12-09 13:39:52 +01:00
Anatol Belski 261ddb760a Move temporary allocation to the stack 2017-12-09 13:15:28 +01:00
Anatol Belski f6e7fbc614 Fix tests 2017-12-09 12:57:37 +01:00
Anatol Belski 331019c548 Use cheaper ascii conversion for mode 2017-12-09 12:38:19 +01:00
Anatol Belski f3fd860e24 Revamp fopen implementation, rely on open 2017-12-09 11:58:17 +01:00
Anatol Belski 98416a37f3 Put missing signature into header 2017-12-09 00:26:18 +01:00
Anatol Belski 36cdca6576 Cleanup 2017-12-09 00:21:23 +01:00
Anatol Belski 94f16f1961 Rework mkdir impl and expose wide char variant 2017-12-09 00:11:33 +01:00
Anatol Belski 6bd18c0f0b Remove dead code 2017-12-08 22:59:00 +01:00
Anatol Belski c9274a4c6a Move declarations 2017-12-08 21:41:25 +01:00
Anatol Belski a9a49b8250 Improve ioutil access impl and refactor tsrm_win32_access 2017-12-08 20:58:19 +01:00
Anatol Belski 2fbdaec03c Revamp unlink() implementation and improve error handling 2017-12-08 19:23:18 +01:00
Anatol Belski 17d621e7d3 Allow delete-sharing mode for CreateFile by default
This effectively allows a UNIX like semantics for deleting files
with an open handle. Some OS related limitations still persist,
but the Windows 95 times can be considered as definitely over.
2017-12-08 18:14:20 +01:00
Dmitry Stogov 0acda9103b Improved shared interned string table implementation (use less memory and more CPU cache friendly) 2017-12-08 19:55:12 +03:00
Dmitry Stogov 185478d07e Use cheaper SEPARATE macros 2017-12-07 22:35:17 +03:00
Dmitry Stogov 583050eda3 Removed useless separations 2017-12-07 22:34:38 +03:00
Dmitry Stogov 234306c7ac Cleanup type conversion 2017-12-07 22:34:08 +03:00
Dmitry Stogov 3f4a13095e Cleanup type conversion 2017-12-07 22:01:41 +03:00
Dmitry Stogov 6a9d2b2190 Cleanup type conversion 2017-12-07 19:24:55 +03:00
Dmitry Stogov c890d469fa Use array specific functions 2017-12-07 15:20:17 +03:00
Dmitry Stogov 747a5928ad Added assertion 2017-12-07 15:01:23 +03:00
Dmitry Stogov 7bc76c408f SEPARATE_STRING() micro optimization 2017-12-07 15:01:04 +03:00
Dmitry Stogov 2d8f238318 Avoid duplication 2017-12-07 14:59:42 +03:00
Dmitry Stogov fd453aa1d1 Intern string constant values 2017-12-07 12:27:16 +03:00
Dmitry Stogov 3f6b46f331 typo 2017-12-07 12:26:48 +03:00
Dmitry Stogov 2ded0d2c0e Avoid unnecessary duplication 2017-12-07 12:00:41 +03:00
Dmitry Stogov 7803459242 Wrap functions necessary only for ZTS build with #ifdef 2017-12-07 11:59:58 +03:00
Dmitry Stogov 91507ba6e8 Reduced VM code size.
Made FETCH_DIM/OBJ_FUNC_ARG to dispatch ro corresponding FETCH_DIM/OBJ_R/_W handlers.
Merged TMP and VAR specializations of ZEND_FETCH_OBJ_R.
Allowed dispatching to less specialized handelrs and helpers. (e.g. from OP_TMP_CONST to OP_TMPVAR_CONST).
2017-12-07 01:52:27 +03:00
Nikita Popov 9cdd547eca Fixed bug #74372 2017-12-06 23:36:09 +01:00
Nikita Popov 4e6b80ca54 Fix movzb operand size 2017-12-06 23:15:35 +01:00
Anatol Belski 0ba315f483 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix yet one data race in PCRE
2017-12-06 16:04:57 +01:00
Anatol Belski 57f33b4ce2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix yet one data race in PCRE
2017-12-06 16:04:22 +01:00
Dmitry Stogov 1646042342 Use local labels 2017-12-06 17:47:30 +03:00
Dmitry Stogov b34660f26e Use inline assembler for fast_memcpy() 2017-12-06 17:42:47 +03:00
Dmitry Stogov 3beaf10289 Fixed gcc assembler constaints.
Added less efecient replacement functions for valgrind, to prevent warnings about uninitialized tail.
2017-12-06 15:32:31 +03:00
Dmitry Stogov d1d1aff4e5 Optimization of init_func_execute_data() 2017-12-06 02:53:30 +03:00
Anatol Belski 9c8ffbf1af Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix use after free revealed by phpdbg
2017-12-05 18:35:16 +01:00
Anatol Belski d4af204637 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix use after free revealed by phpdbg
2017-12-05 18:34:39 +01:00
Anatol Belski 9cca85ff07 Fixed bug #75601 Thread race in PCRE JIT support 2017-12-05 17:41:08 +01:00
Anatol Belski 901cdc49e9 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75601 Thread race in PCRE JIT support
  Fixed bug #75601 Thread race in PCRE JIT support
  bump versions
2017-12-05 17:40:39 +01:00
Anatol Belski 75a2ee7f7b Fixed bug #75601 Thread race in PCRE JIT support 2017-12-05 17:40:00 +01:00
Anatol Belski ed2434a6aa Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75601 Thread race in PCRE JIT support
  bump versions
2017-12-05 17:39:28 +01:00
Dmitry Stogov 7a136cd3dd Removed useless LOAD_OPLINE() 2017-12-05 17:40:39 +03:00
Peter Kokot e101a2e509 Remove tutorial for building IMAP on windows
Procedure for building PHP on Windows systems has changed during the PHP
evolution and is for the time being available on wiki pages outside of
this code repository.
2017-12-05 14:06:27 +01:00
Anatol Belski c713fe5dd9 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-12-05 09:01:46 +01:00
Anatol Belski b79082c99d [ci skip] update NEWS 2017-12-05 09:01:02 +01:00
Anatol Belski 2edd10f27b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
2017-12-05 09:00:12 +01:00
Anatol Belski 29f4926fd2 Merge branch 'PHP-7.2'
* PHP-7.2:
  7.0.28 is next
2017-12-05 08:52:59 +01:00
Anatol Belski c4ad9741cd Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  7.0.28 is next
2017-12-05 08:52:40 +01:00
Anatol Belski 2805481a01 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
2017-12-05 08:42:41 +01:00
Anatol Belski 95c828b982 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
2017-12-05 08:42:25 +01:00
Dmitry Stogov c019c131e8 Use unsigned comparison instructions 2017-12-05 02:41:12 +03:00
Dmitry Stogov 8305a73483 Implemented x86 and x86_64 assembler functions for zend_string equality check.
They take into account zend_string layout (value alignment and trailing padding) and perform comparison by double or quad words.
2017-12-04 23:40:54 +03:00
Nuno Lopes f55083906f fix build with older gccs: label attributes are only available with gcc 5+ 2017-12-04 15:12:20 -05:00
Kalle Sommer Nielsen 525ab4198e Introduce ZEND_EXTENSION() to the Windows build system
Zend Extensions should now be declared in their config.w32 with a ZEND_EXTENSION() call instead of EXTENSION(), the parameters sent is identical.

For a cross version compatible config.w32, the following will do:
if (typeof(ZEND_EXTENSION) == 'undefined') {
  EXTENSION(...);
} else {
  ZEND_EXTENSION(...);
}
2017-12-04 17:39:08 +01:00
Kalle Sommer Nielsen 23cfe1f06f Remove this redundant define 2017-12-04 16:43:48 +01:00
Dmitry Stogov c789dfee04 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75608 ("Narrowing occurred during type inference" error)
2017-12-04 17:23:34 +03:00
Dmitry Stogov 3503dc7482 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75608 ("Narrowing occurred during type inference" error)
2017-12-04 17:22:28 +03:00
Dmitry Stogov 74c84cd7f0 Use zend_string_equal*() API for zend_string equality check instead of direct memcmp() usage. 2017-12-04 17:17:02 +03:00
Anatol Belski 7de517a191 Merge branch 'PHP-7.2'
* PHP-7.2:
  Use dtor unconditionally in error case
2017-12-04 14:20:25 +01:00
Anatol Belski 5a0eb2446c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Use dtor unconditionally in error case
2017-12-04 14:16:45 +01:00
Anatol Belski 952c8eec1e Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75573 (Segmentation fault in 7.1.12 and 7.0.26)
2017-12-04 11:52:56 +01:00
Anatol Belski 94d7b7f3db Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75573 (Segmentation fault in 7.1.12 and 7.0.26)
2017-12-04 11:52:33 +01:00
Dmitry Stogov cc12acefcd Use cheaper functions 2017-12-04 13:21:35 +03:00
Nuno Lopes 7b085635d7 fix build of intl/calendar 2017-12-03 17:58:40 -05:00
Anatol Belski d39a9f8ddb Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix compat with libcurl 7.56.1+ and file:// wrapper
2017-12-03 12:29:03 +01:00
Anatol Belski 36f85e17e2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix compat with libcurl 7.56.1+ and file:// wrapper
2017-12-03 12:28:41 +01:00
Nikita Popov e748097156 Merge branch 'PHP-7.2' 2017-12-02 18:11:27 +01:00
Nikita Popov f9b8bd07c7 Merge branch 'PHP-7.1' into PHP-7.2 2017-12-02 18:11:17 +01:00
Anatol Belski 65c209d0c2 Fix junit XML format
The junit XML format is purely documented, some existings spec like
http://llg.cubic.org/docs/junit/ also provide an XSD. The testsuite
tag included into itself doesn't seems to be correct, instead only a
flat list is included into "testsuites" tag.
2017-12-02 10:40:43 +01:00
Anatol Belski 7a96ab7bb8 Rework junit output
- testcase classname attribute is closest to put the filename
- if tests run from php checkout, don't include the full path
- remove filename from the testcase description, as it's included into
classname
2017-12-02 02:18:43 +01:00
Anatol Belski 0b44af5b1d Implement junit test results upload to AppVeyor 2017-12-01 17:23:03 +01:00
Anatol Belski c94a73ec90 Merge branch 'PHP-7.2'
* PHP-7.2:
  Consider Xdebug for tmi ini generation, too
2017-12-01 16:03:49 +01:00
Anatol Belski f282b7720a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Consider Xdebug for tmi ini generation, too
2017-12-01 16:03:09 +01:00
Dmitry Stogov 92cc7f9fab Merge branch 'PHP-7.2'
* PHP-7.2:
  Set trailing zero
2017-12-01 17:01:10 +03:00
Dmitry Stogov 01b85f0e17 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Set trailing zero
2017-12-01 17:00:51 +03:00
Dmitry Stogov cc6a41fad1 Use interned strings as variable names 2017-12-01 01:37:48 +03:00
Dmitry Stogov 7cc6f60134 Added "argv" and "argc" as known strings.
Fixed incorrect "argc" update and corresponding phpdbg test.
2017-12-01 01:35:47 +03:00
Dmitry Stogov 64c5e38adf Use cheaper functions 2017-12-01 01:32:51 +03:00
Dmitry Stogov af7705bec2 Avoid strings duplication (zend_hash* and printf may work with non zero terminated strings) 2017-11-30 23:29:21 +03:00
Dmitry Stogov e221e7379e Avoid function duplication 2017-11-30 16:23:15 +03:00
Dmitry Stogov 245422653c Functions must be stored with lowercase keys 2017-11-30 15:59:29 +03:00
Anatol Belski 821bdbdfba Merge branch 'PHP-7.2'
* PHP-7.2:
  Revert "Fix macro redefinition warnings"
2017-11-30 13:23:18 +01:00
Anatol Belski b6a27c7332 Revert "Fix macro redefinition warnings"
This reverts commit 23d2bd3748.
2017-11-30 13:21:04 +01:00
Dmitry Stogov 6d736aa400 Replace always true condition with ZEND_ASSERT() 2017-11-30 14:54:11 +03:00
Anatol Belski a415006b5e Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix macro redefinition warnings
2017-11-30 12:41:44 +01:00
Anatol Belski 23d2bd3748 Fix macro redefinition warnings
The corresponding implementations are available from APR.
2017-11-30 12:40:52 +01:00
Dmitry Stogov 7067f7ccb4 Fixed incorrect buffer reallocation 2017-11-30 13:54:24 +03:00
Dmitry Stogov a5014d7c58 Avoid visibility checks for classes without predefined properties 2017-11-30 13:13:42 +03:00
Dmitry Stogov 134248164c Only functions of temporary modules have to be unregistered here 2017-11-30 11:40:52 +03:00
Dmitry Stogov eccdc48c56 Use interned strings for function names 2017-11-30 02:06:52 +03:00
Dmitry Stogov 3f86f43e51 Intern persistent constant names in first place 2017-11-30 01:15:11 +03:00
Dmitry Stogov 084c17fe0b Use zend_string_tolower() where it's possible (to avoid reallocations).
Allow zend_string_tolower_ex() to create parsistent strings
2017-11-30 01:13:39 +03:00
Christoph M. Becker fa5c186cc0 Merge branch 'PHP-7.2'
* PHP-7.2:
  Define floorf if system doesn't have it (follow up for 22c48761)
  Revert "Revert "ext/sodium: pwhash: do not warn on low parameters"" This reverts commit a1845b7fdb.
2017-11-29 17:06:47 +01:00
Dmitry Stogov 03da5f8e30 Try to intern unserualized string keys 2017-11-29 19:00:57 +03:00
Christoph M. Becker 995ac8a094 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Define floorf if system doesn't have it (follow up for 22c48761)
2017-11-29 16:59:17 +01:00
Dmitry Stogov f98721b4e0 Intern auto global name strings in first place 2017-11-29 17:10:51 +03:00
Frank Denis fc8793499a Revert "Revert "ext/sodium: pwhash: do not warn on low parameters""
This reverts commit a1845b7fdb.

Revert "Revert "ext/sodium: throw exceptions instead of errors""
This reverts commit 31d221f9c7.
2017-11-29 13:19:56 +01:00
Anatol Belski 7a79e0d324 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-11-29 09:32:09 +01:00
Anatol Belski 367c0b4c33 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
2017-11-29 09:31:29 +01:00
Anatol Belski 6a23add631 [ci skip] update NEWS 2017-11-29 09:31:14 +01:00
Xinchen Hui 60c742979d Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Fixed bug #75573 (Segmentation fault in 7.1.12 and 7.0.26)
  Revert "ext/sodium: pwhash: do not warn on low parameters"

Conflicts:
	Zend/zend_object_handlers.c
2017-11-29 14:54:05 +08:00
Xinchen Hui 17338ddb48 Update NEWS 2017-11-29 14:47:26 +08:00
Xinchen Hui bedf6093ad Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75573 (Segmentation fault in 7.1.12 and 7.0.26)
2017-11-29 14:46:44 +08:00
Frank Denis a1845b7fdb Revert "ext/sodium: pwhash: do not warn on low parameters"
This reverts commit c219991c77.
2017-11-29 01:22:59 +01:00
Nikita Popov a049180a73 Merge branch 'PHP-7.2' 2017-11-28 23:37:28 +01:00
Nikita Popov 1d557e4a62 Merge remote-tracking branch 'php-src/PHP-7.2' into PHP-7.2 2017-11-28 23:37:05 +01:00
Nikita Popov a2a3c9350d Merge branch 'PHP-7.2' 2017-11-28 23:34:30 +01:00
Nikita Popov 060baf78cb Merge branch 'PHP-7.1' into PHP-7.2 2017-11-28 23:34:25 +01:00
Frank Denis 31d221f9c7 Revert "ext/sodium: throw exceptions instead of errors"
This reverts commit c05cbd1e77.
2017-11-28 23:30:21 +01:00
Nikita Popov 5dc6392d25 Fixed bug #75575
These functions are never called with needle longer than haystack,
but it makes sense to explicitly check for this, especially as we
already perform a check for empty haystack anyway, which is
naturally subsumed by a haystack_len < needle_len check.
2017-11-28 23:10:50 +01:00
David Carlier 4e0b3c0c4c Add configure check for asm goto support
asm goto is not supported by couple of systems. To make sure it does,
we can check it at configure-time.
2017-11-28 22:55:41 +01:00
Anatol Belski a935ad927e Merge branch 'PHP-7.2'
* PHP-7.2:
  Follow up on bug #75574 for FCGI side
2017-11-28 20:35:19 +01:00
Anatol Belski 0b30461764 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Follow up on bug #75574 for FCGI side
2017-11-28 20:34:44 +01:00
Remi Collet b1afa21502 Merge branch 'PHP-7.2'
* PHP-7.2:
  NEWS
  NEWS
  NEWS
  Fixed bug #64938 libxml_disable_entity_loader setting is shared between requests (FPM)
2017-11-28 18:00:46 +01:00
Remi Collet 7c043fff53 NEWS 2017-11-28 18:00:36 +01:00
Remi Collet 9c8748316a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  NEWS
  NEWS
  Fixed bug #64938 libxml_disable_entity_loader setting is shared between requests (FPM)
2017-11-28 18:00:21 +01:00
Remi Collet ac5a5bceea Merge branch 'PHP-7.2'
* PHP-7.2:
  better fix for #75514
2017-11-28 17:43:28 +01:00
Remi Collet bd44a2cb05 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  better fix for #75514
2017-11-28 17:43:15 +01:00
Matteo Beccati d3fec3bf03 Fix getifaddrs detection on NetBSD 2017-11-28 15:42:33 +01:00
Remi Collet a942a8e1be ensure no merge commit during submodule update 2017-11-28 14:16:47 +01:00
Frank Denis c4347f4f74 Merge branch 'PHP-7.2'
* PHP-7.2:
  ext/sodium: throw exceptions instead of errors
2017-11-28 13:57:06 +01:00
Frank Denis f2cb9c39c4 Merge branch 'PHP-7.2' of git.php.net:php-src into PHP-7.2
* 'PHP-7.2' of git.php.net:php-src:
  [ci skip] update NEWS
  [ci skip] update NEWS
  Fixed bug #73830 Directory does not exist.
2017-11-28 13:56:46 +01:00
Frank Denis c05cbd1e77 ext/sodium: throw exceptions instead of errors 2017-11-28 13:56:11 +01:00
Anatol Belski 3dc0d12f28 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-11-28 12:46:59 +01:00
Anatol Belski e722f7bf06 [ci skip] update NEWS 2017-11-28 12:46:39 +01:00
Anatol Belski 71786ed50b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
2017-11-28 12:46:03 +01:00
Anatol Belski af55904f18 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #73830 Directory does not exist.
2017-11-28 12:43:03 +01:00
Anatol Belski 79940993de Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #73830 Directory does not exist.
2017-11-28 12:42:40 +01:00
Dmitry Stogov 6a2738c713 CONCAT/FAST_CONCAT micro-optimization 2017-11-28 14:11:40 +03:00
Frank Denis b44bc1bfca Merge branch 'PHP-7.2'
* PHP-7.2:
  ext/sodium: pwhash: do not warn on low parameters but raise an explicit error if these are too low
2017-11-28 11:25:44 +01:00
Frank Denis c219991c77 ext/sodium: pwhash: do not warn on low parameters
but raise an explicit error if these are too low
2017-11-28 11:24:49 +01:00
Dmitry Stogov 6acfade8a1 Prefer "GNU asm goto" to __builtin_saddl_overflow() for overflow detection. This allows generation of significantly better code. 2017-11-28 12:37:00 +03:00
Anatol Belski 4a2ccd908b Keep up with Linux extension to POSIX.1-2001 getcwd()
If both buf and size are zero, the buf is allocated as big as required.
Otherwise, the size is still to respect.

Fix var name

Improve error check

Ensure the end buffer length is not bigger than requested
2017-11-28 09:15:14 +01:00
Anatol Belski e9927994eb Sync with the POSIX signature 2017-11-28 09:15:14 +01:00
Remi Collet 3ce0de84d7 Merge branch 'PHP-7.2'
* PHP-7.2:
  drop -dev from Zend version
2017-11-28 08:01:59 +01:00
Remi Collet 391d889f2c drop -dev from Zend version 2017-11-28 08:01:41 +01:00
Xinchen Hui 9b6581326a Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Update NEWs (added bug entry)
2017-11-28 13:16:51 +08:00
Xinchen Hui c52900d7f0 Update NEWS 2017-11-28 13:16:39 +08:00
Xinchen Hui e02c2d2dfb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWs (added bug entry)
2017-11-28 13:16:22 +08:00
Anatol Belski 89da3ed4d7 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix allocation
  Fix memory leak
2017-11-27 21:19:17 +01:00
Anatol Belski eb0cc77133 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix allocation
  Fix memory leak
2017-11-27 21:18:54 +01:00
Anatol Belski edc77d5d00 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75574 putenv does not work properly if parameter contains non-ASCII unicode character
2017-11-27 18:52:45 +01:00
Anatol Belski 3c0bd0014d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75574 putenv does not work properly if parameter contains non-ASCII unicode character
2017-11-27 18:50:05 +01:00
Sara Golemon 6d57740818 Bugfix net_get_interfaces() on NetBSD 2017-11-27 12:47:26 -05:00
Sara Golemon 7ca5a7d84e Add net_get_interfaces() 2017-11-27 10:17:55 -05:00
Remi Collet 697c1f95d5 Merge branch 'PHP-7.2'
* PHP-7.2:
  Prepare NEWS file for release - set release date - merge all alpha/beta/RC entries - clean entries already in 7.1
2017-11-27 12:49:46 +01:00
Remi Collet 51404ad063 Prepare NEWS file for release
- set release date
- merge all alpha/beta/RC entries
- clean entries already in 7.1
2017-11-27 12:49:28 +01:00
Anatol Belski 5a14b4424c Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix normalized path length calculation and error handling
2017-11-27 12:33:54 +01:00
Anatol Belski 155b244c12 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix normalized path length calculation and error handling
2017-11-27 12:33:23 +01:00
Anatol Belski b192b2d110 Add note on PAX headers in tarballs 2017-11-27 12:17:46 +01:00
Dmitry Stogov 88e257c152 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug in type inference
2017-11-27 10:17:07 +03:00
Dmitry Stogov a4b2ae69e9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug in type inference
2017-11-27 10:16:46 +03:00
Xinchen Hui 3475197551 Merge branch 'PHP-7.2'
* PHP-7.2:
  Improved fix
2017-11-27 12:03:48 +08:00
Xinchen Hui 9d02227243 Improved fix 2017-11-27 12:03:37 +08:00
Nikita Popov dcdd4abdb2 Make sure properties are initialized before cloning
Now that they are not memset, they need to be explicitly intialized,
as zend_objects_clone_members() destroys the old property values
first.
2017-11-25 22:51:37 +01:00
MattJeevas c9fecf7d87 Print PHP version in phpinfo() func html title 2017-11-25 15:28:19 -05:00
Nikita Popov 721f2cc513 Subtract one zval from memset 2017-11-25 18:02:01 +01:00
Nikita Popov b72b1a4e4d Add zend_object_alloc() API
Using ecalloc() to create objects is expensive, because the
dynamic-size memset() is unreasonably slow. Make sure we only
zero the main object structure with known size, as the properties
are intialized separately anyway.

Technically we do not need to zero the embedded zend_object
structure either, but as long as the memset argument is constant,
a couple more bytes don't really matter.
2017-11-25 17:12:37 +01:00
Nikita Popov 8795893f4f Make sure string property/class const values are interned
This was done for user-definde class constant values, however this
is also important for properties and internal classes.
2017-11-25 17:12:37 +01:00
Kalle Sommer Nielsen c5767db441 We don't check for Windows in the win32/ directory, as files here are only compiled on Windows anyway 2017-11-25 00:54:16 +01:00
Kalle Sommer Nielsen ffbe801226 PCRE is always available, PHP can't be built without it anyway so these checks makes no sense anymore 2017-11-25 00:40:13 +01:00
Nikita Popov 828d8e635b Fix ZEND_VM_SPEC=0 build 2017-11-24 23:06:01 +01:00
Nikita Popov 6b258197e8 Fix zend_fetch_dimension_const()
Pass IS_TMP_VAR instead of IS_CONST as operand type, as IS_CONST
requires additional guarantees that are not necessarily
satisfied by the caller.
2017-11-24 21:24:13 +01:00
Nikita Popov 9215be76a6 Fix C++ build failure due to format macros
PRIi64 etc. may not be available without this macro definition, on
pre-C++11 compilers. At least I think that's the issue.
2017-11-24 19:02:59 +01:00
dcarlier 287a2b0184 fix constant defined undefined behavior warning 2017-11-24 19:01:46 +01:00
Xinchen Hui a84c7050fd Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75556 (Invalid opcode 138/1/1)
2017-11-25 00:54:28 +08:00
Xinchen Hui c412b8b384 Fixed bug #75556 (Invalid opcode 138/1/1) 2017-11-25 00:54:15 +08:00
Dmitry Stogov ec2dde0c0b Introduced zend_hash_find_ex() that may avoid unnecessary hash value check. 2017-11-24 14:01:19 +03:00
Dmitry Stogov ed7f396721 Avoid second hash value check 2017-11-24 12:03:59 +03:00
Dmitry Stogov 33b094479b TYPE_CHECK instruction changed. Now it keeps in extended_value a type mask.
This makes check for "boolean" cheaper and allows check combination e.g. (is_string($a) || is_null($a))
2017-11-23 15:58:34 +03:00
Dmitry Stogov d5dd27987f Don't mix TYPE and TYPE_INFO 2017-11-23 13:45:21 +03:00
Dmitry Stogov 8349268fa0 Delayed unlikely checks for uninitialized variables 2017-11-23 13:18:52 +03:00
Remi Collet 3adbe476b2 Merge branch 'PHP-7.2'
* PHP-7.2:
  add 7.1 NEW entries
2017-11-23 11:09:06 +01:00
Remi Collet 0dbb327d70 add 7.1 NEW entries 2017-11-23 11:08:53 +01:00
Nikita Popov d21c902841 Fix cp950 pua check
One set of parenthesis was missing, causing a legitimate compiler
warnings. In the end it doesn't actually matter, because it just
ends up doing an unnecessary check in the w > 0 case.

This fixes the logic and moves it out into a separate functions,
to be a bit more readable.
2017-11-22 23:47:18 +01:00
Anton Artamonov 1dfcd1af9a Fixed bug #70469
Don't generate an E_ERROR if we've already thrown an exception.
This interacts badly with error_get_last() checks.
2017-11-22 23:15:46 +01:00
Colin O'Dell 201930106d Add test for negative lengths in mb_strcut() 2017-11-22 22:47:55 +01:00
Colin O'Dell 830d87b86e Add tests for mb_language() 2017-11-22 22:47:55 +01:00
Dmitry Stogov 10d2a5c09d Merge branch 'PHP-7.2'
* PHP-7.2:
  typo
2017-11-22 16:31:23 +03:00
Dmitry Stogov 2a6a1fd22c typo 2017-11-22 16:30:57 +03:00
Dmitry Stogov 6780c74619 Allowed modification of VM stack page size. Exported few functions. Green light for Fibers/Coroutines. 2017-11-22 15:36:09 +03:00
Anatol Belski e69fa2865f Eliminate cast 2017-11-22 12:50:50 +01:00
Morva Kristóf ed0a58d0ae Enable JSON1 for bundled libsqlite 2017-11-22 12:00:13 +01:00
Pedro Magalhães 179ed6e43d 63911: Compare opcodes of the op_array to determine different functions 2017-11-22 05:35:24 +00:00
krakjoe f3545165b2 Merge branch 'PHP-7.2'
* PHP-7.2:
  Check for binary_location allocation failure
2017-11-22 04:49:52 +00:00
krakjoe ae810d785c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Check for binary_location allocation failure
2017-11-22 04:49:43 +00:00
krakjoe 192a77787c Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix bug #75409
2017-11-22 04:33:23 +00:00
krakjoe 1362c849e8 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #75409
2017-11-22 04:32:42 +00:00
Sebastian Ramadan 7d5691cd69 Fix some printf() specifier usages
Use PRIu32 when printing uint32_t.
Fix some %u/%d confusions.
Add some casts where types are not standardized.
2017-11-21 22:50:27 +01:00
Anatol Belski 1415f27d01 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-11-21 22:25:50 +01:00
Anatol Belski 62e96c2b6f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-11-21 22:24:54 +01:00
Anatol Belski 9988f05628 [ci skip] update NEWS 2017-11-21 22:24:32 +01:00
Anatol Belski 6db15b7dba Fix test 2017-11-21 21:44:09 +01:00
Anatol Belski c029bd3342 Fix macro name 2017-11-21 20:27:17 +01:00
Anatol Belski 54e7b0a6f7 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed #75539 and #74183 - preg_last_error not returning error code after error
2017-11-21 20:15:30 +01:00
Anatol Belski f6b0d365a7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed #75539 and #74183 - preg_last_error not returning error code after error
2017-11-21 20:11:21 +01:00
Anatol Belski 12b2c2f5f9 Switch to ZMM routines, closes #2917 2017-11-21 19:38:53 +01:00
Anatol Belski 6b54b3409a Ensure shift doesn't overflow, closes #2916 2017-11-21 18:48:37 +01:00
David Carlier d006270040 seemingly a tiny typo error in pcre module. 2017-11-21 12:28:15 +01:00
Dmitry Stogov efa4d8d3ac Optimized zend_is_true() for objects (in most cases, it doesn't need to call the conversion handler). 2017-11-20 12:38:31 +03:00
Remi Collet f5dbe081ef Merge branch 'PHP-7.2'
* PHP-7.2:
  Better fix bug #75540 Segfault with libzip 1.3.1 - only 1.3.1 is affected - fix use after free
2017-11-20 09:43:06 +01:00
Remi Collet 307e15592b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Better fix bug #75540 Segfault with libzip 1.3.1 - only 1.3.1 is affected - fix use after free
2017-11-20 09:42:58 +01:00
Remi Collet 15a0de465f Merge branch 'PHP-7.2'
* PHP-7.2:
  NEWS
  NEWS
  NEWS
  fix bug #75540 Segfault with libzip 1.3.1
2017-11-20 08:51:55 +01:00
Remi Collet 045e0fc0c7 NEWS 2017-11-20 08:51:42 +01:00
Remi Collet fa427a86cc Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  NEWS
  NEWS
  fix bug #75540 Segfault with libzip 1.3.1
2017-11-20 08:51:29 +01:00
Alessandro Chitolina 23b61f78a6 Fix segfault in token_get_all_variation19.phpt 2017-11-19 00:48:48 +01:00
Anatol Belski c57a2dccae Use appropriate macro 2017-11-17 23:32:37 +01:00
Anatol Belski 95bfbeeea8 Remove useless condition 2017-11-17 23:32:03 +01:00
Nikita Popov a8db62086e Merge branch 'PHP-7.2' 2017-11-17 23:22:12 +01:00
Nikita Popov 31d9287d2b Merge branch 'PHP-7.1' into PHP-7.2 2017-11-17 23:22:07 +01:00
Anatol Belski 80d6eb6806 Fix unsigned comparisons and remove dead code
Fix unsigned comparison

Cleanup never executed block

Fix unsigned comparison

Fix unsigned comparison, diff can't be < 0

Fix unsigned comparison

Fix unsigned comparison

Remove dead code
2017-11-17 22:38:44 +01:00
Nikita Popov 3ce1a977d4 Merge branch 'PHP-7.2' 2017-11-17 22:26:04 +01:00
Nikita Popov 1310234aa3 Fix printf format issues on i386 2017-11-17 22:25:03 +01:00
Anatol Belski ad38168bdd Use log1p from the CRT 2017-11-17 21:22:51 +01:00
Anatol Belski c7bf314b65 Fix unsigned comparison 2017-11-17 18:54:42 +01:00
Anatol Belski 80b926d24d Fix unsigned comparison 2017-11-17 18:53:37 +01:00
Anatol Belski 70427b1107 Keep the compile time condition for the label use 2017-11-17 18:46:57 +01:00
Anatol Belski 6e3cdf1dcc Remove unused assignment 2017-11-17 18:20:52 +01:00
Anatol Belski 24356e307c Fix condition 2017-11-17 18:19:32 +01:00
Anatol Belski 261ed5d2ec Merge branch 'PHP-7.2'
* PHP-7.2:
  Update SDK version for AppVeyor
2017-11-17 16:38:53 +01:00
Anatol Belski d5a2ddab53 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update SDK version for AppVeyor
2017-11-17 16:38:32 +01:00
Dmitry Stogov aa7bf41502 Use cheaper checks 2017-11-17 13:23:22 +03:00
Nikita Popov 9fbb019848 Move adjust_for_fetch_type directly after emission
And drop the distinction between compile_X and compile_X_common.
This avoids WTF moments like compile_simple_var_no_cv completely
ignoring the BP_VAR type passed to it...
2017-11-16 22:28:29 +01:00
Nikita Popov d9da166649 Minor fetch type adjustment cleanup
No need to call adjust_fetch_type on FETCH_THIS, just to special
case it in adjust_fetch_type...
2017-11-16 22:13:07 +01:00
Nikita Popov a164e91dfb Merge branch 'PHP-7.2' 2017-11-16 21:27:34 +01:00
Nikita Popov 95e9cc2871 Backport some printf() fixes to 7.2 2017-11-16 21:26:33 +01:00
Nikita Popov 26f8fc833b Enable and fix printf() format warnings
Add _unchecked() variants of zend_spprintf and zend_strpprintf for
cases where we specifically want to disable these checks, such as
use of %H.
2017-11-16 21:15:36 +01:00
Dmitry Stogov b8a4225a5f Reverted incorrect changes to setlocale() 2017-11-16 18:10:28 +03:00
Dmitry Stogov 288c1dd6da Missed change 2017-11-16 18:10:15 +03:00
Dmitry Stogov 73bde7bbd0 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Fix (*NO_JIT) usage when JIT is enabled
  Refactor ASCII to wide conversion
2017-11-16 17:10:04 +03:00
Dmitry Stogov ccc12b82da Avoid unnecessary reference-counting on strings. 2017-11-16 17:09:32 +03:00
Dmitry Stogov ce18738a30 Removed "_" from API functions. 2017-11-16 17:09:01 +03:00
Anatol Belski a370a6af64 Fix (*NO_JIT) usage when JIT is enabled
If (*NO_JIT) is put into the pattern, the JIT compilation will still
succeed but produce no code. The pattern will still have to be
interpreted and is not suitable for the JIT fast path. This means,
we still need to check the pattern info after JIT compilation and only
set the flags when the JIT code was produced.
2017-11-16 14:12:05 +01:00
Anatol Belski acaaf4608a Refactor ASCII to wide conversion
- add SSE2 based ASCII check in 16 byte blocks
- use early return on fail
2017-11-16 12:57:11 +01:00
Nikita Popov 50eeb46e21 Merge branch 'PHP-7.2'
[ci skip]
2017-11-16 00:19:49 +01:00
Tyson Andre 9379b319b0 Fix typo in UPGRADING, should be oci_unregister_taf_callback
See de65a2243f which exposes
the unregister functionality.

[ci skip]
2017-11-16 00:19:36 +01:00
zimuyang b304f3bc0e Remove duplicate check for already loaded extension 2017-11-16 00:16:15 +01:00
Nikita Popov 1e3f625aa5 Merge branch 'PHP-7.2' 2017-11-15 23:01:52 +01:00
Nikita Popov 6640e03df8 Merge branch 'PHP-7.1' into PHP-7.2 2017-11-15 23:01:25 +01:00
Anatol Belski 994dafc71c Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
2017-11-15 20:42:37 +01:00
Anatol Belski 97b046a608 [ci skip] update NEWS 2017-11-15 20:41:15 +01:00
Anatol Belski ce85d0f24f Add missing ifdef 2017-11-15 20:21:40 +01:00
Anatol Belski 9acbab30cc Remove padding 2017-11-15 18:03:51 +01:00
Anatol Belski 721a669996 Merge branch 'PHP-7.2'
* PHP-7.2:
  Refine allocation
  NEWS
2017-11-15 18:03:20 +01:00
Anatol Belski 6f41ca4de1 Refine allocation
None of currently supported codepages would claim more than 5
bytes per a multibyte glyph, that's (255*5+1)kb, not 2kb anymore.
2017-11-15 18:02:01 +01:00
Anatol Belski 178add7a58 Unroll loop for ASCII check 2017-11-15 16:02:46 +01:00
Remi Collet 4764574910 NEWS 2017-11-15 15:35:21 +01:00
Anatol Belski c6d0c8aa3b Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix C++ compatibility for TSRM_TLS
2017-11-15 12:45:21 +01:00
Anatol Belski 0e5d4ea555 Fix C++ compatibility for TSRM_TLS
If a C++11 source is compiled, thread_local is preferred. Furthermore,
at least GCC treats __thread vs. thread_local a different way and under
certain circumstances would refuse to compile __thread is a C++11 source.
This change is far behind in time, any up-to-date compiler supports C++11
and otherwise it won't take effect on lower versions.
2017-11-15 12:44:04 +01:00
Dmitry Stogov 6bcace1b72 Use single memory pool for result metadata and result set. 2017-11-15 14:07:09 +03:00
Anatol Belski a0724819c2 Merge branch 'PHP-7.2'
* PHP-7.2:
  Add missing var declarations for phpize mode
2017-11-15 12:02:09 +01:00
Anatol Belski 5b28218cc6 Add missing var declarations for phpize mode 2017-11-15 12:00:58 +01:00
Anatol Belski 0045ed1064 Merge branch 'PHP-7.2'
* PHP-7.2:
  Regenerate cp map
2017-11-15 11:24:56 +01:00
Anatol Belski 7f35502bd1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Regenerate cp map
2017-11-15 11:24:12 +01:00
Anatol Belski ce17d2a9be Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75525 Access Violation in vcruntime140.dll
2017-11-15 10:14:51 +01:00
Anatol Belski 020fdfd55d Fixed bug #75525 Access Violation in vcruntime140.dll
It was a mistake to make d_name a pointer. d_name has to be allocated
in the body of struct dirent as per POSIX.1-2008. The binary
compatibility is kept through the extra padding, which will be removed
in 7.3.
2017-11-15 09:55:29 +01:00
Dmitry Stogov e2c9dfb5de Cleanup. Make difference between MYSQLND_ROW_BUFFER and MYSQLND_MEMORY_POOL_CHUNK (the last one is completely removed). 2017-11-15 11:33:32 +03:00
Dmitry Stogov de5cc9017e Use better buffer reallocation strategy 2017-11-15 02:44:34 +03:00
Dmitry Stogov e4a7d31b09 Merged allocations 2017-11-15 02:13:16 +03:00
Dmitry Stogov e176e2d0ef Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Try to fix AppVeyor build
  Reduce sleep intervals in basic sleep tests
  Initialize jit global
  Fix wrong return
  Clarify bin_to_readable code
2017-11-15 00:54:35 +03:00
Dmitry Stogov 69462bdf4c Embeded zend_list into st_mysqlnd_error_info, to avoid extra allocation/deallocation. 2017-11-15 00:53:51 +03:00
Nikita Popov b08253a7a0 Try to fix AppVeyor build
Performing arithmetic on void pointers is a GCC extension.
2017-11-14 22:31:34 +01:00
Nikita Popov 9d97afd2a7 Reduce sleep intervals in basic sleep tests
No reason to wait this long...
2017-11-14 22:27:01 +01:00
Anatol Belski 691a5a9c4c Initialize jit global 2017-11-14 21:47:56 +01:00
Anatol Belski 91407fb82d Fix wrong return 2017-11-14 21:44:46 +01:00
Nikita Popov a57f370e59 Clarify bin_to_readable code
I got a bit of a scare when I first saw this code. Turns out that
the way it's used inlen==outlen and that's why it works.
2017-11-14 21:37:22 +01:00
Dmitry Stogov 492bc8ea57 Use mnd_emalloc/mnd_efree 2017-11-14 23:34:06 +03:00
Dmitry Stogov f1f1f63ce1 Reimplemented MYSQLND_MEMORY_POOL to avoid allocations ouside of pool. Store all data related to result set in the pool. 2017-11-14 23:08:29 +03:00
Anatol Belski 3907ca3dde Merge branch 'PHP-7.2'
* PHP-7.2:
  update NEWS
  Update NEWS
  Fix bug 60471 by correctly identifying unused speculative preconnections
2017-11-14 20:06:59 +01:00
Anatol Belski 235d33ac7a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  update NEWS
  Update NEWS
  Fix bug 60471 by correctly identifying unused speculative preconnections
2017-11-14 20:05:28 +01:00
Anatol Belski 20d930d8f3 Fix remaining signedness warnings 2017-11-14 17:07:09 +01:00
Anatol Belski 13696d7aae Use already available pattern length, fix signedness warnings 2017-11-14 16:36:33 +01:00
Anatol Belski 19c56e42c5 Add skipif as this test became only valid with JIT compiled in
Without JIT, the depth limit is respected, but for JIT it's irrelevant.
2017-11-14 15:53:06 +01:00
Dmitry Stogov 4d5330fbe1 Run mysqlmd commands in one step (without separate create/run/free). 2017-11-14 17:32:41 +03:00
Dmitry Stogov 3077a14aea Use mnd_erealloc() 2017-11-14 16:19:44 +03:00
Dmitry Stogov 148641980c Merge mysqlnd_field_hash_key structure into st_mysqlnd_field. 2017-11-14 16:14:13 +03:00
Anatol Belski a385993c0c Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix UTF check in pcre_grep
2017-11-14 13:56:25 +01:00
Anatol Belski 0d13323915 Fix UTF check in pcre_grep
In this case it loops through different subjects without looking for sub
matches and matches are done against the same pattern. Thus, don't reset
the UTF check flag but use it to check whether JIT should be used and
otherwise let PCRE to do the job according to what was saved into the
pattern.
2017-11-14 13:49:06 +01:00
Dmitry Stogov 93334b5fc2 Use stack-allocated packets. 2017-11-14 15:10:27 +03:00
Anatol Belski 0618d7d2ee Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix uninitialized flag when JIT is disabled
2017-11-14 10:14:09 +01:00
Anatol Belski 3c241ea326 Fix uninitialized flag when JIT is disabled 2017-11-14 10:12:55 +01:00
Anatol Belski 5a6c49474e Remove unused file 2017-11-14 09:14:17 +01:00
Xinchen Hui ad006cc3b3 Skip test if no PCRE_JIT_SUPPORT 2017-11-14 15:00:02 +08:00
Xinchen Hui 266f19babb Added PCRE_JIT_SUPPORT flag 2017-11-14 11:02:16 +08:00
Anatol Belski 61ae64f6ab [ci skip] update NEWS 2017-11-14 00:03:16 +01:00
Anatol Belski e8ac7d8dd5 Fix calculation as sync with 48cee6d1 2017-11-14 00:01:52 +01:00
Dmitry Stogov 81dd6de3a9 Eliminated redundand code 2017-11-14 01:43:54 +03:00
Dmitry Stogov 48cee6d1e9 We don't need to calculate size of offset array, because pcre2_match_data_create() already takes size in pairs. 2017-11-14 00:49:03 +03:00
Anatol Belski f4edd0899f Put hardcoded value into macro 2017-11-13 21:33:13 +01:00
Anatol Belski a5bc5aed71 Patch core for PCRE2 support
RFC https://wiki.php.net/rfc/pcre2-migration
2017-11-13 19:37:38 +01:00
Sara Golemon fd463cfbad Merge branch 'PHP-7.2'
* PHP-7.2:
  Bugfix#75515 php://streams behaving greedily
2017-11-13 13:35:46 -05:00
Dmitry Stogov bdf77f02f6 Allow creating $_SERVER from $_ENV, but not $_ENV from $_SERVER. 2017-11-13 18:24:43 +03:00
Sara Golemon 0a45e8f096 Bugfix#75515 php://streams behaving greedily
5060fc23 attempted to fix #68948 by treating all non-uri streams
as non-blocking, however php://fd/* streams (which includes stdin)
may block if the other end of the IPC isn't finished.

This represents a partial revert to the pre RC6 state,
but includes an escape hatch for php://memory and php://temp
streams which are local to the current process.

This also restores stream_set_chunk_size test to previous state.
2017-11-13 09:40:34 -05:00
Remi Collet 275bba2b7e Merge branch 'PHP-7.2'
* PHP-7.2:
  next version is 7.2.1
2017-11-13 12:47:11 +01:00
Remi Collet 704bcd385f next version is 7.2.1 2017-11-13 12:46:30 +01:00
Remi Collet edff5d84db Merge branch 'PHP-7.2'
* PHP-7.2:
  NEWS
  NEWS
  Fixed bug #75514 mt_rand returns value outside [$min,$max]+ on 32-bit
2017-11-13 10:23:46 +01:00
Remi Collet 8c73c9a150 NEWS 2017-11-13 10:23:07 +01:00
Remi Collet 9e3bd1b288 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  NEWS
  Fixed bug #75514 mt_rand returns value outside [$min,$max]+ on 32-bit
2017-11-13 10:22:51 +01:00
Xinchen Hui 70ee6688de Merge branch 'PHP-7.2'
* PHP-7.2:
  Avoid overflow
2017-11-13 11:19:46 +08:00
Xinchen Hui 2d88b2a1ea Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Avoid overflow
2017-11-13 11:19:42 +08:00
Xinchen Hui 46a21c5173 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Fixed bug #75511 (fread not free unused buffer)
2017-11-13 11:14:10 +08:00
Xinchen Hui 1ab03bc316 Update NEWS 2017-11-13 11:13:58 +08:00
Xinchen Hui bc38c06752 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75511 (fread not free unused buffer)
2017-11-13 11:13:42 +08:00
fandrieu a0ed09f92b Treat DATETIME2 columns like DATETIME 2017-11-10 17:20:33 -05:00
Adam Baratz 1027ed3767 Use TDS version attribute to determine whether to skip tests 2017-11-10 14:36:35 -05:00
fandrieu b760b46216 Expose TDS version as \PDO::DBLIB_ATTR_TDS_VERSION attribute on \PDO instance 2017-11-10 14:21:07 -05:00
Adam Baratz 50421b3da5 Fix comment style 2017-11-10 13:31:59 -05:00
Adam Baratz 01f2427b83 More robust handling of stringified column data
- Use at least the FreeTDS maximum when converting datetime data
 - Pass buffer length to dbconvert()
 - Use dbconvert() return value to set string lengths or handle errors
 - Move shared code into shared function
2017-11-10 13:29:14 -05:00
Anatol Belski ca1f07b6d7 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-11-10 11:43:38 +01:00
Anatol Belski 1426be1054 [ci skip] update NEWS 2017-11-10 11:43:02 +01:00
Anatol Belski 1b8f03c796 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-11-10 11:41:52 +01:00
Bernd 3a51145d0a Update README.EXT_SKEL 2017-11-10 05:34:13 +00:00
Dmitry Stogov 2205631209 Optimized parse_iv2() 2017-11-09 14:20:09 +03:00
Adam Baratz 9ebb38ca1d Output column data for easier debugging 2017-11-08 17:12:33 -05:00
Anatol Belski 61259d692e Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed #75384 PHP seems incompatible with OneDrive files on demand
  bump versions
  Fixed ext/date tests due to changes in Olson database
2017-11-08 12:01:39 +01:00
Anatol Belski 01c70cc98b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed #75384 PHP seems incompatible with OneDrive files on demand
  bump versions
  Fixed ext/date tests due to changes in Olson database
2017-11-08 12:00:30 +01:00
Dmitry Stogov 196f003937 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed assertion on phpMyAdmin-4.7.5 home page
2017-11-08 12:52:46 +03:00
Dmitry Stogov b6294bbc6c Fixed assertion on phpMyAdmin-4.7.5 home page 2017-11-08 12:51:53 +03:00
Dmitry Stogov 9731a22eba Use Zend MM heap for non-persistent ini entry values. 2017-11-08 12:01:59 +03:00
Christoph M. Becker 512b6c74be Don't reintroduce split_bc_num()
This function has been removed in 870ed5106d,
because it is not necessary to manipulate the `bc_num` itself; instead
we simply omit extraneous decimals when converting the number to
string.

This resolves the issue introduced by 24fd49fbab
in a cleaner way than 121d193514.
2017-11-07 16:37:31 +01:00
Christoph M. Becker 35e2984b91 Updated bundled libsqlite to 3.21.0 2017-11-07 16:21:07 +01:00
Derick Rethans 0651886ab9 Merge branch 'PHP-7.2' 2017-11-07 14:52:26 +00:00
Derick Rethans 466a34d67c Revert "date module, replacing abs call with the llabs's like one due to bigger type"
This reverts commit c189845951.
2017-11-07 14:52:12 +00:00
Derick Rethans 70e27e0002 Merge branch 'PHP-7.2' 2017-11-07 11:35:09 +00:00
Derick Rethans 22b6ab3919 Merge branch 'PHP-7.1' into PHP-7.2 2017-11-07 11:35:03 +00:00
Anatol Belski a4a3110f28 Merge branch 'PHP-7.2'
* PHP-7.2:
  7.0.27 next
2017-11-07 10:11:00 +01:00
Anatol Belski b6336b0d3e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  7.0.27 next
2017-11-07 10:10:41 +01:00
Dmitry Stogov abd2120c4f Fixed inaccurate condition 2017-11-07 10:29:17 +03:00
Dmitry Stogov a8a04658b0 Fixed build (missing function borrowed from PHP-7.2) 2017-11-07 09:25:04 +03:00
Joe Watkins c0b73c82af Merge branch 'PHP-7.2'
* PHP-7.2:
  date module, replacing abs call with the llabs's like one due to bigger type
2017-11-07 05:27:38 +00:00
David Carlier c189845951 date module, replacing abs call with the llabs's like one due to bigger type 2017-11-07 05:27:27 +00:00
Sara Golemon c33008339e Merge branch 'PHP-7.2'
* PHP-7.2:
  Revert BC break caused by fixing bug #74035
2017-11-06 17:52:35 -05:00
Michael Moravec f70ca770b6 Revert BC break caused by fixing bug #74035
This reverts commit 9ffc6ca62f.
2017-11-06 17:52:17 -05:00
Sara Golemon e36244e776 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixes #68948 related to a BC break introduced by #68532 fix.
2017-11-06 17:41:09 -05:00
Simon JAILLET 5060fc2349 Fixes #68948 related to a BC break introduced by #68532 fix. 2017-11-06 17:34:42 -05:00
Sara Golemon 24fd49fbab Merge branch 'PHP-7.2'
* PHP-7.2:
  Scale support for bcmod()
2017-11-06 17:27:22 -05:00
Christoph M. Becker b152633ecb Scale support for bcmod()
As of commit 90dcbbe (PHP-7.2+) bcmod() supports non-integral
parameters as well. Since formerly only integer modulus has been
supported, it did not make much sense to cater to the scale with regard
to the result. However, now it does for consistency with other BCMath
operations.

Therefore, we add support for an optional `scale` parameter and fall
back to the default scale (`bcmath.scale`) as usual.
2017-11-06 17:26:52 -05:00
Anatol Belski 6c8b441f87 [ci skip] Update UPGRADING.INTERNALS 2017-11-06 14:20:04 +01:00
Anatol Belski 7d14dcc084 [ci skip] Fix UPGRADING.INTERNALS, seems it was not reset after 7.2
branch off
2017-11-06 14:12:02 +01:00
Anatol Belski d6267cd230 Don't touch inline if C++ is compiled
Starting with C++11 marco keywords are forbidden by the standard. Things
like inline namespaces would be broken by this part. As any of supported
compilers is at least C++11 complaint, tricks with inline are simply
disabled if C++ is compiled. Though, zend_always_inline is still usable,
anything else about inlining for C++ is up to the compiler.
2017-11-06 13:52:02 +01:00
Joe Watkins 21e4ab1977 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix proto documents for new global functions
2017-11-06 07:24:51 +00:00
Tyson Andre 5cdf37e603 Fix proto documents for new global functions
See NEWS and UPGRADING (or arginfo/implementation) for details.
2017-11-06 07:24:42 +00:00
Joe Watkins 18c833504f Merge branch 'PHP-7.2'
* PHP-7.2:
  Mention spl_object_id in UPGRADING notes
2017-11-06 07:20:14 +00:00
Tyson Andre 88e94a0bd1 Mention spl_object_id in UPGRADING notes
This was implemented in PR #2611
2017-11-06 07:18:39 +00:00
Sammy Kaye Powers b591c329ee Allow trailing commas in function and method calls 2017-11-06 07:13:56 +00:00
Xinchen Hui 4da0bfc7d7 Unused var 2017-11-06 14:10:27 +08:00
Dmitry Stogov d3fa900780 Removed workaraouns for inconsistent zvals (REFCOUNTED+INTERNED). They should be fixed now. 2017-11-03 21:02:55 +03:00
Dmitry Stogov 7fba7209e1 Fixed memory leak (Zend/tests/list_003.phpt) 2017-11-03 21:02:27 +03:00
Dmitry Stogov 26b2b27a25 Don't intern strings in-place if their refcoung greater than 1 2017-11-03 21:00:07 +03:00
Joe Watkins 3d12e70459 Merge branch 'PHP-7.2'
* PHP-7.2:
  fix wrong check of definition_phi->constraint.range.max_ssa_var
2017-11-03 17:50:19 +00:00
Joe Watkins c3ee17065b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix wrong check of definition_phi->constraint.range.max_ssa_var
2017-11-03 17:49:52 +00:00
Dmitry Stogov 522cc6926b erealloc() optimization 2017-11-03 18:35:03 +03:00
Dmitry Stogov 9359ad73bf Added RC_DEBUG exception 2017-11-03 11:15:20 +03:00
Dmitry Stogov 4124c4badc Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Update libs_version.txt
2017-11-03 00:56:11 +03:00
Dmitry Stogov 00fc9e80c6 Disable RC_DEBUG for FPM initialisation 2017-11-03 00:48:04 +03:00
Anatol Belski 1d82e2f076 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update libs_version.txt
2017-11-02 22:46:57 +01:00
Anatol Belski 0166e5c466 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update libs_version.txt
2017-11-02 22:46:25 +01:00
Dmitry Stogov 95b33f2394 Added RC_DEBUG exception 2017-11-03 00:34:18 +03:00
Dmitry Stogov d92a701a3b Added RC_DEBUG exception 2017-11-02 23:54:24 +03:00
Dmitry Stogov 3e35def20b Start RC_DEBUG at the end of MINIT and finish in MSHUTDOWN after all worker threads are terminated. 2017-11-02 23:52:50 +03:00
Dmitry Stogov f2b91b31e4 Switch back from "request" interned strings storage to "permanent" in MSHUTDOWN 2017-11-02 23:29:21 +03:00
Dmitry Stogov 3f6693c5e0 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Fix #74922 - Try to resolve constants when importing trait properties
  Fix ext/soap/tests/bug69137.phpt
  Don't dup after fetch_dimension_const
  Small browscap cleanup
2017-11-02 23:25:34 +03:00
Dmitry Stogov 5f47ce9127 last_message is always allocated in Zend MM heap 2017-11-02 23:24:40 +03:00
Pedro Magalhães 897bdb42f0 Fix #74922 - Try to resolve constants when importing trait properties 2017-11-02 21:06:27 +01:00
Nikita Popov b27a6b16dd Merge branch 'PHP-7.2' 2017-11-02 20:56:48 +01:00
Nikita Popov f3c7e1cefb Merge branch 'PHP-7.1' into PHP-7.2 2017-11-02 20:56:35 +01:00
Nikita Popov 625d7075d6 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.
2017-11-02 19:20:14 +01:00
Nikita Popov c9b7b9886b Small browscap cleanup
Directly use interned "" and "1" strings.
2017-11-02 18:10:37 +01:00
Dmitry Stogov 238916b5c9 Use persistent strings for preloaded phar files 2017-11-02 19:28:34 +03:00
Anatol Belski b66eeb3652 Note to UPGRADING about Spoofchecker::setRestrictionLevel() 2017-11-02 13:34:58 +01:00
Dmitry Stogov d3e92c05e4 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Sync and fix tests for ICU 60.1 compat
2017-11-02 14:41:01 +03:00
Dmitry Stogov 749db50a36 Added exceptions for ZEND_RC_DEBUG 2017-11-02 14:40:28 +03:00
Anatol Belski a3e1bea4be Merge branch 'PHP-7.2'
* PHP-7.2:
  Sync and fix tests for ICU 60.1 compat
2017-11-02 12:39:34 +01:00
Anatol Belski 8a4702223d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync and fix tests for ICU 60.1 compat
2017-11-02 12:39:04 +01:00
Dmitry Stogov b59c9fb45b Added exceptions for ZEND_RC_DEBUG 2017-11-02 14:13:28 +03:00
Dmitry Stogov 87a72e7e62 Use interned strins for output handler aliases and conflict checkers names. 2017-11-02 14:11:56 +03:00
Dmitry Stogov e0517c42be Use interned strings for browscap files parsed at MINIT 2017-11-02 14:10:40 +03:00
Dmitry Stogov 3b2e858304 Overlad functions once in MINIT (instead of on each requestr in RINIT) 2017-11-02 14:09:06 +03:00
Anatol Belski 1b25be2650 Merge branch 'PHP-7.2'
* PHP-7.2:
  Yet one /nologo
2017-11-02 09:24:46 +01:00
Anatol Belski 5a3688fe2c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Yet one /nologo
2017-11-02 09:24:22 +01:00
Xinchen Hui d56a534acc RC manipulation cleanup 2 2017-11-02 12:13:35 +08:00
Xinchen Hui 3fa0cee640 Revert "Use zend_get_executed_filename_ex"
This reverts commit 2a37625c20.
2017-11-02 12:12:40 +08:00
Xinchen Hui 39845250f2 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
2017-11-02 10:40:45 +08:00
Dmitry Stogov a7305eb539 Made "result", "statement" and "last_message" to always use Zend MM heap. (even for persistent connections these entities don't relive request boundary) 2017-11-02 03:27:25 +03:00
Dmitry Stogov 468fd78bff Fixed memory leaks 2017-11-02 03:04:27 +03:00
Dmitry Stogov e2589b7d02 Use interned strings for "magic" property of internal classes. (not copyied into SHM) 2017-11-01 19:04:54 +03:00
Dmitry Stogov 990d8092a4 Reverted incomplete fix and too strict asserts. 2017-11-01 16:18:13 +03:00
Dmitry Stogov fd57ee8931 Mark persistent connection related data as "thread-local". 2017-11-01 15:21:21 +03:00
Dmitry Stogov 67d5f39a47 Persistent resources are "thread-local".
Register persistent resources through new functions zend_register_persistent_resource()/zend_register_persistent_resource_ex().
2017-11-01 15:19:31 +03:00
Dmitry Stogov f5664a1492 PCRE cache is "thread-local" 2017-11-01 15:13:49 +03:00
Dmitry Stogov cf582a32ef Allow reference-counting on "thread-local" persistent zvals 2017-11-01 15:11:52 +03:00
Xinchen Hui a32e567ec8 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Fixed string interning during constants substitution
2017-11-01 18:42:12 +08:00
Dmitry Stogov 02a05146fd Fixed string interning during constants substitution 2017-11-01 10:56:37 +03:00
Xinchen Hui 322f7e5700 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Revert "Fixed string interning during constants substitution"
  Fixed string interning during constants substitution
2017-11-01 15:41:41 +08:00
Xinchen Hui 2a37625c20 Use zend_get_executed_filename_ex 2017-11-01 15:40:54 +08:00
Dmitry Stogov 5baf657db3 Revert "Fixed string interning during constants substitution"
This reverts commit e0924c52fc.
2017-11-01 10:39:47 +03:00
Dmitry Stogov e0924c52fc Fixed string interning during constants substitution 2017-11-01 10:34:39 +03:00
Xinchen Hui a8a17a72b0 RC manipulation cleanup 2017-11-01 10:25:10 +08:00
Dmitry Stogov 0056f52f50 Use interned strings for hash algorithm names (not copyied into SHM) 2017-11-01 02:40:39 +03:00
Dmitry Stogov 8897c80956 Use interned strings for stream transports 2017-11-01 02:39:09 +03:00
Dmitry Stogov ed5b4d5c99 Use Zend MM heap 2017-11-01 02:38:26 +03:00
Dmitry Stogov fcb13fab6e Avoid reference counting (the value may be a persistent string) 2017-11-01 01:31:47 +03:00
Dmitry Stogov d481d495cc Fixed few inconsistent ZVALs in AST produced by compiler (REFCOUNTED and INTERNED strings) 2017-11-01 01:10:21 +03:00
fandrieu b72af30a53 Fix #74243: allow locales.conf to drive datetime format
Add a driver attribute, PDO::DBLIB_ATTR_DATETIME_CONVERT, to control.
2017-10-31 17:52:59 -04:00
Adam Baratz 2ecfcdaf1b Use size_t instead of int, use more specific format string 2017-10-31 16:43:35 -04:00
Dmitry Stogov bbfd0df9d3 Use interned strings for persistent stream wrappers and filters 2017-10-31 18:51:35 +03:00
Nikita Popov 5b044aacbe Use known strings for reflection properties 2017-10-31 15:46:55 +01:00
Sammy Kaye Powers 98d6d1189c Remove decade-old commented-out code 2017-10-31 14:46:16 +00:00
Dmitry Stogov b84cbefa94 Change checks that should be always true into ZEND_ASSERT() (some edge cases may be trapped here). 2017-10-31 15:41:51 +03:00
Dmitry Stogov 54ebab9640 Workaroud for inconsistent ZVALs in AST produced by compiler (strings may be REFCOUNTED and INTERNED at the same time). 2017-10-31 15:39:39 +03:00
Dmitry Stogov 5dbdc382af Intern file names and class constants in first place (they may be interned later during constant substitution) 2017-10-31 15:36:55 +03:00
Dmitry Stogov 998794f584 Always calculate calculate string hash value on attempt of interning 2017-10-31 15:35:44 +03:00
Dmitry Stogov ca0690358e Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Fix year
  Add /nologo
  These functions are always available, exif can't be cross version compiled anyway
2017-10-31 15:35:14 +03:00
Anatol Belski 3a59c1e068 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix year
  Add /nologo
2017-10-31 10:38:54 +01:00
Anatol Belski da9da5742c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix year
  Add /nologo
2017-10-31 10:38:18 +01:00
Dmitry Stogov 160f6d6267 single check is enough 2017-10-31 11:07:42 +03:00
Kalle Sommer Nielsen b7a5e71a33 These functions are always available, exif can't be cross version compiled anyway 2017-10-31 08:50:30 +01:00
Dmitry Stogov 2e83924682 Added zend_hash_add_new_mem/zend_hash_str_add_new_mem. Use them to add new elements into PCRE cache (we checked the existance before). 2017-10-31 10:43:10 +03:00
Dmitry Stogov 6de54703f0 Improved zend_hash_str_add/update functions 2017-10-31 10:35:28 +03:00
Dmitry Stogov 974a8f8ad2 Use internet strings for EG(ini_entries) 2017-10-31 02:16:46 +03:00
Dmitry Stogov 8482a6f511 Fixed use-after free introduced in fcc08ce19f 2017-10-31 01:20:38 +03:00
Nikita Popov 02d6c259b9 Fix gc_029_zts.phpt test
ZTS and NTS now behave the same here, so reduce this back to a
single test.
2017-10-30 23:05:53 +01:00
Nikita Popov 7b16205f8b Remove some unnecessary duplications 2017-10-30 22:48:20 +01:00
Nikita Popov cb2884679c 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.
2017-10-30 22:00:42 +01:00
Dmitry Stogov fcc08ce19f 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.
2017-10-30 23:13:10 +03:00
Christoph M. Becker dc4427d0ca 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.

[1] <https://github.com/php/php-src/pull/222#commitcomment-2064387>
[2] <https://github.com/php/php-src/pull/1811#issuecomment-256677997>
[3] <https://qa.php.net/phpt_details.php#cgi_section>
2017-10-30 21:04:59 +01:00
Anatol Belski 0fe6724fce 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.
2017-10-30 19:52:27 +01:00
Anatol Belski 2b43c623b9 Fix typo 2017-10-30 18:28:39 +01:00
Anatol Belski 3ce3e96af3 Proper ICU version check for restriction levels availability 2017-10-30 18:21:14 +01:00
Anatol Belski c35f69327c Merge branch 'PHP-7.2'
* PHP-7.2:
  Add missing ICU version check
2017-10-30 18:17:20 +01:00
Anatol Belski e3b2859c8a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add missing ICU version check
2017-10-30 18:16:47 +01:00
Jakub Zelenka 8b07cc4914 Merge branch 'PHP-7.2' 2017-10-30 16:44:33 +00:00
Jakub Zelenka 19c62e83fa Merge branch 'PHP-7.1' into PHP-7.2 2017-10-30 16:43:36 +00:00
Dmitry Stogov 0a8d834a7f Fixed test 2017-10-30 18:37:03 +03:00
Sara Golemon bbf57b114f Revert array_slice passthrough optimization
This reverts commit fabb5b7a74.
This reverts commit e751e6ceba.
2017-10-30 11:08:28 -04:00
Joe Watkins ccba0f5948 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
2017-10-30 14:16:38 +00:00
Joe Watkins 06606ab4be Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix bug #75464 Wrong reflection on SoapClient::__setSoapHeaders
2017-10-30 14:15:29 +00:00
Joe Watkins 118db2d2f7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #75464 Wrong reflection on SoapClient::__setSoapHeaders
2017-10-30 14:14:21 +00:00
Fabien Villepinte 97ff1c9243 Fix bug #75461 Wrong reflection on SoapServer:setClass 2017-10-30 14:11:15 +00:00
Anatol Belski fcfeb6b088 Merge branch 'PHP-7.2'
* PHP-7.2:
  Yet one attempt to mitigate the unzip error on AppVeyor
2017-10-30 12:20:52 +01:00
Anatol Belski f10d8c21ab Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Yet one attempt to mitigate the unzip error on AppVeyor
2017-10-30 12:20:24 +01:00
Anatol Belski 2ba8562973 Merge branch 'PHP-7.2'
* PHP-7.2:
  Ensure SDK is checked out before asking for version
2017-10-30 12:09:39 +01:00
Anatol Belski 8be5bb8b10 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Ensure SDK is checked out before asking for version
2017-10-30 12:09:15 +01:00
Anatol Belski 7b6a86c82f Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix fetching the SDK version
2017-10-30 11:31:03 +01:00
Anatol Belski ddcef0fc0f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix fetching the SDK version
2017-10-30 11:30:19 +01:00
Xinchen Hui 039263c884 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Fix SDK version comparison and add more verbosity
  Don't use the cache dependency, SDK version is handled in script
2017-10-30 18:21:19 +08:00
Xinchen Hui d4b81223cd Merge branch 'PHP-7.2' of git.php.net:/php-src into PHP-7.2
* 'PHP-7.2' of git.php.net:/php-src:
  Fix SDK version comparison and add more verbosity
  Don't use the cache dependency, SDK version is handled in script
2017-10-30 18:21:00 +08:00
Xinchen Hui 60e8e4700c Merge branch 'PHP-7.2'
* PHP-7.2:
  Use abbrev
2017-10-30 18:17:50 +08:00
Xinchen Hui db4eb54149 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Use abbrev
2017-10-30 18:17:41 +08:00
Anatol Belski 29cca02623 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix SDK version comparison and add more verbosity
  Don't use the cache dependency, SDK version is handled in script
2017-10-30 11:17:06 +01:00
Anatol Belski a438a633e9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix SDK version comparison and add more verbosity
  Don't use the cache dependency, SDK version is handled in script
2017-10-30 11:16:33 +01:00
Dmitry Stogov b1b1a0596f ws 2017-10-30 12:56:08 +03:00
Dmitry Stogov 5d88ea5c75 Update UPGRADING.INTERNALS 2017-10-30 12:47:22 +03:00
Dmitry Stogov 3b7e18af78 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Remove status check on the SDK repo and add version check
2017-10-30 12:32:22 +03:00
Anatol Belski 2eadb3f015 Merge branch 'PHP-7.2'
* PHP-7.2:
  Remove status check on the SDK repo and add version check
2017-10-30 10:17:55 +01:00
Anatol Belski e5179054fb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Remove status check on the SDK repo and add version check
2017-10-30 10:17:25 +01:00
Dmitry Stogov fad75a54d4 Merge branch 'master' into rc_debug
* master: (26 commits)
  Better fix for bug #75451 (Assertion fails while foreach on empty xpath query)
  Catch with the latest AppVeyor unzip errors
  Fixed type inference
  Fix bug #75453 Incorrect reflection on ibase_connect and ibase_pconnect
  Fix compiler warnings
  We don't use a specific model for a MAKERNOTE so remove these checks that doesn't do anything anyway
  Remove these old comments, as for the TODO, there is already a FR for this
  Re-enable AppVeyor cache
  make sure run-tests reports exit status upon prerequisite error
  Remove implicit constants from test case
  Fix invalid read in zend_use_undefined_constant()
  Fix invalid read in mb_ord()
  Remove --with-libmbfl configure option
  Fixed bug #75451 (Assertion fails while foreach on empty xpath query)
  Add tests for UConverter::getStandards()
  convert spaces to tabs in ext/ftp/tests/server.inc
  Add tests for ftp_rename
  Fix bug #75434 Wrong reflection for mysqli_fetch_all function
  Don't optimize input arrays with suffix holes
  Fix bug #75307 Wrong reflection for openssl_open function
  ...
2017-10-30 12:11:35 +03:00
Dmitry Stogov e4a8b7a4b6 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Catch with the latest AppVeyor unzip errors
2017-10-30 12:05:45 +03:00
Dmitry Stogov 2065d51a18 Better fix for bug #75451 (Assertion fails while foreach on empty xpath query) 2017-10-30 12:04:15 +03:00
Anatol Belski e36731dc95 Merge branch 'PHP-7.2'
* PHP-7.2:
  Catch with the latest AppVeyor unzip errors
2017-10-30 08:58:16 +01:00
Anatol Belski af6ba57d95 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Catch with the latest AppVeyor unzip errors
2017-10-30 08:57:29 +01:00
Dmitry Stogov 1f5c0fad21 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed type inference
2017-10-30 10:44:25 +03:00
Dmitry Stogov 49256dcf6f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed type inference
2017-10-30 10:44:12 +03:00
Joe Watkins f844813c60 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix bug #75453 Incorrect reflection on ibase_connect and ibase_pconnect
2017-10-30 06:56:20 +00:00
Joe Watkins 1a72d3225c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #75453 Incorrect reflection on ibase_connect and ibase_pconnect
2017-10-30 06:55:58 +00:00
Kalle Sommer Nielsen 6b88b3bc25 Fix compiler warnings 2017-10-29 16:43:21 +01:00
Kalle Sommer Nielsen 85fa3aa4c0 We don't use a specific model for a MAKERNOTE so remove these checks that doesn't do anything anyway 2017-10-29 16:42:13 +01:00
Kalle Sommer Nielsen 09f829d996 Remove these old comments, as for the TODO, there is already a FR for this 2017-10-29 16:36:34 +01:00
Anatol Belski 2c691f97c8 Merge branch 'PHP-7.2'
* PHP-7.2:
  Re-enable AppVeyor cache
2017-10-29 10:10:10 +01:00
Anatol Belski 2c317bea2c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Re-enable AppVeyor cache
2017-10-29 10:09:45 +01:00
Joe Watkins f45a7e26de Merge branch 'PHP-7.2'
* PHP-7.2:
  make sure run-tests reports exit status upon prerequisite error
2017-10-29 04:38:20 +00:00
Joe Watkins cb04599d27 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  make sure run-tests reports exit status upon prerequisite error
2017-10-29 04:38:08 +00:00
Christoph M. Becker c4c4056041 Remove implicit constants from test case
`FILTER_FLAG_SCHEME_REQUIRED` and `FILTER_FLAG_HOST_REQUIRED` are
implicitly used for `FILTER_VALIDATE_URL` so there is no need to
specify them explicitly.

Cf. https://bugs.php.net/75442.
2017-10-28 18:00:10 +02:00
Nikita Popov 10900a89ad Fix invalid read in zend_use_undefined_constant() 2017-10-28 16:55:23 +02:00
Nikita Popov 251c1b1a44 Fix invalid read in mb_ord() 2017-10-28 16:44:32 +02:00
Peter Kokot 5c5bd30339 Remove --with-libmbfl configure option
The bundled libmbfl library is no longer API or ABI compatible with
the (currently unmaintained) upstream library. As such, building
against an external libmbfl is no longer possible.
2017-10-28 16:11:30 +02:00
Xinchen Hui 1a9e64362c Fixed bug #75451 (Assertion fails while foreach on empty xpath query) 2017-10-28 21:38:26 +08:00
Fabien Villepinte 557edb75c0 Add tests for UConverter::getStandards() 2017-10-28 14:03:05 +02:00
Michael Kliewe ba0ef9139c convert spaces to tabs in ext/ftp/tests/server.inc 2017-10-28 13:02:23 +02:00
Michael Kliewe 7d5bf6e269 Add tests for ftp_rename 2017-10-28 13:02:23 +02:00
Nikita Popov 8d54f98e33 Merge branch 'PHP-7.2' 2017-10-28 12:58:43 +02:00
Nikita Popov 58f90ab569 Merge branch 'PHP-7.1' into PHP-7.2 2017-10-28 12:58:23 +02:00
Sara Golemon 352b406650 Merge branch 'PHP-7.2'
* PHP-7.2:
  Don't optimize input arrays with suffix holes
2017-10-27 13:07:50 -04:00
Sara Golemon cc96166f74 Don't optimize input arrays with suffix holes 2017-10-27 13:07:33 -04:00
Joe Watkins 5ce7113467 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix bug #75307 Wrong reflection for openssl_open function
2017-10-27 16:07:30 +01:00
Joe Watkins f2367d4626 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #75307 Wrong reflection for openssl_open function
2017-10-27 16:06:57 +01:00
Anatol Belski 0ab89a5d37 Merge branch 'PHP-7.2'
* PHP-7.2:
  Skip test on PostgreSQL 10
2017-10-27 16:24:22 +02:00
Anatol Belski cbf385e68c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Skip test on PostgreSQL 10
2017-10-27 16:23:50 +02:00
Sara Golemon fabb5b7a74 array_slice() passthrough for preserve_keys=true as well 2017-10-27 10:14:03 -04:00
Sara Golemon e751e6ceba Do not create a new array when slicing all of input array. 2017-10-27 10:09:05 -04:00
Anatol Belski 25da0bd658 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix test compat for PostgreSQL 10
2017-10-27 15:05:15 +02:00
Anatol Belski f936a17c12 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test compat for PostgreSQL 10
2017-10-27 15:04:54 +02:00
Anatol Belski bf43ab53ae Merge branch 'PHP-7.2'
* PHP-7.2:
  Apply upstream patch for CVE-2017-14107
  Backport and apply upstream patch for CVE-2017-14107
2017-10-27 14:18:55 +02:00
Anatol Belski 40f76c9f0c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Apply upstream patch for CVE-2017-14107
  Backport and apply upstream patch for CVE-2017-14107
2017-10-27 14:18:27 +02:00
Dmitry Stogov 8203a0668d Merge branch 'master' into rc_debug
* master:
  Use per-request heap instead of system one
  Extend zend_register_class_alias_ex() with additional argument to allow creating persistent or per-request aliases
  Makrk persistent resources and references with GC_PERSISTENT flag
2017-10-27 14:59:09 +03:00
Dmitry Stogov cf67a421e9 Use per-request heap instead of system one 2017-10-27 14:45:54 +03:00
Dmitry Stogov 8e01026b82 Extend zend_register_class_alias_ex() with additional argument to allow creating persistent or per-request aliases 2017-10-27 14:44:21 +03:00
Dmitry Stogov 0136ecb69a Makrk persistent resources and references with GC_PERSISTENT flag 2017-10-27 14:42:06 +03:00
Dmitry Stogov 49ea143bbd Encapsulate reference-counting primitives.
Prohibit direct update of GC_REFCOUNT(), GC_SET_REFCOUNT(), GC_ADDREF() and GC_DELREF() shoukf be instead.
Added mactros to validate reference-counting (disabled for now).
These macros are going to be used to eliminate race-condintions during reference-counting on data shared between threads.
2017-10-27 01:28:58 +03:00
Dmitry Stogov 1ab0d820da Reverted constant related change (this should be handled togrther with ohter constant related places) 2017-10-26 22:43:45 +03:00
Anatol Belski 87a6b29477 Merge branch 'PHP-7.2'
* PHP-7.2:
  Binary SDK 2.0.12 stable
2017-10-26 21:27:32 +02:00
Anatol Belski f577a03c04 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Binary SDK 2.0.12 stable
2017-10-26 21:27:09 +02:00
Dmitry Stogov aeca761856 Removed useless reallocations 2017-10-26 19:13:53 +03:00
Dmitry Stogov 0366684ce3 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed indirect modification of magic ArrayAccess method arguments
2017-10-26 16:17:49 +03:00
Dmitry Stogov 1d846fdfb2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed indirect modification of magic ArrayAccess method arguments
2017-10-26 16:07:49 +03:00
Dmitry Stogov e95301b785 Merge branch 'PHP-7.2'
* PHP-7.2:
  Backport tests
2017-10-26 14:12:58 +03:00
Dmitry Stogov 25d988e91a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Backport tests
2017-10-26 14:12:45 +03:00
Dmitry Stogov 0772b32ef6 Restore object copying on magic method calls (It was removed in master only). 2017-10-26 14:04:42 +03:00
Dmitry Stogov b09e398304 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed indirect modification of magic method arguments.
2017-10-26 13:35:39 +03:00
Dmitry Stogov e3997b2c82 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed indirect modification of magic method arguments.
2017-10-26 13:12:52 +03:00
Dmitry Stogov 886d4d9ca1 Avoid reallocations when concatenate with empty string 2017-10-26 09:45:02 +03:00
Xinchen Hui d00c2279af Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed test
2017-10-26 10:24:06 +08:00
Xinchen Hui 887ae8a380 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed test
2017-10-26 10:24:00 +08:00
Xinchen Hui 5cb5b27c40 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Update NEWS
  Fixed bug #75420 (Crash when modifing property name in __isset for BP_VAR_IS)

Conflicts:
	Zend/zend_object_handlers.c
2017-10-26 10:16:55 +08:00
Xinchen Hui ed02dce2a4 Update NEWS 2017-10-26 10:11:13 +08:00
Xinchen Hui 11a4b57e61 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fixed bug #75420 (Crash when modifing property name in __isset for BP_VAR_IS)
2017-10-26 10:09:57 +08:00
Dmitry Stogov a05639a5e6 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Fix typo in comments
  Fix typo in comments
2017-10-26 00:26:38 +03:00
Dmitry Stogov da1f8097fa Zend MM related tunning. 2017-10-26 00:25:31 +03:00
Joe Watkins c2456718ca Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix typo in comments
2017-10-25 21:00:13 +01:00
Joe Watkins 25a3ebdc73 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix typo in comments
2017-10-25 21:00:03 +01:00
Fabien Villepinte c0f3c3d222 Fix typo in comments 2017-10-25 20:59:13 +01:00
Anatol Belski 1fbcebe100 Merge branch 'PHP-7.2'
* PHP-7.2:
  Don't create plist files when using clang analyzer
2017-10-25 18:15:16 +02:00
Anatol Belski 777e189445 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Don't create plist files when using clang analyzer
2017-10-25 18:11:40 +02:00
Dmitry Stogov 6e1ee94744 Reduce smart_string related reallocations and make them Zend MM friendly. 2017-10-25 19:04:16 +03:00
Christoph M. Becker 14469dedde Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix the SKIPIF part in /ext/gd/tests/bug75437.phpt
2017-10-25 14:58:49 +02:00
Christoph M. Becker a059244b3c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix the SKIPIF part in /ext/gd/tests/bug75437.phpt
2017-10-25 14:53:01 +02:00
Christoph M. Becker 1530d01b7a Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix bug #75437 Wrong reflection on imagewebp
2017-10-25 13:10:33 +02:00
Christoph M. Becker c78813a6b8 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #75437 Wrong reflection on imagewebp
2017-10-25 13:03:42 +02:00
Dmitry Stogov 6a034be2c6 Fixed signed/unsigned comparisons 2017-10-25 11:45:17 +03:00
Ferenc Kovacs ffc734b2a4 Merge branch 'PHP-7.2' 2017-10-25 03:44:04 +02:00
Ferenc Kovacs 58ccfb051b Merge branch 'PHP-7.1' into PHP-7.2 2017-10-25 03:42:55 +02:00
Ferenc Kovacs 8876a12d0b Merge branch 'PHP-7.2' 2017-10-25 03:23:34 +02:00
Ferenc Kovacs 92dd3df148 Merge branch 'PHP-7.1' into PHP-7.2 2017-10-25 03:20:34 +02:00
Sara Golemon a8ffc69288 Update NEWS for 7.2.0RC6 2017-10-24 14:32:38 -04:00
Sara Golemon 98f28a911c Update NEWS for PHP 7.2.0RC5 2017-10-24 14:32:38 -04:00
Anatol Belski 4d108dc3fe Merge branch 'PHP-7.2'
* PHP-7.2:
  Parametrize the expected value to avoid platform false positives
2017-10-24 18:39:05 +02:00
Anatol Belski ffeb8d1b03 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Parametrize the expected value to avoid platform false positives
2017-10-24 18:38:44 +02:00
Sara Golemon 54ba77c30e Merge branch 'PHP-7.2'
* PHP-7.2:
  Decref default_link when clearing
2017-10-24 11:38:32 -04:00
Sara Golemon d0d7db8b3f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Decref default_link when clearing
2017-10-24 11:38:24 -04:00
Christoph M. Becker 4d950fa792 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #65148 (imagerotate may alter image dimensions)
2017-10-24 17:23:24 +02:00
Christoph M. Becker c04617aa61 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #65148 (imagerotate may alter image dimensions)
2017-10-24 17:17:18 +02:00
Dmitry Stogov 9cf87aa196 Avoid HashTable allocations for empty arrays (using zend_empty_array). 2017-10-24 17:27:31 +03:00
Derick Rethans 2ca08a3d66 Merge branch 'PHP-7.2' 2017-10-24 14:56:39 +01:00
Derick Rethans ca23b0484c Merge branch 'PHP-7.1' into PHP-7.2 2017-10-24 14:56:24 +01:00
Anatol Belski 0dbbf710e2 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix test
2017-10-24 14:59:19 +02:00
Anatol Belski 4ec299437d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test
2017-10-24 14:58:56 +02:00
Anatol Belski 9e4a52f66a Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
  [ci skip] update NEWS
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-10-24 14:23:14 +02:00
Anatol Belski ab85763997 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-10-24 14:22:44 +02:00
Anatol Belski ab8c0f194a [ci skip] update NEWS 2017-10-24 14:22:25 +02:00
Anatol Belski f76870f6f8 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #72535 arcfour encryption stream filter crashes php
2017-10-24 14:08:08 +02:00
Anatol Belski 176c9b61a4 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #72535 arcfour encryption stream filter crashes php
2017-10-24 14:07:32 +02:00
Anatol Belski 69ecd5edb2 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75055 Out-Of-Bounds Read in timelib_meridian()
  Apply upstream patch for CVE-2016-1283
2017-10-24 13:45:59 +02:00
Anatol Belski e97b10f1a0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75055 Out-Of-Bounds Read in timelib_meridian()
  Apply upstream patch for CVE-2016-1283
2017-10-24 13:45:16 +02:00
Dmitry Stogov 59a7944bc6 Made run_time_cache to keep "offset" to dynamic properties Buckets (instead of index). 2017-10-24 10:28:19 +03:00
Sara Golemon 8f804a2128 Add support for zlib/level context option 2017-10-23 22:14:52 -04:00
Sara Golemon af1e6a872c Merge branch 'PHP-7.2'
* PHP-7.2:
  NEWS entry for pg_close() fix
2017-10-23 14:59:05 -04:00
Sara Golemon e83e187a9f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  NEWS entry for pg_close() fix
2017-10-23 14:56:50 -04:00
Sara Golemon 55ac4f0929 Merge branch 'PHP-7.2'
* PHP-7.2:
  Bugfix#75419 Fix clearing of default link during pg_close()
2017-10-23 14:44:51 -04:00
Sara Golemon ece23ea20f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Bugfix#75419 Fix clearing of default link during pg_close()
2017-10-23 14:44:40 -04:00
Dmitry Stogov 917dfe646e Removed useless reference-counting and copying 2017-10-23 21:07:49 +03:00
Anatol Belski c51bc3814a Merge branch 'PHP-7.2'
* PHP-7.2:
  Update libmagic.patch
2017-10-23 19:18:57 +02:00
Anatol Belski b4db9e9acc Update libmagic.patch 2017-10-23 19:18:25 +02:00
Anatol Belski bcad693468 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fail hard when re2c is not found or the version requirement not met
  Fix mismatching alloc
2017-10-23 19:15:43 +02:00
Anatol Belski 734c1f3cd4 Fail hard when re2c is not found or the version requirement not met
With 7.2, the binary SDK supplies the minimal required version, thus no
reason to fail later at the compilation time.
2017-10-23 19:01:14 +02:00
Anatol Belski fb0be397d0 Fix mismatching alloc 2017-10-23 18:49:17 +02:00
Derick Rethans 973c1e3c93 Updated to version 2017.3 (2017c) 2017-10-23 17:31:24 +01:00
Derick Rethans 0305fb9a22 Empty merge 2017-10-23 17:31:24 +01:00
Derick Rethans 12e2fc4ab6 Updated to version 2017.3 (2017c) 2017-10-23 17:31:23 +01:00
Derick Rethans 9290c826fa Empty merge 2017-10-23 17:31:23 +01:00
Dmitry Stogov 193adbdf30 Use run-time cache to keep position of dynamic properties in HashTable to access them without hash lookup. 2017-10-23 18:29:13 +03:00
Anatol Belski 0eeaff09cb Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix memory leak
2017-10-23 15:41:06 +02:00
Anatol Belski 9beb743b07 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix memory leak
2017-10-23 15:40:37 +02:00
Anatol Belski 60d45e6a5b Fix visibility 2017-10-23 13:27:34 +02:00
Anatol Belski 12bd998d58 realloc() can return NULL 2017-10-23 13:27:34 +02:00
Anatol Belski 979bad4ae2 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix uninitialized vars
2017-10-23 12:03:16 +02:00
Anatol Belski 0e44c980f9 Fix uninitialized vars 2017-10-23 12:02:41 +02:00
Joe Watkins 4a6f83fe6f Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix bug #69954 and remove pdo_mysql.cache_size and mysqli.cache_size INI directives
2017-10-23 09:12:30 +01:00
Joe Watkins ca77eacbc1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #69954 and remove pdo_mysql.cache_size and mysqli.cache_size INI directives
2017-10-23 09:12:06 +01:00
Joe Watkins 153404fa73 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix bug #69954 and remove pdo_mysql.cache_size and mysqli.cache_size INI directives
2017-10-23 09:11:41 +01:00
Peter Kokot 14609ca6ff Fix bug #69954 and remove pdo_mysql.cache_size and mysqli.cache_size INI directives
This patch removes some non working links to PHP manual and removes the
pdo_mysql.cache_size and mysqli.cache_size INI directives which have been
removed since PHP 5.3.0.
2017-10-23 09:11:16 +01:00
Joe Watkins 9883fe24c0 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix bug #75264
2017-10-23 09:08:12 +01:00
Joe Watkins 3a7e3ef334 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #75264
2017-10-23 09:07:45 +01:00
Joe Watkins 9bb82c0400 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix bug #75264
2017-10-23 09:07:20 +01:00
Peter Kokot a59e233aa1 Fix bug #75264 2017-10-23 09:06:58 +01:00
Anatol Belski 793ca716fb Fix datatypes and compiler warnings
Switch to size_t

Not critical as an unsigned is already used, but fixes a couple of
warnings in other areas.

Normalize signature

It's a function with the usual compare semantics, returning a platform
specific at least produces unnecessary warnings elsewhere and is otherwise
inappropriate.

Fix return value

Drop unused var

Fix compiler warnings

Fix compiler warning

Fix var name in arginfo

Fix cast
2017-10-23 08:56:57 +02:00
Anatol Belski 1f93c9837b Merge branch 'PHP-7.2'
* PHP-7.2:
  Renaming cache folder is not a solution, too. Disable cache for now.
  Revert "Rename build cache folder and separate sdk"
2017-10-23 07:14:32 +02:00
Anatol Belski 8f35685744 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Renaming cache folder is not a solution, too. Disable cache for now.
  Revert "Rename build cache folder and separate sdk"
2017-10-23 07:14:14 +02:00
Anatol Belski 654d0e3a81 Merge branch 'PHP-7.2'
* PHP-7.2:
  Rename build cache folder and separate sdk
  Revert "Invalidate the whole cache when .appveyor.yml was changed"
2017-10-23 07:10:14 +02:00
Anatol Belski bba881e424 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Rename build cache folder and separate sdk
  Revert "Invalidate the whole cache when .appveyor.yml was changed"
2017-10-23 07:09:52 +02:00
Anatol Belski b5ce57c7e2 Merge branch 'PHP-7.2'
* PHP-7.2:
  Invalidate the whole cache when .appveyor.yml was changed
2017-10-23 07:02:37 +02:00
Anatol Belski ae5dbea5e7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Invalidate the whole cache when .appveyor.yml was changed
2017-10-23 07:02:15 +02:00
Kalle Sommer Nielsen a7c23e27be Remove these ancient ldap parts for Windows thats no longer relevant 2017-10-23 03:13:53 +02:00
Andrea Faulds e823770515 Merge JSON_THROW_ON_ERROR 2017-10-22 19:41:23 +01:00
Jakub Zelenka d5127cec6a Merge branch 'PHP-7.2' 2017-10-22 18:59:32 +01:00
Jakub Zelenka e33721978e Merge branch 'PHP-7.1' into PHP-7.2 2017-10-22 18:58:15 +01:00
Anatol Belski cbc8f8327f Simplify tsrm cache update 2017-10-22 11:57:35 +02:00
Anatol Belski 202e7ce65c Missed skip 2017-10-21 17:40:38 +02:00
Anatol Belski e952cc24db Fix build on ICU < 53 2017-10-21 17:37:51 +02:00
Anatol Belski 050d42d5d2 Merge branch 'PHP-7.2'
* PHP-7.2:
  With ICU 58+, set the default restriction level to high
2017-10-21 17:25:03 +02:00
Anatol Belski bb0a15f499 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  With ICU 58+, set the default restriction level to high
2017-10-21 17:24:42 +02:00
Anatol Belski f56ceb7f5b Add Spoofchecker::setRestrictionLevel() and corresponding constans 2017-10-21 17:12:21 +02:00
Anatol Belski 679b1b8b32 Merge branch 'PHP-7.2'
* PHP-7.2:
  Add TZ and Unicode versions to intl MINFO
2017-10-21 16:18:59 +02:00
Anatol Belski ff1b1c2761 Add TZ and Unicode versions to intl MINFO 2017-10-21 16:17:31 +02:00
Anatol Belski b03c11e749 Merge branch 'PHP-7.2'
* PHP-7.2:
  Reenable AppVeyor cache
2017-10-21 12:00:49 +02:00
Anatol Belski 73d68ff3e0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Reenable AppVeyor cache
2017-10-21 12:00:26 +02:00
Anatol Belski b6b74d453e Merge branch 'PHP-7.2'
* PHP-7.2:
  Disable AppVeyor cache to unlock build
2017-10-21 10:53:21 +02:00
Anatol Belski 839b3d1677 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Disable AppVeyor cache to unlock build
2017-10-21 10:52:48 +02:00
Anatol Belski 2e64f139ec Merge branch 'PHP-7.2'
* PHP-7.2:
  Rework these new tests to match with diffs in ICU 58, 59 and upcoming 60
2017-10-21 10:31:02 +02:00
Anatol Belski 3eb7ea55ae Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Rework these new tests to match with diffs in ICU 58, 59 and upcoming 60
2017-10-21 10:30:43 +02:00
Anatol Belski 68c0c69057 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS
  [skip ci] Update NEWS
  [ci skip] Update NEWS
2017-10-20 20:50:10 +02:00
Anatol Belski 42ccf41e96 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [skip ci] Update NEWS
  [ci skip] Update NEWS
2017-10-20 20:49:17 +02:00
Anatol Belski 858614e92a [ci skip] Update NEWS 2017-10-20 20:48:59 +02:00
Anatol Belski 4621b042d6 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #73655 Spoofchecker::isSuspicious behavior change due to upstream changes
  Add test for newer ICU version
2017-10-20 20:15:23 +02:00
Anatol Belski 416c993c8e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #73655 Spoofchecker::isSuspicious behavior change due to upstream changes
  Add test for newer ICU version
2017-10-20 20:14:48 +02:00
Anatol Belski b996c5599e Merge branch 'PHP-7.2'
* PHP-7.2:
  Further test fixes for ICU >= 58
  Version checks
2017-10-20 18:41:14 +02:00
Anatol Belski 57fc9fcba4 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Further test fixes for ICU >= 58
  Version checks
2017-10-20 18:40:55 +02:00
Anatol Belski 07036aaccb Merge branch 'PHP-7.2'
* PHP-7.2:
  Yet two wrong version checks
2017-10-20 16:55:53 +02:00
Anatol Belski fb88cee0fc Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Yet two wrong version checks
2017-10-20 16:55:32 +02:00
Anatol Belski 80e1ca50b5 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix version checks in tests
  Fix version checks in tests
2017-10-20 15:25:44 +02:00
Anatol Belski 0f7ddf0d47 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix version checks in tests
  Fix version checks in tests
2017-10-20 15:25:27 +02:00
Anatol Belski d2c9dad3e4 Merge branch 'PHP-7.2'
* PHP-7.2:
  Sync some tests for compat with ICU 58.1, PHP 7.1+ part
  Sync some tests for compat with ICU 58.1+
2017-10-20 13:59:19 +02:00
Anatol Belski 7775f9e872 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync some tests for compat with ICU 58.1, PHP 7.1+ part
  Sync some tests for compat with ICU 58.1+
2017-10-20 13:58:53 +02:00
Anatol Belski a5293c1c39 Merge branch 'PHP-7.2'
* PHP-7.2:
  Add skip for incompatible ICU version
2017-10-20 11:30:41 +02:00
Anatol Belski 2a361b14ea Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add skip for incompatible ICU version
2017-10-20 11:30:09 +02:00
Sol Richardson e161905919 Add test for strnatcmp() align left cases 2017-10-19 12:11:03 +01:00
Peter Kokot 34a7d7fa6a Clean and sync .gitignore 2017-10-19 12:09:50 +01:00
Peter Kokot 2bc23f8028 Update filter docs and tests
Filter extension is better presented in the PHP manual. Some ext/filter/tests
included outdated functions or were duplicated.
2017-10-19 12:09:06 +01:00
Peter Kokot d2754810cd Remove tidy examples
PHP documentation already includes explanations and examples for most of
tidy extension. Tidy PHP functions and methods used in the examples are
also already used in the tests.
2017-10-19 12:07:02 +01:00
Peter Kokot 7f4722a42f Remove tokenizer PHP example script
The tokenizer extension is best presented in the PHP manual with some
code snippets. Also the script includes old PHP dl() function.
2017-10-19 12:06:10 +01:00
Peter Kokot 842ba86c34 Remove PHP code examples from xmlreader
The PHP documentation can present the xmlreader extension better with
code snippets.
2017-10-19 12:05:19 +01:00
Joe Watkins 55625dd9c9 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed #75317 - UConverter::setDestinationEncoding changes source instead of destinatination
2017-10-19 12:03:54 +01:00
Joe Watkins 4b67943501 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed #75317 - UConverter::setDestinationEncoding changes source instead of destinatination
2017-10-19 12:03:19 +01:00
Peter Kokot 8d587f09c0 Refactor ext/phar License info 2017-10-19 11:59:12 +01:00
Thiago Carvalho 4c97dc099c Add tests to XMLReader::expand error paths 2017-10-19 11:55:31 +01:00
Joe Watkins 847f070110 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update .editorconfig with some more configs
2017-10-19 11:54:12 +01:00
Joe Watkins cf91d81b31 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update .editorconfig with some more configs
2017-10-19 11:54:01 +01:00
Peter Kokot 410ae4f596 Remove CHANGES from sapi/cgi
All these changes are noted in the PHP manual instead that have been
removed.
2017-10-19 11:51:09 +01:00
Joe Watkins 5d2456c278 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix issue with zend signals in php_request_startup
2017-10-19 11:48:37 +01:00
Joe Watkins 0397b8c5c5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix issue with zend signals in php_request_startup
2017-10-19 11:48:27 +01:00
Peter Kokot 13f3bd9172 Convert some mysqlnd file encodings to UTF-8 2017-10-19 11:46:54 +01:00
Joe Watkins 6bde306eb8 Merge branch 'PHP-7.2'
* PHP-7.2:
  Escape newline on curl config.m4
2017-10-19 11:40:58 +01:00
Joe Watkins 965daf4349 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Escape newline on curl config.m4
2017-10-19 11:40:48 +01:00
Anatol Belski f24e597c85 Constify key access for hash and formal params
Keys created in shared memory and won't be modified and are free'd on
restart. Otherwise, keys passed to functions should not be modified,
too.
2017-10-19 12:07:08 +02:00
Anatol Belski efcce55360 Fix datatype 2017-10-19 10:26:39 +02:00
Dmitry Stogov 272f5a1716 Extend zend_string API to avoid reallocation in zend_string_init_interned() 2017-10-19 00:02:56 +03:00
Anatol Belski ea915adb48 Merge branch 'PHP-7.2'
* PHP-7.2:
  Move to php-sdk-2.0.0beta3 for Appveyor
2017-10-18 17:47:51 +02:00
Anatol Belski 2b76520d86 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Move to php-sdk-2.0.0beta3 for Appveyor
2017-10-18 17:47:27 +02:00
Dmitry Stogov 8b87b35564 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Backport 7ff13badda into 7.0+
2017-10-18 18:27:21 +03:00
Dmitry Stogov e87e62cc6f Moved ZCG(function_table) back into accel_acrivate. It should be unique per thread. 2017-10-18 18:26:30 +03:00
Anatol Belski 9420bdae84 Merge branch 'PHP-7.2'
* PHP-7.2:
  Backport 7ff13badda into 7.0+
2017-10-18 16:30:46 +02:00
Anatol Belski 5315cea6e2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Backport 7ff13badda into 7.0+
2017-10-18 16:27:31 +02:00
Dmitry Stogov b4903aef16 Move a part of opcache initialization into post_startup phase (when all extensions already loaded). 2017-10-18 17:18:54 +03:00
Dmitry Stogov 7ff13badda Fixed required SHM memeory size calculation for scripts when opcache.revalidate_path is set. 2017-10-18 14:26:44 +03:00
Xinchen Hui d042d1d8e0 Cleanup cfg flags & Added ZEND_FUNC_HAS_EXTENED_INFO 2017-10-18 17:03:07 +08:00
fandrieu 014fd21b48 Implemented request #69592: allow 0-column rowsets to be skipped automatically
This adds a new attribute PDO::DBLIB_ATTR_SKIP_EMPTY_ROWSETS to enable automatic
skipping of empty rowsets.

This happens with some SQL commands (like PRINT or SET): a rowset with 0 columns
is returned by the driver.

With this option enabled, 0 columns rowsets are automatically skipped, mirroring
the behavior of the deprecated mssql extension.

Credits go to MiRacLe-RPZ for developping and promoting this patch.
2017-10-17 14:16:38 -04:00
Anatol Belski f16b918e47 Merge branch 'PHP-7.2'
* PHP-7.2:
  One more folder to delete in AppVeyor image
2017-10-17 15:38:01 +02:00
Anatol Belski 63a0ddb013 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  One more folder to delete in AppVeyor image
2017-10-17 15:37:23 +02:00
Xinchen Hui 21f2ed6a63 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug (assertion fails with extended info generated)
2017-10-17 19:47:40 +08:00
Xinchen Hui e53a9aaa4a Fixed bug (assertion fails with extended info generated) 2017-10-17 19:47:29 +08:00
Dmitry Stogov 801b467c73 Added test 2017-10-17 13:45:46 +03:00
Dmitry Stogov d0f4dbfd96 Make assertions in DO_ICALL and CALL_TRAMPOLINE to be consistent with DO_FCALL. 2017-10-17 13:35:59 +03:00
Dmitry Stogov 61ef91bf0d Revert "Allow internal functions to return values by reference (this was disabled in implementation of DO_ICALL, but enabled in DO_FCALL)."
This reverts commit da781a5ac2.
2017-10-17 13:25:19 +03:00
Dmitry Stogov da781a5ac2 Allow internal functions to return values by reference (this was disabled in implementation of DO_ICALL, but enabled in DO_FCALL).
However, don't require internal functions returning by reference to return a reference.
Mark unserialize() as returning by reference and remove unwrap_reference hack, to allow proper returning of self referenced arrays using a reference.
Currently unserialize() is the only internal function that may return a reference.
2017-10-17 11:50:34 +03:00
Xinchen Hui 3e195d4d16 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed test
2017-10-17 12:20:48 +08:00
Xinchen Hui 0292456262 Fixed test 2017-10-17 12:20:43 +08:00
Xinchen Hui 1c7c5d9720 Merge branch 'PHP-7.2'
* PHP-7.2:
  Try to fix test
2017-10-17 11:35:57 +08:00
Xinchen Hui 2f73f2436a Try to fix test 2017-10-17 11:35:40 +08:00
Tianfang Yang 28e6520574 Merge branch 'PHP-7.2' 2017-10-16 19:28:50 -04:00
Tianfang Yang 77ad860bf0 Merge branch 'PHP-7.1' into PHP-7.2 2017-10-16 19:27:21 -04:00
Dmitry Stogov 1dd224dd12 Reuse interned strings from opcache SHM, if possible. 2017-10-16 19:20:16 +03:00
Anatol Belski a87484aa22 Merge branch 'PHP-7.2'
* PHP-7.2:
  Move to next binary SDK version for AppVeyor
2017-10-16 18:08:09 +02:00
Anatol Belski d30477f23a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Move to next binary SDK version for AppVeyor
2017-10-16 18:07:41 +02:00
Dmitry Stogov 555f6dfdec Merge branch 'PHP-7.2'
* PHP-7.2:
  Prevent crash on ext/pdo_mysql/tests/bug_39858.phpt when built with libmysql
2017-10-16 19:02:46 +03:00
Dmitry Stogov 5d6912d185 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Prevent crash on ext/pdo_mysql/tests/bug_39858.phpt when built with libmysql
2017-10-16 19:02:22 +03:00
Xinchen Hui 5c697ccb9d Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75378 ([REGRESSION] IntlDateFormatter::parse() does not change $position argument)
2017-10-16 19:09:13 +08:00
Xinchen Hui 6fab62e923 Merge branch 'PHP-7.2' of git.php.net:/php-src into PHP-7.2
* 'PHP-7.2' of git.php.net:/php-src:
  [ci skip] Fixed bug #75383 (The date is "Sep", it should say "Oct")
  Properly fix #75363 and address some other leaks with cert
2017-10-16 19:07:55 +08:00
Xinchen Hui 863acd7753 Fixed bug #75378 ([REGRESSION] IntlDateFormatter::parse() does not change $position argument) 2017-10-16 19:07:34 +08:00
Christoph M. Becker 7ae8e3e8a2 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Fixed bug #75383 (The date is "Sep", it should say "Oct")
2017-10-16 11:13:05 +02:00
Christoph M. Becker 08c04c9245 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Fixed bug #75383 (The date is "Sep", it should say "Oct")
2017-10-16 11:12:17 +02:00
Jakub Zelenka 0c99e7eff1 Merge branch 'PHP-7.2' 2017-10-16 09:55:18 +01:00
Jakub Zelenka 532aec7af2 Merge branch 'PHP-7.2' of git.php.net:php-src into PHP-7.2 2017-10-16 09:54:03 +01:00
Xinchen Hui 7bce8c5224 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug (Phi sources removel)
2017-10-16 15:23:02 +08:00
Xinchen Hui 8e147f12b9 Fixed bug (Phi sources removel) 2017-10-16 15:01:06 +08:00
Jakub Zelenka 16aca56816 Merge branch 'PHP-7.2' 2017-10-15 20:33:49 +01:00
Jakub Zelenka a3da46b524 Merge branch 'PHP-7.1' into PHP-7.2 2017-10-15 20:33:22 +01:00
Jakub Zelenka d1f5811ff0 Merge branch 'PHP-7.2' 2017-10-15 19:37:22 +01:00
Jakub Zelenka 7c556c44a1 Fix bug #68567 (JSON_PARTIAL_OUTPUT_ON_ERROR can result in JSON with null key) 2017-10-15 19:36:15 +01:00
Peter Kokot b7b55d955e Remove PHP code examples from xmlwriter extension
PHP documentation can present PHP code examples better instead.
2017-10-15 15:38:45 +02:00
Christoph M. Becker c189b4788d Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #53070 (enchant_broker_get_path crashes if no path is set)
2017-10-15 14:08:03 +02:00
Christoph M. Becker 46d87c1f10 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #53070 (enchant_broker_get_path crashes if no path is set)
2017-10-15 14:07:41 +02:00
Christoph M. Becker b4c6637c0b Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75365 (Enchant still reports version 1.1.0)
2017-10-15 13:36:25 +02:00
Christoph M. Becker de5f15ed4e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75365 (Enchant still reports version 1.1.0)
2017-10-15 13:35:59 +02:00
Xinchen Hui 77af496150 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Update NEWS
  Fixed bug #75287 (Builtin webserver crash after chdir in a shutdown function)
2017-10-15 10:29:56 +08:00
Xinchen Hui 481a65a028 Update NEWS 2017-10-15 10:29:40 +08:00
Xinchen Hui 9f5ed133b3 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fixed bug #75287 (Builtin webserver crash after chdir in a shutdown function)
2017-10-15 10:29:28 +08:00
Xinchen Hui dc6aaf0c8c Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75357 (segfault loading WordPress wp-admin)
2017-10-14 23:12:48 +08:00
Xinchen Hui abbdbc21b0 Fixed bug #75357 (segfault loading WordPress wp-admin) 2017-10-14 23:12:29 +08:00
Dmitry Stogov f26fc527da Fixed unzserialize(), to disable creation of unsupported data structures through manually crafted strings. (Dmitry) 2017-10-13 15:53:11 +03:00
Dmitry Stogov b9f9d44b52 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75368 (mmap/munmap trashing on unlucky allocations)
2017-10-13 14:02:16 +03:00
Dmitry Stogov 7045362ce7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75368 (mmap/munmap trashing on unlucky allocations)
2017-10-13 14:00:21 +03:00
Xinchen Hui bc038206ad Merge branch 'PHP-7.2'
* PHP-7.2:
  Prevent from being affected by local php.ini
  Added skipf
2017-10-13 18:24:27 +08:00
Xinchen Hui 21f049b45c Prevent from being affected by local php.ini 2017-10-13 18:23:56 +08:00
Xinchen Hui a52d1088e5 Added skipf 2017-10-13 18:21:41 +08:00
Xinchen Hui f87a0b32c6 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75370 (Webserver hangs on valid PHP text)
  Fixed typo
2017-10-13 18:19:19 +08:00
Xinchen Hui e4f7ff9c0f Fixed bug #75370 (Webserver hangs on valid PHP text) 2017-10-13 18:18:10 +08:00
Nikita Popov e688d1df99 Fix gc_032.phpt
Use var_dump instead of debug_zval_dump. The refcounts are not
important for this test and change depending on whether opcache
is loaded or not.
2017-10-13 11:59:28 +02:00
Xinchen Hui e50cc4d3af Fixed typo 2017-10-13 17:35:02 +08:00
Dmitry Stogov 7a23c575f2 Merge branch 'develop_operators' of github.com:tianhe1986/php-src
* 'develop_operators' of github.com:tianhe1986/php-src:
  `memcmp` begins from the second char.
2017-10-13 11:39:42 +03:00
tianhe1986 e6519cb69d memcmp begins from the second char.
Signed-off-by: tianhe1986 <w1s2j3229@163.com>
2017-10-12 22:46:26 +08:00
Dmitry Stogov edc7c8ccfa PHP must not create circular arrays when element is assigned by value. 2017-10-12 16:23:45 +03:00
Christoph M. Becker eb4342eb14 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75221 (Argon2i always throws NUL at the end)
2017-10-12 12:52:58 +02:00
Christoph M. Becker 3f8961dfac Fixed bug #75221 (Argon2i always throws NUL at the end)
Apparently, `argon2_encodedlen()` also counts the terminating NUL byte;
that doesn't appear to be documented somewhere, but from looking at the
implementation[1] it is pretty obvious.  Therefore, the respective
`zend_string` has to be one byte shorter.

[1] <https://github.com/P-H-C/phc-winner-argon2/blob/20161029/src/argon2.c#L431-L436>
2017-10-12 12:52:37 +02:00
Bob Weinand 2392010af4 Merge branch 'PHP-7.2' 2017-10-12 12:32:49 +02:00
Bob Weinand ee36507423 Merge branch 'PHP-7.1' into PHP-7.2 2017-10-12 12:32:30 +02:00
Dmitry Stogov 4960c41e1f Small improvement with zend_memnstr (tianhe1986) 2017-10-12 11:54:40 +03:00
Anatol Belski cc8a28fb18 Merge branch 'PHP-7.2'
* PHP-7.2:
  It looks like i should've taken joint response on ext/fileinfo long ago
2017-10-11 22:26:09 +02:00
Anatol Belski 81473829d4 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  It looks like i should've taken joint response on ext/fileinfo long ago
2017-10-11 22:25:27 +02:00
Anatol Belski e9bb3211b0 Merge branch 'PHP-7.2'
* PHP-7.2:
  Put php-sdk-2.0.12beta1 for AppVeyor
2017-10-11 20:32:28 +02:00
Anatol Belski e7aebcc186 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Put php-sdk-2.0.12beta1 for AppVeyor
2017-10-11 20:31:58 +02:00
Anatol Belski 7994d789e0 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
2017-10-11 19:03:24 +02:00
Anatol Belski 4d61091ac7 [ci skip] update NEWS 2017-10-11 19:02:51 +02:00
Anatol Belski bfe19cb355 Merge branch 'PHP-7.2'
* PHP-7.2:
  Cleanup irrelevant info
2017-10-11 19:00:41 +02:00
Anatol Belski 747f70ba82 Cleanup irrelevant info 2017-10-11 18:40:16 +02:00
Anatol Belski b7a5d52e98 Merge branch 'PHP-7.2'
* PHP-7.2:
  Upgrade bundled libmagic to 5.31
2017-10-11 18:24:29 +02:00
Anatol Belski 08d8623dec Upgrade bundled libmagic to 5.31 2017-10-11 18:18:55 +02:00
Christoph M. Becker a332eaf7f6 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix Bug #75299 Wrong reflection on inflate_init and inflate_add
2017-10-11 17:40:12 +02:00
Christoph M. Becker 1f150fcde1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix Bug #75299 Wrong reflection on inflate_init and inflate_add
2017-10-11 17:30:45 +02:00
Christoph M. Becker 9c006651c4 Test requires mbstring – skip if not available 2017-10-11 15:27:56 +02:00
Christoph M. Becker cfbc93c88b Merge branch 'PHP-7.2'
* PHP-7.2:
  Use PHP_VERSION for exif
2017-10-11 15:01:23 +02:00
Christoph M. Becker 50bd4996fd Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Use PHP_VERSION for exif
2017-10-11 14:44:43 +02:00
Christoph M. Becker 4e9d2ab822 Merge branch 'PHP-7.2'
* PHP-7.2:
  bump version
2017-10-11 14:38:59 +02:00
Christoph M. Becker b65e6cfe35 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  bump version
2017-10-11 14:38:12 +02:00
Anatol Belski be62d5fc19 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix datatype
2017-10-11 09:00:32 +02:00
Anatol Belski 53169dc480 Fix datatype 2017-10-11 08:58:59 +02:00
Dmitry Stogov 2e0db496fa Fixed file_cache broken by recent AST related changes. 2017-10-10 19:37:46 +03:00
Dmitry Stogov 70b2ec5874 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed cleanup after optimization passes
2017-10-10 19:37:40 +03:00
Dmitry Stogov 2929110ce1 Fixed cleanup after optimization passes 2017-10-10 19:25:51 +03:00
Sara Golemon 0c4f4af107 Merge branch 'PHP-7.2'
* PHP-7.2:
  Revert "Update NEWS for PHP 7.2.0RC4"
  Revert "Update NEWS for 7.2.0RC5"
  Update NEWS for 7.2.0RC5
  Update NEWS for PHP 7.2.0RC4
2017-10-10 11:58:01 -04:00
Sara Golemon 6c3c18723c Revert "Update NEWS for PHP 7.2.0RC4"
This reverts commit 1ea657c65e.
2017-10-10 11:55:50 -04:00
Sara Golemon 6c8a5817ec Revert "Update NEWS for 7.2.0RC5"
This reverts commit ef25e56ae6.
2017-10-10 11:55:41 -04:00
Sara Golemon ef25e56ae6 Update NEWS for 7.2.0RC5 2017-10-10 15:49:16 +00:00
Sara Golemon 1ea657c65e Update NEWS for PHP 7.2.0RC4 2017-10-10 15:27:31 +00:00
Dmitry Stogov 97e7521e49 AST don't have to be COPYABLE anymore. 2017-10-10 15:45:03 +03:00
Anatol Belski 05b9f967a9 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix path in makefile fragment
2017-10-10 14:33:31 +02:00
Anatol Belski ad279bd180 Fix path in makefile fragment 2017-10-10 14:32:19 +02:00
Christoph M. Becker df022a92eb Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Add NEWS entry for bug #75349
2017-10-10 14:00:33 +02:00
Christoph M. Becker fcaf183174 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Add NEWS entry for bug #75349
2017-10-10 13:59:28 +02:00
Anatol Belski 620d3abfde Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix re2c version detection
2017-10-10 13:00:38 +02:00
Anatol Belski 9c5a1dad64 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix re2c version detection
2017-10-10 13:00:26 +02:00
Anatol Belski 426cfa628e Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS for 7.2.0RC5
  Update NEWS for PHP 7.2.0RC4
2017-10-10 13:00:14 +02:00
Remi Collet f3cda1a3a5 Update NEWS for 7.2.0RC5 2017-10-10 10:27:37 +00:00
Remi Collet 9317e910fe Update NEWS for PHP 7.2.0RC4 2017-10-10 10:12:30 +00:00
Dmitry Stogov dec8b787ee Renumber types and type_flags 2017-10-10 11:10:27 +03:00
Dmitry Stogov ef5ea48741 Always use IS_CONSTANT_AST (IS_CONSTANT is removed). 2017-10-10 10:11:05 +03:00
Anatol Belski 08c0998b1f Merge branch 'PHP-7.2'
* PHP-7.2:
  Move dev to 7.0.26
2017-10-10 08:28:46 +02:00
Anatol Belski 406622d117 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Move dev to 7.0.26
2017-10-10 08:28:09 +02:00
Sara Golemon e05cba0806 Make GMP more usable by third-party extensions.
Export a PHPAPI function to return gmp_ce (and make the actual storage static).
Provide gmp_object struct in header w/ inline accessor.
Install php_gmp_int.h header.

Remove unnecessary `#ifdef HAVE_GMP` checks.
2017-10-09 13:23:10 -04:00
Dmitry Stogov 39ded1d5f8 Changed zend_ast_ref structure to use only one allocation, removing dichotomy between heap/arena ASTs. 2017-10-09 16:57:51 +03:00
Anatol Belski 65f610bd9f Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix array access on undeclared properties in DateInterval
2017-10-09 15:40:00 +02:00
Anatol Belski 611d117b24 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix array access on undeclared properties in DateInterval
2017-10-09 15:38:37 +02:00
Anatol Belski 0494d90fec Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix ftok() multibyte path support
2017-10-09 13:15:17 +02:00
Anatol Belski a51c542b53 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix ftok() multibyte path support
2017-10-09 13:13:51 +02:00
Dmitry Stogov fcccb0d6ea Use zval_ptr_dtor_nogc() in places where circular zvals are not possible 2017-10-09 12:24:11 +03:00
Peter Kokot 3ed3bc3a0c Update README information for the libmbfl library
The libmbfl library is bundled with PHP and has its own repository for
development and bug fixes. To avoid confusion and faster development the
README has been updated to include the information of the original library and
to use the bundled library as a fork of the upstream repository instead.
2017-10-08 17:51:02 +02:00
Peter Kokot a57de26c3d Refactor mbstring READMEs 2017-10-08 17:51:02 +02:00
Peter Kokot 60909f391d Remove code examples from dom extension
PHP documentation is a better place to present code examples. Tests
for ext/dom already include all used PHP code.
2017-10-08 17:50:17 +02:00
Peter Kokot 4fcecfb291 Remove old apache_hooks occurrence
The apache_hooks SAPI has been removed since PHP >= 7.0 and there is no
need to have two different php_request_startup definitions.

Also php_request_startup_for_hook() and php_request_shutdown_for_hook() functions
are not used in the PHP source code directly anymore. They are out of sync and
are not touched when making changes to the shutdown sequence.

The php_start_sapi() function was therefore not used anymore and is
removed.
2017-10-08 17:49:24 +02:00
Peter Kokot 3644cc6111 Remove some old apache2filter occurrences
apache2filter was supported in PHP <= 5.6. This patch removes some old
apache2filter occurrences. Also FreeBSD warning therefore is not needed
anymore when building PHP with apache2filter and in later versions don't
need to set the --with-tsrm-pth option.
2017-10-08 17:48:47 +02:00
Peter Kokot 0646042d1f Remove unused Travis configuration for sapi/phpdbg
The phpdbg sapi has been initially developed under the
github.com/krakjoe/krakjoe/phpdbg repository with its own Travis-CI.org
configuration. Since 2017-03-16 the main development is happening in the main
php-src repository.
2017-10-08 14:44:16 +02:00
Peter Kokot 556e5698dd Remove README from ext/tidy in favor of the PHP docs
The tidy introduction includes an outdated link to tidy HTML library homepage,
and PHP documentation presents the tidy PHP extension better instead.
2017-10-08 14:43:43 +02:00
Peter Kokot 978f53afa6 Remove outdated README from ext/com_dotnet
The PHP documentation includes updated and better com_dotnet
information.
2017-10-08 14:41:52 +02:00
Peter Kokot 784917bd64 Remove done TODO file from date extension
TODO file for date extension has been outdated:

- date_default_timezone_set_error.phpt includes checking that
  date_default_timezone_set() validates the passed timezone identifiers.

- ext/date/php_date.c includes timezone caching

- errors are included in date_parse() return value.
2017-10-08 14:41:17 +02:00
Sara Golemon e66e2731b8 Merge branch 'PHP-7.2'
* PHP-7.2:
  Bugfix #74556 stream_socket_get_name() returns null bytes on MacOS
  Add line numbers to Optimizer debug output
2017-10-07 10:14:11 -04:00
Sara Golemon 1db7e4a962 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Bugfix #74556 stream_socket_get_name() returns null bytes on MacOS
2017-10-07 10:14:03 -04:00
Rasmus Lerdorf ec3ea3081d Add line numbers to Optimizer debug output 2017-10-06 17:18:58 -03:00
Christoph M. Becker c5ca991d80 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75318 (The parameter of UConverter::getAliases() is not optional)
2017-10-06 17:16:54 +02:00
Christoph M. Becker d0146c2506 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75318 (The parameter of UConverter::getAliases() is not optional)
2017-10-06 16:57:20 +02:00
Rasmus Lerdorf 9fe6b29356 Add line numbers to Opcache's zend_dump_op() debug output 2017-10-06 11:03:07 -03:00
Dmitry Stogov 45ee78e040 mb_convert_variables() refactored to use simple recursion.
Fixed incorrect recursion protection (previous implementation kept protection flag or apply counter in non-zero state).
2017-10-06 12:08:55 +03:00
Dmitry Stogov f18638ca2d Fixed incorrect recursion detection 2017-10-06 11:47:11 +03:00
Dmitry Stogov 254b74b85f HASH_FLAG_PERSISTENT renamed into IS_ARRAY_PERSISTENT and moved into GC_FLAGS (to be consistent with IS_STR_PERSISTENT). 2017-10-06 02:54:14 +03:00
Dmitry Stogov cb9d81ef4f Refactored recursion pretection 2017-10-06 01:34:50 +03:00
Peter Kokot 39ea632f74 Join untracked files to root .gitignore 2017-10-05 12:36:47 +02:00
Peter Kokot cb2fdb08d6 Remove ident gitattribute for Zend/RFC/ 2017-10-05 12:36:09 +02:00
Peter Kokot 5971180aa6 Remove PHP examples from simplexml 2017-10-05 12:35:19 +02:00
Peter Kokot d5cb358765 Remove enchant PHP example 2017-10-05 12:34:43 +02:00
Nikita Popov 47a86687e8 Merge branch 'PHP-7.2' 2017-10-05 12:26:32 +02:00
Nikita Popov 0e8ccb179d Merge branch 'PHP-7.1' into PHP-7.2 2017-10-05 12:26:19 +02:00
Dmitry Stogov 0b87d4bf29 Removed unused flags 2017-10-05 00:04:59 +03:00
Dmitry Stogov e70618aff6 Changed the way VM accesses constant operands in 64-bit builds. 2017-10-04 16:53:01 +03:00
Dmitry Stogov 2cbc75ec63 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed rarely possible use-after-free
2017-10-04 16:40:03 +03:00
Dmitry Stogov e9426cf816 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed rarely possible use-after-free
2017-10-04 16:39:47 +03:00
Dmitry Stogov e7afdb0668 Fixed invalid type 2017-10-04 16:06:57 +03:00
Dmitry Stogov b611878bb8 Merge branch 'PHP-7.2'
* PHP-7.2:
  Bumped ext/oci8 version
  Use dereferenced value
  Fixed compilation errors
  Restored code for BOOL variables
  Fixed few ext/oci8 bugs
2017-10-04 10:00:07 +03:00
Dmitry Stogov c3bb81d5a4 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Bumped ext/oci8 version
  Use dereferenced value
  Fixed compilation errors
  Restored code for BOOL variables
  Fixed few ext/oci8 bugs
2017-10-04 09:59:27 +03:00
Christoph M. Becker 7607659e7c [ci skip] Merge branch 'PHP-7.2'
* PHP-7.2:
  Change EXTENSIONS file encoding from iso-8859-1 to utf-8
2017-10-04 00:33:37 +02:00
Christoph M. Becker 2b83f0da89 [ci skip] Merge branch 'pull-request/2776' into PHP-7.2
* pull-request/2776:
  Change EXTENSIONS file encoding from iso-8859-1 to utf-8
2017-10-04 00:30:57 +02:00
Dmitry Stogov 879126a2ce Don't pass useless arguments 2017-10-03 15:24:02 +03:00
Peter Kokot 6ad96c337d Remove done TODO line from ext/date 2017-10-03 07:26:21 +01:00
Peter Kokot 83e881bbb6 Remove outdated README from ext/gmp
The PHP manual now includes better GMP introduction with updated links
to GNU MP library homepage.
2017-10-03 07:25:35 +01:00
Peter Kokot f323636868 Remove exif PHP example files
The PHP documentation has all exif functions well documented so these
can be left out of php-src. The exif PHP tests also include all exif_*
functions.
2017-10-03 07:24:51 +01:00
Joe Watkins 17cf32ef45 Merge branch 'PHP-7.2'
* PHP-7.2:
  Typo in status.html
2017-10-03 07:22:26 +01:00
Joe Watkins 6e39258302 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Typo in status.html
2017-10-03 07:22:15 +01:00
Joe Watkins a66b0f635d Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix bug #74905
2017-10-03 07:20:00 +01:00
Joe Watkins 4c12da6aca Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #74905
2017-10-03 07:19:23 +01:00
Peter Kokot 900aeedd44 Change ident gitattribute for ext/ext_skel.php 2017-10-03 07:17:44 +01:00
Joe Watkins 6190824cf1 Merge branch 'PHP-7.2'
* PHP-7.2:
  Remove ident gitattribute for ext/zip/php_zip.c
2017-10-03 07:15:27 +01:00
Joe Watkins a87434bda8 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Remove ident gitattribute for ext/zip/php_zip.c
2017-10-03 07:15:14 +01:00
Remi Collet d68879c734 Merge branch 'PHP-7.2'
* PHP-7.2:
  NEWS
  Fix Bug #75284 sha3 is not supported on bigendian machine
  NEWS
2017-10-03 06:42:48 +02:00
Remi Collet ca6d701994 NEWS 2017-10-03 06:42:39 +02:00
Remi Collet d67873ec99 Fix Bug #75284 sha3 is not supported on bigendian machine 2017-10-03 06:41:46 +02:00
Frank Denis a1c0824518 NEWS 2017-10-02 22:47:06 +02:00
Frank Denis bcb6e6d949 Merge branch 'PHP-7.2'
* PHP-7.2:
  ext/sodium: untab tests
  ext/sodium: import secretstream test
  ext/sodium: sodium_compare() is always available
  ext/sodium: fix funky indentation
  ext/sodium: move pwhash_scrypt() after pwhash()
  ext/sodium: checks for crypto_box_SEALBYTES are not required
  ext/sodium: explicitly include <string.h>
  ext/sodium: zend_parse_parameters -> zend_parse_parameters_throw
  ext/sodium: fix funky indent on zend_parse_parameters_throw() calls
  ext/sodium: import bindings for secretstream
  ext/sodium: add crypto_pwhash_str_needs_rehash()
  ext/sodium: +base64 codecs (timing-safe)
  ext/sodium: add arginfo definitions that will be required later
  ext/sodium: sort prototypes
2017-10-02 22:32:22 +02:00
Frank Denis 9d236d63f9 ext/sodium: untab tests 2017-10-02 22:28:46 +02:00
Frank Denis 1dc47286d1 ext/sodium: import secretstream test 2017-10-02 22:28:33 +02:00
Frank Denis 6de12a5f1e ext/sodium: sodium_compare() is always available 2017-10-02 22:23:53 +02:00
Frank Denis 40ab4c9d4e ext/sodium: fix funky indentation 2017-10-02 22:22:22 +02:00
Frank Denis 7fc396c15d ext/sodium: move pwhash_scrypt() after pwhash() 2017-10-02 22:19:55 +02:00
Frank Denis 986a9e879a ext/sodium: checks for crypto_box_SEALBYTES are not required 2017-10-02 22:11:29 +02:00
Frank Denis 4d1707b764 ext/sodium: explicitly include <string.h> 2017-10-02 22:10:30 +02:00
Frank Denis 0726d0be9f ext/sodium: zend_parse_parameters -> zend_parse_parameters_throw 2017-10-02 22:05:59 +02:00
Frank Denis e4917d141a ext/sodium: fix funky indent on zend_parse_parameters_throw() calls 2017-10-02 22:02:47 +02:00
Frank Denis 72f7d0b184 ext/sodium: import bindings for secretstream 2017-10-02 21:59:51 +02:00
Frank Denis 7d53e65125 ext/sodium: add crypto_pwhash_str_needs_rehash()
Also properly define xchacha20poly1305_ietf_keygen()
2017-10-02 21:54:50 +02:00
Frank Denis e22094eb13 ext/sodium: +base64 codecs (timing-safe) 2017-10-02 21:43:54 +02:00
Frank Denis ad120c5ae9 ext/sodium: add arginfo definitions that will be required later
Don't check for existence of aesgcm symbols, since we only support
libsodium >= 1.0.8
2017-10-02 21:40:38 +02:00
Frank Denis 519ca1d53b ext/sodium: sort prototypes 2017-10-02 21:36:35 +02:00
Remi Collet ff7ab9230d Merge branch 'PHP-7.2'
* PHP-7.2:
  NEWS
  Fixed bug #75303 sha3 hangs on bigendian
2017-10-02 11:27:09 +02:00
Remi Collet 2606c5f0fe Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  NEWS
  Fixed bug #75303 sha3 hangs on bigendian
2017-10-02 11:26:46 +02:00
Sara Golemon fdb276e4e1 Merge branch 'PHP-7.2'
* PHP-7.2:
  Guard against AI_NUMERICSERV not being defined.
2017-10-01 21:38:55 -04:00
Sara Golemon ec90310ea9 Guard against AI_NUMERICSERV not being defined. 2017-10-01 21:37:04 -04:00
Sara Golemon 320c4f22a4 Guard against AI_NUMERICSERV not being defined. 2017-10-01 21:32:31 -04:00
Frank Denis b76c97c254 Merge branch 'PHP-7.2'
* PHP-7.2:
  ext/sodium: fix pwhash_argon2i test
2017-10-01 16:01:25 +02:00
Frank Denis 0663ca135d ext/sodium: fix pwhash_argon2i test 2017-10-01 16:00:41 +02:00
Xinchen Hui 0ce1f8df13 Merge branch 'patch-experimental' of https://github.com/petk/php-src
* 'patch-experimental' of https://github.com/petk/php-src:
  Remove EXPERIMENTAL files from fileinfo and pdo_odbc stable extensions
2017-09-30 12:24:39 +08:00
Xinchen Hui cca828b609 Merge branch 'patch-mysqli-todo' of https://github.com/petk/php-src
* 'patch-mysqli-todo' of https://github.com/petk/php-src:
  Remove done and old TODO file from ext/mysqli
2017-09-30 12:23:14 +08:00
Xinchen Hui 97eb1a072b Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix bug #75279

Conflicts:
	ext/standard/dl.c
2017-09-30 12:16:05 +08:00
Xinchen Hui 92ceb64faf Merge branch 'patch-compile-warning' of https://github.com/petk/php-src into PHP-7.2
* 'patch-compile-warning' of https://github.com/petk/php-src:
  Fix bug #75279
2017-09-30 12:14:21 +08:00
Peter Kokot e06a2c150a Remove done and old TODO file from ext/mysqli
Since PHP documentation and ini settings should be updated for the
mysqli extension, this patch removes an old and done TODO file from
ext/mysqli folder.
2017-09-30 03:23:28 +02:00
Peter Kokot 5cf017a132 Remove EXPERIMENTAL files from fileinfo and pdo_odbc stable extensions 2017-09-30 01:58:08 +02:00
Andrea Faulds 1189fe5729 Merge branch 'PHP-7.2' 2017-09-29 21:40:04 +01:00
Andrea Faulds 15efa985df Merge branch 'PHP-7.1' into PHP-7.2 2017-09-29 21:38:52 +01:00
Remi Collet c8f50ed322 Merge branch 'PHP-7.2'
* PHP-7.2:
  NEWS
  Fixed bug #75285i Broken build when system libpcre don't have jit support
2017-09-29 15:50:49 +02:00
Remi Collet 7e21f472c6 NEWS 2017-09-29 15:50:38 +02:00
Remi Collet 7c8357929c Fixed bug #75285i Broken build when system libpcre don't have jit support
Detect JIT support in system library,
So --with-pcre-jit is only for bundled library.
2017-09-29 15:47:50 +02:00
Peter Kokot 8d87f6f6dd Fix bug #75279 2017-09-29 14:33:54 +02:00
Anatol Belski 5cf046d0e7 Merge branch 'PHP-7.2'
* PHP-7.2:
  Revert --with-pcre-valgrind by default in debug build
2017-09-29 12:26:31 +02:00
Anatol Belski c3a1cc382a Revert --with-pcre-valgrind by default in debug build
After quite a few people reported this option enabled to be in many cases
not handy by default, it's reverted to no by default everywhere. If enabled,
it requires Valgrind dev packages, where just a few have Valgrind itself
installed or care. Still for PCRE related work this option is a must,
though will have to be turned on by hand.

Revert "fix default args for --with-pcre-valgrind"

This reverts commit 24de0fe9f4.

Revert "Enable valgrind support for PCRE by default in debug builds"

This reverts commit 850bb998d9.
2017-09-29 12:17:38 +02:00
Xinchen Hui 95272f0b4a Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75267 (possible &/&& mixup)
2017-09-29 11:18:13 +08:00
Xinchen Hui d3aa65231e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75267 (possible &/&& mixup)
2017-09-29 11:17:07 +08:00
Sara Golemon 8d90c3a7fb Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix word alignment on ILP64.
2017-09-28 10:48:53 -04:00
Sara Golemon a93fe32c1a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix word alignment on ILP64.
2017-09-28 10:48:43 -04:00
Anatol Belski 945d0e1928 Merge branch 'PHP-7.2'
* PHP-7.2:
  Apply upstream patch for CVE-2016-1283
2017-09-28 15:45:47 +02:00
Anatol Belski 4f1ea03528 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Apply upstream patch for CVE-2016-1283
2017-09-28 15:45:09 +02:00
Anatol Belski eca3bc59b2 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix mkdir() special case for path length < 260 and > 248
2017-09-28 13:20:09 +02:00
Anatol Belski 4f63024206 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix mkdir() special case for path length < 260 and > 248
2017-09-28 13:19:48 +02:00
Christoph M. Becker 121331b2ce Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] hash_hmac_algos() is new in PHP 7.2.0
2017-09-27 17:18:57 +02:00
Christoph M. Becker b0d6d27349 [ci skip] hash_hmac_algos() is new in PHP 7.2.0 2017-09-27 17:18:10 +02:00
Côme Chilliet 819874c200 Updated NEWS
Added LDAP control support in it
2017-09-27 17:11:27 +02:00
Dmitry Stogov 1f8970c156 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75255 (Request hangs and not finish)
2017-09-27 17:18:17 +03:00
Dmitry Stogov 978c6c4e31 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75255 (Request hangs and not finish)
2017-09-27 17:17:46 +03:00
Joe Watkins a4da53a654 Merge branch 'PHP-7.2'
* PHP-7.2:
  fix bug #75222 DateInterval microseconds property always 0
2017-09-27 06:24:46 +01:00
jhdxr 7deb561f75 fix bug #75222 DateInterval microseconds property always 0 2017-09-27 06:23:42 +01:00
Joe Watkins b44c1e4d3a Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix CGI m4 config message when CGI is disabled
2017-09-27 06:21:02 +01:00
Joe Watkins b0950ff854 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix CGI m4 config message when CGI is disabled
2017-09-27 06:20:46 +01:00
Joe Watkins e1d9f33cbc Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix bug #75248 and #75251
2017-09-27 06:16:38 +01:00
Joe Watkins 474ee702ab Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #75248 and #75251
2017-09-27 06:16:13 +01:00
Joe Watkins e2e3c981b5 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed #75220 - Segfault when calling is_callable on parent
2017-09-27 06:09:24 +01:00
Joe Watkins 0d6c56a8ea Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed #75220 - Segfault when calling is_callable on parent
2017-09-27 06:08:49 +01:00
Frank Denis ab13da943d Merge branch 'PHP-7.2'
* PHP-7.2:
  ext/sodium: call crypto_pwhash_argon2id() explicitly if required
  ext/sodium: avoid tautological comparisons
2017-09-26 18:10:37 +02:00
Frank Denis 33b4405d84 ext/sodium: call crypto_pwhash_argon2id() explicitly if required 2017-09-26 18:09:00 +02:00
Frank Denis 47d75394c9 ext/sodium: avoid tautological comparisons 2017-09-26 17:58:16 +02:00
Frank Denis cb394229b8 Merge branch 'PHP-7.2'
* PHP-7.2:
  ext/sodium: signing empty messages is fine
2017-09-26 17:38:09 +02:00
Frank Denis f64d00d684 ext/sodium: signing empty messages is fine 2017-09-26 17:37:04 +02:00
Dmitry Stogov 5b849d903a Split CFG after RECV independently from ZEND_ACC_HAS_TYPE_HINTS flag. 2017-09-26 15:40:29 +03:00
Remi Collet bffe657d94 Update NEWS for 7.2.0RC4 2017-09-26 09:38:23 +00:00
Remi Collet 8cdb9784d2 Update NEWS for PHP 7.2.0RC3 2017-09-26 09:23:07 +00:00
Nikita Popov 49d895af86 Merge branch 'PHP-7.2' 2017-09-26 09:21:16 +02:00
Nikita Popov 3a4db74ee4 Create $http_response_header even if not used
Extensions are relying on it.
2017-09-26 09:20:43 +02:00
Christoph M. Becker 842dba8f6f Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix PHP_GD_TTSTR: command not found warning in ext/gd
2017-09-26 00:47:09 +02:00
Christoph M. Becker 296eb5193c Merge branch 'pull-request/2773' into PHP-7.2
* pull-request/2773:
  Fix PHP_GD_TTSTR: command not found warning in ext/gd
2017-09-26 00:45:21 +02:00
Anatol Belski 8cc0921846 Merge branch 'PHP-7.2'
* PHP-7.2:
  Remove some old sapi/apache_hooks and sapi/apache leftovers
2017-09-25 21:59:09 +02:00
Anatol Belski 8466ef9096 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Remove some old sapi/apache_hooks and sapi/apache leftovers
2017-09-25 21:58:41 +02:00
Peter Kokot e095e6db63 Change EXTENSIONS file encoding from iso-8859-1 to utf-8
Also fix some characters to their correct letters.
2017-09-25 21:57:24 +02:00
Dmitry Stogov a3fdf6f0f6 Merge branch 'PHP-7.2'
* PHP-7.2:
  Added missed ~
2017-09-25 12:23:11 +03:00
Dmitry Stogov 2a33e357cd Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Added missed ~
2017-09-25 12:23:01 +03:00
Dmitry Stogov 40df83ec29 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed type inference
2017-09-25 12:05:24 +03:00
Dmitry Stogov 801cdb8945 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed type inference
2017-09-25 12:04:13 +03:00
Peter Kokot 8c85d7b732 Fix PHP_GD_TTSTR: command not found warning in ext/gd 2017-09-25 02:37:42 +02:00
Peter Kokot 2664638f7e Remove empty and done TODO file for CLI SAPI
[ci skip]
2017-09-24 18:44:46 +02:00
Xinchen Hui b66357a3b3 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75230 (Invalid opcode 49/1/8 using opcache)
2017-09-24 18:01:39 +08:00
Xinchen Hui ed2a5ebaeb Fixed bug #75230 (Invalid opcode 49/1/8 using opcache) 2017-09-24 18:01:29 +08:00
Xinchen Hui ac3c586ca7 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Update NEWS
  Fixed bug #75241 (Null pointer dereference in zend_mm_alloc_small()).
  Compiler warning
2017-09-24 17:25:26 +08:00
Xinchen Hui ccc0a92504 Update NEWS 2017-09-24 17:25:11 +08:00
Xinchen Hui bad5639386 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fixed bug #75241 (Null pointer dereference in zend_mm_alloc_small()).
  Compiler warning
2017-09-24 17:24:57 +08:00
Nikita Popov 18e297d3dd Merge branch 'PHP-7.2' 2017-09-24 08:55:28 +02:00
Nikita Popov 76b2b4a190 Merge branch 'PHP-7.1' into PHP-7.2 2017-09-24 08:55:12 +02:00
Dmitry Stogov dce52dd963 Merge branch 'PHP-7.2'
* PHP-7.2:
  Using "enum" types as bit-fields is not portable.
2017-09-22 13:53:36 +03:00
Dmitry Stogov 28391b9e7f Using "enum" types as bit-fields is not portable. 2017-09-22 13:35:41 +03:00
Frank Denis fd8ebdbadb Merge branch 'PHP-7.2'
* PHP-7.2:
  ext/sodium: avoid negations on unsigned values
2017-09-21 17:46:35 +02:00
Frank Denis 8a52a61e3a ext/sodium: avoid negations on unsigned values 2017-09-21 17:46:01 +02:00
Côme Chilliet ebd080e2b9 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Fix thread safety
2017-09-21 10:50:06 +02:00
Anatol Belski a9273a7dfe Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix thread safety
2017-09-21 10:33:35 +02:00
Anatol Belski 95870dcc77 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix thread safety
2017-09-21 10:33:13 +02:00
Côme Chilliet 75ed1ed4ab Merge branch 'pull-request/2640'
* pull-request/2640: (31 commits)
  Added support for VLV controls request and response
  Added support for SORT controls
  Added skip when control are not supported by the test ldap server
  Avoid memory leak when creating paged control value
  Fixed ifdef for VLV controls (copy/paste error)
  Added ldap_rename_ext and its test
  Indexing controls by OID when parsing them
  Avoid returning iscritical field when parsing response controls
  Fixed ldap_parse_result comment
  Added ldap_delete_ext and its test
  Added ldap_mod_*_ext methods for modification with controls
  Added ldap_add_ext and preread/postread support and tests
  Added ldap_bind_ext to pass controls and get result object
  Improved a bit error handling to avoid passing commands with incomplete controls
  Added support and test for LDAP_CONTROL_VALUESRETURNFILTER
  Removed client controls alltogether
  Fixed ldap_exop test since rebase remove client controls
  Added support for controls in ldap_modify_batch
  Added controls support to ldap_compare
  Added controls support to ldap_rename
  ...
2017-09-21 10:21:22 +02:00
Côme Chilliet 9a4f3505ff Added support for VLV controls request and response 2017-09-21 10:05:42 +02:00
Côme Chilliet 6ac7d313c8 Added support for SORT controls
On an openldap server you need the sssvlv overlay for these to work
2017-09-21 10:05:42 +02:00
Côme Chilliet 76e9de681a Added skip when control are not supported by the test ldap server 2017-09-21 10:05:42 +02:00
Côme Chilliet def30dbde2 Avoid memory leak when creating paged control value 2017-09-21 10:05:42 +02:00
Côme Chilliet d76d57b887 Fixed ifdef for VLV controls (copy/paste error) 2017-09-21 10:05:42 +02:00
Côme Chilliet c112b53a60 Added ldap_rename_ext and its test 2017-09-21 10:05:42 +02:00
Côme Chilliet 679442b1d1 Indexing controls by OID when parsing them 2017-09-21 10:05:42 +02:00
Côme Chilliet 9c7666d93a Avoid returning iscritical field when parsing response controls
As stated in RFC4511 Section 4.1.11, this field is always false in
 response controls and only makes sense in request controls
2017-09-21 10:05:42 +02:00
Côme Chilliet d8a7214d8c Fixed ldap_parse_result comment 2017-09-21 10:05:42 +02:00
Côme Chilliet ead53aba54 Added ldap_delete_ext and its test 2017-09-21 10:05:42 +02:00
Côme Chilliet 17e490a2e3 Added ldap_mod_*_ext methods for modification with controls 2017-09-21 10:05:42 +02:00
Côme Chilliet 32b51035be Added ldap_add_ext and preread/postread support and tests 2017-09-21 10:05:42 +02:00
Côme Chilliet b36342453b Added ldap_bind_ext to pass controls and get result object
ldap_bind_ext allows to pass controls and get result object
 from bind operation
Also added a test for it, pretty basic as tests cannot depend upon
 ppolicy overlay
2017-09-21 10:05:41 +02:00
Côme Chilliet 9275e05d8e Improved a bit error handling to avoid passing commands with incomplete controls 2017-09-21 10:05:41 +02:00
Côme Chilliet 3a1ba93066 Added support and test for LDAP_CONTROL_VALUESRETURNFILTER 2017-09-21 10:05:41 +02:00
Côme Chilliet b5ca0c1c78 Removed client controls alltogether
Client controls are ldap client lib specific and all the one
 I could find are ignoring client controls anyway.
2017-09-21 10:05:41 +02:00
Côme Chilliet d377edb884 Fixed ldap_exop test since rebase remove client controls 2017-09-21 10:05:41 +02:00
Côme Chilliet 81b27abac0 Added support for controls in ldap_modify_batch 2017-09-21 10:05:41 +02:00
Côme Chilliet 2b52cb74da Added controls support to ldap_compare
Note: for functions like ldap_compare, ldap_delete, ldap_modify,
 a way to get the result object back will need to be added
 so that controls returned by the server may be analyzed.
2017-09-21 10:05:41 +02:00
Côme Chilliet 82cc72a3ba Added controls support to ldap_rename 2017-09-21 10:05:41 +02:00
Côme Chilliet 437c75abcb Fixed prototypes in comments 2017-09-21 10:05:41 +02:00
Côme Chilliet 59f32408f8 Using new control syntax for MANAGEDSAIT control when deleting references 2017-09-21 10:05:41 +02:00
Côme Chilliet c8572da183 Fixed wrong argument number error tests 2017-09-21 10:05:41 +02:00
Côme Chilliet 93fbbbf5a6 Added controls support to ldap_delete 2017-09-21 10:05:40 +02:00
Côme Chilliet 5ee0fc9b56 Added support for controls in ldap_add, ldap_modify, ldap_mod_*
Also added workaround for a bug in ldap_create_assertion_control_value
Made sure failed control creation aborts the operation
And added test for assertion control on ldap_modify
2017-09-21 10:05:40 +02:00
Côme Chilliet 79cfa55cae Added a test for assertion control 2017-09-21 10:05:40 +02:00
Côme Chilliet 6d3a914641 Added a test for PROXY_AUTHZ control on ldap_exop 2017-09-21 10:05:40 +02:00
Côme Chilliet 02bd89a552 Added support for assert control value encoding 2017-09-21 10:05:40 +02:00
Côme Chilliet 5691d8bf49 Added controls support to ldap_exop 2017-09-21 10:05:40 +02:00
Côme Chilliet 8de071e0f7 Added controls support to ldap_search, ldap_list and ldap_read. 2017-09-21 10:05:40 +02:00
Côme Chilliet 5ccb31e49e Added controls support to ldap_parse_result and ldap_exop_passwd
Known controls are parsed to and from associative arrays.
Only ppolicy and paged results are implemented for now.
2017-09-21 10:05:40 +02:00
Andrea Faulds 471d2bb0ae Merge branch 'PHP-7.2' 2017-09-21 00:05:55 +01:00
Andrea Faulds 7418f6814f Merge branch 'PHP-7.1' into PHP-7.2 2017-09-21 00:04:56 +01:00
Sara Golemon d6f253b42a Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Fix more typos in UPGRADING
2017-09-20 15:51:36 -04:00
Jannes Jeising c7a0177491 [ci skip] Fix more typos in UPGRADING 2017-09-20 15:50:06 -04:00
Christoph M. Becker 0ef396f24e Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #73629 (SplDoublyLinkedList::setIteratorMode masks intern flags)
2017-09-20 15:54:46 +02:00
Christoph M. Becker 43152bc39f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #73629 (SplDoublyLinkedList::setIteratorMode masks intern flags)
2017-09-20 15:54:07 +02:00
Anatol Belski 3b2e8f8f70 Sync json parser defs 2017-09-20 15:08:45 +02:00
Dmitry Stogov 44e0b79ac6 Refactored array creation API. array_init() and array_init_size() are converted into macros calling zend_new_array(). They are not functions anymore and don't return any values. 2017-09-20 02:25:56 +03:00
Dmitry Stogov c1dc10aaa5 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed NOP removal (empty blocks should be shifted as well)
2017-09-20 01:11:37 +03:00
Dmitry Stogov 6544ec5460 Fixed NOP removal (empty blocks should be shifted as well) 2017-09-20 01:10:31 +03:00
Frank Denis 4433bb5069 Merge branch 'PHP-7.2'
* PHP-7.2:
  ext/sodium: throw an exception if only the prefix of a hex string is valid
2017-09-19 14:39:25 +02:00
Frank Denis fd86fdd7b8 ext/sodium: throw an exception if only the prefix of a hex string is valid 2017-09-19 14:37:21 +02:00
Remi Collet c26d8ecf58 Merge branch 'PHP-7.2'
* PHP-7.2:
  rename test
2017-09-19 07:27:04 +02:00
Remi Collet ee84f34344 rename test 2017-09-19 07:26:53 +02:00
Christoph M. Becker 778d9097fd Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Update NEWS
2017-09-18 22:53:12 +02:00
Christoph M. Becker 3cd5f28899 [ci skip] Update NEWS 2017-09-18 22:52:18 +02:00
Dmitry Stogov dc5d850478 Merge branch 'PHP-7.2'
* PHP-7.2:
  Use private names for new libpcre symbols.
2017-09-18 20:01:51 +03:00
Dmitry Stogov 5ef10d08ec Use private names for new libpcre symbols. 2017-09-18 20:00:45 +03:00
Remi Collet ce59da1997 Merge branch 'PHP-7.2'
* PHP-7.2:
  NEWS
  Fixed Bug #75212 php_value acts like php_admin_value
2017-09-18 18:09:40 +02:00
Remi Collet 7d5c0f1906 NEWS 2017-09-18 18:09:35 +02:00
Remi Collet cfc6c4d297 Fixed Bug #75212 php_value acts like php_admin_value 2017-09-18 18:08:51 +02:00
Christoph M. Becker 597019d71e Remove pointless preprocessor directive
Obviously, that is a refactoring relict of e93f089.
2017-09-18 17:12:02 +02:00
Christoph M. Becker 97bfc28341 [ci skip] Update UPGRADING wrt. PR 2742 2017-09-18 15:57:51 +02:00
Christoph M. Becker 73af7a847c Merge branch 'pull-request/2742'
* pull-request/2742:
  Fixed bug #66364 (BCMath bcmul ignores scale parameter)
2017-09-18 15:21:22 +02:00
Dmitry Stogov f63bfea105 Optimize POST_INC_OBJ + FREE into PRE_INC_OBJ (in the same way as simple POST_INC) 2017-09-18 14:56:55 +03:00
Dmitry Stogov 8109ebbd05 Allow removing of unused func_get_args() and func_get_num_args(). 2017-09-18 14:37:51 +03:00
Dmitry Stogov fbe913d26d Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed optimization (the bug caused endless-loop on micro_bench.php in master branch)
2017-09-18 14:11:48 +03:00
Dmitry Stogov 084e34098a Fixed optimization (the bug caused endless-loop on micro_bench.php in master branch) 2017-09-18 14:10:18 +03:00
Dmitry Stogov 0fb05f1487 Property access micro-optimization. (ZEND_WRONG_PROPERTY_OFFSET and ZEND_DYNAMIC_PROPERTY_OFFSET are hidden, use one comparison instead of two on fast paths. "Negative" offsets are reserved for future optimizations). 2017-09-18 13:13:24 +03:00
Anatol Belski b81659d34f Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix the version check causing the test fail
2017-09-18 12:07:12 +02:00
Anatol Belski d8f1afb45e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix the version check causing the test fail
2017-09-18 12:06:54 +02:00
Dmitry Stogov 2aad680c80 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #74878 (Data race in ZTS builds)
2017-09-18 11:28:06 +03:00
Dmitry Stogov 41e5f916bf Fixed bug #74878 (Data race in ZTS builds) 2017-09-18 11:27:10 +03:00
Anatol Belski 131abe715c Merge branch 'PHP-7.2'
* PHP-7.2:
  Update lib_versions.txt
2017-09-18 09:38:14 +02:00
Anatol Belski de2f28ede1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update lib_versions.txt
2017-09-18 09:37:46 +02:00
Anatol Belski c9223fd6b2 Merge branch 'PHP-7.2'
* PHP-7.2:
  Move to next binary SDK version for AppVeyor
2017-09-15 23:06:44 +02:00
Anatol Belski 9551818649 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Move to next binary SDK version for AppVeyor
2017-09-15 23:06:19 +02:00
Dmitry Stogov 12550b2c39 Removed IS_TYPE_COPYABLE flag. 2017-09-15 12:29:46 +03:00
Christoph M. Becker 5b61c399fc Merge branch 'pull-request/2751'
* pull-request/2751:
  reworked test
  added credits for #phptestfest
  reworked the tests, created test cases for defalte, gzip and unsupported brotli
  added basic zlib_get_coding_type() test
2017-09-14 16:40:05 +02:00
Florian Engelhardt 8158a95b53 reworked test 2017-09-14 12:41:02 +02:00
Dmitry Stogov ccf74422a9 Structures comming from "unknown sources" should be marked as escaping. 2017-09-14 12:33:52 +03:00
Dmitry Stogov ad68c6745f Avoid redundand iterations, checks and reloads 2017-09-14 11:25:03 +03:00
Dmitry Stogov 80abd81344 Fixed escape analysis for ASSIGN_DIM/ASSIGN_OBJ opcodes and improved DCE 2017-09-14 11:03:47 +03:00
Florian Engelhardt 5e55ce30df added credits for #phptestfest 2017-09-14 09:21:00 +02:00
Florian Engelhardt feb16a492b reworked the tests, created test cases for defalte, gzip and unsupported brotli 2017-09-14 09:17:45 +02:00
Dmitry Stogov a68f50f201 typo 2017-09-14 09:58:22 +03:00
Christoph M. Becker ee92aed06f [ci skip] Merge branch 'pull-request/2752'
* pull-request/2752:
  Fixed typo
2017-09-14 02:03:23 +02:00
Christoph M. Becker 7ed847bcda [ci skip] Merge branch 'pull-request/2753'
* pull-request/2753:
  Fix type-o in ext/reflection comment 💬
2017-09-14 01:27:37 +02:00
Christoph M. Becker 9848e417c3 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Fix typos in UPGRADING
2017-09-14 00:36:43 +02:00
Christoph M. Becker b5052f0110 [ci skip] Fix typos in UPGRADING 2017-09-14 00:34:26 +02:00
Dmitry Stogov 0a86f159f4 Added test. Invalid usage doesn't affect escape_satte of arrays/objects and shouldn't prevent SCCP on "proper" paths. 2017-09-14 00:09:28 +03:00
Dmitry Stogov 8e2842c306 Revert "Mark incorrectly used arrays and objects as escaping"
This reverts commit 9b2d3cce19.
2017-09-14 00:08:43 +03:00
Dmitry Stogov b7d683c531 Added debug output 2017-09-13 23:59:16 +03:00
Sammy Kaye Powers c900764e64 Fix type-o in ext/reflection comment 💬 2017-09-13 14:11:57 -05:00
Markus Staab ea4e3efa14 Fixed typo 2017-09-13 18:35:37 +02:00
Dmitry Stogov 93af905071 Improved reference dependencies analysis 2017-09-13 18:18:51 +03:00
Christoph M. Becker 18adc6f0fc Merge branch 'pull-request/2745'
* pull-request/2745:
  Fixed bug #75169 (BCMath errors/warnings bypass error handling)
2017-09-13 16:21:30 +02:00
Christoph M. Becker 1738fa3ec1 Merge branch 'pull-request/2739'
* pull-request/2739:
  Fix proto and indentation
  Fix arginfo
  Return old scale value from bcscale()
2017-09-13 16:04:54 +02:00
Anatol Belski 736e9ba721 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-09-13 15:48:24 +02:00
Anatol Belski 46e0c474e0 [ci skip] update NEWS 2017-09-13 15:47:52 +02:00
Anatol Belski 66c7c28dbf Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
2017-09-13 15:47:19 +02:00
Dmitry Stogov 9b2d3cce19 Mark incorrectly used arrays and objects as escaping 2017-09-13 16:42:48 +03:00
Florian Engelhardt 9e8eca1d3d added basic zlib_get_coding_type() test 2017-09-13 15:18:21 +02:00
Anatol Belski 756aaaf806 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75018, fixed bug #75177
2017-09-13 14:12:53 +02:00
Anatol Belski b134793b32 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75018, fixed bug #75177
2017-09-13 14:12:31 +02:00
Remi Collet 1edc5aea33 Merge branch 'PHP-7.2'
* PHP-7.2:
  fix tests for 32-bit
2017-09-13 12:20:16 +02:00
Remi Collet d99cd28925 fix tests for 32-bit 2017-09-13 12:20:05 +02:00
Dmitry Stogov 351130856c Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed ZTS build (disable deallocation of arg_info of internal functions with type hints)
2017-09-13 10:11:57 +03:00
Dmitry Stogov 168ec3a6e1 Fixed ZTS build (disable deallocation of arg_info of internal functions with type hints) 2017-09-13 10:10:56 +03:00
Dmitry Stogov 7378f27667 Merge branch 'PHP-7.2'
* PHP-7.2:
  Properly update string type flags
2017-09-13 01:46:34 +03:00
Dmitry Stogov a84608d4e2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Properly update string type flags
2017-09-13 01:46:23 +03:00
Dmitry Stogov c6c2b673de Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed memry leaks (free arg_info of internal functions with type hints)
2017-09-13 01:45:05 +03:00
Dmitry Stogov 10a7f2cf62 Fixed memry leaks (free arg_info of internal functions with type hints) 2017-09-13 01:44:19 +03:00
Dmitry Stogov 801d0e557b Merge branch 'PHP-7.2'
* PHP-7.2:
  Revert "Properly update string type flags"
2017-09-13 00:15:37 +03:00
Dmitry Stogov 40d15cb03d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Revert "Properly update string type flags"
2017-09-13 00:15:20 +03:00
Dmitry Stogov f32a52c2b7 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed test
2017-09-12 23:48:00 +03:00
Dmitry Stogov c2cf132ecd Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed test
2017-09-12 23:47:52 +03:00
Dmitry Stogov 42a1e7a227 Merge branch 'PHP-7.2'
* PHP-7.2:
  Properly update string type flags
  Update NEWS for 7.2.0RC3
  Update NEWS for PHP 7.2.0RC2
2017-09-12 23:45:15 +03:00
Dmitry Stogov 73430d5362 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Properly update string type flags
2017-09-12 23:43:56 +03:00
Dmitry Stogov 9f45aaaac2 Fixed test 2017-09-12 21:41:29 +03:00
Sara Golemon 0d37dcd21d Update NEWS for 7.2.0RC3 2017-09-12 12:47:55 -04:00
Sara Golemon 2272f408ed Update NEWS for PHP 7.2.0RC2 2017-09-12 12:47:55 -04:00
Anatol Belski 1500f2ed42 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix test failure on 32-bit
2017-09-12 18:19:58 +02:00
Anatol Belski 689f9956da Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test failure on 32-bit
2017-09-12 18:19:34 +02:00
Anatol Belski 1f62983fe3 Merge branch 'PHP-7.2'
* PHP-7.2:
  bump versions
2017-09-12 18:11:31 +02:00
Anatol Belski 7c5e454b09 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  bump versions
2017-09-12 18:11:05 +02:00
Xinchen Hui 07ed545abf Fixed memleak in SCCP 2017-09-12 21:35:30 +08:00
Remi Collet 0a98998b3c Merge branch 'PHP-7.2'
* PHP-7.2:
  drop symbol definition, and not defined anywhere
2017-09-12 13:04:07 +02:00
Remi Collet ea2507bc24 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  drop symbol definition, and not defined anywhere
2017-09-12 13:03:55 +02:00
Anatol Belski cac7c34cb0 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-09-12 12:19:35 +02:00
Anatol Belski 8ed0094f48 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-09-12 12:19:14 +02:00
Anatol Belski 1454dc20eb [ci skip] update NEWS 2017-09-12 12:18:58 +02:00
Anatol Belski 7d398f06db Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75193 segfault in collator_convert_object_to_string
2017-09-12 12:14:44 +02:00
Anatol Belski a54079b92f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75193 segfault in collator_convert_object_to_string
2017-09-12 12:14:24 +02:00
Anatol Belski 94d22ce17f Merge branch 'PHP-7.2'
* PHP-7.2:
  Move dev to 7.0.25
2017-09-12 09:03:52 +02:00
Anatol Belski 3a61773b45 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Move dev to 7.0.25
2017-09-12 09:03:31 +02:00
Dmitry Stogov 7921e0831b Disable eliminatin of empty basic block with multiple predecessors 2017-09-12 09:54:45 +03:00
Anatol Belski fec1bd0b41 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] Fix news entry format
  [ci skip] Fix news entry format
  [ci skip] Fix news entry format
2017-09-12 08:39:14 +02:00
Anatol Belski be57071e8c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Fix news entry format
2017-09-12 08:38:36 +02:00
Anatol Belski c347f49a2d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] Fix news entry format
2017-09-12 08:37:50 +02:00
Anatol Belski f5d478c8e6 [ci skip] Fix news entry format 2017-09-12 08:37:40 +02:00
Dmitry Stogov a7eda82563 Fixed incorrect empty basic block removing 2017-09-12 09:31:02 +03:00
Michael Paul 6acfc7a239 Add test for ftp functions with bogus resource 2017-09-12 07:12:35 +01:00
Joe Watkins 26d0e94808 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Fixed typo
2017-09-12 07:10:57 +01:00
Michael Paul 2133b55efd Refactor ftp_append test to clean temporary files 2017-09-12 07:10:22 +01:00
Xinchen Hui 50cb4fcf21 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  fix bug #75173 incorrect behavior of AppendIterator::append in foreach loop
2017-09-12 14:10:01 +08:00
Xinchen Hui 89dceb53e5 Fixed typo 2017-09-12 14:09:35 +08:00
Joe Watkins cb62dbe97d Merge branch 'PHP-7.2'
* PHP-7.2:
  fix bug #75173 incorrect behavior of AppendIterator::append in foreach loop
2017-09-12 07:08:43 +01:00
Joe Watkins f87e513557 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix bug #75173 incorrect behavior of AppendIterator::append in foreach loop
2017-09-12 07:08:01 +01:00
Joe Watkins ae5542d807 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix LDFLAGS getting overwritten (ext/curl)
2017-09-12 07:03:33 +01:00
Dylan K. Taylor c3b0e68eb7 Fix LDFLAGS getting overwritten (ext/curl) 2017-09-12 07:03:22 +01:00
Xinchen Hui 468b0141d4 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed arginfo for get_defined_functions
2017-09-12 13:26:37 +08:00
Xinchen Hui a8427e7d37 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed arginfo for get_defined_functions
2017-09-12 13:26:25 +08:00
Xinchen Hui ff6f41c94e Narrow typeinfos down for zend_parse_paramenters_none 2017-09-12 11:25:21 +08:00
Christoph M. Becker 0d890025ec Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #46781 (BC math handles minus zero incorrectly)
2017-09-11 23:58:31 +02:00
Christoph M. Becker 77f3cef35c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #46781 (BC math handles minus zero incorrectly)
2017-09-11 23:52:14 +02:00
Dmitry Stogov 86dd321c0c Fixed yet another object aliasing problem 2017-09-11 23:19:03 +03:00
Dmitry Stogov 63b93b4a74 Fixed copy semantics in escape analysis 2017-09-11 20:59:40 +03:00
Christoph M. Becker 87897efe4c [ci-skip] Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci-skip] Add NEWS entry for bug #75185
2017-09-11 19:08:27 +02:00
Christoph M. Becker 613bac9eb3 [ci-skip] Add NEWS entry for bug #75185 2017-09-11 19:07:44 +02:00
Christoph M. Becker 34a4c2ca20 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci-skip] Add missing UPGRADING entry for commit 0d0f7cd
2017-09-11 18:38:14 +02:00
Christoph M. Becker d95221ec4b [ci-skip] Add missing UPGRADING entry for commit 0d0f7cd
There is a respective entry in NEWS, but that would likely be missed by
the doc team.
2017-09-11 18:37:51 +02:00
Anatol Belski 6b4287e03b Merge branch 'PHP-7.2'
* PHP-7.2:
  Fork test to keep up with libxsl >= 1.1.30
2017-09-11 18:21:07 +02:00
Anatol Belski dcae6d6423 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fork test to keep up with libxsl >= 1.1.30
2017-09-11 18:20:42 +02:00
Anatol Belski a7fdf570a6 Merge branch 'PHP-7.2'
* PHP-7.2:
  Add symbol to libxml exports
2017-09-11 17:37:38 +02:00
Anatol Belski 2d60b35147 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add symbol to libxml exports
2017-09-11 17:37:10 +02:00
Anatol Belski 1119e28b5c Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix test compat with libxml2 2.9.5
2017-09-11 16:16:42 +02:00
Anatol Belski 8a9ff55397 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test compat with libxml2 2.9.5
2017-09-11 16:16:09 +02:00
Dmitry Stogov ae44cc92ec Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Fix test compat with libxml2 2.9.5
2017-09-11 16:28:08 +03:00
Dmitry Stogov d5c527c9db Fixed SCCP failure, because of aliased objects.
For now, mark aliased objects as "escaping".
A more clever solution would requitre Heap Array SSA + Definitely Same and Definitely Different sets construction.
2017-09-11 16:23:17 +03:00
Anatol Belski f716c90f7f Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix test compat with libxml2 2.9.5
2017-09-11 14:36:14 +02:00
Anatol Belski 45613b3473 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test compat with libxml2 2.9.5
2017-09-11 14:35:51 +02:00
Dmitry Stogov 441b826e3a Fixed compilation error 2017-09-11 14:54:33 +03:00
Dmitry Stogov 9b03024347 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Fix test portability
  Fix test compatibility with libxml2 2.9.5
2017-09-11 14:41:55 +03:00
Dmitry Stogov 76b2968a73 Improved JMP optimization 2017-09-11 14:40:15 +03:00
Anatol Belski 504b13c582 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix test portability
2017-09-11 12:40:35 +02:00
Anatol Belski 2f5129cacb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test portability
2017-09-11 12:40:11 +02:00
Anatol Belski 708a58b147 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix test compatibility with libxml2 2.9.5
2017-09-11 12:18:58 +02:00
Anatol Belski a6bbb534d5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix test compatibility with libxml2 2.9.5
2017-09-11 12:18:37 +02:00
Remi Collet 8857161bf2 Use system libzip by default
Use --without-libzip in travis, as libzip version available there
is too old (0.10, while 0.11 is required, 1.3.0 is best)

The real plan is to really drop bundled libzip... delayed.
Notice: only system library have full features:
* encryption
* bzip support
2017-09-11 09:23:01 +02:00
Xinchen Hui 9b34227a5d Merge branch 'PHP-7.2'
* PHP-7.2:
  Not sure why these lines are removed :<
2017-09-11 13:36:16 +08:00
Xinchen Hui cbb72a2f8e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Not sure why these lines are removed :<
2017-09-11 13:36:09 +08:00
Xinchen Hui 4b12a438e7 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Fixed bug #75152 (signed integer overflow in parse_iv)
2017-09-11 12:48:16 +08:00
Xinchen Hui 8cb0627325 Update NEWS 2017-09-11 12:48:02 +08:00
Xinchen Hui 82d4727dbb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75152 (signed integer overflow in parse_iv)

Conflicts:
	ext/standard/var_unserializer.c
2017-09-11 12:47:47 +08:00
Christoph M. Becker ffb88946d3 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #73730 (textdomain(null) throws in strict mode)
2017-09-10 18:51:41 +02:00
Christoph M. Becker 674fe0af38 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #73730 (textdomain(null) throws in strict mode)
2017-09-10 18:47:16 +02:00
Xinchen Hui 9d5ecf6838 They should always be equal (zend_call_graph.c:#109) 2017-09-10 12:16:17 +08:00
Xinchen Hui 46f5c04d16 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Optimize truncation to zero scale in bc_raisemod()
  Fix bug75178.phpt on Windows
2017-09-10 11:49:21 +08:00
Christoph M. Becker fd73a54c30 Fixed bug #75169 (BCMath errors/warnings bypass error handling)
Instead of writing warning messages to `stderr`, we employ PHP's error
handling to raise `E_WARNING` even for the single case where
`bc_rt_error()` has been called, since that did not actually error out.
We choose to call `php_error_docref()` directly in libbcmath, since
there is no upstream, and since other PHP core functionality is already
used in our bundled libbcmath. Accordingly, we remove `rt.c` so it will
not be accidentally used in the future.

Besides adapting a few existing tests, we add new tests so that the
warnings are tested at least once. We also get rid of the Windows
specific tests, since the warning behavior is now supposed to be
platform-agnostic.
2017-09-09 23:57:22 +02:00
Christoph M. Becker d1e82b39e2 Optimize truncation to zero scale in bc_raisemod()
There's no need to use a division by one to truncate to zero scale;
instead we introduce and use `_bc_truncate()`, what is more efficient.
2017-09-09 18:41:59 +02:00
Christoph M. Becker 65b575134f Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix bug75178.phpt on Windows
2017-09-09 17:15:04 +02:00
Christoph M. Becker 20fe838c76 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug75178.phpt on Windows
2017-09-09 17:04:42 +02:00
Xinchen Hui 1f327284a4 Fixed signature 2017-09-09 20:40:55 +08:00
Christoph M. Becker 8826a563de Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75178 (bcpowmod() misbehaves for non-integer base or modulus)
2017-09-09 13:38:10 +02:00
Christoph M. Becker 21eab49a53 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75178 (bcpowmod() misbehaves for non-integer base or modulus)
2017-09-09 13:30:40 +02:00
Xinchen Hui aee690e3cf Added gd func infos 2017-09-09 14:15:01 +08:00
Xinchen Hui c2ddc180bb Added fileinfo func infos 2017-09-09 13:26:45 +08:00
Christoph M. Becker 870ed5106d Fixed bug #66364 (BCMath bcmul ignores scale parameter)
We change `bcmul()` and `bcpow()` so that the result has exactly the
requested scale (i.e. decimal places) to make them consistent with the
other BCMath functions.  This also changes our stance regarding bug
#52748, which had been classified as documentation problem.

We do not manipulate the numbers themselves (anymore), but rather
introduce `bc_num2str_ex()` which accepts a scale parameter that
overrides the scale of the number by omitting extraneous decimals and
adding zeros, respectively.  This also allows us to get rid of
`split_bc_num()`, which fixes bug #75164 as well.
2017-09-08 18:31:04 +02:00
Christoph M. Becker 657695fe97 Remove unused member
The `n_next` member of struct `bc_struct` is unused; the only code that
would use this member has been disabled since libbcmath has been
bundled nearly 17 years ago.  Apparently, `n_next` has been designed to
build a linked list of free numbers, but it is doubtful whether that
would be an improvement over relying on the efficiency of the ZendMM,
so we remove the remaining support altogether.

The ABI break probably affects nobody, but would be okay for a new
minor version according to our release process, anyway.
2017-09-08 16:24:38 +02:00
Dmitry Stogov f5ef1a83a8 Collect all jump optimisations in a single optimization pass.
Run this pass twice (after SCCP and after DCE).
2017-09-08 14:50:28 +03:00
Xinchen Hui 4d1ddeb02a Added ctype func infos 2017-09-08 14:11:51 +08:00
Xinchen Hui 24e33350ee Added getext func infos 2017-09-08 14:03:24 +08:00
Xinchen Hui f46ec03fcd Added filter func infos 2017-09-08 13:56:50 +08:00
Xinchen Hui 3e3d7b5a28 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Do not include BC for zend_symbtable_add_new on 7.2/master
  Add BC define for users of the typoed zend_symbtable_add_new
  Fix typo in zend_symtable_add_new() API name
  Improve sodium "invalid parameters" error messages
  Fixed bug #75170
2017-09-08 12:33:09 +08:00
Xinchen Hui bf82ee3581 Add exif func infos 2017-09-08 12:31:41 +08:00
Xinchen Hui 918c1fe3ad Add bcmath func infos 2017-09-08 12:26:15 +08:00
Xinchen Hui 3713a36337 Func info for pgsql 2017-09-08 12:21:28 +08:00
Xinchen Hui bedb4ef297 Complete func infos for session and sodium 2017-09-08 11:23:19 +08:00
Sara Golemon c5dfbcf2a4 Merge branch 'PHP-7.2'
* PHP-7.2:
  Do not include BC for zend_symbtable_add_new on 7.2/master
  Add BC define for users of the typoed zend_symbtable_add_new
2017-09-07 17:37:43 -04:00
Sara Golemon 55562dfb00 Do not include BC for zend_symbtable_add_new on 7.2/master 2017-09-07 17:37:20 -04:00
Sara Golemon 361d3007a6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add BC define for users of the typoed zend_symbtable_add_new
2017-09-07 17:36:35 -04:00
Sara Golemon ab93a3482a Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix typo in zend_symtable_add_new() API name
2017-09-07 16:30:12 -04:00
Sara Golemon ff04db4420 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix typo in zend_symtable_add_new() API name
2017-09-07 16:29:57 -04:00
Nikita Popov 92f5c4c5c0 Merge branch 'PHP-7.2' 2017-09-07 22:19:18 +02:00
Sammy Kaye Powers b786e1b45c Improve sodium "invalid parameters" error messages 2017-09-07 22:18:48 +02:00
Nikita Popov e23da65550 Merge branch 'PHP-7.2' 2017-09-07 20:05:37 +02:00
Nikita Popov fd07302024 Fixed bug #75170
This change may result in different mt_rand/rand sequences being
generated on 64-bit systems for a specific seed.

See also https://externals.io/message/100229.
2017-09-07 20:04:38 +02:00
Xinchen Hui 7b1d96cd52 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Removing client controls attribute from ldap_exop signature
2017-09-07 23:23:11 +08:00
Xinchen Hui 3162285b86 Complete func info for mysqli 2017-09-07 23:21:02 +08:00
Côme Chilliet 26ccaa39b3 Merge branch 'PHP-7.2'
* PHP-7.2:
  Removing client controls attribute from ldap_exop signature
2017-09-07 16:33:42 +02:00
Côme Chilliet e67379399a Removing client controls attribute from ldap_exop signature
Client controls will not get implemented in php-ldap as
 they are specific to each client ldap lib and most of the
 time unused any way. (servers controls on the other end are used
 and will get implemented)
2017-09-07 16:31:03 +02:00
Dmitry Stogov ec60fee52c Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed SSA reconstruction
2017-09-07 17:11:10 +03:00
Dmitry Stogov 251a5599b4 Fixed SSA reconstruction 2017-09-07 17:10:38 +03:00
Remi Collet 9ecafd9788 Revert "drop support for bundled libzip (linux)"
This reverts commit 7104203328.
2017-09-07 15:17:28 +02:00
Remi Collet 8f38993db7 Revert "try to switch to something more recent than a 5 years old distro..."
This reverts commit d6432546bf.
2017-09-07 15:17:28 +02:00
Anatol Belski 757789ef4b remove bundled libzip config for .w32 2017-09-07 15:16:12 +02:00
Remi Collet d6432546bf try to switch to something more recent than a 5 years old distro... 2017-09-07 15:13:48 +02:00
Remi Collet b2a3ba5802 add libzip-dev for travis build 2017-09-07 14:34:09 +02:00
Remi Collet 040a3230b2 UPGRADING 2017-09-07 14:28:05 +02:00
Remi Collet 7104203328 drop support for bundled libzip (linux) 2017-09-07 14:28:05 +02:00
João Paulo V Martins 141f26e9a9 Add test for rand with inverted min and max
Both are valid:
rand($min, $max);
rand($max, $min);
2017-09-07 12:07:01 +02:00
Christoph M. Becker d254a2cbca Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #54598 (bcpowmod() may return 1 if modulus is 1)
2017-09-07 00:44:47 +02:00
Christoph M. Becker d01453b129 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #54598 (bcpowmod() may return 1 if modulus is 1)
2017-09-07 00:38:59 +02:00
Christoph M. Becker f70d14e407 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #44995 (bcpowmod() fails if scale != 0)
2017-09-06 23:48:00 +02:00
Christoph M. Becker 5ce744091c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #44995 (bcpowmod() fails if scale != 0)
2017-09-06 23:41:46 +02:00
Tom Van Looy 69f0dc5085 Fix if ZEND_PRE_INC/DEC_OBJ 2017-09-06 22:37:26 +01:00
Côme Chilliet 28630f7920 Fixed an error in ldap_exop introduced by last commit 2017-09-06 15:05:27 +02:00
Christoph M. Becker 1650882019 Fix proto and indentation 2017-09-06 14:53:27 +02:00
Christoph M. Becker 14b0adba5f Fix arginfo
The `scale` parameter is now optional.
2017-09-06 14:45:02 +02:00
Christoph M. Becker cf61ec64a4 Merge branch 'pull-request/778' into bcscale-return-old-value 2017-09-06 14:28:51 +02:00
Anatol Belski 8e6619445f Fix test portability 2017-09-06 13:05:56 +02:00
Anatol Belski fe78a7cb4f Fix test cleanup 2017-09-06 12:59:10 +02:00
Côme Chilliet 3fdeb27739 Improving a bit code quality in ldap_exop function
Ideas from https://github.com/sgolemon/php-src/commit/5b3f4c2fb9e529880ec74e61f9e27aa41ec7f023
The same can be done for the rest of the code,
 and synchronous/asynchronous version should be merged when implementing
 controls.
2017-09-06 12:56:51 +02:00
Joe Watkins c898349e16 fixes PR #2722, no clue how it broke ... 2017-09-06 11:13:27 +01:00
Matt Piskorz 1534ab3fc2 Add test for curl_mutli_close on non curl multi resource 2017-09-06 10:00:18 +01:00
BohwaZ ed2f6510da Add support for SQLite open flags 2017-09-06 09:56:02 +01:00
Jansen Price fafd67cb71 Add tests for sapi/cli option combinations 2017-09-06 09:54:00 +01:00
shinemotec@gmail.com 9b77615608 fixed mbstring extension compiled broken with archlinux 2017-09-06 09:50:08 +01:00
João Paulo V Martins a82aa48d66 Add tests for setrawcookie function for success scenario 2017-09-06 09:47:11 +01:00
Dmitry Stogov 36ddda17f9 Comments 2017-09-06 11:43:42 +03:00
Nikita Popov dfe030097d Merge branch 'PHP-7.2' 2017-09-05 18:14:21 +02:00
Nikita Popov d78a7909c8 Merge branch 'PHP-7.1' into PHP-7.2 2017-09-05 18:14:16 +02:00
Nikita Popov 166cb444b5 Merge branch 'PHP-7.2' 2017-09-05 17:41:22 +02:00
Nikita Popov dc00b6cf3f Fix assertion failure in SoapFault ctor
Resetting the IAP on a shared array violates COW. I'm replacing this
with code to look up indexes 0 and 1, even though this is not
strictly the same.
2017-09-05 17:38:50 +02:00
Ken Guest 056df0dcb2 Add test for invalid SoapFault parameters 2017-09-05 17:36:01 +02:00
Nikita Popov 002856cd5c Use zpp_throw() in SOAP constructors
These were probably overlooked because they use PHP4 style
constructors :/
2017-09-05 17:18:54 +02:00
Ken Guest 7340466372 Test is_soap_fault() function 2017-09-05 16:44:50 +02:00
Nikita Popov 26572b34e4 Merge branch 'PHP-7.2' 2017-09-05 16:39:41 +02:00
Sammy Kaye Powers a8862d215c Fix a few places where ZPP throw got reverted to ZPP 2017-09-05 16:39:24 +02:00
Nikita Popov 9d554cb85d Merge branch 'PHP-7.2'
[ci skip]
2017-09-05 16:34:09 +02:00
Sammy Kaye Powers f1fd11f4ca Update NEWS that did not get updated in #2442
[ci skip]
2017-09-05 16:33:57 +02:00
Nikita Popov 1ca43597df Merge branch 'PHP-7.2' 2017-09-05 16:25:06 +02:00
Nikita Popov 9fbd8620fb Merge branch 'PHP-7.1' into PHP-7.2 2017-09-05 16:24:40 +02:00
Dmitry Stogov 431ea10fb2 Remove unused temporary variables 2017-09-05 14:46:03 +03:00
Dmitry Stogov 7548789c60 Control transfer opcodes can't be replaced by QM_ASSIGN 2017-09-05 14:45:08 +03:00
Dmitry Stogov 0fba60ba96 Proper replacing of constant call 2017-09-05 13:38:20 +03:00
Dmitry Stogov 39459114ff Replace used constant instructions by QM_ASSIGN 2017-09-05 11:43:33 +03:00
Remi Collet c6fb8a139d Merge branch 'PHP-7.2'
* PHP-7.2:
  UPGRADING
  NEWS
  Fixed bug #75142 buildcheck.sh check for autoconf version needs to be updated for v2.64
2017-09-05 08:20:17 +02:00
Remi Collet 7378967206 UPGRADING 2017-09-05 08:20:04 +02:00
Remi Collet 81ad6a978a NEWS 2017-09-05 08:18:58 +02:00
Remi Collet e967de6bfa Fixed bug #75142 buildcheck.sh check for autoconf version needs to be updated for v2.64 2017-09-05 08:16:33 +02:00
Derick Rethans db6510884c Merge branch 'PHP-7.2' 2017-09-04 22:45:43 +01:00
Derick Rethans c0383b5039 Upgrade timelib to 2017.05beta9 2017-09-04 22:45:34 +01:00
Tom Van Looy da0b5b35c5 Remove redundant checks in ext/gd 2017-09-04 21:30:09 +02:00
Nikita Popov 80881194a1 Merge branch 'PHP-7.2' 2017-09-04 21:24:49 +02:00
Nikita Popov b2824629c2 Merge branch 'PHP-7.1' into PHP-7.2 2017-09-04 21:24:32 +02:00
Dmitry Stogov 6b8f83a54d Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed edge-case in SSA use/def chain construction and type inference.
2017-09-04 21:59:51 +03:00
Dmitry Stogov 384da65a97 Fixed edge-case in SSA use/def chain construction and type inference. 2017-09-04 21:58:24 +03:00
Dmitry Stogov 296d844058 Fix inference (result of ++/-- can't be a reference) 2017-09-04 20:40:42 +03:00
Dmitry Stogov 781e78f210 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed tests
2017-09-04 20:12:38 +03:00
Dmitry Stogov b5935c339e Fixed tests 2017-09-04 20:12:17 +03:00
Remi Collet b662a7b691 Merge branch 'PHP-7.2'
* PHP-7.2:
  NEWS
  Fixed Bug #75149 redefinition of typedefs ttinfo and t1info
2017-09-04 18:38:01 +02:00
Remi Collet 6355e650f7 NEWS 2017-09-04 18:37:45 +02:00
Remi Collet a1bf36778a Fixed Bug #75149 redefinition of typedefs ttinfo and t1info
Minimal fix from upstream
Better name for struct will come later
2017-09-04 18:35:42 +02:00
Dmitry Stogov 7650d904a0 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed incorect constant conditional jump elimination
2017-09-04 19:12:08 +03:00
Dmitry Stogov ea734e2ac2 Fixed incorect constant conditional jump elimination 2017-09-04 19:11:17 +03:00
Dmitry Stogov 1d609a9920 Merge branch 'PHP-7.2'
* PHP-7.2:
2017-09-04 16:50:49 +03:00
Dmitry Stogov 97b3cce755 Merge branch 'PHP-7.2' of git.php.net:php-src into PHP-7.2
* 'PHP-7.2' of git.php.net:php-src:
  improve warn (bzip2 requires libzip >= 1.3.0)
  libzip 1.3.0 supports also bz2 compression
2017-09-04 16:50:44 +03:00
Dmitry Stogov 3c377c9859 Merge branch 'PHP-7.2'
* PHP-7.2:
  Revert "Fixed incorrect optimizaton (update of jump instructions should be also reflected in CFG update)"
2017-09-04 16:50:31 +03:00
Dmitry Stogov eb21300a26 Revert "Fixed incorrect optimizaton (update of jump instructions should be also reflected in CFG update)"
This reverts commit db5b8dbcdf.
2017-09-04 16:50:12 +03:00
Remi Collet 1830e3c43c Merge branch 'PHP-7.2'
* PHP-7.2:
  improve warn (bzip2 requires libzip >= 1.3.0)
2017-09-04 14:47:14 +02:00
Remi Collet 5bbd459609 improve warn (bzip2 requires libzip >= 1.3.0) 2017-09-04 14:47:03 +02:00
Anatol Belski 619b493698 Merge branch 'PHP-7.2'
* PHP-7.2:
  libzip 1.3.0 supports also bz2 compression
2017-09-04 13:28:34 +02:00
Anatol Belski b971087354 libzip 1.3.0 supports also bz2 compression 2017-09-04 13:27:53 +02:00
Dmitry Stogov 85e0e39e32 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed incorrect optimizaton (update of jump instructions should be also reflected in CFG update)
2017-09-04 14:08:35 +03:00
Dmitry Stogov db5b8dbcdf Fixed incorrect optimizaton (update of jump instructions should be also reflected in CFG update) 2017-09-04 14:07:37 +03:00
Dmitry Stogov 4001a0fb9f Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed typo
  Prevent duplicate debug output
2017-09-04 13:02:21 +03:00
Dmitry Stogov ebb00c1e0f Fixed typo 2017-09-04 13:01:30 +03:00
Dmitry Stogov 4f1c2c22ca Prevent duplicate debug output 2017-09-04 12:58:40 +03:00
Anatol Belski 658d8d9760 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix command
2017-09-02 16:59:12 +02:00
Anatol Belski ecc8f3cf16 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix command
2017-09-02 16:58:58 +02:00
Xinchen Hui 4afe5a5cb2 Fixed SCCP rewinding on partial_array|object phi 2017-09-02 21:28:33 +08:00
Xinchen Hui 7c9556db99 Fixed SCCP on PHI(partial_object#1, partial_object#2) 2017-09-02 18:40:26 +08:00
Xinchen Hui 8a7ba133c3 Fixed SCCP on PHI(contant_array, partial_array) 2017-09-02 18:16:40 +08:00
Christoph M. Becker a7358c756a Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75139 (libgd/gd_interpolation.c:1786: suspicious if ?)
2017-09-02 00:21:14 +02:00
Christoph M. Becker b4dc3de5ab Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75139 (libgd/gd_interpolation.c:1786: suspicious if ?)
2017-09-02 00:20:46 +02:00
Dmitry Stogov 59c5d81bab Added skipif.inc 2017-09-01 13:32:26 +03:00
Anatol Belski fcb6e0afe1 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75143 new method setEncryptionName() seems not to exist in ZipArchive
2017-09-01 10:53:50 +02:00
Anatol Belski a6456f0a6c Fixed bug #75143 new method setEncryptionName() seems not to exist in ZipArchive
update NEWS
2017-09-01 10:53:09 +02:00
Anatol Belski 708fb44207 Merge branch 'PHP-7.2'
* PHP-7.2:
  Yet one DLL to ignore
2017-09-01 10:39:10 +02:00
Anatol Belski fb597a8123 Yet one DLL to ignore 2017-09-01 10:37:59 +02:00
Dmitry Stogov becb4d6d59 Remove dead allocations of non-escaping objects 2017-09-01 10:32:20 +03:00
Dmitry Stogov 2c61e5dc38 Objects with constructors escape 2017-09-01 10:31:43 +03:00
Anatol Belski 4cb06b9327 Merge branch 'PHP-7.2'
* PHP-7.2:
  Make for exclusion per regex
2017-08-31 23:58:19 +02:00
Anatol Belski 8191b9790b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Make for exclusion per regex
2017-08-31 23:57:58 +02:00
Anatol Belski d4268e6eb5 Merge branch 'PHP-7.2'
* PHP-7.2:
  Extend ignore list for DLLs to not to look after
2017-08-31 20:56:25 +02:00
Anatol Belski 01171db15d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Extend ignore list for DLLs to not to look after
2017-08-31 20:55:53 +02:00
Anatol Belski 27644c1466 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix `nmake install` fails when there are no shared extensions
2017-08-31 20:34:41 +02:00
Anatol Belski e7c1c86ceb Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix `nmake install` fails when there are no shared extensions
2017-08-31 20:34:03 +02:00
Anatol Belski 1a116169e7 Merge branch 'PHP-7.2'
* PHP-7.2:
  Copy dependencies of the core DLL in `nmake snap` for statically-compiled extensions when packaging builds
2017-08-31 19:49:24 +02:00
Anatol Belski 7ebf2902e7 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Copy dependencies of the core DLL in `nmake snap` for statically-compiled extensions when packaging builds
2017-08-31 19:48:43 +02:00
Dmitry Stogov 2f1c4717d3 Improved check to avoid removing of dead code that may throw exception. 2017-08-31 18:53:28 +03:00
Dmitry Stogov 6cc9e805cd Remove dead construction of non-escaping arrays and objects 2017-08-31 17:17:04 +03:00
Dmitry Stogov 1eb6fd8bc4 Extend SCCP to support properties of non-escaping objects 2017-08-31 13:17:46 +03:00
Dmitry Stogov 2e462e12db Fixed SSA construction for PRE_INC_OBJ and family (these opcodes change the source object) 2017-08-31 13:16:21 +03:00
Remi Collet a8835d05d5 Merge branch 'PHP-7.2'
* PHP-7.2:
  move AC_DEFINE in the right position (in bundled lib conditon)
2017-08-31 07:56:24 +02:00
Remi Collet 1248e0f7f5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  move AC_DEFINE in the right position (in bundled lib conditon)
2017-08-31 07:56:13 +02:00
Jakub Zelenka ce10a987c8 Merge branch 'PHP-7.2' 2017-08-30 17:32:45 +01:00
Jakub Zelenka 1f843a8fb5 Automatically load OpenSSL configuration file 2017-08-30 17:31:17 +01:00
Jakub Zelenka 58df6a3b61 Do not explicitly initialize and clean up OpenSSL for OpenSSL 1.1 2017-08-30 17:29:24 +01:00
Dmitry Stogov d1d523ef50 Support for implicit array/object allocations 2017-08-30 17:41:45 +03:00
Dmitry Stogov 44064529a8 Detect undefined variable usage 2017-08-30 16:02:29 +03:00
Dmitry Stogov a0c76de006 Fixed tests 2017-08-30 15:54:55 +03:00
Dmitry Stogov ce3dbb53a7 Extend SCCP pass with support for elements of non-escaping arrays 2017-08-30 15:31:23 +03:00
Anatol Belski 0cdeb60757 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix symbol name
2017-08-30 01:12:02 +02:00
Anatol Belski 752fc86f2b Fix symbol name 2017-08-30 01:11:19 +02:00
Kalle Sommer Nielsen d3bc8beb4f Removed support for BeOS, development for BeOS was supported 17 years ago.
This patch however does not drop support for the BeOS compatible variant, Haiku, see Github PR #2697 which is currently a WiP

I intentionally left out some fragments for BeOS in the build system for that seems to be bundles
2017-08-29 22:03:56 +02:00
Kalle Sommer Nielsen 63ea681417 Remove this old obsolete TODO file 2017-08-29 21:23:04 +02:00
Frank Denis 7268071728 Merge branch 'PHP-7.2'
* PHP-7.2:
  ext/sodium: the second parameter of sodium_hex2bin() is optional
  ext/sodium: AI_StringRef_And_String -> AI_StringRefAndString for consistency
  ext/sodium: sort functions list
2017-08-29 19:25:58 +02:00
Frank Denis 04c87ea815 ext/sodium: the second parameter of sodium_hex2bin() is optional 2017-08-29 19:25:01 +02:00
Frank Denis b1a7885dd7 ext/sodium: AI_StringRef_And_String -> AI_StringRefAndString for consistency 2017-08-29 19:23:22 +02:00
Frank Denis 6383c6e3d0 ext/sodium: sort functions list 2017-08-29 19:22:17 +02:00
Dmitry Stogov fac553e6a6 Fixed escaping instructions 2017-08-29 15:46:57 +03:00
Remi Collet 88710698b8 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS for 7.2.0RC2
  Update NEWS for PHP 7.2.0RC1
2017-08-29 13:11:28 +02:00
Remi Collet 045d18d246 Update NEWS for 7.2.0RC2 2017-08-29 11:08:14 +00:00
Remi Collet 4f64716f37 Update NEWS for PHP 7.2.0RC1 2017-08-29 10:52:59 +00:00
Dmitry Stogov 08447ebc0f Fixed tests titels 2017-08-29 12:31:38 +03:00
Dmitry Stogov f1fd08c8f1 Added few Optimizer tests 2017-08-29 12:11:34 +03:00
Dmitry Stogov 3b8f9d933f Accurate handling of ZEND_ASSIGN_OBJ 2017-08-29 12:10:47 +03:00
Dmitry Stogov 5155bf1f90 Check for user defined classes 2017-08-29 12:09:49 +03:00
Dmitry Stogov 37adfcce8b Escpaing objects can't have destructors, so their assignment don't make side effects and may be eliminated. 2017-08-29 11:54:00 +03:00
Sara Golemon 1778169008 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix constant references in error messages in ext/sodium
2017-08-28 22:17:39 -04:00
Sammy Kaye Powers 56a999885a Fix constant references in error messages in ext/sodium 2017-08-28 22:16:35 -04:00
Dmitry Stogov ebb339625d Aliased varaibles may escape 2017-08-28 16:56:47 +03:00
Dmitry Stogov fb571f2e7e Make assignment to elements of non-esaping arrays and objects removable by DCE pass. 2017-08-28 14:25:35 +03:00
Dmitry Stogov c890ee9879 Enable escape analysis 2017-08-28 14:25:07 +03:00
Dmitry Stogov 00e4974e2d Include variables with false dependencies into equi escape sets. 2017-08-28 14:19:36 +03:00
Anatol Belski 125f110d85 Merge branch 'PHP-7.2'
* PHP-7.2:
  Move to next bin SDK version for AppVeyor
2017-08-28 13:15:34 +02:00
Anatol Belski c22cda5999 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Move to next bin SDK version for AppVeyor
2017-08-28 13:15:07 +02:00
Christoph M. Becker a06ba4b9d6 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75124 (gdImageGrayScale() may produce colors)
2017-08-27 14:13:55 +02:00
Christoph M. Becker 1aeafb7d4a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75124 (gdImageGrayScale() may produce colors)
2017-08-27 14:07:55 +02:00
Remi Collet 5f4a417537 Merge branch 'PHP-7.2'
* PHP-7.2:
  Improve pkg-config usage - use default path when run using --with-curl=/usr (for debian) - fallback to headers search when libcurl.pc not found - issue warnings for explanation
2017-08-27 07:50:31 +02:00
Remi Collet cc577749a8 Improve pkg-config usage
- use default path when run using --with-curl=/usr (for debian)
- fallback to headers search when libcurl.pc not found
- issue warnings for explanation
2017-08-27 07:48:52 +02:00
Christoph M. Becker bd6630ea8e Merge branch 'PHP-7.2'
* PHP-7.2:
  Update to SQLite 3.20.1
2017-08-26 12:13:55 +02:00
Christoph M. Becker 3a2ad5b2c5 Update to SQLite 3.20.1 2017-08-26 12:13:06 +02:00
Michael Moravec d9d13aba58 Added method DateTime::createFromImmutable() 2017-08-25 22:20:43 +02:00
Nikita Popov 91188a8262 Merge branch 'PHP-7.2' 2017-08-25 22:12:55 +02:00
David Carlier 24c0a17d78 Sync strlcat() implementation
Sync with last version made few days after.
2017-08-25 22:12:23 +02:00
Nikita Popov fc7cfe1c0e Remove superfluous checks of register_internal_class retval 2017-08-25 22:08:59 +02:00
Nikita Popov 1b3111e4f2 Merge branch 'PHP-7.2' 2017-08-25 22:03:28 +02:00
Nikita Popov 3ef8964997 Merge branch 'PHP-7.1' into PHP-7.2 2017-08-25 22:03:23 +02:00
Remi Collet ec44fdae85 Merge branch 'PHP-7.2'
* PHP-7.2:
  NEWS
  Switch from curl-config to pkg-config for curl extension
2017-08-25 17:02:38 +02:00
Remi Collet df7f2a5df3 NEWS 2017-08-25 17:02:24 +02:00
Remi Collet b8c6ce91b2 Switch from curl-config to pkg-config for curl extension
First attemp to fix multiarch support (#74125) for curl
introduce some debian specificity (dpkg command)
so is not suitable for other environmant.

This is mostly related to a broken "curl-config" config on debian
which doesn't provide the correct build options, while pkg-config
works as expected.

This new attemp rely on pkg-config output instead.

Notice: this make pkg-config a hard dependency.
Is there system without pkg-config ?
2017-08-25 17:01:12 +02:00
Christoph M. Becker f81732f113 Merge branch 'pull-request/2710'
* pull-request/2710:
  Test that readline respects open_basedir
2017-08-25 16:14:04 +02:00
Christoph M. Becker 32e8e16304 Merge branch 'pull-request/2707'
* pull-request/2707:
  Fix typo retuns to returns
2017-08-25 15:54:25 +02:00
Anatol Belski 0c85d155ae Merge branch 'PHP-7.2'
* PHP-7.2:
  update libs versions
2017-08-25 11:29:24 +02:00
Anatol Belski bd823a076c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  update libs versions
2017-08-25 11:29:12 +02:00
Ricardo Melo 8fb5bac653 Test that readline respects open_basedir 2017-08-25 00:12:36 +01:00
Anatol Belski a02cbb9cbb Merge branch 'PHP-7.2'
* PHP-7.2:
  Enable PGO for Opcache
2017-08-24 23:41:40 +02:00
Anatol Belski a454e38b7c Enable PGO for Opcache 2017-08-24 23:36:21 +02:00
tbpgr ba83338cbe Fix typo retuns to returns 2017-08-25 01:30:14 +09:00
Anatol Belski b1a8dcc001 Merge branch 'PHP-7.2'
* PHP-7.2:
  Switch to non deprecated PGO options
2017-08-24 17:15:36 +02:00
Anatol Belski 99ca99f079 Switch to non deprecated PGO options 2017-08-24 17:14:24 +02:00
Frank Denis 7c7bb5df38 Merge branch 'PHP-7.2'
* PHP-7.2:
  sodium ext: if it's a length, call it "length"!
2017-08-24 16:18:02 +02:00
Frank Denis 48907e57ff sodium ext: if it's a length, call it "length"! 2017-08-24 16:17:41 +02:00
Frank Denis 7de53336fd Merge branch 'PHP-7.2'
* PHP-7.2:
  sodium ext: add bindings for sodium_pad() and sodium_unpad()
2017-08-24 16:14:27 +02:00
Frank Denis 3691f36913 sodium ext: add bindings for sodium_pad() and sodium_unpad() 2017-08-24 16:12:18 +02:00
Christoph M. Becker cae2e49752 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75111 (Memory disclosure or DoS via crafted .bmp image)
2017-08-24 14:07:50 +02:00
Christoph M. Becker 5cd348c1d6 Fixed bug #75111 (Memory disclosure or DoS via crafted .bmp image)
Crafted BMP images can cause dynamicSeek() to be called with a negative
position which must not be allowed, since dynamicSeek() works like
fseek() in SEEK_SET mode. We solve this by bailing out if `pos` is
negative, and let the image reading fail gracefully.
2017-08-24 14:07:10 +02:00
Frank Denis 0bdff9b891 Merge branch 'PHP-7.2'
* PHP-7.2:
  sodium ext: restore sodium_remove_param_values_from_backtrace() call
  sodium ext: sync sodium_crypto_kdf_derive_from_key() with the standalone ext
2017-08-24 11:01:34 +02:00
Frank Denis cf6f25bd37 sodium ext: restore sodium_remove_param_values_from_backtrace() call 2017-08-24 11:01:08 +02:00
Frank Denis a966d21aa8 sodium ext: sync sodium_crypto_kdf_derive_from_key() with the standalone ext
Use libsodium's native function if available, use correct constant names
in error messages
2017-08-24 10:59:02 +02:00
Frank Denis ab5e3a9b87 Merge branch 'PHP-7.2'
* PHP-7.2:
  sodium ext: Constants were renamed SODIUM_* Adjust error messages accordingly.
2017-08-24 10:51:25 +02:00
Frank Denis 271f0c4f90 sodium ext: Constants were renamed SODIUM_*
Adjust error messages accordingly.
2017-08-24 10:50:34 +02:00
Remi Collet 60bba1ac77 Merge branch 'PHP-7.2'
* PHP-7.2:
  From documentation, only the sign of returned value is relevant
2017-08-24 10:30:22 +02:00
Remi Collet 03361e9aa5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  From documentation, only the sign of returned value is relevant
2017-08-24 10:30:06 +02:00
Kalle Sommer Nielsen ba826f7b7c Jani is not a member of the QA team anymore, and have not been for years 2017-08-24 08:59:52 +02:00
Kalle Sommer Nielsen cf1d42e001 Kill compiler warnings in ext/phar 2017-08-24 02:31:52 +02:00
Kalle Sommer Nielsen 4fbff82c10 Kill compiler warnings in ext/standard 2017-08-24 01:36:14 +02:00
Kalle Sommer Nielsen 2a965bbd00 Kill compiler warnings in ext/xml 2017-08-24 01:09:16 +02:00
Kalle Sommer Nielsen 8e47faabe6 Kill compiler warnings in ext/hash 2017-08-24 01:05:26 +02:00
Kalle Sommer Nielsen 2462d1a77c Kill a compiler warning in ext/mysqlnd 2017-08-24 01:00:33 +02:00
Kalle Sommer Nielsen 7d7be194d3 Kill compiler warnings in ext/com_dotnet 2017-08-24 00:52:48 +02:00
Kalle Sommer Nielsen 672c98a456 Kill a compiler warning 2017-08-24 00:44:29 +02:00
Fabien Potencier cbda84f87c Fixed typo in FPM error message 2017-08-23 22:16:47 +02:00
Thomas Punt d938a769b2 Use ZEND_HASH_APPLY_SHIFT macro instead of hard-coded literal 2017-08-23 22:15:14 +02:00
Sara Golemon 5a2a92f128 Consolidate Valgrind logic into a single var and class 2017-08-23 14:44:36 -04:00
Sara Golemon 121a761174 constify some vars that are never changed once set 2017-08-23 14:08:53 -04:00
Dmitry Stogov 3cb6407e86 Initial implementation of Escape Analysis (disabled yet). 2017-08-22 16:55:03 +03:00
Remi Collet 1fdfcc2bb0 Merge branch 'PHP-7.2'
* PHP-7.2:
  timelib now have a function for this, use it
2017-08-22 12:55:29 +02:00
Remi Collet f4792750a5 timelib now have a function for this, use it 2017-08-22 12:55:13 +02:00
Frank Denis 85fe49cf10 Merge branch 'PHP-7.2'
* PHP-7.2:
  sodium ext: If sodium_init() returns 1, this is fine.
2017-08-22 09:47:51 +02:00
Frank Denis 3fff74aab5 sodium ext: If sodium_init() returns 1, this is fine.
We actually want to do this so that multiple extensions using libsodium
can be loaded simultaneously.
2017-08-22 09:40:38 +02:00
Tianfang Yang f0f6ac6b50 Update NEWS 2017-08-22 01:52:48 -04:00
Tianfang Yang 708349eeac Update NEWS 2017-08-22 01:51:15 -04:00
Tianfang Yang cd692194ca Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Fixed bug #74631 (PDO_PCO with PHP-FPM: OCI environment initialized before PHP-FPM sets it up)
2017-08-22 01:46:36 -04:00
Tianfang Yang d128fdc2dc Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fixed bug #74631 (PDO_PCO with PHP-FPM: OCI environment initialized before PHP-FPM sets it up)
2017-08-22 01:44:20 -04:00
Anatol Belski 1287c205a9 Correct default value in master 2017-08-21 19:38:44 +02:00
Anatol Belski 3351e3b477 Merge branch 'PHP-7.2'
* PHP-7.2:
  Correct default value
2017-08-21 19:38:17 +02:00
Anatol Belski 5b4b19981c Correct default value 2017-08-21 19:37:41 +02:00
Xinchen Hui 191d7cc21a Merge branch 'PHP-7.2'
* PHP-7.2:
  Attempt to fix unstable test
2017-08-21 18:53:12 +08:00
Xinchen Hui ccab684d9f Attempt to fix unstable test 2017-08-21 18:51:03 +08:00
Xinchen Hui 2bcc7c5647 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed type-infer
2017-08-21 16:35:35 +08:00
Xinchen Hui ee26c1efbc Fixed type-infer 2017-08-21 16:35:07 +08:00
Andrea Faulds 80745e6914 Merge branch 'PHP-7.2' 2017-08-19 21:09:54 +01:00
Andrea Faulds 799b52e87f Retroactively correct NEWS omission 2017-08-19 21:09:18 +01:00
Andrea Faulds 80d17cb088 Merge branch 'PHP-7.2' 2017-08-19 20:38:51 +01:00
Andrea Faulds ccb09d2c12 Merge branch 'PHP-7.1' into PHP-7.2 2017-08-19 20:38:02 +01:00
Anatol Belski e33259f310 Use wide char API for the event log 2017-08-19 17:08:43 +02:00
Christoph M. Becker 504bf1110e Merge branch 'pull-request/2695'
* pull-request/2695:
  Replace magic values with constants
2017-08-19 16:10:46 +02:00
Anatol Belski 6f55fe05a2 [ci skip] update NEWS 2017-08-19 16:05:20 +02:00
Jelle van der Waa 8106688575 openssl: add basic openssl_get_cert_locations test
Add a simple test for openssl_get_cert_locations, verifying the returned
array structure.
2017-08-19 15:31:27 +02:00
Thomas Punt a595b0f75b Fix fast ZPP macro definition 2017-08-19 15:24:11 +02:00
Nikita Popov e1f1853dd2 Merge branch 'PHP-7.2' 2017-08-19 15:19:12 +02:00
Sammy Kaye Powers e8f552aeba Remove param values from backtrace in exception thrown from ZPP throw 2017-08-19 15:18:41 +02:00
Sammy Kaye Powers 0591fe2494 Change zend_parse_parameters() to zend_parse_parameters_throw() in ext/sodium 2017-08-19 15:16:45 +02:00
Andreas Treichel e4b9c3744c Replace magic values with constants 2017-08-19 14:28:22 +02:00
Anatol Belski dda70e0106 Follow up on ed9c16ad5def47d1c8ae2787f53dccfac893ce5f
The event log is not line based, passing the message as is here is just
fine. Otherwise we'd create multiple event log items with partial
messages.
2017-08-19 13:51:44 +02:00
Philip Prindeville a1f3a0105d Turn php_syslog() into wrapper for syslog and split lines 2017-08-19 13:51:44 +02:00
Xinchen Hui e7c85fc3e6 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed for RESOURCE too
2017-08-19 18:56:18 +08:00
Xinchen Hui 2e002eaf70 Fixed for RESOURCE too 2017-08-19 18:55:56 +08:00
Xinchen Hui 6b71a12d84 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed RC1 Hanlding
2017-08-19 18:51:34 +08:00
Xinchen Hui 4b6345a3ae Fixed RC1 Hanlding 2017-08-19 18:51:17 +08:00
Xinchen Hui edc398d3eb Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed type-info for ZEND_FETCH_DIIM_UNSET
2017-08-19 18:48:31 +08:00
Xinchen Hui ea0df07398 Fixed type-info for ZEND_FETCH_DIIM_UNSET 2017-08-19 18:48:10 +08:00
Anatol Belski cfdd822c1e Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-08-19 02:41:37 +02:00
Anatol Belski 9b327ff15f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-08-19 02:41:24 +02:00
Anatol Belski b17d9153c9 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix issues with phpt and EXTENSION on windows (BUG 75042)
2017-08-19 02:02:13 +02:00
Anatol Belski 00b97d34c1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix issues with phpt and EXTENSION on windows (BUG 75042)
2017-08-19 02:01:23 +02:00
Anatol Belski fb55ec36e3 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix .pgd name for ts build
2017-08-19 00:32:25 +02:00
Anatol Belski f2ed8c1087 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix .pgd name for ts build
2017-08-19 00:32:11 +02:00
Anatol Belski b6ea3ec2a1 Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
2017-08-18 19:41:27 +02:00
Anatol Belski 07e8cb4205 [ci skip] update NEWS 2017-08-18 19:40:43 +02:00
Anatol Belski 73daf8de52 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix skipifs
  Fix issues with phpt and EXTENSION on windows (BUG 75042)
2017-08-18 17:40:26 +02:00
Anatol Belski f1c664d379 Fix skipifs 2017-08-18 17:38:16 +02:00
John Boehr 59558ffd96 Fix issues with phpt and EXTENSION on windows (BUG 75042)
* Commands are not properly escaped for windows
* Specifying "-n" to check loaded modules causes "Module already loaded"
warning
* Extensions to be loaded need the "php_" prefix on Windows

Bug: https://bugs.php.net/bug.php?id=75042

Add back -n flag to fetch loaded extensions in run-tests.php

Add test for phpt EXTENSIONS directive

Add a second test for bug 75042

Add test to test loading of nonexistent shared module

with the EXTENSIONS phpt block

Pass ini settings when checking loaded extensions
2017-08-18 17:34:48 +02:00
Remi Collet cc0c6b2a27 Merge branch 'PHP-7.2'
* PHP-7.2:
  NEWS
  NEWS
  NEWS
  Fixed bug #75093 OpenSSL support not detected
2017-08-18 14:53:05 +02:00
Remi Collet debbaba93f NEWS 2017-08-18 14:52:58 +02:00
Remi Collet ef96411f60 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  NEWS
  NEWS
  Fixed bug #75093 OpenSSL support not detected
2017-08-18 14:52:43 +02:00
Dmitry Stogov ff90aee590 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75089 (preg_grep() is not reporting PREG_BAD_UTF8_ERROR after first input string)
2017-08-18 14:57:31 +03:00
Dmitry Stogov ef90e37bd1 Fixed bug #75089 (preg_grep() is not reporting PREG_BAD_UTF8_ERROR after first input string) 2017-08-18 14:56:28 +03:00
Anatol Belski 3acfdbb27e Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix phpize exit status
2017-08-18 12:06:28 +02:00
Anatol Belski 6c3c88074c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix phpize exit status
2017-08-18 12:06:19 +02:00
Anatol Belski 86bd6ab72c Merge branch 'PHP-7.2'
* PHP-7.2:
  Add dump env target
2017-08-18 11:10:31 +02:00
Anatol Belski 642983c59a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add dump env target
2017-08-18 11:10:18 +02:00
Anatol Belski 3eaf753e4b Merge branch 'PHP-7.2'
* PHP-7.2:
  bump versions
2017-08-18 11:07:12 +02:00
Anatol Belski 90a2e7c014 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  bump versions
2017-08-18 11:07:04 +02:00
Kalle Sommer Nielsen e147ef1616 Make ext/zend_test report itself as zend-test in `php -m' 2017-08-17 22:15:09 +02:00
Kalle Sommer Nielsen 0ae3b45d25 Fix test location 2017-08-17 22:11:20 +02:00
Kalle Sommer Nielsen 8bcc4eea8b We don't use these makefiles for compiling PHP extensions anymore (PHP4 era) 2017-08-17 22:10:49 +02:00
Kalle Sommer Nielsen c34ba92782 Get rid of all these old package[2].xml files, most of these had no had a release since PHP4, or any release at all in close to 10 years, some even did not have a package registered at pecl
OCI, PDO_OCI and zip are left as they are actively developed and released there
2017-08-17 22:09:29 +02:00
Kalle Sommer Nielsen 1d9b46f362 Implemented FR #74781 (Add the latest PG_DIAG_* const) 2017-08-17 21:04:41 +02:00
Dmitry Stogov e164b3835e Merge branch 'PHP-7.2'
* PHP-7.2:
  More accurate reference counting inference
2017-08-17 20:03:53 +03:00
Dmitry Stogov 3866c1699e More accurate reference counting inference 2017-08-17 20:03:12 +03:00
Xinchen Hui 86f0181467 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed type-infer on ZEND_FETCH_DIM_FUNC_ARG
2017-08-17 21:59:06 +08:00
Xinchen Hui 30fb70dd25 Fixed type-infer on ZEND_FETCH_DIM_FUNC_ARG 2017-08-17 21:57:28 +08:00
Patrick Allaert 21cd57e5f2 EXPECT instead of EXPECTF 2017-08-16 17:05:47 +02:00
Patrick Allaert b34702c774 Fixed: tests not written to pass on Windows 2017-08-16 17:05:47 +02:00
Patrick Allaert 5e83fc4e49 cli_get_process_title() may not be empty before set 2017-08-16 17:05:47 +02:00
Patrick Allaert ce09f485ca Not skipping test on Windows and test against CLI instead 2017-08-16 17:05:47 +02:00
Patrick Allaert 9f16c22ead Added: tests for cli_get_process_title / cli_set_process_title 2017-08-16 17:05:47 +02:00
Derick Rethans 4d876ae623 Merge branch 'PHP-7.2' 2017-08-16 16:00:38 +01:00
Derick Rethans 4e03ebc04a Merge branch 'PHP-7.1' into PHP-7.2 2017-08-16 16:00:20 +01:00
Derick Rethans 5eba966195 Merge branch 'PHP-7.2' 2017-08-16 15:29:03 +01:00
Derick Rethans 43c78b2422 Fixed 32-bit tests as well. 2017-08-16 15:28:50 +01:00
Derick Rethans 5fd6746a03 Merge branch 'PHP-7.2' 2017-08-16 15:21:23 +01:00
Derick Rethans 6f2bc07182 Merge branch 'PHP-7.1' into PHP-7.2 2017-08-16 15:21:02 +01:00
Derick Rethans 03d68cdf52 Merge branch 'PHP-7.2' 2017-08-16 11:15:01 +01:00
Derick Rethans 21493e0824 Merge branch 'PHP-7.1' into PHP-7.2 2017-08-16 11:14:53 +01:00
Derick Rethans 553ac66ef2 Merge branch 'PHP-7.2' 2017-08-16 09:51:43 +01:00
Derick Rethans e92a4891aa Merge branch 'PHP-7.1' into PHP-7.2 2017-08-16 09:51:36 +01:00
Dmitry Stogov dea2416c59 Merge branch 'PHP-7.2'
* PHP-7.2:
  Added few more jump threading optimisation patterns
2017-08-16 09:18:22 +03:00
Dmitry Stogov db2807e4d2 Added few more jump threading optimisation patterns 2017-08-16 09:17:32 +03:00
Remi Collet aabafe9e40 Merge branch 'PHP-7.2'
* PHP-7.2:
  cleanup
2017-08-16 07:46:57 +02:00
Remi Collet 05e75d6aaa Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  cleanup
2017-08-16 07:46:42 +02:00
Derick Rethans 869fccea24 Merge branch 'PHP-7.2' 2017-08-15 20:24:50 +01:00
Derick Rethans decf4c6880 Merge branch 'PHP-7.1' into PHP-7.2 2017-08-15 20:24:44 +01:00
Derick Rethans dff9713195 Merge branch 'PHP-7.2' 2017-08-15 15:07:31 +01:00
Derick Rethans a063d55395 Merge branch 'PHP-7.1' into PHP-7.2 2017-08-15 15:07:24 +01:00
Dmitry Stogov 28fdc1f1c3 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed possible incorrect result of type verification.
2017-08-15 14:47:17 +03:00
Dmitry Stogov b096eacdd1 Fixed possible incorrect result of type verification. 2017-08-15 14:46:18 +03:00
Dmitry Stogov 921554e6d6 Merge branch 'PHP-7.2'
* PHP-7.2:
  Made test 32/64-bit independent
2017-08-15 13:13:50 +03:00
Dmitry Stogov 389ea45b12 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Made test 32/64-bit independent
2017-08-15 13:13:27 +03:00
Dmitry Stogov c395c11d4c Merge branch 'PHP-7.2'
* PHP-7.2:
  Skip 64-bit related test
  Update NEWS for 7.2.0RC1
  Update NEWS for PHP 7.2.0beta3
2017-08-15 13:02:29 +03:00
Dmitry Stogov 1cbe4e009c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Skip 64-bit related test
2017-08-15 13:01:06 +03:00
Remi Collet 3e66ae67a8 Update NEWS for 7.2.0RC1 2017-08-15 08:54:17 +00:00
Remi Collet 6c1c49d1b5 Update NEWS for PHP 7.2.0beta3 2017-08-15 08:39:24 +00:00
Anatol Belski 6148c57a27 Merge branch 'PHP-7.2'
* PHP-7.2:
  move dev to 7.0.24
2017-08-15 09:36:57 +02:00
Anatol Belski 6e3356837d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  move dev to 7.0.24
2017-08-15 09:36:41 +02:00
Xinchen Hui 6e4197a077 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Update NEWS
  Fixed bug #75075 (unpack with X* causes infinity loop)
2017-08-15 12:35:31 +08:00
Xinchen Hui 6b77792dc2 Update NEWS 2017-08-15 12:35:17 +08:00
Xinchen Hui 05de40a651 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fixed bug #75075 (unpack with X* causes infinity loop)
2017-08-15 12:35:10 +08:00
Tianfang Yang b8f20d79e1 Merge branch 'PHP-7.2' 2017-08-14 21:23:05 -04:00
Tianfang Yang 9ec0a2071c Merge branch 'PHP-7.1' into PHP-7.2 2017-08-14 21:22:17 -04:00
Anatol Belski 3395e63d55 Merge branch 'PHP-7.2'
* PHP-7.2:
  Test cleanup improvements, files might be locked in the test process
2017-08-14 14:40:38 +02:00
Anatol Belski 5dc847c53d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Test cleanup improvements, files might be locked in the test process
2017-08-14 14:40:26 +02:00
Anatol Belski fd7aa61f12 Merge branch 'PHP-7.2'
* PHP-7.2:
  fix test cleanup
2017-08-14 12:57:08 +02:00
Anatol Belski 707b2a529e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix test cleanup
2017-08-14 12:56:49 +02:00
Dmitry Stogov f797e00e59 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed removing dead live ranges
2017-08-14 13:55:44 +03:00
Dmitry Stogov df5104bfc9 Fixed removing dead live ranges 2017-08-14 13:54:52 +03:00
Anatol Belski c8960a31fc Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-08-14 12:25:10 +02:00
Anatol Belski 112afb9250 [ci skip] update NEWS 2017-08-14 12:24:51 +02:00
Anatol Belski 2492add033 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
2017-08-14 12:24:20 +02:00
Dmitry Stogov 2929fc8a9b Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed test
2017-08-14 12:37:45 +03:00
Dmitry Stogov 18f567a3b4 Fixed test 2017-08-14 12:37:37 +03:00
Dmitry Stogov f2db305fa4 Merge branch 'PHP-7.2'
* PHP-7.2:
  Order live ranges according to "start" position
2017-08-14 12:21:40 +03:00
Dmitry Stogov a80e462fbd Order live ranges according to "start" position 2017-08-14 12:21:07 +03:00
Dmitry Stogov 51fc0c5638 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed attempt to free invalid structure (result of ROPE_INIT is not a zval)
  Revert "Fixed live_range removing (bug can be triggred by JIT)"
2017-08-14 12:11:46 +03:00
Dmitry Stogov cd6893aed1 Fixed attempt to free invalid structure (result of ROPE_INIT is not a zval) 2017-08-14 12:11:25 +03:00
Dmitry Stogov d6406bbf5f Merge branch 'PHP-7.2' of git.php.net:php-src into PHP-7.2
* 'PHP-7.2' of git.php.net:php-src:
  Revert "Fixed live_range removing (bug can be triggred by JIT)"
2017-08-14 12:00:30 +03:00
Dmitry Stogov 2fab62271a Revert "Fixed live_range removing (bug can be triggred by JIT)"
This reverts commit aecf996510.
2017-08-14 12:00:02 +03:00
Xinchen Hui e0c4c3924d Merge branch 'PHP-7.2'
* PHP-7.2:
  Revert "Fixed live_range removing (bug can be triggred by JIT)"
2017-08-14 16:59:14 +08:00
Xinchen Hui 6445b3a68f Revert "Fixed live_range removing (bug can be triggred by JIT)"
This reverts commit aecf996510.
2017-08-14 16:59:01 +08:00
Tianfang Yang 0c1650b5fb Merge branch 'PHP-7.2' 2017-08-14 00:37:43 -04:00
Tianfang Yang 1135161b4f Merge branch 'PHP-7.1' into PHP-7.2 2017-08-14 00:36:33 -04:00
Anatol Belski beb9295790 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75063
2017-08-14 00:53:33 +02:00
Anatol Belski 0a2a136111 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75063
2017-08-14 00:51:47 +02:00
Christoph M. Becker 9221bd7f32 Merge branch 'pull-request/2670'
* pull-request/2670:
  Change getimagesize() and friends to report image/bmp
2017-08-13 21:22:57 +02:00
Christoph M. Becker a24854cfd3 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #73793 (WDDX uses wrong decimal seperator)
2017-08-13 21:10:37 +02:00
Christoph M. Becker 36eddfc785 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #73793 (WDDX uses wrong decimal seperator)
2017-08-13 21:05:57 +02:00
Christoph M. Becker 1599c6ee38 Merge branch 'PHP-7.2'
* PHP-7.2:
  Skip this test if ext/session is not available
2017-08-13 18:12:37 +02:00
Christoph M. Becker bbf39c550f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Skip this test if ext/session is not available
2017-08-13 18:10:37 +02:00
Nikita Popov ad25d67d73 Merge branch 'PHP-7.2' 2017-08-12 20:34:59 +02:00
Nikita Popov b202587e09 Note deprecation of $errcontext 2017-08-12 20:34:44 +02:00
Nikita Popov 8e12091600 Merge branch 'PHP-7.2' 2017-08-12 13:17:39 +02:00
Nikita Popov a871badf2a Merge branch 'PHP-7.1' into PHP-7.2 2017-08-12 13:17:24 +02:00
Andrea Faulds 29606732af Merge branch 'PHP-7.2' 2017-08-12 01:39:27 +01:00
Andrea Faulds f877b86604 Merge branch 'PHP-7.1' into PHP-7.2 2017-08-12 01:38:46 +01:00
Xinchen Hui a7114cfba8 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Added missing config.x.in files for ext_skel
2017-08-11 22:06:46 +08:00
Xinchen Hui 282ae895b0 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed live_range removing (bug can be triggred by JIT)
2017-08-11 21:57:11 +08:00
Xinchen Hui aecf996510 Fixed live_range removing (bug can be triggred by JIT) 2017-08-11 21:56:30 +08:00
Kalle Sommer Nielsen c5ea173a21 Added missing config.x.in files for ext_skel 2017-08-11 15:42:47 +02:00
Jakub Zelenka 9ae9533b90 Merge branch 'PHP-7.2' 2017-08-10 19:48:19 +01:00
Jakub Zelenka e53dd027c5 Reset utf8_invalid in json scanner 2017-08-10 19:47:58 +01:00
Jakub Zelenka 9891f08786 Merge branch 'PHP-7.2' 2017-08-10 19:40:36 +01:00
Jakub Zelenka f5b4cb7130 Fix possible overflow in json scanner utf8_invalid_count 2017-08-10 19:40:02 +01:00
Xinchen Hui cf8c9fcd72 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed type infer for FUNC_GET_ARGS
2017-08-11 00:34:25 +08:00
Xinchen Hui 4375a6c5cd Fixed type infer for FUNC_GET_ARGS 2017-08-11 00:33:55 +08:00
Xinchen Hui c8efaea1e3 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWs
  Update NEWS
  Fixed bug #75049 (spl_autoload_unregister can't handle spl_autoload_functions results)
2017-08-09 11:30:13 +08:00
Xinchen Hui f7cf839213 Update NEWs 2017-08-09 11:29:54 +08:00
Xinchen Hui e7dd9c781b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fixed bug #75049 (spl_autoload_unregister can't handle spl_autoload_functions results)
2017-08-09 11:29:46 +08:00
Anatol Belski 4804d64fdb Merge branch 'PHP-7.2'
* PHP-7.2:
  Remove mistakingly added line
2017-08-08 19:40:53 +02:00
Anatol Belski 823ca5c697 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Remove mistakingly added line
2017-08-08 19:40:42 +02:00
Anatol Belski cd5365c849 Merge branch 'PHP-7.2'
* PHP-7.2:
  Sync makefile options for phpize
2017-08-08 17:59:59 +02:00
Anatol Belski e62db6309c Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync makefile options for phpize
2017-08-08 17:59:44 +02:00
Frank Denis becd242c78 Merge branch 'PHP-7.2'
* PHP-7.2:
  sodium ext: Use _ietf_ vs _IETF_ consistently
  sodium ext: No need for #ifdef crypto_aead_chacha20poly1305_IETF_
  Sodium ext: Isolate a return statement for consistency
  sodium ext: The default password hashing function is not supposed to be Argon2i
  sodium ext: long -> zend_long
  sodium ext: Add missing "return" statements after zend_throw_exception()
2017-08-08 17:51:08 +02:00
Frank Denis ef0bd7b215 sodium ext: Use _ietf_ vs _IETF_ consistently 2017-08-08 17:50:17 +02:00
Frank Denis 03314e3f69 sodium ext: No need for #ifdef crypto_aead_chacha20poly1305_IETF_
chacha20poly1305_ietf was implemented in libsodium 1.0.4 which is way earlier
than the minimum version we support.
2017-08-08 17:42:38 +02:00
Frank Denis 596a892c5e Sodium ext: Isolate a return statement for consistency 2017-08-08 17:38:13 +02:00
Frank Denis a0d1e0915c sodium ext: The default password hashing function is not supposed to be Argon2i 2017-08-08 17:37:06 +02:00
Frank Denis 631fc3c9c1 sodium ext: long -> zend_long 2017-08-08 17:36:06 +02:00
Frank Denis 3140d40421 sodium ext: Add missing "return" statements after zend_throw_exception() 2017-08-08 17:34:20 +02:00
Darek Slusarczyk c3601eb717 Merge branch 'PHP-7.2' 2017-08-08 16:11:00 +02:00
Darek Slusarczyk abd97b8bcb Merge branch 'PHP-7.1' into PHP-7.2
# Conflicts:
#	ext/json/config.w32
2017-08-08 16:08:19 +02:00
Andrey Hristov 8c3ec4af0f Merge branch 'PHP-7.2' 2017-08-08 14:57:28 +03:00
Andrey Hristov f589e5c791 Add new enum options defined in MySQL 5.7 2017-08-08 14:57:01 +03:00
Xinchen Hui 5c9330bb87 Fixed compiler warning(enumeration value ‘SPL_FS_INFO’ not handled in switch) 2017-08-08 10:11:53 +08:00
Christoph M. Becker 791410ab66 Merge branch 'pull-request/2664'
* pull-request/2664:
  Fix unittest for minimal length in random string
  Add support for webp in imagecreatefromstring
2017-08-08 00:07:59 +02:00
Anatol Belski bb217f781a Merge branch 'PHP-7.2'
* PHP-7.2:
  Unify EOL
2017-08-07 17:05:51 +02:00
Anatol Belski dcd669b4d9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Unify EOL
2017-08-07 17:04:15 +02:00
Anatol Belski ac1513ee4a Merge branch 'PHP-7.2'
* PHP-7.2:
  fix test target for phpize
2017-08-07 16:57:22 +02:00
Anatol Belski d36344e888 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix test target for phpize
2017-08-07 16:45:57 +02:00
Xinchen Hui f18a00b8ce Regenerate by re2c 0.16 2017-08-07 08:43:26 +08:00
Jakub Zelenka 17b39f1216 Merge branch 'PHP-7.2' 2017-08-06 17:22:03 +01:00
Jakub Zelenka 41d7621f48 Fix segfault in json ignoring of invalid UTF8 2017-08-06 17:20:31 +01:00
Xinchen Hui 513b0093c2 Refactor php_url struct to save memory dup in common cases 2017-08-06 17:48:05 +08:00
Xinchen Hui 6546c516dd Optimized ucfirst(Avoid duping string if possible) 2017-08-06 14:56:16 +08:00
Nikita Popov fea7957d08 Optimize mb_chr()
By avoiding an unnecessary copy between a string an zend_string.
2017-08-04 22:38:54 +02:00
Nikita Popov f24db7686e Optimize mb_ord()
Don't perform a full encoding conversion into UCS4-BE, instead only
perform an input conversion into a wchar device.
2017-08-04 22:22:58 +02:00
Nikita Popov 633a471ba0 Store input and output filters in mbfl encodings
For functions like mb_chr() and mb_ord() just looking up the
input/output filter for the encoding dominates the runtime. This
commit stores the input/output filter for an encoding in the
mbfl encoding structure, so it can be looked up directly, rather
than scanning through filter function lists.
2017-08-04 22:22:58 +02:00
Nikita Popov e20fbd43ba Separate mbfl filters into three categories
Input filters, output filters and special filters.
2017-08-04 22:22:58 +02:00
Nikita Popov 840b77c02e Merge branch 'PHP-7.2' 2017-08-04 22:20:11 +02:00
Nikita Popov 6b73b2d6eb Check for empty string in mb_ord() 2017-08-04 22:20:05 +02:00
Côme Chilliet f3f25a8446 Merge branch 'PHP-7.2'
* PHP-7.2:
  Added controls parameters to ldap_exop so that control support can be added later
2017-08-04 18:11:52 +02:00
Côme Chilliet aa0e402acf Added controls parameters to ldap_exop so that control support can be added later 2017-08-04 18:10:49 +02:00
Adam Saponara db96b7c245 Fix #75031: Support append mode in php://temp streams
This patch introduces a distinction between write mode and append
mode in `php://temp` and `php://memory` streams, achieving parity
with C stdio.
2017-08-04 12:43:49 +01:00
Barry O Sullivan a1a949d89c Add test for curl_share_close 2017-08-04 12:41:08 +01:00
Remi Collet b1cf87a4e6 Merge branch 'PHP-7.2'
* PHP-7.2:
  win32 for pdo_sqlite
2017-08-04 13:29:02 +02:00
Remi Collet 17bb8d575a win32 for pdo_sqlite 2017-08-04 13:28:48 +02:00
Remi Collet f6a48dfd9b Merge branch 'PHP-7.2'
* PHP-7.2:
  use AC_DEFINE + win32
2017-08-04 13:22:09 +02:00
Remi Collet bf1c242cf4 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  use AC_DEFINE + win32
2017-08-04 13:21:54 +02:00
Nikita Popov 4e4ec31e2e Merge branch 'PHP-7.2' 2017-08-04 13:02:44 +02:00
Nikita Popov 353f7bf461 Also check for invalid codepoints in mb_ord()
And return false in that case, instead of returning 0x3f...
2017-08-04 13:01:03 +02:00
Nikita Popov 5caf05f6c5 Merge branch 'PHP-7.2' 2017-08-03 22:41:15 +02:00
Nikita Popov e53162a32b Return false on invalid codepoint in mb_chr()
Instead of returning the encoding of the current substitution
character. This allows a robust check for the failure case. The
substitution character (especially the default of "?") is also
a valid output of mb_chr() for a valid input (for "?" that would be
0x3f), so it's a bad choice for an error value.
2017-08-03 22:36:42 +02:00
Nikita Popov 41e9ba6333 Always use Unicode codepoints in mb_ord() and mb_chr()
Previously mb_chr() had two different encoding-dependent behaviors:
 * For "Unicode-encodings" it took a Unicode codepoint and returned
   its encoded representation.
 * Otherwise it returned a big-endian binary encoding of the passed
   integer.

Now the input is always interpreted as a Unicode codepoint. If
a big-endian binary encoding is what you want, you don't need
mbstring to implement that.
2017-08-03 22:14:00 +02:00
Nikita Popov c98714f19e Merge branch 'PHP-7.2' 2017-08-03 21:57:35 +02:00
Nikita Popov fb9bf5b64b Revert/fix substitution character fallback
The introduced checks were not correct in two respects:
 * It was checked whether the source encoding of the string matches
   the internal encoding, while the actually relevant encoding is
   the *target* encoding.
 * Even if the correct encoding is used, the checks are still too
   conservative. Just because something is not a "Unicode-encoding"
   does not mean that it does not map any non-ASCII characters.

I've reverted the added checks and instead adjusted mbfl_convert
to first try to use the provided substitution character and if
that fails, perform the fallback to '?' at that point. This means
that any codepoint mapped in the target encoding should now be
correctly supported and anything else should fall back to '?'.
2017-08-03 21:53:59 +02:00
Nikita Popov 3d948d77d1 Merge branch 'PHP-7.2' 2017-08-03 21:17:26 +02:00
Nikita Popov a8a9e93e9a Revert/fix mb_substitute_character() codepoint checks
The introduced checks did not treat "non-Unicode" encodings correctly,
because they treated the passed integer as encoded in the internal
encoding in that case, while in actuality the substitute character
is always a Unicode codepoint.

Additionally checking the codepoint against the internal encoding
is not correct in any case, because the substitution character must
be mapped in the *target* encoding of the conversion, which does
not necessarily coincide with the internal encoding (the internal
encoding is the default *source* encoding, not *target* encoding).

This reverts the checks back to simple range checks, but in a way
that still resolves #69079: Characters outside the Basic
Multilingual Plane are now accepted and Surrogate Codepoints are
rejected. A distinction between UTF-8 and non-UTF-8 encodings is
not made for surrogate checks (as in the original patch), as
surrogates are always illegal on their own. Specifying a surrogate
as substitution character would only make sense if you could
specify a substitution string with more than one character --
however we do not support that.
2017-08-03 21:12:41 +02:00
Christoph M. Becker 32a6e1c32e Change getimagesize() and friends to report image/bmp
Finally, an official media type for Windows BMP files has been
registered with the IANA, so we change `getimagesize.phpt()` and
related functions to report this media type instead of `image/x-ms-bmp`.
2017-08-03 17:43:07 +02:00
Anatol Belski 25b41c61d2 Merge branch 'PHP-7.2'
* PHP-7.2:
  Increase expected timing on Travis
2017-08-03 15:08:38 +02:00
Anatol Belski 355743600d Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Increase expected timing on Travis
2017-08-03 15:08:05 +02:00
Anatol Belski 3ffa7e5c31 Merge branch 'PHP-7.2'
* PHP-7.2:
  Rework automatic interactive cli activation
2017-08-03 12:22:02 +02:00
Anatol Belski 93c2c56a1b Rework automatic interactive cli activation
There are still systems delivering buggy console info. If a file was
passed, obviously no interaction is meant.
2017-08-03 11:23:50 +02:00
Anatol Belski ec2823fb8c Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
  [ci skip] update NEWS
  update NEWS
2017-08-02 21:52:15 +02:00
Anatol Belski 39f0e810c9 [ci skip] update NEWS 2017-08-02 21:51:35 +02:00
Anatol Belski fbc8596b68 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
  update NEWS
2017-08-02 21:51:01 +02:00
Nikita Popov 60dc329949 Adjust ftp arginfos for optional mode
This was changed in 00cd671233, but
the arginfos were not adjusted.
2017-08-02 20:57:49 +02:00
Andreas Treichel 27c225a5ad Default ftp_append() mode to FTPTYPE_IMAGE
To be consistent with other ftp_*() functions in master.
2017-08-02 20:54:32 +02:00
Nikita Popov 902188e5e3 Merge branch 'PHP-7.2' 2017-08-02 20:53:32 +02:00
Andreas Treichel 29e4d4eee6 Add ftp_append to create a new file or append data to an existing file (RFC959) 2017-08-02 20:52:28 +02:00
Nikita Popov e9b572f920 Merge branch 'PHP-7.2' 2017-08-02 18:50:31 +02:00
Nikita Popov aa925cb0ad Merge branch 'PHP-7.1' into PHP-7.2 2017-08-02 18:50:18 +02:00
Nikita Popov ab9bfa25ab Merge branch 'PHP-7.2' 2017-08-02 18:18:29 +02:00
Nikita Popov 042ff13ca9 Merge branch 'PHP-7.1' into PHP-7.2 2017-08-02 18:18:23 +02:00
Nikita Popov 94fe629992 Merge branch 'PHP-7.2' 2017-08-02 18:11:17 +02:00
Nikita Popov 91240073ea Merge branch 'PHP-7.1' into PHP-7.2 2017-08-02 18:11:12 +02:00
Nikita Popov 7c5abb9209 Merge branch 'PHP-7.2' 2017-08-02 17:54:14 +02:00
Tyson Andre 5097e2ee13 Implement spl_object_id(object $x) : int
spl_object_id is a new function returning the object handle,
as a signed integer.

Discussion for this new function is ongoing on php-internals, see
https://marc.info/?t=143835274500003&r=1&w=2

The object id is unique for the lifetime of the object.
When the object is garbage collected,
different objects may & will have the same object id.

- This is also the case for the string generated by spl_object_hash

It is always possible to cast the object handle to a **signed** zend_long
in php 7.2. _zend_object->handle is always of the type `uint32_t`.
(zend_long is 32 bits on 32 bit builds, 64 bits on 64 bit builds)

As of php 7.0, the object id uniquely identifies the object,
there can't be two objects with the same id but different handlers
(See the implementation of spl_object_hash)

Skip the pointless XORing, as discussed in internals.

- It was intended to avoid exposing in-memory addresses.
- The object handle is not a memory address.
- The output of var_dump() includes the object handle(id)
2017-08-02 17:54:07 +02:00
Anatol Belski a23e303dba Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75002 Null Pointer Dereference in timelib_time_clone
2017-08-02 16:43:10 +02:00
Anatol Belski b4bce59fe9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75002 Null Pointer Dereference in timelib_time_clone
2017-08-02 16:42:20 +02:00
Remi Collet 3dab61c8d4 Merge branch 'PHP-7.2'
* PHP-7.2:
  fix build with old system libsqlite (sqlite3_close_v2 may be missing)
2017-08-02 16:09:42 +02:00
Remi Collet afdf7519d1 fix build with old system libsqlite (sqlite3_close_v2 may be missing) 2017-08-02 16:09:36 +02:00
Remi Collet f4727d447c Merge branch 'PHP-7.2'
* PHP-7.2:
  fix build with old system libsqlite (sqlite3_errstr may be missing)
2017-08-02 14:03:38 +02:00
Remi Collet 5e5895a464 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix build with old system libsqlite (sqlite3_errstr may be missing)
2017-08-02 14:03:23 +02:00
Joe Watkins 8c28ff4287 Merge branch 'PHP-7.2'
* PHP-7.2:
  fixed #endif comments
2017-08-02 08:36:36 +01:00
Joe Watkins 6202c821a9 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fixed #endif comments
2017-08-02 08:35:51 +01:00
Christoph M. Becker 018f033aaf Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
2017-08-02 00:11:40 +02:00
Christoph M. Becker 43e7656241 Update NEWS 2017-08-02 00:11:11 +02:00
Christoph M. Becker e64f47142e Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS for 7.2.0beta3
  Update NEWS for PHP 7.2.0beta2
2017-08-02 00:05:48 +02:00
Sara Golemon 6278f6140f Update NEWS for 7.2.0beta3 2017-08-01 12:50:56 -04:00
Sara Golemon 1b05a2373b Update NEWS for PHP 7.2.0beta2 2017-08-01 12:50:55 -04:00
Christoph M. Becker ae5589080b Merge branch 'PHP-7.2'
* PHP-7.2:
  Update to SQLite 3.20.0
2017-08-01 18:31:43 +02:00
Christoph M. Becker fe107cce45 Update to SQLite 3.20.0 2017-08-01 18:26:14 +02:00
Nikita Popov 9e581a1d4c Merge branch 'PHP-7.2' 2017-08-01 18:10:38 +02:00
Nikita Popov 6c2c7a023d Optimize array_unique()
In SORT_STRING mode, instead of sorting the array, build a hash of
seen elements.
2017-08-01 18:08:38 +02:00
Julien Pauli d8aa438b67 Merge branch 'PHP-7.2'
* PHP-7.2:
  Updated NEWS
  Updated NEWS
  Updated NEWS
  Fix #75015. Crash in SPL destructors
2017-08-01 16:03:09 +02:00
Julien Pauli 5069d52189 Updated NEWS 2017-08-01 16:03:00 +02:00
Julien Pauli 4f06b62781 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Updated NEWS
  Updated NEWS
  Fix #75015. Crash in SPL destructors
2017-08-01 16:02:36 +02:00
Julien Pauli 39fec18c9c Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix use of uninitialised value in uniqid() where more_entropy=0
2017-08-01 14:58:28 +02:00
Julien Pauli ad5222c3a6 Fix use of uninitialised value in uniqid() where more_entropy=0 2017-08-01 14:58:00 +02:00
Anatol Belski 29ab1dc95a Merge branch 'PHP-7.2'
* PHP-7.2:
  Test to cover the change in ce1a0d97
2017-08-01 12:51:56 +02:00
Anatol Belski b8da481a2a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Test to cover the change in ce1a0d97
2017-08-01 12:51:20 +02:00
Anatol Belski f30506c8ff Merge branch 'PHP-7.2'
* PHP-7.2:
  fix test
  fix NULL deref
2017-08-01 12:02:16 +02:00
Anatol Belski 2164e3a0b8 fix test 2017-08-01 11:56:23 +02:00
Anatol Belski ce1a0d971b fix NULL deref 2017-08-01 11:55:32 +02:00
Xinchen Hui 7f69b2b499 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
2017-07-31 11:52:33 +08:00
Xinchen Hui 5856becc2b Update NEWS 2017-07-31 11:52:23 +08:00
Xinchen Hui 3793a1be43 Merge branch 'PHP-7.2'
* PHP-7.2:
  Req #74963 (Improved error message on fetching property of non-object)
2017-07-31 11:51:51 +08:00
Xinchen Hui 9b87b73fec Req #74963 (Improved error message on fetching property of non-object) 2017-07-31 11:51:23 +08:00
Xinchen Hui f12d1e2819 Merge branch 'req74963' of https://github.com/laruence/php-src
* 'req74963' of https://github.com/laruence/php-src:
  Req #74963 (Improved error message on fetching property of non-object)
2017-07-31 11:45:19 +08:00
Xinchen Hui dbd729e86b Req #74963 (Improved error message on fetching property of non-object) 2017-07-31 11:43:14 +08:00
Kalle Sommer Nielsen e6bfbb6c9d Merge branch 'PHP-7.2'
* PHP-7.2:
  Reduce EXIF test image sizes, there is still one large image left that I will look into reducing if possible (bug50845.jpg)
  Lowercase the file extension
2017-07-30 22:01:31 +02:00
Kalle Sommer Nielsen c62e5eb0a9 Reduce EXIF test image sizes, there is still one large image left that I will look into reducing if possible (bug50845.jpg)
The changes in phpts are due to exiftool, I verified that all the images still remain relevant for testing
2017-07-30 21:59:55 +02:00
Kalle Sommer Nielsen 97ff7bbb36 Lowercase the file extension 2017-07-30 21:59:10 +02:00
Kalle Sommer Nielsen a7484beea2 Reduce EXIF test image sizes, there is still one large image left that I will look into reducing if possible (bug50845.jpg)
The changes in phpts are due to exiftool, I verified that all the images still remain relevant for testing
2017-07-30 21:49:02 +02:00
Kalle Sommer Nielsen f6ea75da12 Lowercase the file extension 2017-07-30 21:30:33 +02:00
Anatol Belski b06caa0e5f remove casts 2017-07-30 18:23:34 +02:00
Anatol Belski 64c9b5ae12 Merge branch 'PHP-7.2'
* PHP-7.2:
  remove dup of the binary file, rely on a test runtime copy instead
2017-07-30 17:53:02 +02:00
Anatol Belski 03383119d2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  remove dup of the binary file, rely on a test runtime copy instead
2017-07-30 17:52:36 +02:00
Christoph M. Becker 2868d84c52 Merge branch 'PHP-7.2'
* PHP-7.2:
  Shrink another large image
2017-07-30 16:40:25 +02:00
Christoph M. Becker 4db1e1adf2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Shrink another large image
2017-07-30 16:35:07 +02:00
Frank Denis 92733dd568 Merge branch 'PHP-7.2'
* PHP-7.2:
  sodium ext: skip scrypt if it is not available
  sodium ext: fix tests/pwhash_argon2i description
  sodium ext: check hash length for scrypt
2017-07-30 15:50:48 +02:00
Frank Denis 0c21187363 Merge branch 'PHP-7.2' of git.php.net:php-src into PHP-7.2
* 'PHP-7.2' of git.php.net:php-src:
  Shrink test image
2017-07-30 15:42:24 +02:00
Frank Denis 34df3cdafa sodium ext: skip scrypt if it is not available
scrypt was removed from minimal libsodium builds in version 1.0.13
2017-07-30 15:41:34 +02:00
Christoph M. Becker 8b74c73744 Merge branch 'PHP-7.2'
* PHP-7.2:
  Shrink test image
2017-07-30 15:07:19 +02:00
Frank Denis 650f68c36e sodium ext: fix tests/pwhash_argon2i description 2017-07-30 15:05:21 +02:00
Christoph M. Becker d53b78c6ed Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Shrink test image
2017-07-30 15:01:59 +02:00
Frank Denis 74d7f1d04e sodium ext: check hash length for scrypt 2017-07-30 15:00:03 +02:00
Frank Denis fd8fe7debc Merge branch 'PHP-7.2'
* PHP-7.2:
  sodium ext: no need for #ifdef crypto_aead_chacha20poly1305_IETF_NPUBBYTES
  sodium ext: check that message sizes are safe, to avoid hitting abort() in libsodium
  sodium ext: use unexpand -t 4 --first-only to convert from spaces to tabs
2017-07-30 14:49:16 +02:00
Frank Denis 3f45262aa9 Merge branch 'PHP-7.2' of git.php.net:php-src into PHP-7.2
* 'PHP-7.2' of git.php.net:php-src:
  It's `--SKIPIF--`, not `--SKIP--`
2017-07-30 14:48:44 +02:00
Frank Denis 85895b2e5b sodium ext: no need for #ifdef crypto_aead_chacha20poly1305_IETF_NPUBBYTES
chacha20poly1305_ietf was implemented in libsodium 1.0.4 which is way earlier
than the minimum version we support.
2017-07-30 14:47:49 +02:00
Frank Denis 1d7e1f845f sodium ext: check that message sizes are safe, to avoid hitting abort() in libsodium 2017-07-30 14:45:06 +02:00
Frank Denis ae99959986 sodium ext: use unexpand -t 4 --first-only to convert from spaces to tabs
No actual code changes.

Fun fact: macOS' unexpand(1) tool doesn't work as documented, and always
converts everything to tabs, regardless of the -a switch.
2017-07-30 14:34:55 +02:00
Christoph M. Becker d4c5fd2794 Merge branch 'PHP-7.2'
* PHP-7.2:
  It's `--SKIPIF--`, not `--SKIP--`
2017-07-30 14:09:57 +02:00
Christoph M. Becker 782f45c8e6 It's --SKIPIF--, not --SKIP-- 2017-07-30 14:01:51 +02:00
Christoph M. Becker 3bd6075c93 Merge branch 'PHP-7.2'
* PHP-7.2:
  Skip this test if ext/gd is not available
2017-07-30 13:48:20 +02:00
Christoph M. Becker 71e47c5c13 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Skip this test if ext/gd is not available
2017-07-30 13:37:36 +02:00
Andreas Treichel 5f9be66502 Fix unittest for minimal length in random string 2017-07-30 04:13:07 +02:00
Andreas Treichel 18bbc1bc42 Merge branch 'master' into gd_imagecreatefromstring 2017-07-30 03:09:39 +02:00
Andreas Treichel 47fcd13055 Add support for webp in imagecreatefromstring 2017-07-30 02:50:33 +02:00
Joe Watkins 64b10ef3b1 Merge branch 'pull-request/2661'
* pull-request/2661:
  Fix typo
2017-07-29 18:48:40 +01:00
Frank Denis 37c011abfa Merge branch 'PHP-7.2'
* PHP-7.2:
  sodium ext: let crypto_pwhash() accept an optional algorithm identifier
2017-07-29 13:05:57 +02:00
Frank Denis 613c8dd7b0 sodium ext: let crypto_pwhash() accept an optional algorithm identifier 2017-07-29 13:04:54 +02:00
Zeeshan Ahmed 348b7e0645 Fix typo 2017-07-29 14:44:01 +05:00
Anatol Belski f9c3ee9ae8 fix c89 compat 2017-07-28 22:18:51 +02:00
Anatol Belski 853e73fb8e Reduce struct size, on 64-bit by 8 bytes each
Note, the max modifiable flag value is currently 1<<5, there is still
some space. ATM it looks unlikely, but should more flags need to be
added, the types will need to be reconsidered.
2017-07-28 20:02:26 +02:00
Anatol Belski 095d763f99 remove cast 2017-07-28 15:09:38 +02:00
Anatol Belski 7b34fae703 adjust signature and remove casts 2017-07-28 15:07:09 +02:00
Anatol Belski 0d1eeeb68d move zend_ato*() to size_t and remove casts 2017-07-28 14:59:31 +02:00
Anatol Belski 44bbae99f8 remove cast 2017-07-28 14:59:31 +02:00
Nikita Popov f4a1d9c821 Fixed bug #65544 and #71298 2017-07-28 14:57:08 +02:00
Nikita Popov 25b6e68432 Merge branch 'PHP-7.2' 2017-07-28 13:03:35 +02:00
Nikita Popov 5d777e56e2 Merge branch 'PHP-7.1' into PHP-7.2 2017-07-28 13:03:26 +02:00
Nikita Popov 582a65b06f Implement full case mapping
Implement full case mapping according to SpecialCasing.txt and
also full case folding according to CaseFolding.txt (F). There
are a number of caveats:

* Only language-agnostic and unconditional full case mapping
  is implemented. The only language-agnostic conditional case
  mapping rule relates to Greek sigma in final position
  (Final_Sigma). Correctly handling this requires both arbitrary
  lookahead and lookbehind, which would require some larger
  changes to how the case mapping is implemented. This is a
  possible future extension.
* The only language-specific handling that is implemented is
  for Turkish dotted/undotted Is, if the ISO-8859-9 encoding
  is used. This matches the previous behavior and makes sure
  that no codepoints not supported by the encoding are
  produced. A future extension would be to also handle the
  Turkish mappings specified by SpecialCasing.txt based on
  the mbfl internal language.
* Full case folding is implemented, but case-insensitive mb_*
  operations continue to use simple case folding. The reason is
  that full case folding of the haystack string may change the
  position at which a match occurred. This would have to be
  mapped back into the position in the original string.
* mb_convert_case() exposes both the full and the simple case
  mapping / folding, where full is the default. The constants
  are:

   * MB_CASE_LOWER (used by mb_strtolower)
   * MB_CASE_UPPER (used by mb_strtolower)
   * MB_CASE_TITLE
   * MB_CASE_FOLD
   * MB_CASE_LOWER_SIMPLE
   * MB_CASE_UPPER_SIMPLE
   * MB_CASE_TITLE_SIMPLE
   * MB_CASE_FOLD_SIMPLE (used by case-insensitive operations)
2017-07-28 12:32:50 +02:00
Nikita Popov 9ac7c1e71d Use case-folding for case insensitive comparisons
Instead of using lowercasing.
2017-07-28 12:32:50 +02:00
Nikita Popov 80a0601fe5 Use MPH for case maps
Instead of performing a binary search, use a hashtable to store
the case maps. In particular a minimal perfect hash construction
is used, which does not require collision resolution (but does
use an auxiliary table for the hash perturbation).
2017-07-28 12:32:50 +02:00
Nikita Popov f56b0afe6e Avoid some unnecessary mbfl_strlen() calculations 2017-07-28 12:32:50 +02:00
Nikita Popov eacd70f762 Don't store titlecase if same as uppercase
The totitle code already has a fallback for that case.
2017-07-28 12:32:50 +02:00
Nikita Popov cedfc2f426 Drop implementation-specific character properties
No point in keeping around non-standard character properties if
we're not using them and most are not even being populated.
2017-07-28 12:32:50 +02:00
Kalle Sommer Nielsen a35e39f1f7 ODBC Solid is not supported in our build system on Windows, so remove this #ifdef 2017-07-28 10:34:38 +02:00
Kalle Sommer Nielsen 398be731e6 Removed support for ODBCRouter 2017-07-28 10:31:48 +02:00
Anatol Belski 87192f0fab Merge branch 'PHP-7.2'
* PHP-7.2:
  add missing makefile fragment for .w32
2017-07-28 07:30:23 +02:00
Anatol Belski 80d839d25a add missing makefile fragment for .w32
ensure correct dir
2017-07-28 07:26:11 +02:00
Anatol Belski 2269ae09e4 Merge branch 'PHP-7.2'
* PHP-7.2:
  relax test on travis
2017-07-28 00:28:27 +02:00
Anatol Belski 2ae0dd7f61 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  relax test on travis
2017-07-28 00:28:12 +02:00
Anatol Belski 827284ec36 fix up porting mistakes 2017-07-27 23:38:04 +02:00
Anatol Belski 49d9b3013f Move cwd_state and path related routines to size_t
Having `int` there is no real profit in the size or speed, while unsigned
improves security and overall integration. ZPP supplied strings can
be then accepted directly and structs can be still handled with smaller
unsigned types for size reasons, which is safe. Yet some related places
are to go.

basic move tsrm_realpath_r to size_t

fix conditions and sync with affected places

touch ocurrences of php_sys_readlink usage

follow up on phar path handling

remove duplicated check

move zend_resolve_path and related pieces to size_t

touch yet resolve path related places

remove cast

missing pieces

missing piece

yet cleanups for php_sys_readlink for ssize_t

fix wrong return
2017-07-27 20:11:21 +02:00
Sara Golemon 00bed31d9f Merge branch 'PHP-7.2'
* PHP-7.2:
  Simpler fix for #74974
2017-07-27 10:05:16 -04:00
Sara Golemon 4a6ef8327a Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Simpler fix for #74974
2017-07-27 10:04:59 -04:00
Xinchen Hui a7fe93221d Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed test
2017-07-27 12:50:47 +08:00
Xinchen Hui 262aeb8ae1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed test
2017-07-27 12:50:41 +08:00
Xinchen Hui 452e1461c5 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Fixed bug #74949 (null pointer dereference in _function_string)
2017-07-27 11:25:01 +08:00
Xinchen Hui afc2be8fc8 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fixed bug #74949 (null pointer dereference in _function_string)
2017-07-27 11:24:53 +08:00
Xinchen Hui db17a2b4eb Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
2017-07-27 11:24:38 +08:00
Xinchen Hui f894bb750c Update NEWS 2017-07-27 11:24:26 +08:00
Sara Golemon d615a924b3 Merge branch 'PHP-7.2'
* PHP-7.2:
  Bugfix #74993 Wrong reflection param into for some intl: lookup_*() methods
2017-07-26 18:56:50 -04:00
Sara Golemon 08fef4cc23 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Bugfix #74993 Wrong reflection param into for some intl: lookup_*() methods
2017-07-26 18:56:06 -04:00
Côme Chilliet afef1fe778 Fixed ldap tests when ldap server hash out passwords 2017-07-26 17:34:18 +02:00
Anatol Belski 5b69a35c8c Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-07-26 17:32:38 +02:00
Anatol Belski 57c435e5ac [ci skip] update NEWS 2017-07-26 17:31:57 +02:00
Anatol Belski 2d8fe973b1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-07-26 17:31:10 +02:00
Côme Chilliet d51c4cd64f Fixed test for ldap_set_option server controls with empty array 2017-07-26 17:21:27 +02:00
Anatol Belski 5a6cc172d1 [ci skip] update NEWS 2017-07-26 14:53:21 +02:00
Anatol Belski 6aa9c1911b Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #74833, SID constant created with wrong module number
2017-07-26 13:21:48 +02:00
Anatol Belski 9ff4801159 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #74833, SID constant created with wrong module number
2017-07-26 13:21:20 +02:00
Joe Watkins 3707411d63 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix bug #74991 - include_path has a 4096 char (minus "__DIR__:") limit, in some PHAR cases
2017-07-26 10:48:18 +01:00
Joe Watkins d3060a00d1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #74991 - include_path has a 4096 char (minus "__DIR__:") limit, in some PHAR cases
2017-07-26 10:47:49 +01:00
Christopher Jones d7f922ccb4 Merge branch 'PHP-7.2' 2017-07-26 15:25:16 +10:00
Christopher Jones 787ea0dda5 Update NEWS 2017-07-26 15:25:01 +10:00
Christopher Jones 664eca5967 Merge branch 'PHP-7.1' into PHP-7.2 2017-07-26 15:24:26 +10:00
Xinchen Hui 5910cc071c Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Fixed bug #74980 (Narrowing occurred during type inference)
2017-07-26 12:07:46 +08:00
Xinchen Hui 53e59e4b34 Update NEWS 2017-07-26 12:07:20 +08:00
Xinchen Hui 0e61cddeb1 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #74980 (Narrowing occurred during type inference)
2017-07-26 12:06:55 +08:00
Kalle Sommer Nielsen 36865b3db0 Merge branch 'master' of git.php.net:/php-src 2017-07-25 22:10:53 +02:00
Kalle Sommer Nielsen 069477f2c1 Skip these enchant tests if no dicts or providers are installed 2017-07-25 22:10:34 +02:00
Kalle Sommer Nielsen 73dbca1989 Merge branch 'master' of git.php.net:/php-src 2017-07-25 21:40:27 +02:00
Anatol Belski 98fe82cc05 fix data types 2017-07-25 21:26:25 +02:00
Anatol Belski 13a2629005 size_t fixes 2017-07-25 19:03:33 +02:00
Anatol Belski 572429473d Fix datatypes and warnings
Needs more testing yet.

use size_t

add range check and fix warning

more size_t fixes
2017-07-25 19:03:33 +02:00
Nikita Popov 8ace7045e9 Handle character ranges in ucgendat generically
In particular, the previous implementation did not account for
Tangut Ideographs and CJK Ideograph extensions C through F.
2017-07-25 18:48:12 +02:00
Nikita Popov 0c0e35fedc Port ucgendat to PHP
Implemented such that the output is identical, including some
quirks that should be fixed subsequently.
2017-07-25 18:48:12 +02:00
Nikita Popov 4bd61ec7ad Fix handling of some special ranges in ucgendat
* Han Ideagraphs go up to U+9FEA.
* CJK Compatibility Ideographs are no longer specified as a special
  range in remotely recent versions of Unicode.
* Surrogate properties should be assigned to U+D800-U+DFFF, not to
  U+10000-U+1FFFF.
2017-07-25 18:48:12 +02:00
dreamsxin 072ef62f6e Add warning for change session id when session is active 2017-07-25 09:27:58 +01:00
marcosptf 6347e25c2f add new test to uncoverage SQLite3 method. 2017-07-25 09:12:34 +01:00
Andreas Treichel 00cd671233 Make transfer mode optional, set default to binary 2017-07-25 09:09:12 +01:00
Joe Watkins 5058ba6c22 Merge branch 'PHP-7.2'
* PHP-7.2:
  Remove obsolete function names from CODING_STANDARDS file
2017-07-25 07:04:42 +01:00
Aleš Rebec f469edcf59 Remove obsolete function names from CODING_STANDARDS file
Deprecated and removed function names used as examples in coding standards file.

- Mcrypt is deprecated and will be removed in 7.2
- Mysql functions are deprecated in 5.4 and removed in 7.0.

According to those changes, CODING_STANDARDS file should be updated.
2017-07-25 07:04:23 +01:00
Joe Watkins a5c8070730 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed finding CURL on systems with multiarch support
2017-07-25 06:59:30 +01:00
Joe Watkins 4ddb0630c2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed finding CURL on systems with multiarch support
2017-07-25 06:59:03 +01:00
Joe Watkins 2b5886a885 Merge branch 'PHP-7.2'
* PHP-7.2:
  minor loop optimizations, closes #2633
2017-07-25 06:54:29 +01:00
Joe Watkins 8d5a5fbf6b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  minor loop optimizations, closes #2633
2017-07-25 06:54:20 +01:00
Joe Watkins fa6e740f77 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed #74977 - Appending AppendIterator leads to segfault
2017-07-25 06:40:56 +01:00
Joe Watkins 2e8759428b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed #74977 - Appending AppendIterator leads to segfault
2017-07-25 06:40:25 +01:00
Joe Watkins 5718c6e660 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix ext/sodium display in phpinfo()
2017-07-25 06:35:49 +01:00
Sammy Kaye Powers 66729aeeeb Fix ext/sodium display in phpinfo() 2017-07-25 06:35:40 +01:00
Kalle Sommer Nielsen 3964678d49 Bail on invalid configure args if this is a snapshot build (as suggested by Anatol) 2017-07-24 23:38:09 +02:00
Anatol Belski d6012671a8 Merge branch 'PHP-7.2'
* PHP-7.2:
  switch to binary sdk 2.0.9 for appveyor
2017-07-24 23:09:56 +02:00
Anatol Belski 7453d2303b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  switch to binary sdk 2.0.9 for appveyor
2017-07-24 23:09:20 +02:00
Sara Golemon df97570eea Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix typo in PHP 7.2 changelog
2017-07-24 16:58:21 -04:00
jrfnl f901e7e3c5 Fix typo in PHP 7.2 changelog 2017-07-24 16:57:07 -04:00
Joe Watkins b78e6ab701 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update copyright year to 2017
2017-07-24 17:25:16 +01:00
Joe Watkins 515b396889 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update copyright year to 2017
2017-07-24 17:24:22 +01:00
Anatol Belski 3f3566712e Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
2017-07-24 17:47:00 +02:00
Anatol Belski 0489e85c18 [ci skip] update NEWS 2017-07-24 17:46:31 +02:00
Anatol Belski c3c6ca873b Merge branch 'PHP-7.2'
* PHP-7.2:
  Add test for bug #74903
2017-07-24 17:03:52 +02:00
Anatol Belski cb7e42da25 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Add test for bug #74903
2017-07-24 17:03:24 +02:00
Anatol Belski 64b5be526c Merge branch 'PHP-7.2'
* PHP-7.2:
  Followup on 0ec147d3 for another place
  Ensure binary mode for OpenSSL I/O
2017-07-24 16:38:41 +02:00
Anatol Belski 660b829ccc Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Followup on 0ec147d3 for another place
  Ensure binary mode for OpenSSL I/O
2017-07-24 16:38:05 +02:00
Anatol Belski 81c8c2474e Merge branch 'PHP-7.2'
* PHP-7.2:
  Followup on 0ec147d3 for another place
2017-07-24 16:26:03 +02:00
Anatol Belski b7eb2c0604 Followup on 0ec147d3 for another place
which requires also to move the macros into the header
2017-07-24 16:24:04 +02:00
Anatol Belski f547b3e59e Merge branch 'PHP-7.2'
* PHP-7.2:
  Ensure binary mode for OpenSSL I/O
2017-07-24 15:46:18 +02:00
Anatol Belski 0ec147d301 Ensure binary mode for OpenSSL I/O
Essential for OpenSSL 1.1.0 on Windows, some issues was revealed earlier
and now by openssl_pkcs12_export_to_file_basic.phpt.
2017-07-24 15:43:48 +02:00
Anatol Belski 209ebbd652 Merge branch 'PHP-7.2'
* PHP-7.2:
  Combine conditions for the automatic interactive console activation
2017-07-24 14:52:58 +02:00
Anatol Belski 8a6afbef3f Combine conditions for the automatic interactive console activation
as with bug #74979 it seems to have regressions which were not
present before.
2017-07-24 14:47:32 +02:00
Frank Denis 5d5a3d9ad6 Merge branch 'PHP-7.2'
* PHP-7.2:
  sodium ext: don't reinvent sodium_increment() and sodium_add()
2017-07-24 14:26:47 +02:00
Frank Denis 742895f60c sodium ext: don't reinvent sodium_increment() and sodium_add() 2017-07-24 14:26:05 +02:00
Joe Watkins 581dca4b02 Merge branch 'PHP-7.2'
* PHP-7.2:
  openssl: Add openssl_pkcs12_export_to_file tests
2017-07-24 10:47:12 +01:00
Joe Watkins 52964bbfb2 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  openssl: Add openssl_pkcs12_export_to_file tests
2017-07-24 10:47:02 +01:00
Joe Watkins 39070c0bf8 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix typo in UPGRADING for 7.2
2017-07-24 10:44:30 +01:00
Issei.M f1d7857969 Fix typo in UPGRADING for 7.2 2017-07-24 10:44:19 +01:00
Joe Watkins d6d895c722 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update PHP 5 version to 7 in header comments
2017-07-24 10:43:01 +01:00
Joe Watkins 94e6c72e26 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update PHP 5 version to 7 in header comments
2017-07-24 10:42:48 +01:00
Nikita Popov 445e13b149 Add MBFL_SUBSTR_TO_END mode to mbfl_substr
This takes the substr from the offset to the end of the string.
This avoids pointless searching for the end position and also
saves us a length calculation in the strstr family of functions.
2017-07-23 23:17:12 +02:00
Sara Golemon 0e8346bd16 Merge branch 'PHP-7.2'
* PHP-7.2:
  Add hash_hmac_algos() for filtered is_crypto methods
2017-07-23 15:17:26 -04:00
Sara Golemon a6e4a713ea Add hash_hmac_algos() for filtered is_crypto methods 2017-07-23 15:17:09 -04:00
Nikita Popov bff11c382e Remove more obsolete length checks 2017-07-23 19:09:36 +02:00
Nikita Popov 3c6b2512cb Change layout of case mapping table
Previously the case mapping table was segregated by the type of
the character (upper, lower, title) and always stored the other
two variants (key, other1, other2). Now the table is segregated
by the target type (key, other). As only very few characters have
more than one target this only slightly increases the size of the
table.

The advantage of this layout is that we only need to perform a
single table lookup in the case table. Previously, depending on
the case that was hit, either one lookup in the property table,
or two lookups in the property table and one lookup in the case
table were required.

This changes the layout from libunicode in the OpenLDAP project
-- however, the last commit there was over 10 years ago, so I
don't see value in keeping this in sync.
2017-07-23 18:33:15 +02:00
Anatol Belski 78944bdfc6 remove cast 2017-07-23 17:38:28 +02:00
Anatol Belski 6809be2090 fix warnings and datatype
ident
2017-07-23 17:36:10 +02:00
Anatol Belski 7496bad2ac adjust datatype, used for position handling 2017-07-23 16:37:31 +02:00
Anatol Belski ea83b69883 Adjust datatypes and reorder which saves 8 bytes on 64-bit 2017-07-23 16:37:30 +02:00
Nikita Popov fe8384fdfd Merge branch 'PHP-7.2' 2017-07-23 16:06:25 +02:00
Nikita Popov 706f0cf8a0 Update Unicode data for Unicode 10 2017-07-23 16:05:39 +02:00
Nikita Popov 24cfbfd56f Update ucgendat for more bidi properties
Handle them the same way as others -- by classifying as Other
Neutral.
2017-07-23 16:03:11 +02:00
Nikita Popov 7077c719db Merge branch 'PHP-7.2' 2017-07-23 15:36:25 +02:00
Nikita Popov 077e61fad3 Fixed bug #69267 completely
ucgendat.c was assuming that a title-case character is a character
that has both lower and upper-case variants. However, there are
title-case characters that only have a lower-case variant. Use the
Lt general character proprety to determine where in the case map
the character should be placed instead.
2017-07-23 15:30:17 +02:00
Nikita Popov c0bcd301d3 Another fix for bug #69267
mb_strtoupper() was converting lowercase characters into
titlecase characters, instead of uppercase characters. Luckily
there are only very few characters with a distinct titlecase
representation, so this mostly worked out okay...
2017-07-23 15:07:02 +02:00
Nikita Popov 0e4af9192f Partial fix for bug #69267
This pulls in 60a25c72ba389f53b0621ca250bc99f3b295d43f from the
OpenLDAP project.
2017-07-23 14:47:21 +02:00
Nikita Popov 698132d6f9 Merge branch 'PHP-7.2' 2017-07-23 12:22:09 +02:00
Nikita Popov 88f752a947 Merge branch 'PHP-7.1' into PHP-7.2 2017-07-23 12:21:51 +02:00
Nikita Popov b8ed74ce77 Merge branch 'PHP-7.2' 2017-07-23 11:55:46 +02:00
Nikita Popov 42ff1aa86c Fix overflow checks in mbfl_memory_device
Also prune out some duplicate code and use strlen() and memcpy()
instead of ad-hoc reimplementations. Remove multiplications by
sizeof(unsigned char), which wrongly imply that this can be
anything but 1.
2017-07-23 11:55:43 +02:00
Nikita Popov bd63c0f5b3 Fix bug #73528 2017-07-23 11:55:43 +02:00
Nikita Popov 80463579ce Remove confusing null checks in mb_send_mail
These are required parameters, they cannot be missing.
2017-07-23 11:55:43 +02:00
Nikita Popov 9af5b7f33d Fix use after free in mb_send_mail 2017-07-23 11:55:26 +02:00
Kalle Sommer Nielsen 216d711224 Fix ext_skel's help, the arguments passed are using a space, not an equal sign for values 2017-07-23 11:28:27 +02:00
Anatol Belski e960ba6400 Merge branch 'PHP-7.2'
* PHP-7.2:
  fix skipif
2017-07-23 11:08:49 +02:00
Anatol Belski 47334646db fix skipif 2017-07-23 11:08:11 +02:00
Kalle Sommer Nielsen 753cb8ce7a Change Côme's name to Come, sorry but Visual Studio just butchers everything =( 2017-07-23 10:41:35 +02:00
Kalle Sommer Nielsen f35f45906e Redesigned ext_skel to be written entirely in PHP with no dependencies, this means it will now run on Windows without Cygwin and other nonsense.
It no longer includes a way to generate XML documentation (the PHP documentation utilities already got tools for that in svn under phpdoc/doc-base) and it no longer support function stubs.

$ php ext_skel.php --help
php ext_skel.php --ext=<name> [--experimental] [--author=<name>]
                 [--dir=<path>] [--std] [--onlyunix]
                 [--onlywindows] [--help]

  --ext=<name>          The name of the extension defined as <name>
  --experimental        Passed if this extension is experimental, this creates
                        the EXPERIMENTAL file in the root of the extension
  --author=<name>       Your name, this is used if --header is passed and
                        for the CREDITS file
  --dir=<path>          Path to the directory for where extension should be
                        created. Defaults to the directory of where this script
                        lives
  --std                 If passed, the standard header and vim rules footer used

                        in extensions that is included in the core, will be used

  --onlyunix            Only generate configure scripts for Unix
  --onlywindows         Only generate configure scripts for Windows
  --help                This help

Example usage:
$ php ext_skel.php --ext test --std --experimental
$ php ext_skel.php --ext kalle --author "Kalle Sommer Nielsen"
$ php ext_skel.php --ext phpfi --dir "/home/kalle/dev/" --onlyunix
2017-07-23 10:36:35 +02:00
Kalle Sommer Nielsen b67d6fdb66 Fix line feeds 2017-07-23 10:02:38 +02:00
Kalle Sommer Nielsen 67be32ced9 FAST_ZPP variant of zend_parse_parameters_none(), ZEND_PARSE_PARAMETERS_NONE() 2017-07-23 08:48:06 +02:00
Sara Golemon ad698adddf Merge branch 'PHP-7.2'
* PHP-7.2:
  Use compatability zend_isnan() instead of POSIX isnan()
2017-07-22 21:33:34 -04:00
Sara Golemon 089f4ff885 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Use compatability zend_isnan() instead of POSIX isnan()
2017-07-22 21:33:28 -04:00
Sara Golemon 211a0ddf86 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix compile-time optimization of NAN comparisons
2017-07-22 21:23:35 -04:00
Sara Golemon e23c132940 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix compile-time optimization of NAN comparisons
2017-07-22 21:23:29 -04:00
Anatol Belski 4fbd7ccba2 touch yet more places for datatypes 2017-07-23 00:47:24 +02:00
Anatol Belski 0eea41b6c4 add missing header 2017-07-23 00:23:02 +02:00
Kalle Sommer Nielsen 97a92e673e Merge branch 'master' of git.php.net:/php-src 2017-07-22 23:55:55 +02:00
Kalle Sommer Nielsen a8b6d50da4 --with-mp is only available for VS anyway, so don't make the argument available if it doesn't have any effect 2017-07-22 23:54:15 +02:00
Anatol Belski 61784bcb71 sync libmbfl allocator with the size_t changes 2017-07-22 23:53:00 +02:00
Anatol Belski e0825ec60f Mitigation for ssize_t issue in 22a5f554a8
and some more
2017-07-22 22:34:16 +02:00
Frank Denis 934cfa35f8 Merge branch 'PHP-7.2'
* PHP-7.2:
  sodium ext: require libsodium >= 1.0.8
  sodium ext: define crypto_aead_chacha20poly1305_ietf_KEYBYTES if needed
  sodium ext: remove redundant and obsolete macros
2017-07-22 22:09:21 +02:00
Frank Denis 401188cbf9 sodium ext: require libsodium >= 1.0.8
(but really, 1.0.9 should be the bare minimum)
2017-07-22 22:07:53 +02:00
Frank Denis c499bd12f7 sodium ext: define crypto_aead_chacha20poly1305_ietf_KEYBYTES if needed
Some old libsodium versions didn't had a dedicated constant for the
IETF version of this construction.
2017-07-22 19:57:44 +02:00
Frank Denis c908caf6df sodium ext: remove redundant and obsolete macros 2017-07-22 17:52:11 +02:00
Frank Denis 8a2e747a7b sodium ext: remove redundant and obsolete macros 2017-07-22 17:50:22 +02:00
Nikita Popov c264c24805 Merge branch 'PHP-7.2' 2017-07-22 17:24:49 +02:00
Nikita Popov 4672411ef5 Fix incorrect propagation of ZEND_BOOL in pass 1
BOOL (next to QM_ASSIGN) is one of the opcodes that can assign to
a temporary that is assigned in multiple branches. Pass 1 does
not check for this, so we should not try to handle it at that
point. Block pass and sccp will be able to treat this correctly.
2017-07-22 17:23:50 +02:00
Nikita Popov 6e2d5208f4 Merge branch 'PHP-7.2' 2017-07-22 14:54:47 +02:00
Nikita Popov 96665fbfe0 Fix block removal if there are duplicate successors 2017-07-22 14:53:23 +02:00
Anatol Belski 886cf66f1e Merge branch 'PHP-7.2'
* PHP-7.2:
  [ci skip] update NEWS
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-07-22 14:15:53 +02:00
Anatol Belski 1e9ad4a307 [ci skip] update NEWS 2017-07-22 14:15:32 +02:00
Anatol Belski 3fc52f1dc4 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-07-22 14:14:22 +02:00
Bob Weinand d7c8688b35 Merge branch 'PHP-7.2' 2017-07-22 11:17:05 +02:00
Bob Weinand 76ce874422 Merge branch 'PHP-7.1' into PHP-7.2 2017-07-22 11:16:48 +02:00
Anatol Belski 1513bc32d5 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #74968 PHP crashes when calling mysqli_result::fetch_object with an abstract class
2017-07-22 10:37:11 +02:00
Anatol Belski 14e8f9557b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #74968 PHP crashes when calling mysqli_result::fetch_object with an abstract class
2017-07-22 10:36:58 +02:00
Nikita Popov 75969eee77 Merge branch 'PHP-7.2' 2017-07-21 23:23:55 +02:00
Nikita Popov 3fa76ac54f Merge branch 'PHP-7.1' into PHP-7.2 2017-07-21 23:22:56 +02:00
Kalle Sommer Nielsen 2d15d8792c Merge branch 'master' of git.php.net:/php-src 2017-07-21 22:43:44 +02:00
Kalle Sommer Nielsen 73cc299159 win32/install.txt is no more, just copy INSTALL instead 2017-07-21 22:43:25 +02:00
Anatol Belski 7a8c047c23 Merge branch 'PHP-7.2'
* PHP-7.2:
  remove casts and ensure no out of bounds access
  sodium ext: delete copypasta from sodium_crypto_kdf_derive_from_key()
2017-07-21 22:27:34 +02:00
Anatol Belski 7ec8b8d49f remove casts and ensure no out of bounds access 2017-07-21 22:26:37 +02:00
Kalle Sommer Nielsen 07e8bdd8c2 Free the HMODULE handle after use 2017-07-21 22:24:14 +02:00
Kalle Sommer Nielsen d86a333a43 Free the HMODULE handle after use 2017-07-21 22:22:41 +02:00
Kalle Sommer Nielsen fd29202022 Free the HMODULE handle after use 2017-07-21 22:21:25 +02:00
Kalle Sommer Nielsen b613392003 Test case for bug #64739 2017-07-21 21:55:11 +02:00
Kalle Sommer Nielsen 1e9e7d4dc4 Point to the online documentation for installation of PHP in INSTALL, and remove the almost duplicate win32/install.txt, one place for all docs should be enough 2017-07-21 18:42:57 +02:00
Kalle Sommer Nielsen a2f22b1d2a Don't bail configure on Windows if a configure argument was not found, this mimics that of the Unix build system.
configure --hello-world will now yield the following in the bottom of the configure summary:

WARNING
The following arguments is invalid, and therefore ignored:
 --hello-world
2017-07-21 18:33:42 +02:00
Frank Denis f8ffc9622b sodium ext: delete copypasta from sodium_crypto_kdf_derive_from_key()
/via @fredemmott
2017-07-21 18:25:25 +02:00
Anatol Belski 8ecb5fbb6b Merge branch 'PHP-7.2'
* PHP-7.2:
  sodium ext: use crypto_scalarmult_BYTES for points coordinates
  sodium ext: clear the hash state after we're done hashing
  sodium ext: drop unused code /via @remicollet
2017-07-21 16:13:52 +02:00
Frank Denis 0e2a7fc829 sodium ext: use crypto_scalarmult_BYTES for points coordinates
Just for consistency.
2017-07-21 14:02:33 +02:00
Frank Denis 557029e8e6 sodium ext: clear the hash state after we're done hashing 2017-07-21 14:02:26 +02:00
Frank Denis d8a14e2aad sodium ext: drop unused code
/via @remicollet
2017-07-21 14:02:18 +02:00
Xinchen Hui 61dbb6cd49 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Update NEWS
  Fixed bug #74950 (nullpointer deref in simplexml_element_getDocNamespaces)
2017-07-21 18:18:09 +08:00
Xinchen Hui 735b34c016 Update NEWS 2017-07-21 18:17:54 +08:00
Xinchen Hui 01090e6ced Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fixed bug #74950 (nullpointer deref in simplexml_element_getDocNamespaces)
2017-07-21 18:17:33 +08:00
Anatol Belski 489b023326 Merge branch 'PHP-7.2'
* PHP-7.2:
  Move the define into the header to reduce diff for future upgrade
2017-07-21 11:17:01 +02:00
Anatol Belski 96ad72dc29 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Move the define into the header to reduce diff for future upgrade
2017-07-21 11:16:38 +02:00
Xinchen Hui 484aafb2f3 Merge branch 'PHP-7.2'
* PHP-7.2:
  Update NEWS
  Update NEWS
  Fixed bug #74947 (Segfault in scanner on INF number)
2017-07-21 12:04:40 +08:00
Xinchen Hui 6242230219 Update NEWS 2017-07-21 12:03:17 +08:00
Xinchen Hui 463413db53 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Update NEWS
  Fixed bug #74947 (Segfault in scanner on INF number)

Conflicts:
	Zend/zend_language_scanner.c
2017-07-21 12:02:54 +08:00
Frank Denis a6b529c399 sodium ext: use crypto_scalarmult_BYTES for points coordinates
Just for consistency.
2017-07-20 22:30:58 +02:00
Dmitry Stogov 36259e2593 Merge branch 'PHP-7.2'
* PHP-7.2:
  fixed comments
  Fixed wrong edges_count re-calculation.
2017-07-20 23:29:44 +03:00
Dmitry Stogov 0b2c456312 fixed comments 2017-07-20 23:29:22 +03:00
Dmitry Stogov 1b9d0c8af3 Fixed wrong edges_count re-calculation. 2017-07-20 23:28:05 +03:00
Anatol Belski 1d6bae9992 Merge branch 'PHP-7.2'
* PHP-7.2:
  increment sdk version
2017-07-20 22:08:55 +02:00
Anatol Belski b8eb110cd5 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  increment sdk version
2017-07-20 22:08:39 +02:00
Nikita Popov a319063aae Only write single terminating byte
As far as I could determine this is sufficient. It avoids
reallocating the buffer, if it was perfectly allocated beforehand.
2017-07-20 21:41:52 +02:00
Nikita Popov 1388751f10 Use fast zpp in mb_strlen()
For short strings this function is now sufficiently fast for zpp
to be a bottleneck.
2017-07-20 21:41:52 +02:00
Nikita Popov b3c1d9d111 Directly use encodings instead of no_encoding in libmbfl
In particular strings now store encoding rather than the
no_encoding.

I've also pruned out libmbfl APIs that existed in two forms, one
using no_encoding and the other using encoding. We were not actually
using any of the former.
2017-07-20 21:41:52 +02:00
Anatol Belski 2e75f84414 Merge branch 'PHP-7.2'
* PHP-7.2:
  remove another cygwin instance in AppVeyor run
2017-07-20 20:41:02 +02:00
Anatol Belski 2ec3c67428 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  remove another cygwin instance in AppVeyor run
2017-07-20 20:40:47 +02:00
Frank Denis 2c4010f0fe sodium ext: clear the hash state after we're done hashing 2017-07-20 20:17:52 +02:00
Nikita Popov 22a5f554a8 Temporary fix for windows build
This API should be changed to stop using negative offsets. For now
I'm replacing ssize_t with long.
2017-07-20 18:29:44 +02:00
Nikita Popov 77cb7bd837 Free last_used_encoding_name in RSHUTDOWN
efree() cannot be used in GSHUTDOWN
2017-07-20 18:12:04 +02:00
Côme Chilliet 5e56d050e5 Added ldap_exop_refresh helper for EXOP REFRESH operation on dds overlay
ldap_exop_refresh(resource link, string dn, int ttl)
Returns FALSE on failure, newttl on success
2017-07-20 16:16:59 +02:00
Nikita Popov c098304e17 Reduce number of encoding conversions in case conversion
Don't indirect through UCS4BE, instead directly work on wchars
using a custom filter.

This replaces the pipeline
  utf8 -> wchar -> ucs4be -> wchar -case-> wchar -> ucs4be -> wchar -> utf8
with
  utf8 -> wchar -case-> -> wchar -> utf8
2017-07-20 15:33:24 +02:00
Nikita Popov 17da862b51 Optimize php_unicode_tolower/upper for ASCII 2017-07-20 13:58:40 +02:00
Nikita Popov ba383b8239 Add basic mbstring encoding cache
Store the last used encoding and compare against it. It's quite
likely that an application is going to be using the same encoding
again and again.

The actual mbfl_name2encoding() function could also be optimized
to use a hash lookup rather than a linear scan, but we don't have
a hashtable implmentation in libmbfl...
2017-07-20 13:58:40 +02:00
Nikita Popov 264387e31e Add php_mb_get_no_encoding() helper function 2017-07-20 13:58:40 +02:00
Nikita Popov adaea77593 Switch libmbfl to use size_t
Switch mbfl_string and related structures to use size_t lengths.

Quite likely that I broke some things along the way...
2017-07-20 13:58:40 +02:00
Nikita Popov 79c26d597f Optimize php_unicode_is_lower/upper for ASCII 2017-07-20 13:58:40 +02:00
Côme Chilliet a3b42ea96b Using LDAP_CONTROL_MANAGEDSAIT constant in ldap tests instead of string oid 2017-07-20 12:37:44 +02:00
Joe Watkins 4fa70b0beb Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #74941 - Session fails to start after having headers sent
2017-07-20 07:54:38 +01:00
Sergei Morozov 9b9184a45a Fixed bug #74941 - Session fails to start after having headers sent 2017-07-20 07:52:02 +01:00
Nikita Popov 9c73be898d Directly accept encoding in php_unicode_convert_case()
As a side-effect mb_strtolower() and mb_strtoupper() now correctly
handle a NULL encoding parameter by using the internal encoding.
This is what caused the two test changes.
2017-07-19 23:59:42 +02:00
Nikita Popov 4128746b94 Add php_mb_get_encoding() convenience function 2017-07-19 23:59:42 +02:00
Nikita Popov 4cf22cbb2d Optimize php_unicode_is_prop()
Do not try to extract the properties from a bitmask. Instead make
the function variadic and pass all properties individually.

Also add a php_unicode_is_prop1() function to check only a single
property.
2017-07-19 23:59:42 +02:00
Nikita Popov dead4f0b1b Avoid unnecessary encoding lookups in mbstring
Extract part of php_mb_convert_encoding that does the actual work
and use it whenever we already know the encoding.
2017-07-19 23:59:42 +02:00
Anatol Belski a34e597ea8 Merge branch 'PHP-7.2'
* PHP-7.2:
  fix dir separator in test
2017-07-19 22:42:34 +02:00
Anatol Belski 18595b6fc6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  fix dir separator in test
2017-07-19 22:42:05 +02:00
Sara Golemon 60e62b46fa Merge branch 'PHP-7.2'
* PHP-7.2:
  Do not allow using traits/interfaces/abstract classes as stream wrappers
2017-07-19 14:01:56 -04:00
Sara Golemon bb02f99e71 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Do not allow using traits/interfaces/abstract classes as stream wrappers
  Add oci8_failover.c to config.w32, follow up for commit 1b797f7a
2017-07-19 14:01:18 -04:00
Nikita Popov fd26c5dabc Merge branch 'PHP-7.2' 2017-07-19 19:55:28 +02:00
Emmanuel Dreyfus d25049cc1b Fixed bug #74851: Improve uniqid() performance
uniqid() relies on microsecond-precise system clock to produce an
unique identifier. In order to avoid  using the same value, the
original implementation calls usleep(1) to wait for the next microsecond.

Unfortunately, usleep() specification says "The suspension time may be
longer than requested due to the scheduling of other activity by the
system." Indeed, the pause may as as long as an entire execution slice,
causing a uniqid() call to last more than 10 ms.

This is fixed by replacing the usleep() call by time polling using
gettimeofday() until the microsecond changes. Since the getttimeoday()
system call lasts around a microsecond, only a small time is wasted
calling multiple gettimeofday. On the benefit side, uniqid() performance
in increased 10000 fold without changing its behavior.
2017-07-19 19:54:19 +02:00
Nikita Popov 8c1dc840b5 Remove version checks for MySQL < 5.0 2017-07-19 19:34:14 +02:00
Lior Kaplan 296438bfb9 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add oci8_failover.c to config.w32, follow up for commit 1b797f7a
2017-07-19 17:28:12 +03:00
Dmitry Stogov 235d523ebd Merge branch 'PHP-7.2'
* PHP-7.2:
  Keep resource of enclosing stream, because it may be referenced from other place(s). This fixes valgrind warnings on Zend/tests/type_declarations/scalar_basic.phpt
2017-07-19 17:18:41 +03:00
Dmitry Stogov 6fcc7134f1 Keep resource of enclosing stream, because it may be referenced from other place(s).
This fixes valgrind warnings on Zend/tests/type_declarations/scalar_basic.phpt
2017-07-19 17:16:56 +03:00
Dmitry Stogov 6e0bdf201f Merge branch 'PHP-7.2'
* PHP-7.2:
  Separate the fast-patch
  Convert CONCAT into FAST_CONCAT for non-object operands
2017-07-19 15:43:29 +03:00
Dmitry Stogov 112eda7525 Separate the fast-patch 2017-07-19 15:42:32 +03:00
Dmitry Stogov 3185f8628f Convert CONCAT into FAST_CONCAT for non-object operands 2017-07-19 15:41:46 +03:00
Dmitry Stogov 495ae99f33 Merge branch 'PHP-7.2'
* PHP-7.2:
  Reset globals on startup or restart
2017-07-19 15:36:58 +03:00
Dmitry Stogov 95a1f77b5e Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Reset globals on startup or restart
2017-07-19 15:36:48 +03:00
Dmitry Stogov 518de1e0b8 Merge branch 'PHP-7.2'
* PHP-7.2:
  Remove dead live ranges and FREE instructions
  Remove live ranges
2017-07-19 13:08:22 +03:00
Dmitry Stogov 8447b86eef Remove dead live ranges and FREE instructions 2017-07-19 13:07:33 +03:00
Dmitry Stogov 5274cefb4d Remove live ranges 2017-07-19 13:06:25 +03:00
Kalle Sommer Nielsen a398df3e36 Removed Bird(broken)step support from ODBC 2017-07-19 10:19:32 +02:00
Kalle Sommer Nielsen bfdd22a3de Remove old references to SAPIs and extensions no longer in the core 2017-07-19 09:09:24 +02:00
Nikita Popov 21d5636da8 Merge branch 'PHP-7.2' 2017-07-19 01:06:01 +02:00
Nikita Popov ecb67e59d7 Don't reuse compare_function operands
If the same zval is used for the result and one operand, then the
function thinks it is responsible for freeing the value in case of
a type conversion.
2017-07-19 01:04:36 +02:00
Sara Golemon 3a8fb76573 Add notes for cutting release branches 2017-07-18 18:27:09 -04:00
Nikita Popov 39337a6d80 Merge branch 'PHP-7.2' 2017-07-18 22:25:50 +02:00
Sergei Morozov 5b12b46a19 Fixed bug #74936 - session_*() functions trigger a warning in read mode when the session is active 2017-07-18 22:25:22 +02:00
Nikita Popov f2c623d2b3 Merge branch 'PHP-7.2' 2017-07-18 22:16:38 +02:00
Nikita Popov a624ded4d3 Merge branch 'PHP-7.1' into PHP-7.2 2017-07-18 22:16:33 +02:00
Nikita Popov 95297cae39 Merge branch 'PHP-7.2' 2017-07-18 21:45:46 +02:00
Nikita Popov f9d6cff67e Merge branch 'PHP-7.1' into PHP-7.2 2017-07-18 21:45:41 +02:00
Nikita Popov 15dda5a357 Merge branch 'PHP-7.2' 2017-07-18 21:22:12 +02:00
Nikita Popov 9cd82df0bb Merge branch 'PHP-7.1' into PHP-7.2 2017-07-18 21:21:46 +02:00
Dmitry Stogov f2d4205cfa Merge branch 'PHP-7.2'
* PHP-7.2:
  Remove dead JMP/JMPZ/JMPNZ/JMPZNZ (DCE pass can't remove them)
  Constant evaluation of few more constant functions
  Disabled compile-time constant DOUBLE to STRING evaluation (its result depends on run-time 'precision' setting)
  Update NEWS for 7.2.0beta2
  Update NEWS for PHP 7.2.0beta1
2017-07-18 20:45:21 +03:00
Dmitry Stogov 0903f6bffb Remove dead JMP/JMPZ/JMPNZ/JMPZNZ (DCE pass can't remove them) 2017-07-18 20:43:06 +03:00
Dmitry Stogov 582882ae18 Constant evaluation of few more constant functions 2017-07-18 20:42:40 +03:00
Dmitry Stogov c41d2535b1 Disabled compile-time constant DOUBLE to STRING evaluation (its result depends on run-time 'precision' setting) 2017-07-18 20:41:01 +03:00
Sebastian Bergmann 64a4fa0f07 Leftover from 5230541ef5 2017-07-18 18:14:41 +02:00
Sara Golemon b01448f9a6 Update NEWS for 7.2.0beta2 2017-07-18 16:00:34 +00:00
Sara Golemon 1d184e1851 Update NEWS for PHP 7.2.0beta1 2017-07-18 15:40:26 +00:00
Frank Denis 250102071f sodium ext: drop unused code
/via @remicollet
2017-07-18 16:53:45 +02:00
Sara Golemon 5230541ef5 Prepare for PHP 7.3 2017-07-18 10:45:47 -04:00
Sara Golemon 05ff0c5180 Bump all API numbers in prep for 7.2 fork 2017-07-18 10:45:02 -04:00
Frank Denis 09b15e4f30 sodium ext: implement sodium_crypto_kdf()
Also add zend_parse_parameters_none() statements where appropriate.
2017-07-18 14:42:15 +02:00
Frank Denis 36bd878ec2 Merge remote-tracking branch 'jedisct1/sodium-keygen'
* jedisct1/sodium-keygen:
  sodium ext: remove unused sodium_randombytes_*() prototypes
  sodium ext: add bindings for keygen() functions
  sodium ext: sort prototypes
2017-07-18 12:53:18 +02:00
Anatol Belski 3e33d2c2e6 Merge branch 'PHP-7.1'
* PHP-7.1:
  Exclude ext/ftp from AppVeyor test run
2017-07-18 12:11:17 +02:00
Anatol Belski 807bc620ac Merge branch 'PHP-7.1'
* PHP-7.1:
  move to 7.0.23 for dev
2017-07-18 10:26:51 +02:00
Anatol Belski a39fd99524 fix regression introduced by 0782a7fc63 2017-07-18 00:35:01 +02:00
Dmitry Stogov bb743ca62d Added NEWS entry 2017-07-17 23:21:03 +03:00
Dmitry Stogov f49ee79e95 gc_check_possible_root() may throw exception. 2017-07-17 23:17:16 +03:00
Dmitry Stogov cc04d42055 Merge branch 'master' into unset_cv
* master:
  Constant evaluation of in_array() (support for more cases).
  fix missing var for phpize
  Add support for OpenSSL security level
2017-07-17 23:09:13 +03:00
Dmitry Stogov ff83560ec6 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  fix missing var for phpize
  Add support for OpenSSL security level
2017-07-17 23:08:42 +03:00
Dmitry Stogov 3754272818 Constant evaluation of in_array() (support for more cases). 2017-07-17 23:08:10 +03:00
Anatol Belski bdfc84239b Merge branch 'PHP-7.1'
* PHP-7.1:
  fix missing var for phpize
2017-07-17 19:41:21 +02:00
Jakub Zelenka 26982e36d5 Add support for OpenSSL security level 2017-07-17 17:40:51 +01:00
Dmitry Stogov eb6c7471cb Constant evaluation of in_array() (support for more cases). 2017-07-17 17:27:21 +03:00
Dmitry Stogov 1180d8c801 Separate ISSET_ISEMPTY_CV/UNSET_CV from ISSET_ISEMPTY_VAR/UNSET_VAR 2017-07-17 14:11:50 +03:00
Dmitry Stogov d9d3b2c206 Fixed CFG/SSA construction (avoid multiple identical predecessors) 2017-07-17 13:35:47 +03:00
Dmitry Stogov 5b0e6248e6 Removed vim mode lines. zend_vm_opcodes.h loses these lines after regeneration. Lines in zend_vm_def.h lead to insertion inthe middle of zend_vm_execute.h. 2017-07-17 11:00:46 +03:00
Dmitry Stogov b31e77dbea Allocate additional slot for third argument 2017-07-17 09:11:14 +03:00
Anatol Belski 6e4f3d1967 fix new password related pieces wrt failing tests 2017-07-17 08:01:26 +02:00
Peter Kokot 9780d16376 Fixed bug #74906 redirecting incorrect include <sys/errno.h> 2017-07-17 06:56:59 +01:00
Joe Watkins 876941cae2 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74906 redirecting incorrect include <sys/errno.h>
2017-07-17 06:55:28 +01:00
Joe Watkins 8c238c15bc Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug 74913 redirecting incorrect include <sys/poll.h>
2017-07-17 06:52:43 +01:00
Anatol Belski ea51bcd1fa fix typo 2017-07-17 07:01:07 +02:00
Anatol Belski 36c3d71407 fix missing var for phpize 2017-07-17 06:54:47 +02:00
Sara Golemon e93f089d6a Refactor password_hash()
Pull salt generation out to a helper.
Merge options/hash into single switch.
Restore php_error->php_error_docref from last diff. (Error messages matter)
2017-07-16 17:37:45 -04:00
Sara Golemon 7165e28738 Refactor password.c
Use zend_string instread of char*/size_t
Clean up use of scope vars
Get rid of some temporaries/overstacked expressions.
2017-07-16 17:02:39 -04:00
Sara Golemon 3de82a0349 Provide zend_string wrappers for php_base64_(en|de)code
Also pull existing php_base64_decode() proxy out to an inline.
Bump PHP_API_VERSION for ABI change.
2017-07-16 17:01:20 -04:00
Jakub Zelenka 90ae2aec8c Make functions in openssl.c more consistent
Improve naming, CS and add some static defs
2017-07-16 18:38:17 +01:00
Jakub Zelenka 5381ff757d Make consitent naming and improve CS in xp_ssl 2017-07-16 17:57:43 +01:00
Jakub Zelenka c08dba3431 Allow setting SNI cert and pk in separate files 2017-07-16 16:15:43 +01:00
Jakub Zelenka 18180bb161 Bump PHP_JSON_VERSION to 1.6.0 2017-07-16 15:53:02 +01:00
Jakub Zelenka 0f047f60f0 [ci skip] Remove CSV leftovers from json code - $Id$ 2017-07-16 15:51:39 +01:00
Jakub Zelenka 9c58822653 Introduce internal php_json_encode_ex to allow extensions setting depth 2017-07-16 15:47:23 +01:00
Jakub Zelenka 0d0f7cde8c Add JSON_INVALID_UTF8_SUBSTITUTE and JSON_INVALID_UTF8_IGNORE
It implements request #65082 and adds options for replacing resp.
ignoring invalid UTF-8 sequences for json_encode and json_decode.
2017-07-16 12:35:24 +01:00
Anatol Belski f6a4491662 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add test for bug #74923
2017-07-15 11:31:45 +02:00
Anatol Belski d6bcfcd9eb update NEWS 2017-07-14 21:08:36 +02:00
Anatol Belski 705c151cd8 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2017-07-14 21:08:16 +02:00
Sebastian Bergmann 674b11d10e Tweak 2017-07-14 13:43:21 +02:00
Dmitry Stogov 2a286ad599 Added goblal optimisation passes based on data flow analyses using SSA form:
SCCP - Sparse Conditional Constant Propagation, DCE - Dead Code Elimination
and removing of unused local variablesi.

Squashed commit of the following:

commit bf5ac05fc0f5f6ab9c7f2e4eaa83a11c84f471d3
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 14:26:40 2017 +0300

    Added news entry

commit 4cfa6984b1f3cd8008a0c0dc82ee3de2da02bf7c
Merge: 1cdaaac 1f261d7
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 13:30:50 2017 +0300

    Merge branch 'sccp' into dce

    * sccp:
      Bump OCI8 version for recent patch
      WS
      Fix test title
      Ensure that the stream position is kept between reads
      Turn off EXIF_DEBUG so Travis don't complain at me
      Don't add a new line to undefined tags in EXIF_DEBUG mode
      Fix compile error with EXIF_DEBUG
      update NEWS
      disable --with-pcre-valgrind on travis
      fix default args for --with-pcre-valgrind
      Enable valgrind support for PCRE by default in debug builds
      add oniguruma.patch to ease future upgrades
      SIZEOF_SIZE_T doesn't exist on AIX and POWER8 (ppc64le), keep using SIZEOF_LONG

commit 1f261d77cb1cb966335097f364ace9349269c704
Merge: a32a3fb b280ba8
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 13:30:39 2017 +0300

    Merge branch 'master' into sccp

    * master:
      Bump OCI8 version for recent patch
      WS
      Fix test title
      Ensure that the stream position is kept between reads
      Turn off EXIF_DEBUG so Travis don't complain at me
      Don't add a new line to undefined tags in EXIF_DEBUG mode
      Fix compile error with EXIF_DEBUG
      update NEWS
      disable --with-pcre-valgrind on travis
      fix default args for --with-pcre-valgrind
      Enable valgrind support for PCRE by default in debug builds
      add oniguruma.patch to ease future upgrades
      SIZEOF_SIZE_T doesn't exist on AIX and POWER8 (ppc64le), keep using SIZEOF_LONG

commit 1cdaaac601cff37fa729f3e6b31dc584782a1649
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 13:27:12 2017 +0300

    Use generic evalution mechanism for constant functions

commit 75bd92a60928818358686410deec24a48e05d6da
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 12:39:05 2017 +0300

    Fixed use-def chain unlinking for "$a = 1; $a += $a;"

commit 7d7746814dc382e468f9016d90c069b88b8b0f0d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 12:38:29 2017 +0300

    Enable duplicate predecessors verification

commit 6b1667f2062d7c1b55e389b03b155cbe132f5dbf
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:55:20 2017 +0300

    Removed duplicate definitions

commit 1415b53014bf5aa1521b779debea6847db8c7940
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:51:29 2017 +0300

    Enable evaluation of constant functions with 3 arguments

commit ab367deef99f39dee15c6bbac45cb25eb9d29e00
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:45:13 2017 +0300

    Removed deprecated check

commit c51659ea8c62e4e8fbf32a0567d4f541807d6b6d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:40:42 2017 +0300

    Reduce limit

commit b1be5a04d783eb160a71fe26e030386b3e2771ba
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:38:23 2017 +0300

    Disable constant array_flip() evaluation

commit 7a5b0596a149a2efc5893ea83be78ef9129009cb
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:33:20 2017 +0300

    Fixed comments

commit 377e48b3426f9ccbcd6207acbbed87b9fdbf549d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:28:50 2017 +0300

    Cast of string to long/double can not produce exception

commit 228dd01af3bf6daefbd7d5be82938dec8b55b6a0
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:24:50 2017 +0300

    Added missed return

commit 0972a2163643757e7e270b8e1c466800aedf1308
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:22:36 2017 +0300

    objects may be nested in array operands

commit bd346bfa5c4c58896fabd9ab2e4d9bb85b3c1402
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:19:20 2017 +0300

    ~$resource is unsupported.

commit c77e45610c22e29b5f4ad7234e38a1f4e2498937
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:15:39 2017 +0300

    ws

commit 0b64d71109fddfec736c91546b6df978adb1f4fd
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:14:40 2017 +0300

    Call to zend_ssa_unlink_use_chain() shouldn't be dropped

commit cb7059fcf6e51616c08d5b8a933401a94ae0b6e0
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:11:58 2017 +0300

    Safer check for function name. The previous check is incorrect in ZTS build.

commit 7280aba1e125fc314284d7ef1252e14d04c415a4
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 11:02:10 2017 +0300

    Missing warning

commit 54bc7b576cee33037b7e575c013e3ede726647a2
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 14 10:56:42 2017 +0300

    Proper check for successors count

commit ea8c004a155453b4e15684e2bd1bdb1dc99e8833
Merge: 624f76d a32a3fb
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 13 15:56:26 2017 +0300

    Merge branch 'sccp' into dce

    * sccp:
      fix fold
      Fixed bug #74866 extension_dir = "./ext" now use current directory for base
      add next vc15 toolset to the list
      Revert "Enable whole program optimization for builds without PGO, too"
      extend comment
      cleanup discontinued target

commit a32a3fb67cd03b9cdab8cd15f133ef55e717408d
Merge: 2722dbf 5fb2abd
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 13 15:56:14 2017 +0300

    Merge branch 'master' into sccp

    * master:
      fix fold
      Fixed bug #74866 extension_dir = "./ext" now use current directory for base
      add next vc15 toolset to the list
      Revert "Enable whole program optimization for builds without PGO, too"
      extend comment
      cleanup discontinued target

commit 624f76df48db42f616bdfd02e9b26515a97c68e2
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 13 12:30:27 2017 +0300

    Set RETURN_VALUE_UNUSED instead of additional FREE opcode, if possible.
    Keep alive dead instructions that have to free two temporary variables.

commit 94c9b26695702e863ebeb40fa3cce5f5f2db7744
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 13 11:51:14 2017 +0300

    More accurate "vararg" handling in DCE

commit 665ed8491ca07cd6d3363abf42c5777e132a3da1
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 13 09:31:45 2017 +0300

    Improved DCE performance, by avoiding redundand checks and repeatable iterations.

commit 3f42ce18ba4420aabb9b07b838096cce340d06b7
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 23:03:11 2017 +0300

    Added few more instructions without side effects and exceptions

commit b17178f991c095d9137c1536b53b933208e575bf
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 20:39:02 2017 +0300

    Temprary enable SSA validation in DEBUG build

commit e238a8dc79debcf2f833e07323f975173aec6205
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 20:37:53 2017 +0300

    Inegrate SSA validation developed by Nikita

commit a247cee80b47ca335162e8bd46d06274f8af5a4d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 20:31:27 2017 +0300

    Perform DCE pass before other DFA optimisations, to properly reconstruct "no value" use-def chains.

commit a651564f299e3b413af1146149de0d7eec0dfb28
Merge: 06f6eb0 2722dbf
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 18:55:05 2017 +0300

    Merge branch 'sccp' into dce

    * sccp:
      Resources should be closed during object destructioin, not during freeing.
      Guard against AppVeyor losing deps issue
      increase poll timeout as false positives mitigation
      Value of EG(user_exception_handler) should't relive request boundary
      sodium ext: remove function names before exception messages
      sodium ext: update the crypto_kx_*() API to the libsodium one
      Revert "fix macro redifinitions"

commit 2722dbfdf54702c8b429ed792e96f91219031eb6
Merge: 6595ea3 09d3b73
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 18:54:48 2017 +0300

    Merge branch 'master' into sccp

    * master:
      Resources should be closed during object destructioin, not during freeing.
      Guard against AppVeyor losing deps issue
      increase poll timeout as false positives mitigation
      Value of EG(user_exception_handler) should't relive request boundary
      sodium ext: remove function names before exception messages
      sodium ext: update the crypto_kx_*() API to the libsodium one
      Revert "fix macro redifinitions"

commit 06f6eb0e6877d8b26c621f5627587539ebcc781f
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 14:52:28 2017 +0300

    Use zend_ssa_is_no_val_use() instead of zend_has_improper_op1_use()

commit 4b64dbb30d519be359c44ad4f3802e93a7f5fa65
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 13:07:14 2017 +0300

    Check if instruction may throw exception only for instructions without known side effects.
    Always disable removing ASSIGN and UNSET_VAR that may throw.

commit c5aa1f47cd16290c77fb988504dc0dd8bad242a3
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 11:21:07 2017 +0300

    Use existing bit

commit c2af153baea6e05401f78a856a8ae436e5f37bf9
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 11:10:48 2017 +0300

    Updated Windows build

commit de5e8fc12971e55c81b0768daa96adcd6074038e
Merge: 8c0de53 6595ea3
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 11:10:12 2017 +0300

    Merge branch 'sccp' into dce

    * sccp: (29 commits)
      Use existing bit
      Updated Windows build
      Fixed compilation error
      Remove debug code
      We need to check for the length here too, or we crash and no one likes that! :(
      * Implemented #65187 (exif_read_data/thumbnail: add support for stream resource) * ext/exif now uses FAST_ZPP
      Remove extraneous configure flag
      Revert "remove excessive checks and fix warnings"
      parametrize zip names
      Upgrade bundled PCRE to 8.41
      Updated NEWS file with LDAP changes
      Fixed removing all controls by passing an empty array to ldap_set_option
      Filled in NEWS file with ext/ldap last modifications
      change order, allow to build as shared extension
      restore file deleted by mistake in a merge commit
      Fix segfault in php_stream_context_get_option call
      remove excessive checks and fix warnings
      fix macro redifinitions
      fix symbol availability and ws
      Remove this for now, as not found
      ...

commit 6595ea3420b686d1bfe49fbd5893b6a42115c60b
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 10:27:02 2017 +0300

    Use existing bit

commit f0bfd36cb822dbbe28df827a53a2ed96aa61051f
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 10:21:22 2017 +0300

    Updated Windows build

commit a9bd7c89f28cf99933a4d3d026a6da5f5e3ca0f7
Merge: d1eb5ed 2b7d3fb
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 12 09:51:32 2017 +0300

    Merge branch 'master' into sccp

    * master: (27 commits)
      Fixed compilation error
      Remove debug code
      We need to check for the length here too, or we crash and no one likes that! :(
      * Implemented #65187 (exif_read_data/thumbnail: add support for stream resource) * ext/exif now uses FAST_ZPP
      Remove extraneous configure flag
      Revert "remove excessive checks and fix warnings"
      parametrize zip names
      Upgrade bundled PCRE to 8.41
      Updated NEWS file with LDAP changes
      Fixed removing all controls by passing an empty array to ldap_set_option
      Filled in NEWS file with ext/ldap last modifications
      change order, allow to build as shared extension
      restore file deleted by mistake in a merge commit
      Fix segfault in php_stream_context_get_option call
      remove excessive checks and fix warnings
      fix macro redifinitions
      fix symbol availability and ws
      Remove this for now, as not found
      fix authors
      NEWS for Sodium
      ...

commit 8c0de53e5f599c83fa03c78931527ab4ff14cf93
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 11 21:54:36 2017 +0300

    Initial integration of Dead Code Elimination (DCE) and unused variable removing passes, originally developed in https://github.com/nikic/php-src/tree/opt, into DFA optimization pass.

commit d1eb5ede3a2b9a0bf57e06783f7913a6383f5d6d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 11 12:19:11 2017 +0300

    Proper SSA reconstruction for "$a = $a;"

commit 4872d139b55c22c2325459dba0ee557c708567b5
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 11 11:57:33 2017 +0300

    Replace conditions, that should be always true, by ZEND_ASSERT()

commit 9915b1f5cd2bdd92d0cc5e90244a90fbef06740b
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 11 11:56:51 2017 +0300

    Fixed pass name

commit d26ff1b88d3b3b1e8742f2e7812ae5e2531958a6
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 11 11:55:47 2017 +0300

    Don't create identical predecessors

commit 0625fbe32bd66b7bcca29e65b131f0cfccd3e074
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 11 09:36:07 2017 +0300

    Update unreachable blocks.

commit 9d7d409e6abda5c2e13458f01b8133095fb68531
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 11 09:28:49 2017 +0300

    Keep consistent cfg.map[]

commit 85a86e58b220eaf2012f652b97fbeb2d2f85646d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 11 02:36:14 2017 +0300

    Remove unusded phi

commit d5e0f2df4c76656bbe5973e69e12e1b7415de5ee
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Jul 11 02:35:00 2017 +0300

    Don't clear phi->spources[] too early.

commit a90ed34295a0bab09c00bb7001a368a858a38399
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 21:29:39 2017 +0300

    Make SCCP to remove dead live ranges.

commit 320237f3d84b872dfa096b9a604ae4d5b4d28c8e
Merge: 63bbed5 7be2637
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 17:35:21 2017 +0300

    Merge branch 'master' into sccp

    * master:
      Fixed memory leak introduced by 7cb5bdf64a
      eliminate casts
      remove checks for eol dependencies
      improve test
      Small fix in ext/ldap, Moved vars definitions to the beginning of the block using them
      ZipArchive implements countable, added ZipArchive::count() method

commit 63bbed5e71432d14217b591de511f09937a3c00c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 17:01:15 2017 +0300

    Evaluation of few more constant functions

commit 07f45d8a3dbfa67bc28c9ef4bb14c753816f4e44
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 16:22:47 2017 +0300

    Properly unlinking dead blocks from predecessors/successors and dominators

commit 502002aa6e11452ed27829f7e29604b27fc69ad2
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 13:33:14 2017 +0300

    Replacel constant JMPZ/NZ/ZNZ by JMP or NOP

commit 3253e61b66b3aa324115ec57ff1cb271ca27dc14
Merge: e7f69f0 161c378
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 12:22:39 2017 +0300

    Merge branch 'master' into sccp

    * master:
      Revert "Fixed bug #74878"
      Upgrading note for #74837
      Fixed bug #74837 - NEWS
      Implement Countable for DomNodeList and DOMNamedNodeMap (Request #74837)
      Fix #49649 - Handle property visibility changes on unserialization

commit e7f69f07fc649692218d01dab34b8f8555a6f88c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 12:15:08 2017 +0300

    Prevent compile-time evaluation of implode() with arguments causing run-time warnings

commit 0e882f189a01b6ee648420776fb473c1efd22380
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 11:54:04 2017 +0300

    Constant evaluation of ini_get() for some safe cases

commit 9e36a748b28850bd15ac621879e1d28ed8e36169
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 11:13:37 2017 +0300

    Constant evaluation of implode()

commit e73046e266617ae23caa7f40344fc6e8e41e3c56
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 10:51:23 2017 +0300

    Fixed uninitialized value

commit f5e2e8e68cc46cfc1380d000672d01b243ad7f59
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 10:05:37 2017 +0300

    Remove (compact) unused constants after SCCP pass

commit f0b7bb86ebe93373a02ef36029f76239ba9ec1d4
Merge: e69d4f6 cfacf84
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Jul 10 09:10:00 2017 +0300

    Merge branch 'master' into sccp

    * master: (37 commits)
      #73594 tests only check the extra params if dns_get_record is successful
      Fixed bug #74852 (property_exists returns true on unknown DateInterval property)
      fix uninitialized var
      fix comparison warning
      comply with POSIX signature
      fix warning
      remove some casts
      cleanup casts
      remove useless cast
      eliminate casts
      sync vim mode lines in main
      [ci skip] update NEWS
      [ci skip] update NEWS
      [ci skip] update NEWS
      Fixed bug #74883 SQLite3::__construct() produces "out of memory" exception with invalid flags
      Silent compiler warning
      Fix test
      Deprecated the read_exif_data() alias
      Add myself as exif maintainer
      update libs versions
      ...

commit e69d4f61409c473ae36d85c3779ad5f786fecdc0
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 7 12:51:41 2017 +0300

    Avoid in-place modification of referenced data

commit 58f7c17978dec7b5fe6fe80b4efc55e2168bab61
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 7 12:33:24 2017 +0300

    Use arena for temporary data.

commit 93d3e7ddc22f1bc7323abae2256b0b50bc1f8b29
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 7 11:54:47 2017 +0300

    Made sccp_ctx to be an "extension" of scdf_ctx and remove duplicate data.

commit f810c6f7c47b03412c61878b761e1bb687fbcf28
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 7 11:20:48 2017 +0300

    Improved SSCP integration

commit d17ed887f304af0f6ccba76a3dbfca888867ea01
Merge: d90805a 29653da
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Jul 7 10:22:37 2017 +0300

    Merge branch 'master' into sccp

    * master:
      Fixed bug #74873 (Minor BC break: PCRE_JIT changes output of preg_match()).
      Fixed bug #72324 (imap_mailboxmsginfo() return wrong size)
      Fix redefine warnings
      Expand sb's name and capitalize my own
      Write the URL on a new line, so that it is easier copyable

commit d90805a40bd5d75d197f7b95c69680f636932868
Merge: 2e5e03b fc336c7
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 6 23:07:04 2017 +0300

    Merge branch 'master' into sccp

    * master:
      Added missed dump of "main" script code
      replace the stack var by a macro
      [ci skip] sync NEWS
      minor fix for web announce
      add missing NEWS entry for #74087 and also fix the formatting
      move NEWS entry to the correct place, also bump the version

commit 2e5e03b673cb86ee0fa6be06496553fa6b8c52e7
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 6 23:03:41 2017 +0300

    Call info should be removed, but at least we should prevent incorrect stack adjustment.

commit 1ee9110b35eab79f74d08278c104c92796740fa7
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 6 19:34:43 2017 +0300

    Remove NOP instructions, introduced bvy SCCP.
    This commit discloses unrelated issue caused ext/soap/tests/bug70211.phpt failure.

commit 9a2f50070d1afde8ee4784a1dade2537e1ac30d5
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 6 16:34:02 2017 +0300

    Avoid useless iterations for first SSA variablesi, always marked BOT.

commit c57dd7c6efb98c89a8c87af0eaad76b71c9cda16
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 6 16:33:46 2017 +0300

    Use reference-counting

commit 90f822d68ef1cb68befa3fff289c9e8d1b2068c8
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 6 14:00:22 2017 +0300

    Support for few more opcodes

commit cffee2f7e5bb4198e645e291fafe5690443cf26c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 6 12:35:13 2017 +0300

    Combined constants substitutaion and dead instruction removing in single pass. This eleminates substitution in dead instructions.

commit f890375c16052a9d79bf77c9021914cb9c6616f8
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 6 10:34:48 2017 +0300

    Use reference-counting instead of duplication

commit db0cd64dfa7a2ff809b49a049074b5fa39d37314
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 6 03:04:27 2017 +0300

    Improved SCDF<->SCCP interface

     - "get_feasible_successors" callback is changed into "mark_feasible_successors" and should mark necessary edges through scdf_mark_edge_feasible()
     - SCDF takes care about OP_DATA instruction
     - SCDF code is re-arranged to avoid repeatable checks

commit e0ad5dd48942c71033fad985c591549a35c21ef3
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 6 00:55:40 2017 +0300

    Changed representation of "feasible_edges", using one bit per edge.

commit afee3138fe49588b3967f54bf66375f880a51924
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jul 6 00:49:56 2017 +0300

    Revert "Don't propagate unused values"

    This reverts commit 84e5bfd4304d34e3a7107db71783882013f8de59.

commit 84e5bfd4304d34e3a7107db71783882013f8de59
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 5 23:39:42 2017 +0300

    Don't propagate unused values

commit d4f15b95061a8a2303d90e6e54effeb9733f90b7
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 5 23:39:10 2017 +0300

    Don't visit the same Phi twice

commit 2558311b4d530fb84539db304d03dfeba5eda789
Merge: 722a59d 7bb4ae5
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 5 21:51:06 2017 +0300

    Merge branch 'master' into sccp

    * master:
      Fixed final dump "after optimizer"

commit 722a59ddb12e641aea99ca8853ef921c4fdf9819
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 5 21:09:29 2017 +0300

    SCCP doesn't support VERIFY_RETURN_TYPE (ext/opcache/tests/bug73789.phpt failure)

commit 7084fade4dcb74415f0644d8e207f0fab6c6509d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 5 20:37:21 2017 +0300

    Fixed SSA reconstruction

commit 37ec4e0845a5b25fe2b523452d32dba22605d2e3
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 5 19:34:46 2017 +0300

    Disable constant propagation for variables that can be modified indirectly

commit 4bb9b6526e44c2f324f9a7c08890ab9bdedd639c
Merge: 6800460 73d5097
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 5 19:17:04 2017 +0300

    Merge branch 'master' into sccp

    * master: (43 commits)
      Keep information about SSA variables, that may be modified indirectly.
      Added constants for known ldap controls OID and tests for ldap_get/set_option for controls
      Added support for controls to ldap_get_option
      [ci skip] sync NEWS
      NEWS for oniguruma
      Patch from the upstream git https://github.com/kkos/oniguruma/issues/60 (CVE-2017-9228)
      Patch from the upstream git https://github.com/kkos/oniguruma/issues/59 (CVE-2017-9229) b690371bbf97794b4a1d3f295d4fb9a8b05d402d Modified for onig 5.9.6
      Patch from the upstream git https://github.com/kkos/oniguruma/issues/58 (CVE-2017-9227)
      Patch from the upstream git https://github.com/kkos/oniguruma/issues/57 (CVE-2017-9224)
      Patch from the upstream git https://github.com/kkos/oniguruma/issues/55 (CVE-2017-9226) b4bf968ad52afe14e60a2dc8a95d3555c543353a Modified for onig 5.9.6 f015fbdd95f76438cd86366467bb2b39870dd7c6 Modified for onig 5.9.6
      valid_symbol_table removed
      Improve fix for #74145
      Fix wddx
      Fix tests
      Fixed bug #74111
      Fix bug #74603 - use correct buffer size
      Fix bug #74651 - check EVP_SealInit as it can return -1
      Update NEWS
      Fix bug #74087
      Fixed parsing of strange formats with mixed month/day and time strings
      ...

commit 680046086c17b938e0288fca820668a183b86834
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 5 16:14:38 2017 +0300

    Support for few more internal functions evaluation

commit 74a29468ef14260ea3c210a2d1e3548806c81339
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 5 13:42:55 2017 +0300

    Disabled evaluation of strpos() with empty needle.

commit e8908946e52127727da9f0dd22a053befe8bf848
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 5 13:17:30 2017 +0300

    Replace calls to in_array() with constant array by IN_ARRAY instruction after SCCP.

commit 4e8fa2c3dd087a49ba90a3ef8231cc81f0399548
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jul 5 00:58:12 2017 +0300

    Initial integration of Sparse Conditional Constant Propagation (SCCP), originally developed in https://github.com/nikic/php-src/tree/opt, into DFA optimization pass.
2017-07-14 14:33:34 +03:00
Anatol Belski b5fd99b636 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74923 Crash when crawling through network share
2017-07-14 13:24:21 +02:00
Christopher Jones b280ba854a Merge branch 'PHP-7.1' 2017-07-14 14:14:10 +10:00
Kalle Sommer Nielsen 4d684a6cd7 WS 2017-07-14 03:42:15 +02:00
Kalle Sommer Nielsen 333c362178 Fix test title 2017-07-14 02:02:25 +02:00
Kalle Sommer Nielsen 997e2e5452 Ensure that the stream position is kept between reads 2017-07-14 01:59:23 +02:00
Kalle Sommer Nielsen f7d9f6456c Turn off EXIF_DEBUG so Travis don't complain at me 2017-07-14 01:18:58 +02:00
Kalle Sommer Nielsen bf7f6f9078 Don't add a new line to undefined tags in EXIF_DEBUG mode 2017-07-14 01:17:34 +02:00
Kalle Sommer Nielsen 9cf586cdfb Fix compile error with EXIF_DEBUG 2017-07-14 01:12:00 +02:00
Anatol Belski 89eb27a99c update NEWS 2017-07-13 21:08:13 +02:00
Anatol Belski 9ce076a3d1 disable --with-pcre-valgrind on travis 2017-07-13 20:28:44 +02:00
Anatol Belski 24de0fe9f4 fix default args for --with-pcre-valgrind 2017-07-13 20:28:10 +02:00
Frank Denis aa32d989c7 sodium ext: remove unused sodium_randombytes_*() prototypes 2017-07-13 18:59:58 +02:00
Anatol Belski 850bb998d9 Enable valgrind support for PCRE by default in debug builds
Thanks Nikita for the hint.
2017-07-13 18:38:28 +02:00
Anatol Belski 1e2764614b add oniguruma.patch to ease future upgrades 2017-07-13 17:34:14 +02:00
Lior Kaplan c2c60fcac7 SIZEOF_SIZE_T doesn't exist on AIX and POWER8 (ppc64le), keep using SIZEOF_LONG 2017-07-13 18:05:47 +03:00
Anatol Belski 5fb2abd6b0 fix fold 2017-07-13 14:33:49 +02:00
Francois Laupretre 0782a7fc63 Fixed bug #74866 extension_dir = "./ext" now use current directory for base 2017-07-13 14:27:19 +02:00
Anatol Belski 613102bd67 add next vc15 toolset to the list 2017-07-13 12:20:34 +02:00
Anatol Belski bc16deee83 Revert "Enable whole program optimization for builds without PGO, too"
This reverts commit f052e99df6.

There appear to be link issues with upcoming 19.11 and /LTCG, prefer
wider dependency compatibility.
2017-07-13 12:20:34 +02:00
Anatol Belski d9f72886aa extend comment 2017-07-13 12:20:34 +02:00
Anatol Belski 1300017cdc cleanup discontinued target 2017-07-13 08:18:50 +02:00
Frank Denis b071fcb81d sodium ext: add bindings for keygen() functions
This is the recommended way to generate keys correctly for all operations
using a single key, since libsodium 1.0.12.
2017-07-12 23:29:48 +02:00
Frank Denis 8e8fbf51f7 sodium ext: sort prototypes 2017-07-12 23:06:43 +02:00
Dmitry Stogov 09d3b7386c Resources should be closed during object destructioin, not during freeing. 2017-07-12 18:53:16 +03:00
Anatol Belski b41d715511 Merge branch 'PHP-7.1'
* PHP-7.1:
  Guard against AppVeyor losing deps issue
2017-07-12 15:40:33 +02:00
Anatol Belski bfa3df0048 Merge branch 'PHP-7.1'
* PHP-7.1:
  increase poll timeout as false positives mitigation
2017-07-12 14:50:36 +02:00
Dmitry Stogov 43e283fd64 Value of EG(user_exception_handler) should't relive request boundary 2017-07-12 15:37:12 +03:00
Frank Denis a5258ed645 sodium ext: remove function names before exception messages 2017-07-12 08:48:09 +01:00
Frank Denis 6ac6d2c64a sodium ext: update the crypto_kx_*() API to the libsodium one
The crypto_kx API initially present in the PHP bindings was a prototype
that was not part of libsodium.

This implements the one from libsodium >= 1.0.12.

We can later leverage the native libsodium functions if we decide that
1.0.12 is the minimum version we want to support.
2017-07-12 08:25:38 +01:00
Frank Denis dfac71d096 Revert "fix macro redifinitions"
This reverts commit cbbf579f21.
2017-07-12 08:25:35 +01:00
Dmitry Stogov 2b7d3fb45f Fixed compilation error 2017-07-12 09:46:22 +03:00
Kalle Sommer Nielsen 7845182edd Remove debug code 2017-07-12 06:12:07 +02:00
Kalle Sommer Nielsen 363bb03b7e We need to check for the length here too, or we crash and no one likes that! :( 2017-07-12 06:11:14 +02:00
Kalle Sommer Nielsen 969eb8345b * Implemented #65187 (exif_read_data/thumbnail: add support for stream resource)
* ext/exif now uses FAST_ZPP
2017-07-12 05:43:50 +02:00
Sara Golemon bf0f769d58 Remove extraneous configure flag
--with-sodium --with-libsodium[=DIR] is inconsistent with
existing extensions. Unify these into a single
--with-sodium[=DIR] option
2017-07-11 22:12:58 -04:00
Anatol Belski d1ee66655b Revert "remove excessive checks and fix warnings"
This reverts commit c620daecb4.
2017-07-11 23:13:22 +02:00
Anatol Belski 2b37da9eda parametrize zip names
simplify names
2017-07-11 21:45:49 +02:00
Anatol Belski 8a287c0ea0 Upgrade bundled PCRE to 8.41
HEADSUP! With PCRE 8.39 the JIT related code was changed in the way,
that additional valgrind options became almost unavoidable. Valgrind
had it already sometimes hard with JIT, now there are seem to be more
cases requiring special valgrind options.

For this reason, the new configure option --with-pcre-valgrind was
introduced. The option is development/debugging only and turns on the
Valgrind related pieces in PCRE, so then false positives are avoided
to the big part. In addition, run-tests.php was added a new valgrind
option, when the leak check is enabled and the test filepath contains
pcre.

Thus, to debug the code related to PCRE with JIT enabled, two things
would likely make sense

  - configure --with-pcre-valgrind
  - valgrind option --smc-check=all if run-tests.php is not used

The checks so far reveal no new issues.
2017-07-11 17:01:59 +02:00
Côme Chilliet 9bcd93201f Updated NEWS file with LDAP changes
Also fixed wording: bug -> feature request for EXOP
2017-07-11 16:23:21 +02:00
Côme Chilliet a148ee8c7c Fixed removing all controls by passing an empty array to ldap_set_option 2017-07-11 16:18:33 +02:00
Côme Chilliet 4219ca966e Filled in NEWS file with ext/ldap last modifications 2017-07-11 13:53:46 +02:00
Remi Collet 249f75e7e4 change order, allow to build as shared extension 2017-07-11 13:53:06 +02:00
Remi Collet d5f7e01f7c restore file deleted by mistake in a merge commit 2017-07-11 13:07:51 +02:00
Remi Collet 2458dce3e5 Fix segfault in php_stream_context_get_option call 2017-07-11 11:41:47 +02:00
Anatol Belski c620daecb4 remove excessive checks and fix warnings 2017-07-11 11:03:09 +02:00
Anatol Belski cbbf579f21 fix macro redifinitions 2017-07-11 10:01:37 +02:00
Anatol Belski 8cfe479d1f fix symbol availability and ws 2017-07-11 09:54:36 +02:00
Remi Collet 90b2cecbaa Remove this for now, as not found
"E: Unable to locate package libsodium-dev"
2017-07-11 07:52:28 +02:00
Remi Collet d269aa2003 fix authors 2017-07-11 07:43:56 +02:00
Remi Collet c229ab587c NEWS for Sodium 2017-07-11 07:41:43 +02:00
Remi Collet ae96c7f48f fix CREDITS file 2017-07-11 07:30:22 +02:00
Paragon Initiative Enterprises 5cfa26c181 Squashed commit - Add ext/sodium
RFC: https://wiki.php.net/rfc/libsodium
Licensing: https://web.archive.org/web/20170710161517/https://github.com/jedisct1/libsodium-php/issues/127
2017-07-11 07:25:50 +02:00
Anatol Belski da2583b193 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2017-07-10 22:50:53 +02:00
Anatol Belski 215bf24f01 Merge branch 'PHP-7.1'
* PHP-7.1:
  switch to next binary tools sdk version
2017-07-10 21:47:07 +02:00
Anatol Belski 07c7445dd0 fix datatype 2017-07-10 17:34:58 +02:00
Anatol Belski ad25234350 Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Add more constants, improve comments, and add tests"
2017-07-10 17:02:32 +02:00
Dmitry Stogov 7be2637dce Fixed memory leak introduced by 7cb5bdf64a 2017-07-10 17:34:30 +03:00
Anatol Belski 2283b6ff53 eliminate casts 2017-07-10 15:48:54 +02:00
Anatol Belski e0809fe62d remove checks for eol dependencies
yet one leftower, only FreeTDS is usable at the moment
2017-07-10 15:00:16 +02:00
Anatol Belski b6ae363338 Merge branch 'PHP-7.1'
* PHP-7.1:
  improve test
2017-07-10 13:50:53 +02:00
Côme Chilliet ed8bfcc6ea Small fix in ext/ldap, Moved vars definitions to the beginning of the block using them 2017-07-10 11:33:08 +02:00
Remi Collet 569d164c4a ZipArchive implements countable, added ZipArchive::count() method 2017-07-10 11:31:55 +02:00
Dmitry Stogov 161c378cc8 Revert "Fixed bug #74878"
This reverts commit 9069734b57.
2017-07-10 12:21:58 +03:00
Remi Collet 5369006edf Upgrading note for #74837 2017-07-10 08:55:41 +02:00
Remi Collet 6f97fb47ca Fixed bug #74837 - NEWS 2017-07-10 08:50:38 +02:00
Andreas Treichel f725d9b1b9 Implement Countable for DomNodeList and DOMNamedNodeMap (Request #74837) 2017-07-10 08:48:10 +02:00
Pedro Magalhães 7cb5bdf64a Fix #49649 - Handle property visibility changes on unserialization 2017-07-10 07:27:09 +01:00
Joe Watkins cfacf84dc1 Merge branch 'PHP-7.1'
* PHP-7.1:
  #73594 tests only check the extra params if dns_get_record is successful
2017-07-10 06:56:03 +01:00
Joe Watkins bad55a72ab Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74852 (property_exists returns true on unknown DateInterval property)
2017-07-10 06:54:24 +01:00
Anatol Belski e24a8012a0 fix uninitialized var 2017-07-09 17:54:46 +02:00
Anatol Belski a51cb393b1 fix comparison warning 2017-07-09 16:28:17 +02:00
Anatol Belski ba5df1c682 comply with POSIX signature 2017-07-09 16:23:31 +02:00
Anatol Belski 8d0d326ff9 fix warning 2017-07-09 16:05:36 +02:00
Anatol Belski 72b0a3a892 remove some casts 2017-07-09 15:47:01 +02:00
Anatol Belski 84079f4a1e cleanup casts 2017-07-09 15:31:05 +02:00
Anatol Belski e403acc74b remove useless cast 2017-07-09 15:15:17 +02:00
Anatol Belski aaf09f7bdf eliminate casts 2017-07-09 15:11:02 +02:00
Anatol Belski 384f0f8a4c sync vim mode lines in main 2017-07-09 15:07:23 +02:00
Anatol Belski e870edb1ee [ci skip] update NEWS 2017-07-09 15:05:44 +02:00
Anatol Belski 2409aac896 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-07-09 15:03:07 +02:00
Anatol Belski 176b45fa3a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74883 SQLite3::__construct() produces "out of memory" exception with invalid flags
2017-07-09 01:32:07 +02:00
Kalle Sommer Nielsen 7bb696dc49 Silent compiler warning 2017-07-08 19:05:28 +02:00
Kalle Sommer Nielsen 38d019979e Fix test 2017-07-08 18:01:51 +02:00
Kalle Sommer Nielsen ba28d75c2c Deprecated the read_exif_data() alias 2017-07-08 15:02:05 +02:00
Kalle Sommer Nielsen 5c6e0b189e Merge branch 'master' of git.php.net:/php-src 2017-07-08 13:52:00 +02:00
Kalle Sommer Nielsen b1fd08d94c Add myself as exif maintainer 2017-07-08 13:51:36 +02:00
Anatol Belski 0acb6d1ae2 Merge branch 'PHP-7.1'
* PHP-7.1:
  update libs versions
  Fix NEWS entry location
  Fix NEWS entry location
  news entry for 74819
  news entry for 74651
  news entry for 74111
  news entry for 74435
  news entry for 74603
2017-07-08 13:42:47 +02:00
Kalle Sommer Nielsen 106386dd98 Fixed file name for case sensitive file systems 2017-07-08 03:34:30 +02:00
Kalle Sommer Nielsen 469206c84e Added test case for bug #73115 which was fixed by recently fixed bugs 2017-07-08 03:30:46 +02:00
Nikita Popov 9069734b57 Fixed bug #74878 2017-07-07 22:41:48 +02:00
Kalle Sommer Nielsen 134047dfde We currently don't use the guessing code, so don't compile it 2017-07-07 12:23:24 +02:00
Kalle Sommer Nielsen e6903d471e * Fixed bug #72819 (EXIF thumbnails not read anymore)
* Fixed bug #62523 (php crashes with segfault when exif_read_data called)
* Fixed the poor test case for #62523, which was a HTML document

Fixing #72819 had the side effect of fixing #62523 by supporting the format as seen in bug62523_1.phpt
2017-07-07 12:20:05 +02:00
Andrey Andreev ce4e07e37d Add missing NEWS entry, update UPGRADING
This was done back in January, but never noted in the NEWS file.
References:

https://github.com/php/php-src/pull/2312
https://github.com/php/php-src/pull/2321
2017-07-07 13:01:09 +03:00
Kalle Sommer Nielsen babc3c522f This should be EXPECT instead of EXPECTF 2017-07-07 11:31:31 +02:00
Kalle Sommer Nielsen cd8d0aad7f Fixed bug #50660 (exif_read_data(): Illegal IFD offset (works fine with other exif readers)) 2017-07-07 11:29:23 +02:00
Kalle Sommer Nielsen 900ce92c9a Fixed bug #74428 (exif_read_data(): "Illegal IFD size" warning occurs with correct exif format) 2017-07-07 10:20:02 +02:00
Anatol Belski 57432da0b9 fix command 2017-07-07 09:05:33 +02:00
Dmitry Stogov 29653da385 Fixed bug #74873 (Minor BC break: PCRE_JIT changes output of preg_match()). 2017-07-07 09:54:21 +03:00
Kalle Sommer Nielsen 5a991ea49b Fixed bug #72324 (imap_mailboxmsginfo() return wrong size) 2017-07-07 08:18:33 +02:00
Kalle Sommer Nielsen 9507d14584 Fix redefine warnings 2017-07-07 08:08:25 +02:00
Kalle Sommer Nielsen 4be4a38d99 Expand sb's name and capitalize my own 2017-07-07 04:56:45 +02:00
Kalle Sommer Nielsen c5f83f3426 Write the URL on a new line, so that it is easier copyable 2017-07-07 04:15:13 +02:00
Dmitry Stogov fc336c78e7 Added missed dump of "main" script code 2017-07-06 23:06:11 +03:00
Anatol Belski 9ad0d0ca3c replace the stack var by a macro 2017-07-06 20:47:04 +02:00
Remi Collet 9470b2016c [ci skip] sync NEWS 2017-07-06 13:22:10 +02:00
Remi Collet ec0ad331cd minor fix for web announce 2017-07-06 12:34:00 +02:00
Ferenc Kovacs b04b6b6a5b Merge branch 'PHP-7.1' 2017-07-06 00:14:29 +02:00
Dmitry Stogov 7bb4ae59c3 Fixed final dump "after optimizer" 2017-07-05 21:48:01 +03:00
Dmitry Stogov 73d5097a9f Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Added constants for known ldap controls OID and tests for ldap_get/set_option for controls
  Added support for controls to ldap_get_option
2017-07-05 19:16:26 +03:00
Dmitry Stogov acffb7a080 Keep information about SSA variables, that may be modified indirectly. 2017-07-05 19:15:16 +03:00
Côme Chilliet 274d84139b Added constants for known ldap controls OID and tests for ldap_get/set_option for controls
Also fixed existing tests which were expecting ldap_get_option to fail on controls
2017-07-05 16:41:52 +02:00
Côme Chilliet 3a09c1246c Added support for controls to ldap_get_option 2017-07-05 16:41:52 +02:00
Anatol Belski 6164ec91c6 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] sync NEWS
2017-07-05 12:33:20 +02:00
Côme Chilliet 513bbba5cc Merge branch 'pull-request/2608'
* pull-request/2608:
  Test ldap_exop_passwd with less parameters to be sure it works
  Changed API to avoid using passing result by reference
  Removed unused variables left over by LDAP EXOP patch
  Removed TSRMLS_CC instances left over by LDAP EXOP patch
  Swapped position of retoid and retdata as retoid is almost never used
  Removed two step syntax for EXOP helpers, one call workflow is enough
  Improved ldap_exop test to encode&decode a passwd EXOP to test sending/recieving data
  Removed TODOs regarding implementing passwd and whoami exops based on ldap_exop
  Added constants for standard EXOPs
  Removed ldap_refresh function as I’m not sure how to fix/use/test it
  Fixed ldap_exop and ldap_parse_exop. Only tested them for whoami exop. (see test file)
  Fixed ldap_parse_exop_whoami and ldap_parse_exop_passwd and added test for them
  Fixed ldap_exop_whoami and added a test for it
  Fixed ldap_exop_passwd and added tests for it
  Fixed building errors in LDAP EXOP
  Added EXOP features based on patch from http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/databases/php-ldap/files/ldap-ctrl-exop56.patch
2017-07-05 11:20:14 +02:00
Remi Collet e1f1ee1eb5 Merge branch 'PHP-7.1'
* PHP-7.1:
  NEWS for oniguruma
  Patch from the upstream git https://github.com/kkos/oniguruma/issues/60 (CVE-2017-9228)
  Patch from the upstream git https://github.com/kkos/oniguruma/issues/59 (CVE-2017-9229) b690371bbf97794b4a1d3f295d4fb9a8b05d402d Modified for onig 5.9.6
  Patch from the upstream git https://github.com/kkos/oniguruma/issues/58 (CVE-2017-9227)
  Patch from the upstream git https://github.com/kkos/oniguruma/issues/57 (CVE-2017-9224)
  Patch from the upstream git https://github.com/kkos/oniguruma/issues/55 (CVE-2017-9226) b4bf968ad52afe14e60a2dc8a95d3555c543353a Modified for onig 5.9.6 f015fbdd95f76438cd86366467bb2b39870dd7c6 Modified for onig 5.9.6
2017-07-05 10:03:00 +02:00
Remi Collet 8d1ae4e1c5 valid_symbol_table removed 2017-07-05 06:33:34 +02:00
Stanislav Malyshev d75dbb0e31 Merge branch 'PHP-7.1'
* PHP-7.1:
  Improve fix for #74145
  Fix wddx
  Fix tests
  Fixed bug #74111
  Fix bug #74603 - use correct buffer size
  Fix bug #74651 - check EVP_SealInit as it can return -1
  Update NEWS
  Fix bug #74087
  Fixed parsing of strange formats with mixed month/day and time strings
  Fix bug #74145 - wddx parsing empty boolean tag leads to SIGSEGV
  Fixed bug #74111
  Fix #74435: Buffer over-read into uninitialized memory
  Fix bug #74603 - use correct buffer size
  Fix bug #74651 - check EVP_SealInit as it can return -1
  Update NEWS
  Fix bug #73807
2017-07-04 21:23:16 -07:00
Nikita Popov 8e0ddc89fe Drop duplicate dtors in update_opN
Per new convention update_opN should no longer dtor on failure.
2017-07-04 21:23:34 +02:00
Nikita Popov 3f8ceb6f05 Drop useless allocation in php_filter_callback 2017-07-04 21:11:22 +02:00
Nikita Popov 8126599670 Drop dead abstract method check from zend_call_function()
zend_is_callable() is responsible for doing these kinds of checks
already.

Aldro drop a piece of obsolete commented out code.
2017-07-04 21:11:22 +02:00
Remi Collet 1be0563087 Merge branch 'PHP-7.1'
* PHP-7.1:
  Adapt for 32-bits which fails at different offset (49 vs 38)
2017-07-04 20:27:10 +02:00
Anatol Belski bc5811f361 further sync for vim mode lines 2017-07-04 18:12:45 +02:00
Anatol Belski 6a3a2bf18e vim folds and mode lines yet 2017-07-04 17:06:52 +02:00
Anatol Belski a0203ea143 fix datatype 2017-07-04 16:41:29 +02:00
Anatol Belski 8bf7246310 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix datatype
2017-07-04 16:41:05 +02:00
Anatol Belski bae668ee2a add missing include guards 2017-07-04 16:21:45 +02:00
Anatol Belski a56700043e vim folds and modelines 2017-07-04 16:08:48 +02:00
Dmitry Stogov 0965a4ef9f Check for exceptional cases before actual constant evaluation. 2017-07-04 16:09:28 +03:00
Dmitry Stogov 6276268b77 Separate constants propagation code shatred between "first" and "block" passes into helper functions. 2017-07-04 15:10:33 +03:00
Anatol Belski 816669af0c Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] sync NEWS
2017-07-04 12:15:19 +02:00
Remi Collet 1605f5b8c4 Update NEWS for 7.2.0beta1 2017-07-04 11:35:39 +02:00
Remi Collet 8fa1f15e2d Update NEWS for PHP 7.2.0alpha3 2017-07-04 11:35:39 +02:00
Anatol Belski cae6767f8d update NEWS 2017-07-04 11:31:35 +02:00
Anatol Belski ff79b2070f Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2017-07-04 11:31:09 +02:00
Anatol Belski b28c6515a6 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74101 and bug #74614
2017-07-04 10:44:50 +02:00
Côme Chilliet 209c9ba384 Test ldap_exop_passwd with less parameters to be sure it works 2017-07-04 10:17:41 +02:00
Côme Chilliet 3207747b9e Changed API to avoid using passing result by reference
See discussion on internals ML
2017-07-04 10:03:27 +02:00
Dmitry Stogov 10dbc0b2e7 Compile/optimisation-time constants can't be circular, but in general may be reference-countable. It's better to use zval_ptr_dtor_nogc() to release them. 2017-07-04 10:43:34 +03:00
Dmitry Stogov b685991b44 Get rid of old compatibility macros 2017-07-04 09:50:57 +03:00
Dmitry Stogov bfa24e3488 Fixed bug #74836 (isset on zero-prefixed numeric indexes in array broken) 2017-07-04 07:23:46 +03:00
Dmitry Stogov 02ef5d3803 Revert "Avoid run-time checks performed at compile-time."
This reverts commit 8fe47a47cf.
2017-07-04 07:15:42 +03:00
Anatol Belski 726f2f7403 [ci skip] update NEWS 2017-07-03 23:21:38 +02:00
Anatol Belski 8871d2d12e Fixed bug #74849 Process is started as interactive shell in PhpStorm 2017-07-03 21:59:31 +02:00
Dmitry Stogov 55cd4e859b Added missed opcodes 2017-07-03 21:26:44 +03:00
Côme Chilliet 13062efd02 Removed unused variables left over by LDAP EXOP patch 2017-07-03 12:23:34 +02:00
Côme Chilliet e05d230e52 Removed TSRMLS_CC instances left over by LDAP EXOP patch 2017-07-03 12:08:24 +02:00
Côme Chilliet bda80aa332 Swapped position of retoid and retdata as retoid is almost never used 2017-07-03 10:58:13 +02:00
Côme Chilliet e9001cab46 Removed two step syntax for EXOP helpers, one call workflow is enough 2017-07-03 10:58:13 +02:00
Côme Chilliet 5020325a6f Improved ldap_exop test to encode&decode a passwd EXOP to test sending/recieving data 2017-07-03 10:58:13 +02:00
Côme Chilliet 413e9c84f6 Removed TODOs regarding implementing passwd and whoami exops based on ldap_exop 2017-07-03 10:58:13 +02:00
Côme Chilliet 9aa99cc34c Added constants for standard EXOPs 2017-07-03 10:58:13 +02:00
Côme Chilliet 4652c46245 Removed ldap_refresh function as I’m not sure how to fix/use/test it 2017-07-03 10:58:13 +02:00
Côme Chilliet e832ce4b22 Fixed ldap_exop and ldap_parse_exop. Only tested them for whoami exop. (see test file) 2017-07-03 10:58:13 +02:00
Côme Chilliet 28530b2f1c Fixed ldap_parse_exop_whoami and ldap_parse_exop_passwd and added test for them 2017-07-03 10:58:13 +02:00
Côme Chilliet fdafd68419 Fixed ldap_exop_whoami and added a test for it 2017-07-03 10:58:12 +02:00
Côme Chilliet ae76c8ba2c Fixed ldap_exop_passwd and added tests for it 2017-07-03 10:58:12 +02:00
Côme Chilliet def09c7cab Fixed building errors in LDAP EXOP 2017-07-03 10:58:12 +02:00
Côme Chilliet a0920f2822 Added EXOP features based on patch from http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/databases/php-ldap/files/ldap-ctrl-exop56.patch 2017-07-03 10:58:12 +02:00
Sara Golemon f066f59eab Add NEWS entry and a test for Bug#71412 2017-07-02 10:41:38 -04:00
Tyson Andre 96fe07e006 Fixes Bug #71412 Incorrect ArrayIterator __construct signature
ArrayIterator doesn't have a getIterator method(), or an iterator setter,
and I don't think it makes sense for it to have one.
2017-07-02 10:37:28 -04:00
Anatol Belski 04d7595e58 Merge branch 'PHP-7.1'
* PHP-7.1:
  yet one C++ compat fix
2017-07-01 20:07:05 +02:00
Anatol Belski 46ef3e237c Merge branch 'PHP-7.1'
* PHP-7.1:
  fix C++ compat
2017-07-01 18:39:02 +02:00
Bob Weinand 2304bc2aa2 Merge branch 'PHP-7.1' 2017-07-01 11:53:00 +02:00
Yasuo Ohgaki a2d766503a Fixed bug #74514 5 session functions incorrectly warn when calling in read-only/getter mode 2017-07-01 03:32:54 +09:00
Richard Fussenegger 66e5dc5b9b Fixed ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO macro
The macro was expanding to a wrong macro and thus leads to compile errors upon
usage. Changed it to expand to the correct macro.
2017-06-30 13:22:25 +02:00
Julien Pauli cf7ae70540 Merge branch 'PHP-7.1'
* PHP-7.1:
  Updated NEWS
  Updated NEWS
  Fix bug #74832, crash in extension loading
2017-06-29 20:25:18 +02:00
Adam Baratz 5ed83f7e84 Apply fix for #69356 to "Sent SQL" 2017-06-29 11:45:41 +02:00
Adam Baratz 3ac20e0995 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #69356
  Fixed #69356: PDOStatement::debugDumpParams() truncates query
2017-06-29 11:44:02 +02:00
Dmitry Stogov 10dc924999 Use inlined version of zval_ptr_dytor() in var_destroy() loop 2017-06-29 12:16:52 +03:00
Dmitry Stogov 5a51da9942 Use inlined version of zval_ptr_dtor() in array_map() loop 2017-06-29 12:15:57 +03:00
Dmitry Stogov e111bccd48 Use zval_ptr_dtor_nogc() for data that can't be circular 2017-06-29 12:14:41 +03:00
Dmitry Stogov bbb786c85b Split zend_init_execute_data() into zend_init_func_execute_data() and zend_init_code_execute_data() 2017-06-29 10:10:57 +03:00
Dmitry Stogov c23ffaa211 We don't have to use "persistent" heap with PHP-7 HashTable(s). 2017-06-29 09:24:07 +03:00
Xinchen Hui d79305fb7a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix typo in PHP 7.1.8 news
2017-06-29 11:51:05 +08:00
Anatol Belski b411d4acc3 [ci skip] update NEWS 2017-06-28 23:38:49 +02:00
Nikita Popov 4465b37105 Fix zend_get_zval_ptr() 2017-06-28 10:21:32 +02:00
George Wang 79128b34ff Merge branch 'PHP-7.1' 2017-06-27 23:18:27 -04:00
Dmitry Stogov f626a783b6 Avoid string duplication in preg_split() 2017-06-28 00:43:55 +03:00
Anatol Belski e08c0ed8ce Bug #74815 crash with a combination of INI entries at startup
TS related VCWD routines depend on CWD. Thus, a premature CWD
deactivation renders the VCWD layer unusable. Same issue seems to
persist in versions < 7.2, just that the code path is actually unused so
the issue didn't show up. Still might make sense to backport this into
lower branches.
2017-06-27 16:30:10 +02:00
Dmitry Stogov c0be77aa75 Removed deprecated checks. 2017-06-27 13:12:09 +03:00
Dmitry Stogov 908ce66f73 Cleanup. Removed unused functions and unimplemented prototype. Avoid useless "dtor_obj" calls. 2017-06-27 12:03:06 +03:00
Remi Collet b6ee9dd490 upgrading: doc about ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX 2017-06-26 17:26:07 +02:00
Remi Collet 85c32322ac Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src: (24 commits)
  Removed EG(valid_symbol_table). Used EG(active) instead.
  Release temporary string reference
  Remove superfluous semicolons
  Fix tests on Windows
  Produce a better exception message when IntlDateFormatter constructor fails.
  Fix format arguments
  Remove unused variable op2. It is redeclared later.
  Fix typo
  Implement object type annotation
  Fixed bug #73173
  Expose inflate_get_status() and inflate_get_read_len() functions
  Add more constants, improve comments, and add tests
  Fixed bug #73900
  Add OPENSSL_DONT_ZERO_PAD_KEY constant to prevent key padding
  Drop soap_hash_str_find_deref()
  Only compute callback name in error cases
  Extract zend_get_callable_name() API
  Move va_copy compatibility code into zend_portability.h
  Remove unnecessary string copy
  Fix FE_FETCH_* exception check
  ...
2017-06-26 17:22:01 +02:00
Dmitry Stogov caaeb4849a Removed EG(valid_symbol_table). Used EG(active) instead. 2017-06-26 13:35:07 +03:00
Sara Golemon 24030d54d8 Release temporary string reference 2017-06-25 19:39:13 -04:00
Tom Van Looy 04fb3f28ff Remove superfluous semicolons 2017-06-26 00:23:25 +02:00
Nikita Popov b3849edf2c Fix tests on Windows 2017-06-26 00:22:14 +02:00
Sara Golemon ecaf408d30 Produce a better exception message when IntlDateFormatter constructor fails. 2017-06-25 17:44:59 -04:00
Nikita Popov e5741da85c Fix format arguments
Only dropped one before, both need to go...
2017-06-25 22:32:57 +02:00
Tom Van Looy 60d032d65e Remove unused variable op2. It is redeclared later. 2017-06-25 22:31:00 +02:00
Nikita Popov 9dfcb04f10 Fix typo 2017-06-25 22:28:56 +02:00
Michał Brzuchalski 8e10c9d373 Implement object type annotation
RFC: https://wiki.php.net/rfc/object-typehint
2017-06-25 21:49:41 +02:00
Nikita Popov dd15b34018 Merge branch 'PHP-7.1' 2017-06-25 20:17:34 +02:00
Bob Weinand a1755671e2 Merge branch 'PHP-7.1' 2017-06-25 20:15:31 +02:00
Nikita Popov 957c24d5ee Merge branch 'PHP-7.1' 2017-06-25 19:49:25 +02:00
Jakub Zelenka e657f0d3f2 Merge branch 'PHP-7.1' 2017-06-25 18:11:10 +01:00
Nikita Popov 1f924d75cb Drop soap_hash_str_find_deref()
And directly use zend_hash_str_find_deref() instead.
2017-06-25 18:51:59 +02:00
Nikita Popov 035a27cbc6 Only compute callback name in error cases
Mostly the callback name is only used to report an error. Try to
avoid calculating it if no error occurred.
2017-06-25 18:45:59 +02:00
Nikita Popov ee8e75aab4 Extract zend_get_callable_name() API
Instead of interleaving this inside zend_is_callable(), implement
this in a separate function instead.

Also add _deref() hash APIs. I've wanted these for a while, and
this is another place where they're useful, so finally do it...
2017-06-25 18:26:03 +02:00
Nikita Popov 205807f60e Move va_copy compatibility code into zend_portability.h
Previously this was defined in zend.c and php.h and also handled
in another way in soap.c.
2017-06-25 17:00:26 +02:00
Nikita Popov 6dd2eaf45c Remove unnecessary string copy 2017-06-25 16:52:50 +02:00
Nikita Popov c136afa2be Fix FE_FETCH_* exception check
Only applying this for 7.2, because handling this would be ugly
under the old retval freeing semantics.
2017-06-25 16:45:17 +02:00
Nikita Popov ed37ca7369 Fixed bug #74810
And also did some general cleanup in ZEND_FUNC_GET_ARGS.
2017-06-25 16:00:24 +02:00
Nikita Popov 191f154d40 Merge branch 'PHP-7.1' 2017-06-25 15:32:38 +02:00
Remi Collet 4ed8ff5090 not about zend_arg_info.class_name 2017-06-25 08:41:11 +02:00
Remi Collet b3b8627106 note about IS_TYPE_IMMUTABLE 2017-06-25 08:32:03 +02:00
Remi Collet 59c30c01b3 note about php_pcre_replace* 2017-06-25 08:27:52 +02:00
Remi Collet 754e1c463d ZEND_ACC_CLONE is removed 2017-06-25 08:23:30 +02:00
Remi Collet 8e98a44eb2 fix version 2017-06-25 08:22:29 +02:00
Anatol Belski 31e4afe3c3 [ci skip] update NEWS 2017-06-24 01:37:45 +02:00
Anatol Belski cf1f9a20fd Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
2017-06-24 01:29:51 +02:00
Anatol Belski eb68301df1 Relax test condition, as OpenSSL 1.1.x out differs in EOL only 2017-06-24 00:25:51 +02:00
Anatol Belski d7b9eb981a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #74798 pkcs7_en/decrypt does not work if \x0a is used in content
2017-06-24 00:24:56 +02:00
Nikita Popov 272a9f29f5 Merge branch 'PHP-7.1' 2017-06-23 17:33:36 +02:00
Dmitry Stogov d55b43d9cb Merge branch 'fast_shutdown'
* fast_shutdown:
  Reseet EG(active) a bit early.
  Reuse "nIndex"
  shutdown_executor() refactoring (reuse opcache fast request shutdown code)
2017-06-23 14:59:29 +03:00
Dmitry Stogov 866d3b40e9 Reseet EG(active) a bit early. 2017-06-23 14:58:19 +03:00
Nikita Popov 748069e3a0 Merge branch 'PHP-7.1' 2017-06-23 13:32:51 +02:00
Dmitry Stogov 40ed9aaa48 Reuse "nIndex" 2017-06-23 14:23:00 +03:00
Joe Watkins a79ec404b2 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix method "eof"
2017-06-23 07:53:24 +01:00
Joe Watkins 5796fff344 Merge branch 'PHP-7.1'
* PHP-7.1:
  Remove superfluous branch
2017-06-23 07:51:59 +01:00
Marat Nagayev 99b611958f fix news 2017-06-22 22:41:53 +01:00
Jakub Zelenka bf8717594c Update NEWS with info about openssl pkcs7 read and verify changes 2017-06-22 20:39:09 +01:00
Jelle van der Waa 787a18a50a Add openssl_pkcs7_read and output P7B in openssl_pkcs7_verify
Add an optional argument to openssl_pkcs7_verify to save the P7B
structure which can contain extra CA intermediate certificates send
along with an S/MIME signed email.

Introduce a new function called openssl_pkcs7_read, which can read a
PKCS#7 structure passed as a string and returns by reference an array
with PEM certificates formatted as a string.
2017-06-22 20:36:23 +01:00
Sara Golemon d09edf7b34 Minor refactor of load extension by name impl
Minimize the #ifdef surface area
Localize orig_libpath to retry scope
Send errors to php_error() rathern than stderr
2017-06-22 13:13:45 -04:00
Francois Laupretre fe5c8f2b80 Allow loading PHP and Zend extensions by name
Allow extension name as INI 'extension=' and dl() argument
No BC break, as file name is still accepted.
When using the '-z' command line option (CLI/CGI), an absolute file name must still be provided (nothing changed here)
Change comments in example INI files
2017-06-22 12:58:15 -04:00
Joe Watkins 0f15a03026 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix configure error
2017-06-22 14:02:09 +01:00
Michael Moussa 9437dcd621 Add test for bug #52480 2017-06-22 13:56:03 +01:00
Joe Watkins 2030b59829 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix bug #73471 PHP freezes with AppendIterator
2017-06-22 11:58:04 +01:00
Joe Watkins 36d064be12 fix news 2017-06-22 11:54:10 +01:00
Joe Watkins 7945dca6ec Merge branch 'PHP-7.1'
* PHP-7.1:
  fix bug #74780 parse_url() borken when query string contains colon
  Update NEWS
2017-06-22 11:53:27 +01:00
Niklas Keller 3250fa09b2 Fix name in NEWS
It's enough to name my php.net account there.
2017-06-22 11:48:43 +01:00
Dmitry Stogov f25ecdacf8 shutdown_executor() refactoring (reuse opcache fast request shutdown code) 2017-06-22 01:45:28 +03:00
Dmitry Stogov 9fb0e6ffe2 Fixed SKIP code 2017-06-22 01:41:59 +03:00
Dmitry Stogov c7a75b7112 Fixed few test failures if php.ini contains zend.assertions=-1 2017-06-21 18:50:08 +03:00
Dmitry Stogov 06e41cadd9 We don't need any special handling for CG(unclean_shutdown) at this point, because in case of exit() or die() all destructors must be already called before. 2017-06-21 16:11:50 +03:00
Dmitry Stogov 9b201aec07 Setting CG(unclean_shutdown) in fast shutdown doesn't make a lot of sense (it was set to prevent memory leak messages, but we doesn't check memory leaks in RELEASE build anyway). 2017-06-21 16:09:21 +03:00
Dmitry Stogov 7af5741333 Avoid useless duplication 2017-06-21 12:57:24 +03:00
Dmitry Stogov c61cea7135 Use persistent heap only for persistent connections. 2017-06-21 11:25:30 +03:00
Dmitry Stogov 687123ebf2 Use request heap. 2017-06-21 11:25:05 +03:00
Dmitry Stogov c16f954ff1 Clear alocated memory blocks, only if this is really necessary. 2017-06-21 10:37:54 +03:00
Christopher Jones 1dfb63feca Update NEWS 2017-06-21 16:17:54 +10:00
Christopher Jones 5465fbdc48 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add bug #74625 to package.xml
  Add IN bind case to bug74625.phpt
  Fixed bug #74625 (Integer overflow in oci_bind_array_by_name).
2017-06-21 15:56:09 +10:00
Christopher Jones d561aa7cb1 Merge branch 'PHP-7.1' 2017-06-21 15:04:34 +10:00
Christopher Jones 78e5811c1a Merge branch 'PHP-7.1' 2017-06-21 14:32:00 +10:00
Dmitry Stogov 7802cf8c1a Added specialized FE_FETCH_R handler for iteration over array 2017-06-20 23:25:09 +03:00
Dmitry Stogov 31a2198fd9 FE_RESER/FE_FETCH optimisation 2017-06-20 22:26:46 +03:00
Sara Golemon c18ba686cd Update NEWS for 7.2.0alpha3 2017-06-20 10:11:41 -04:00
Sara Golemon 3bf3227e16 Update NEWS for PHP 7.2.0alpha2 2017-06-20 10:11:41 -04:00
Anatol Belski 3fc1993cfc Merge branch 'PHP-7.1'
* PHP-7.1:
  Split requested size as expected by CreateFileMapping.
2017-06-20 15:45:34 +02:00
Sara Golemon 8b3d476f4d NEWS entries for 7.2.0alpha2 2017-06-20 09:21:46 -04:00
Anatol Belski 57dba0e2f5 Merge branch 'PHP-7.1'
* PHP-7.1:
  move next
2017-06-20 14:06:43 +02:00
Christopher Jones 52e5406e87 Fixed Bug #74537 (Align --with-pdo-oci configure option with --with-oci8 syntax) 2017-06-20 16:24:38 +10:00
Christopher Jones 1968cd1c97 Merge branch 'PHP-7.1' 2017-06-20 16:07:17 +10:00
Christopher Jones 3fd99f4e08 Mention OCI8 TAF callback support in UPGRADING 2017-06-20 15:51:56 +10:00
Christopher Jones f42e1c6f38 Merge branch 'PHP-7.1'
* PHP-7.1:
  Bump OCI8 version
2017-06-20 14:56:22 +10:00
Christopher Jones 1936a6e3aa Merge branch 'PHP-7.1'
* PHP-7.1:
  add test for bug #70700
2017-06-20 14:44:46 +10:00
Christopher Jones 9d971d838e Update NEWS 2017-06-20 14:38:31 +10:00
Christopher Jones f7ef5d2219 Merge branch 'PHP-7.1'
* PHP-7.1:
  oci8 - Implementation of Oracle TAF Callback
2017-06-20 14:34:05 +10:00
Christopher Jones 2f4db57bea Merge branch 'PHP-7.1'
* PHP-7.1:
  add test for bug #60994
2017-06-20 14:24:56 +10:00
Mitch Hagstrand 7cb18b2a46 BUG #74737: Incorrect ReflectionFunction information for mysqli_get_client_info 2017-06-19 22:14:26 -04:00
chance garcia 510230d3dc Test ftp_ssl_connect() function : error conditions
test timeout warning
ensure connection fails with invalid hostname
test invalid parameter types
test exceeds expected number of parameters
2017-06-19 19:48:52 -04:00
Dmitry Stogov 40ecad3402 Fixed wrong usage of old ZPP API. 2017-06-19 18:08:50 +03:00
Christoph M. Becker e511f152f4 Merge branch 'pull-request/2528'
* pull-request/2528:
  Change flags to use SQLITE3_OPEN_READ* constants instead of a fake-boolean, add tests on errors
  Implement writing to BLOBs in SQLite3
2017-06-19 14:47:42 +02:00
Dmitry Stogov 9c2a1f52a5 Avoid useless dereferences and separations during paramter passing. 2017-06-19 12:55:59 +03:00
Dmitry Stogov 6fe75aad6d Optimization for fast path. 2017-06-19 10:07:11 +03:00
Sara Golemon e0403eb652 NEWS 2017-06-18 20:24:19 -04:00
Niklas Keller 9badf35386 Default single_dh_use and honor_cipher_order to true 2017-06-18 19:54:45 -04:00
Sara Golemon c690916f5b NEWS 2017-06-18 19:53:06 -04:00
Charles R. Portwood II 498716c2f7 Compatibility with libargon2 versions 20161029 and 20160821
libargon2 20161029 introduces the `type` parameter to the argon2_encodedlen
function that is not present in 20160821. This change ensures the Argon2
functionality introduced in RFC `argon2_password_hash` is compatible with
both versions, as the library version that package maintainers package may
differ.
2017-06-18 19:19:20 -04:00
chance garcia d3c593a585 add test for strptime(): return false on failure
Closes https://github.com/php/php-src/pull/2583
2017-06-18 12:28:50 -04:00
Jakub Zelenka 192b2d8391 Merge branch 'PHP-7.1' 2017-06-18 19:09:21 +01:00
Jakub Zelenka 8ec45be8db Merge branch 'PHP-7.1' 2017-06-18 18:32:19 +01:00
Anatol Belski 5aa96fe3d5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Next round on AppVeyor reliability.
2017-06-17 02:00:27 +02:00
Jakub Zelenka 9dada7b291 Merge branch 'PHP-7.1' 2017-06-16 17:15:11 +01:00
Dmitry Stogov bfa154448d VM refactoring, to avoid passing "execute_data" into helper functions that can access it using global register variable. 2017-06-16 01:42:49 +03:00
Anatol Belski 7dc4d46325 follow up on 0c992792220bbfb375d5dc8222beb2a55da8441a 2017-06-15 23:48:03 +02:00
Richard Fussenegger 5fa1cd224b Fixed php_socket_t to int conversion
This warning was about a possible loss of data due to the downcast of `php_socket_t` to `int`. The former maps to a platform specific type, hence, it might downcast from a 64 bit integer to a 32 bit intger.

Fixed possibly overflowing vars

Due to the change from `int` to `php_socket_t` some variables might overflow now. Changed all variables that might be affected.

Revert "Fixed possibly overflowing vars"

This reverts commit bf64fd5984409a208ef32108990a6085b6556273.

Use aliased PHP socket type

Using the alias protects us from changes to the underlying type.

Removed ignored nfds argument

The `nfds` argument to the Win32 `select` function is always ignored, regardless of its actual value. Hence, we should not pass it in the first place. See https://msdn.microsoft.com/en-us/library/windows/desktop/ms740141(v=vs.85).aspx for reference.

Target value is not a pointer

Avoid overflow in loop
2017-06-15 23:48:03 +02:00
Anatol Belski fb6e718764 fix ticks init in ts build 2017-06-15 23:48:03 +02:00
Dmitry Stogov f5c3d21c4e Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  code de-duplication in ReflectionType::__toString and ReflectionNamedType::getName
2017-06-15 22:51:52 +03:00
Dmitry Stogov 8bb29704ea Refactored API for constant array element propagation 2017-06-15 22:50:04 +03:00
Remi Collet fdfc5c1b3d code de-duplication in ReflectionType::__toString and ReflectionNamedType::getName
This code duplication introduce an inconsistency in displayed type name
- bool (reflection) vs boolean
- int (reflection) vs integer

And reflection already use zend_get_type_by_const in other methods...

Inconsistenty is kept for BC reason.
Could be fixed in 8.0
2017-06-15 15:38:03 +02:00
Dmitry Stogov 76db01d9ff Moved "Using $this when not in object context" exception code into single VM helper. 2017-06-15 16:23:05 +03:00
Xinchen Hui 3e6c0b7826 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Change PHP_OS_FAMILY to "Darwin" instead of "Mac" for Darwin based systems (as suggested by Davey)
  Fixed bug #74679 (Incorrect conversion array with WSDL_CACHE_MEMORY)
  Use "Mac" instead of "OSX" to identify macOS in PHP_OS_FAMILY
  Avoid run-time checks performed at compile-time.
  Fixed performance degradaton introduced in f6ac96b
  NEWS
  NEWS
  Fix bug #74705 for collator_get_sort_key
  Fixes bug #74705 Wrong ReflectionInfo for Collator::getSortKey()
  NEWS
  NEWS
  Fixes bug #74708 reflection signatures for random_bytes+random_int
2017-06-14 10:42:37 +08:00
Kalle Sommer Nielsen a251d9b2c1 Change PHP_OS_FAMILY to "Darwin" instead of "Mac" for Darwin based systems (as suggested by Davey) 2017-06-14 03:29:06 +02:00
Dmitry Stogov ef4b2fc283 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Use "Mac" instead of "OSX" to identify macOS in PHP_OS_FAMILY
2017-06-13 17:17:57 +03:00
Dmitry Stogov 02778731b7 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74679 (Incorrect conversion array with WSDL_CACHE_MEMORY)
2017-06-13 17:17:26 +03:00
Sebastian Bergmann 362d2e42a0 Use "Mac" instead of "OSX" to identify macOS in PHP_OS_FAMILY 2017-06-13 15:45:57 +02:00
Dmitry Stogov 8fe47a47cf Avoid run-time checks performed at compile-time. 2017-06-13 13:48:58 +03:00
Dmitry Stogov 1385784f54 Fixed performance degradaton introduced in f6ac96b 2017-06-13 12:20:14 +03:00
Remi Collet b1fedd88db Merge branch 'PHP-7.1'
* PHP-7.1:
  NEWS
  NEWS
  Fix bug #74705 for collator_get_sort_key
  Fixes bug #74705 Wrong ReflectionInfo for Collator::getSortKey()
2017-06-13 08:50:30 +02:00
Remi Collet 66a018ccb4 Merge branch 'PHP-7.1'
* PHP-7.1:
  NEWS
  NEWS
  Fixes bug #74708 reflection signatures for random_bytes+random_int
2017-06-13 08:15:33 +02:00
Xinchen Hui dc098b09f8 Avoiding str duplication 2017-06-13 14:00:53 +08:00
Xinchen Hui 42b3bf93fb Merge branch 'PHP-7.1'
* PHP-7.1:
  Forgotten NEWs update
  Forgotten NEWs update
2017-06-13 12:22:00 +08:00
ZiMuyang 5c9d6e89fe Delete extra semicolon 2017-06-12 23:14:11 +02:00
Michael Moravec 586a22cbad Bump Modules API number for 7.2 to distinguish from 7.1 2017-06-12 12:04:02 -04:00
Xinchen Hui e33bc38e83 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add simple cli test for PATH/HOST ini sections
  Fixed bug #74600
2017-06-12 17:21:45 +08:00
Jakub Zelenka f6ac96b039 Improve and simplify UTF-8 validation in JSON 2017-06-11 17:27:32 +01:00
Christoph M. Becker 68a0639c8f Fix #74744: gd.h: stdarg.h include missing for va_list use in gdErrorMethod 2017-06-11 17:17:01 +02:00
Niklas Keller bec91e1117 Use any TLS crypto method by default, don't use SSL 2017-06-10 17:31:24 -04:00
Anatol Belski b50fe893a7 Merge branch 'PHP-7.1' 2017-06-09 23:48:25 +02:00
Anatol Belski e72970026d add UPGRADING note 2017-06-09 17:45:24 +02:00
Anatol Belski 354899bc13 update NEWS 2017-06-09 17:42:21 +02:00
Anatol Belski 2dd2614bb1 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2017-06-09 17:41:51 +02:00
Anatol Belski 587b800811 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74720 pkcs7_en/decrypt does not work if \x1a is used in
2017-06-09 17:37:42 +02:00
Christoph M. Becker 130f06a8a1 Update to SQLite 3.19.3 2017-06-09 14:47:18 +02:00
Christoph M. Becker fb0f3f60d4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Use reasonable SQLite3 module version
2017-06-09 14:11:11 +02:00
Remi Collet 8d8d7ed822 prevent multiple include using standard macros 2017-06-09 09:29:30 +02:00
Remi Collet 75cda24b82 cleanup
ssite_t is used in lot of places, without need for this.
If really needed, should be in global location, not in an extension
2017-06-09 09:22:05 +02:00
Remi Collet 22cdfc2504 cleanup, MEMORY_LIMIT is not used anymore 2017-06-09 08:07:21 +02:00
Sara Golemon f2bf00ba1c X.Y.0 releases are more special than X.Y.(1+) releases 2017-06-08 15:01:15 -04:00
Sara Golemon 30ad9bf530 Create announcement entry on web-php even for non-stable 2017-06-08 13:27:36 -04:00
Anatol Belski a0338d3490 Merge branch 'PHP-7.1'
* PHP-7.1:
  enforce exit status propagation and up the sdk version
2017-06-08 17:18:15 +02:00
Dmitry Stogov db4561bfff Introduced "zif_handler" type (zif = zend internal function). 2017-06-08 16:52:39 +03:00
Dmitry Stogov ace9fe5317 Improved new Zend Parameter Parsing API to avoid useless dereferences.
This derefernce made sense only for explicit paramter passing by reference, but this feature was removed in PHP-7.
The improvement is 100% backward compatible, only few "tricky" functions may be affected (e.g. extract and usort).
2017-06-08 13:03:24 +03:00
Dmitry Stogov bdc37442bf Fixed wrong type. 2017-06-08 13:03:02 +03:00
BohwaZ 626ee74ee8 Change flags to use SQLITE3_OPEN_READ* constants instead of a fake-boolean, add tests on errors 2017-06-08 11:25:00 +12:00
Jakub Zelenka eb6614e458 Constify str in add_assoc_string_ex and add_assoc_stringl_ex 2017-06-07 23:44:23 +02:00
Richard Fussenegger 7cce220be8 Updated some str functions to new parameter API 2017-06-07 23:43:37 +02:00
Richard Fussenegger 595a395cb9 Clean up .gitignore
Simply test rules using ** globs, remove some outdated rules and
group some rules differently.
2017-06-07 23:40:27 +02:00
Richard Fussenegger 88238926b0 Removed empty stub.c file 2017-06-07 23:38:49 +02:00
Sara Golemon 2a8381fb28 Windows builds are no longer copied to downloads.php.net
They have their own home at windows.php.net/downloads
2017-06-07 09:01:04 -04:00
Christoph M. Becker 455db49c1b Update to SQLite 3.19.2 2017-06-07 14:34:57 +02:00
Dmitry Stogov 71daef93bc preg_replace() optimization 2017-06-07 13:50:16 +03:00
Sara Golemon 5f05527393 Remove instructions to email internals-win@
Use the release-managers@ distribution list instead
for a better audience.
2017-06-06 12:45:20 -04:00
Remi Collet 5bced1affb Merge branch 'PHP-7.1'
* PHP-7.1:
  relax this test again (still encounter erratic failure)
2017-06-06 17:20:48 +02:00
Sara Golemon 958dfb096b Update NEWS for 7.2.0alpha2 2017-06-06 09:58:34 -04:00
Sara Golemon fc35c39ecb Update NEWS for PHP 7.2.0alpha1 2017-06-06 09:58:34 -04:00
Dmitry Stogov 68dc754998 Avoid string reallocations in html_entity_decode() and htmlspecialchars_decode() 2017-06-06 16:09:26 +03:00
Dmitry Stogov 6a024146bb Removed unused variable. 2017-06-06 16:08:44 +03:00
Dmitry Stogov 81a6ee9aa4 Avoid string reallocations in preg_quote() 2017-06-06 13:56:19 +03:00
Sara Golemon a867d74ad3 Add note about publishing gpg key 2017-06-05 16:33:38 -07:00
Jakub Zelenka 8baf12b161 Merge branch 'PHP-7.1' 2017-06-04 18:22:02 +01:00
Nikita Popov d162147315 Merge branch 'PHP-7.1' 2017-06-03 15:09:04 +02:00
Nikita Popov c94773124d Merge branch 'PHP-7.1' 2017-06-03 12:39:50 +02:00
Michael Moravec 637714cdaa Implemented FR #71520
Adding the DateTime constants to the DateTimeInterface interface.
2017-06-03 00:54:34 +02:00
Nikita Popov d9886614dc Merge branch 'PHP-7.1' 2017-06-03 00:42:38 +02:00
Pedro Magalhães c6c1e75e6b Fix bug #74607: Don't check for bi-directional compatibility in traits 2017-06-03 00:24:43 +02:00
Niklas Keller f2e7cdb8b7 Fix bug #55407
This reverts commit b148c50f48 and
reintroduces the fix for bug #55407.

With https://wiki.php.net/rfc/parameter-no-type-variance being
implemented now, it's no longer a BC break.
2017-06-03 00:11:03 +02:00
Nikita Popov 8eb7efc261 Merge branch 'PHP-7.1' 2017-06-03 00:05:58 +02:00
Nikita Popov c28406f611 Merge branch 'PHP-7.1' 2017-06-02 23:53:00 +02:00
Shaikhul Chowdhury 6ee932ccce Add basic test for posix_setegid function 2017-06-02 23:43:56 +02:00
Nikita Popov bd1fa536bb Merge branch 'PHP-7.1' 2017-06-02 23:41:19 +02:00
Nikita Popov e2a2e49063 Merge branch 'PHP-7.1' 2017-06-02 23:36:44 +02:00
Dmitry Stogov 4f947e1f40 PCRE_EXTRA_MARK is useful only for preg_replace_callbakc().
Removed branch expectations.
2017-06-02 14:34:31 +03:00
Dmitry Stogov 8dc6b41011 Added support for PCRE JIT fast path API 2017-06-02 13:14:33 +03:00
Sara Golemon a86c87df2d Escape value passed to exec()
getmypid() is safe, but no harm being EXTRA safe.
2017-06-01 15:43:25 -07:00
Sara Golemon a9294d36bc Ignore spurious stderr output from lsof
lsof may report errors trying to stat files owned by other
users in other processes, even when asking for files
associated to a specific process.  Boo.
2017-06-01 15:43:25 -07:00
Dmitry Stogov 02e6c9c757 ZVAL_COPY_UNREF() micro-optimization 2017-06-02 00:38:09 +03:00
marcosptf 3efef6d0c0 test for ErrorException::getSeverity(); 2017-06-01 08:23:53 +01:00
marcosptf c7f45aab01 improve dns (checkdnsrr) test coverage 2017-06-01 08:21:27 +01:00
marcosptf 6a12b52406 test to function forward_static_call_array();
was added new test to standard function;
2017-06-01 08:19:26 +01:00
Sean Fraser 7a7e0f7da0 added test for imagecopymergegray(), added color check to test for imagecopymerge() 2017-06-01 08:17:36 +01:00
Jelle van der Waa f3d22e4999 openssl: Add basic openssl_pkcs7_verify tests
Add basic openssl_pkcs7_verify tests, which verifies a signed email,
extracts the signed certificate and the body of the email.
2017-06-01 08:12:25 +01:00
Joe Watkins a6b9cf0250 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed #74639 - Added proper clone functionality for DatePeriod and DateInterval
2017-06-01 08:07:53 +01:00
Sara Golemon d1cfd87fbe Allow ReflectionClass::isIterable() to return true for Traversables
Current behavior is essentially "Is an INTERNAL iterable class".
This change allows isIterable() to return true for userspace classes as well.
2017-05-31 14:23:57 -07:00
Sara Golemon c1500f8519 Rename ReflectionClass::isIterateable() to isIterable()
Iterateable is not a word.
Add the correct spelling, but keep the original one around
for BC purposes.

Perhaps we can add ZEND_ACC_DEPRECATED at some later date
and even remove it from PHP 8.
2017-05-31 12:08:07 -07:00
Dmitry Stogov fc1ae1d1d3 Exclude warm-up requests from callgrind profile. 2017-05-31 16:16:56 +03:00
Remi Collet b54e0dc321 clean 2017-05-31 09:57:34 +02:00
Remi Collet 77cca632da Use of bundled libzip is deprecated 2017-05-31 09:56:01 +02:00
Remi Collet 0bad6d7d6b NEWS 2017-05-31 09:54:11 +02:00
Dmitry Stogov a0cc6d426f New optimization pattern 2017-05-31 09:53:10 +03:00
Xinchen Hui bfd35512bb Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #74673 (Segfault when cast Reflection object to string with undefined constant)

Conflicts:
	ext/reflection/php_reflection.c
2017-05-31 13:12:24 +08:00
Dmitry Stogov 32200e0b69 Avoid double copying 2017-05-31 02:14:17 +03:00
Dmitry Stogov da01fa3897 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed wrong condition
  ext/ldap/test: Test that ldap_connect() uses defaults from ldap.conf (openldap)
  ext/ldap: Allow default host from ldap.conf to work.
2017-05-31 00:41:12 +03:00
Dmitry Stogov a916bed8f8 Fixed function name resolution 2017-05-30 21:48:16 +03:00
David Caldwell aef09760d1 ext/ldap/test: Test that ldap_connect() uses defaults from ldap.conf (openldap) 2017-05-30 17:30:32 +02:00
David Caldwell 747e93eabc ext/ldap: Allow default host from ldap.conf to work.
This fixes an regression introduced in
e7af0fe1eb. Previously, calling
ldap_connect() with no parameters would pass NULL to ldap_init(),
which causes it to use the default host specified in
/etc/ldap/ldap.conf (on Ubuntu).

When the code changed to use ldap_initialize(), it initialized a uri,
even if there were no parameters passed to ldap_connect(). Because of
this, there's no way to pass a NULL into ldap_initialize(), making it
impossible to use the default uri from ldap.conf.

This commit bypasses the uri creation when there is no host argument,
passing on a NULL to ldap_initialize() which restores the old PHP 5.5
behavior.
2017-05-30 17:30:32 +02:00
Dmitry Stogov 65edf44291 Check for possible run-time function name resolution 2017-05-30 17:37:54 +03:00
Dmitry Stogov 3a4fcee767 trim() micro-optimization 2017-05-30 17:14:08 +03:00
Anatol Belski b8a334f149 reapply platform related onig patches 2017-05-30 15:47:56 +02:00
Remi Collet 20eacb787f Merge branch 'PHP-7.1'
* PHP-7.1:
  NEWS
  NEWS
  Patch from the upstream git https://github.com/kkos/oniguruma/issues/60 (CVE-2017-9228)
  Patch from the upstream git https://github.com/kkos/oniguruma/issues/59 (CVE-2017-9229) b690371bbf97794b4a1d3f295d4fb9a8b05d402d Modified for onig 5.9.6
  Patch from the upstream git https://github.com/kkos/oniguruma/issues/58 (CVE-2017-9227)
  Patch from the upstream git https://github.com/kkos/oniguruma/issues/57 (CVE-2017-9224)
  Patch from the upstream git https://github.com/kkos/oniguruma/issues/55 (CVE-2017-9226) b4bf968ad52afe14e60a2dc8a95d3555c543353a Modified for onig 5.9.6 f015fbdd95f76438cd86366467bb2b39870dd7c6 Modified for onig 5.9.6
2017-05-30 15:46:51 +02:00
Remi Collet 0ae2f95b8b Update Oniguruma to latest upstream version 6.3.0
Windows specific changes need to be applied again.
2017-05-30 14:14:57 +02:00
Dmitry Stogov c015be131d Update opcode description 2017-05-30 14:47:21 +03:00
Dmitry Stogov 33d42802d3 Fixed support for C compilers that don't support global register variables. 2017-05-30 13:31:58 +03:00
Dmitry Stogov 6043f76ad7 Added ZEND_FUNC_NUM_ARGS, ZEND_FUNC_GET_ARGS instructions, to implement corresponding builtin functions.
Special optimisation for "array_slice(INT, func_get_args())" pattern.
2017-05-30 13:23:17 +03:00
Dmitry Stogov 017d65d74a Extend ZEND_SEND_ARRAY to eliminate array_slice() call for "call_user_func_array(_, array_slice(_, LONG, _))" pattern. 2017-05-30 12:25:46 +03:00
Dmitry Stogov c45e3632a2 Don't allocate empty strings, use single interned string instead. 2017-05-30 10:02:04 +03:00
Remi Collet 37a16a32c9 missing fix for another test 2017-05-29 12:07:13 +02:00
Remi Collet cb28a0ab2d missing fix for test 2017-05-29 11:41:16 +02:00
Nicolas Grekas 3c43510b19 add PREG_UNMATCHED_AS_NULL flag to allow distinguish between unmatched subpatterns and empty matches 2017-05-29 11:40:29 +02:00
Remi Collet 0f20970216 Fix possible test failure with path > 108
E.g.  Notice: stream_socket_server(): socket path exceeded the maximum allowed length of 108 bytes and was truncated in /builddir/build/BUILD/php-src-32d7fa6f74b56fed8124d4dea0f98f0f9964a64e/ext/standard/tests/streams/bug74556.php on line 4
2017-05-29 11:17:32 +02:00
Anatol Belski 32d7fa6f74 further data type fixes to ext/dba 2017-05-29 10:17:43 +02:00
Anatol Belski 29248d52b2 move dba handlers to size_t 2017-05-29 10:17:43 +02:00
Remi Collet c6c654c303 fix hash build (when build dir != src dir) 2017-05-29 09:55:51 +02:00
Remi Collet 7bb6b6b6d2 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src: (150 commits)
  Fix Bug #74386Phar::__construct(): wrong number of parameters by reflection
  Fix Bug #74386 Phar::__construct(): wrong number of parameters by reflection
  Fixed typo
  fix typo
  fix resetting cursor data if dba_firstkey failed
  fix wrong define
  fix c/p issue
  enable ext/dba on AppVeyor
  implement support for LMDB in ext/dba
  fix identiation
  Bugfix #74556 stream_socket_get_name() returns empty string
  Fix abstract name handling to be binary safe
  Added more EXIF MAKERNOTE formats:  - AGFA,  - Kyocera  - Ricoh  - Epson
  Replace slow generic sha3 implementation by https://github.com/gvanas/KeccakCodePackage
  Bugfix #74598 ftp:// ignores context
  Improve conditions and visibility
  [ci skip] update NEWS
  Fix test
  Fixed bug #72885 flatfile: dba_fetch() fails to read replaced entry
  Update NEWS
  ...
2017-05-29 09:54:29 +02:00
Joe Watkins 2a64f548da Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix Bug #74386Phar::__construct(): wrong number of parameters by reflection
2017-05-29 08:32:23 +01:00
Joe Watkins 368fc74bde Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix Bug #74386 Phar::__construct(): wrong number of parameters by reflection
2017-05-29 08:30:11 +01:00
Markus Staab e54e8ff3b0 Fixed typo 2017-05-29 08:21:37 +01:00
Anatol Belski 85b0b8a739 fix typo 2017-05-28 21:15:52 +02:00
Anatol Belski fe86268336 fix resetting cursor data if dba_firstkey failed
better symbol check

fix config.m4
2017-05-28 19:30:29 +02:00
Anatol Belski 9964721a17 fix wrong define 2017-05-28 18:57:07 +02:00
Anatol Belski 126484fe1c fix c/p issue 2017-05-28 18:54:26 +02:00
Anatol Belski 9da0c5c0de enable ext/dba on AppVeyor 2017-05-28 18:51:04 +02:00
Anatol Belski 16d7fd9d7f implement support for LMDB in ext/dba
don't abort txn if cursor is active

fix typos
2017-05-28 18:33:12 +02:00
Anatol Belski 2058d8ed22 fix identiation 2017-05-28 18:33:12 +02:00
Sara Golemon e60cedfbc3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Bugfix #74556 stream_socket_get_name() returns empty string
  Fix abstract name handling to be binary safe
2017-05-28 08:51:41 -07:00
Kalle Sommer Nielsen 818272ae10 Added more EXIF MAKERNOTE formats:
- AGFA,
 - Kyocera
 - Ricoh
 - Epson
2017-05-28 14:00:51 +02:00
Christian Schneider 91663a92d1 Replace slow generic sha3 implementation by https://github.com/gvanas/KeccakCodePackage
Fix hash_copy() tests by using correct size for sha3 context

sync config.w32 with with new sha3 files

Move dependency on KeccakHash.h to hash_sha3.c so we do not rely on it to install php_hash_sha3.h

Allocate memory for KeccacInstance in hash_sha3.c so header files do not need to know about implementation details while keeping API backward compatible to original sha3 implementation

Fix memory leak because hash_copy is called after init which already allocates the hashinstance
2017-05-28 12:50:33 +02:00
Sara Golemon 41b41825d6 Merge branch 'PHP-7.1'
* PHP-7.1:
  Bugfix #74598 ftp:// ignores context
2017-05-27 21:15:24 -07:00
Anatol Belski 7312244034 Improve conditions and visibility 2017-05-27 23:07:49 +02:00
Anatol Belski cebfe63e3b [ci skip] update NEWS 2017-05-27 22:57:19 +02:00
Anatol Belski ea0cbae9f0 Fix test
The lock flag is not set to '-' in the test, so there's no such run.
2017-05-27 22:45:58 +02:00
Anatol Belski 36b5ab15f4 Fixed bug #72885 flatfile: dba_fetch() fails to read replaced entry
With append mode it is only possible to write to the end of the file. It
is not suitable for drivers like flatfile. Thus, if the file is created,
the stream is closed and is reopened with r+b, otherwise r+ mode is used
right away.
2017-05-27 22:23:02 +02:00
Xinchen Hui 93a5783095 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #74663 (Segfault with opcache.memory_protect and validate_timestamp)
2017-05-27 22:43:53 +08:00
Anatol Belski 38ee9f7c0d extend condition 2017-05-27 13:30:55 +02:00
Xinchen Hui 225f6cc11f Merge branch 'PHP-7.1'
* PHP-7.1:
  Correct the location
2017-05-27 12:12:17 +08:00
Xinchen Hui 8af21f3ca6 Merge branch 'PHP-7.1'
* PHP-7.1:
  Added NEWs
  Fixed bug #74657 (Undefined constants in array properties result in broken properties)
2017-05-27 12:09:28 +08:00
Kalle Sommer Nielsen 7b5ba8e68b Remove accidently added byte 2017-05-26 17:37:44 +02:00
Kalle Sommer Nielsen 0affe1e7bd Added zend_parse_parameters_none_throw() 2017-05-26 17:29:50 +02:00
Anatol Belski e5c273dc0e Turn interactive mode on, if cli binary is clicked in filemanager 2017-05-25 21:04:56 +02:00
Dmitry Stogov d32288b5bf Fixed copy-paste mistake 2017-05-25 20:20:57 +03:00
Dmitry Stogov f00d1c72b4 Added ZEND_GET_CLASS, ZEMD_GET_CALLED_CLASS, ZEND_GET_TYPE instructions, to implement corresponding builtin functions. 2017-05-25 18:41:28 +03:00
Derick Rethans 546dd2af96 Merge branch 'PHP-7.1' 2017-05-25 10:57:15 -04:00
Dmitry Stogov 34be1cf2aa Fixed test (backtrace was changed) 2017-05-25 16:02:16 +03:00
Dmitry Stogov cd953269d3 Added ZEND_COUNT instruction, to implement corresponding builtin. 2017-05-25 12:52:34 +03:00
Dmitry Stogov 27e7aea412 "Countable" interface is moved from SPL to Core 2017-05-25 12:47:43 +03:00
Dmitry Stogov 44ec732752 Fixed ZEND_IN_ARRAY related issues 2017-05-25 10:26:42 +03:00
Dmitry Stogov 13ee8fd626 Improved UTF-8 validation in JSON 2017-05-25 01:16:17 +03:00
Dmitry Stogov fa828dbe84 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Remove `user=foo` from FPM test config
  Skip FPM tests when running as root (unless requested)
2017-05-25 01:16:06 +03:00
Sara Golemon d316ba2d65 Remove user=foo from FPM test config
This setting has nothing to do with what's being tested,
and on any system without a "foo" user we'll get a spurious error.
2017-05-24 15:07:24 -07:00
Sara Golemon d8d1c78ed0 Skip FPM tests when running as root (unless requested)
FPM must be configured as a user.
Normally it defaults to the current user,
but if that's root it'll fail to startup
unless the --run-as-root option is provided.

Extend that logic into the test runner so that
we don't fail for stupid reasons.

If you're running `make test` as root and you want
FPM tests to run anyway, set TEST_FPM_RUN_AS_ROOT=1
in your environment.
2017-05-24 13:58:18 -07:00
Dmitry Stogov 89b3c9f647 Optimizer support for ZEND_IN_ARRAY 2017-05-24 23:37:35 +03:00
Dmitry Stogov 7c7383067f Added ZEND_IN_ARRAY instruction, implementing optimized in_array() builtin function, through hash lookup in flipped array 2017-05-24 23:00:48 +03:00
Nikita Popov 5c3d14d43f Merge branch 'PHP-7.1' 2017-05-24 18:02:22 +02:00
Pedro Magalhães a5eb57c96e Allow overriding abstract methods
RFC: https://wiki.php.net/rfc/allow-abstract-function-override
2017-05-24 17:42:01 +02:00
Sara Golemon 5dc43b4c9d Run scripts/dev/credits 2017-05-23 16:35:36 -07:00
Sara Golemon 92056aee85 Merge branch 'PHP-7.1'
7.1.x release shouldn't have been pn mainline PHP-7.1 branch
Fix the merge history to keep master in place.

* PHP-7.1:
  bump versions
2017-05-23 16:29:11 -07:00
Dmitry Stogov dd4a78b631 Don't separate output arguments 2017-05-23 17:18:05 +03:00
Dmitry Stogov 490960d861 Avoid useless string duplication 2017-05-23 15:25:21 +03:00
Anatol Belski e8294cd50d Merge branch 'PHP-7.1'
* PHP-7.1:
  time to move next
2017-05-23 12:34:07 +02:00
Dmitry Stogov 293d99052d Optimized parse_url() by using "known" strings 2017-05-22 23:23:12 +03:00
Xinchen Hui 26a6d20ab5 Fixed segfult in JIT (emalloc may trigger memory limitation)
Zend/tests/bug68412.phpt
2017-05-21 20:48:07 +08:00
Anatol Belski 5d3027d759 Merge branch 'PHP-7.1'
* PHP-7.1:
  move to the next sdk version for AppVeyor
2017-05-20 13:52:35 +02:00
Xinchen Hui dd0795ac33 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update news
  Fixed #74595 - ReflectionMethod::getParameters returns incorrect number of parameters
2017-05-20 00:03:17 +08:00
Dmitry Stogov 372397f518 Updated func info 2017-05-18 19:24:30 +03:00
Dmitry Stogov a08723d3d3 Use interned empty and "one char" strings. 2017-05-18 17:59:59 +03:00
Dmitry Stogov b1a07d430b Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  follow up fix on bug #74022
2017-05-18 13:18:47 +03:00
Dmitry Stogov 8203a175b1 Remove unused opcode handlers 2017-05-18 13:18:08 +03:00
Anatol Belski f8f8f24024 Merge branch 'PHP-7.1'
* PHP-7.1:
  follow up fix on bug #74022
2017-05-18 12:10:17 +02:00
Sara Golemon b627e33a8d Bugfix 63790 - Don't try to use Spoofchecker when unavailable
ICUSpoofChecker was introduced with 4.2 and may be
unavailable in some cases.
Skip this test when its not present.
2017-05-17 17:25:23 -07:00
BohwaZ 208aea1e85 Implement writing to BLOBs in SQLite3 2017-05-18 11:54:55 +12:00
Dmitry Stogov 2649a9e1a9 Removed useless dereferences 2017-05-17 21:01:08 +03:00
Bob Weinand ccb5591728 Merge branch 'PHP-7.1' 2017-05-17 19:59:36 +02:00
Xinchen Hui 23ea38d8f7 Merge branch 'PHP-7.1'
* PHP-7.1:
  Added cleanup
2017-05-17 23:25:34 +08:00
Xinchen Hui af0c443dde Merge branch 'PHP-7.1'
* PHP-7.1:
  Added test for bug #74600
2017-05-17 23:21:42 +08:00
Xinchen Hui 46b7287cc3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Added test for bug #74596
2017-05-17 22:43:14 +08:00
Dmitry Stogov fc927dc263 Switch to HYBRID VM 2017-05-17 15:07:33 +03:00
Anatol Belski 4bdd63595b Merge branch 'PHP-7.1'
* PHP-7.1:
  improve error handling
2017-05-17 13:38:03 +02:00
Anatol Belski 1507f30d15 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix wrong error check
2017-05-17 12:51:46 +02:00
Dmitry Stogov a151d614ba Added missing "successors_count" update. 2017-05-17 12:52:36 +03:00
Anatol Belski 774e7ea8b4 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
2017-05-16 15:10:13 +02:00
Anatol Belski d499720b99 Merge branch 'PHP-7.1'
* PHP-7.1:
  add test for bug #74589
2017-05-16 14:26:35 +02:00
Xinchen Hui a33aca545c Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74600 (crash (SIGSEGV) in _zend_hash_add_or_update_i)
2017-05-16 19:33:24 +08:00
Anatol Belski d5bc862470 avoid strlen in common case 2017-05-16 12:52:16 +02:00
Anatol Belski ea35965568 Merge branch 'PHP-7.1'
* PHP-7.1:
  variation of icu libraries causes failure
2017-05-16 12:48:09 +02:00
Dmitry Stogov 7640e0a5f9 HYBRID VM cleanup 2017-05-16 09:24:23 +03:00
Xinchen Hui 0722a0188f Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWs
2017-05-16 13:23:18 +08:00
Xinchen Hui 62a0342531 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74596 (SIGSEGV with opcache.revalidate_path enabled)
2017-05-16 13:22:51 +08:00
Anatol Belski 7de2b2103f Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "fixing run-tests.php for variables_order="GPCS""
2017-05-15 20:42:37 +02:00
Dmitry Stogov 69b4f8ed79 Fixed USER_OPCODE handling in HYBRID VM. 2017-05-15 21:17:58 +03:00
Anatol Belski 041652bd41 restore rev f9215b6519 2017-05-15 17:54:08 +02:00
Anatol Belski 2f629a10bf Merge branch 'PHP-7.1'
* PHP-7.1:
  switch to Postgres 9.6 for appveyor
2017-05-15 17:49:16 +02:00
Anatol Belski b273fda825 restore rev 431e22fb4d 2017-05-15 17:43:48 +02:00
Anatol Belski 64d9f68afe Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
2017-05-15 17:40:14 +02:00
Anatol Belski de9124a2e7 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74589 __DIR__ wrong for unicode character
  fixing run-tests.php for variables_order="GPCS"
2017-05-15 16:36:40 +02:00
Matt Ficken ad67218954 fixing run-tests.php for variables_order="GPCS" 2017-05-15 02:19:05 -07:00
Anatol Belski 8b361f1160 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
2017-05-14 02:03:02 +02:00
Anatol Belski 5587adc158 Merge branch 'PHP-7.1'
* PHP-7.1:
  revert workaround for bug #74489 as it's fixed in the dependency lib
2017-05-14 01:54:18 +02:00
Markus Staab 2fd94e6be7 Removed always true condition
Since https://github.com/php/php-src/commit/5a9d8a00b475cbbe758d741df7e706859097309c this can no longer be false
2017-05-11 06:28:08 +01:00
Sara Golemon 81064cd045 Merge branch 'PHP-7.1'
* PHP-7.1:
  Remove typo from test header
2017-05-10 16:50:47 -07:00
Dmitry Stogov dfffe6cb32 Type hint inheritance check optimization 2017-05-10 22:25:32 +03:00
Dmitry Stogov 5a9d8a00b4 Constant class names are already verifyed by PHP compiler. 2017-05-10 14:26:44 +03:00
Dmitry Stogov c01afdb68c spl_autoload_call() optimization 2017-05-10 13:27:49 +03:00
Dmitry Stogov c8f073d0d7 Avoid useless checks 2017-05-10 13:27:37 +03:00
Craig Duncan e946d074dd Ensure number_format() doesn't include sign for zero 2017-05-09 10:17:19 +01:00
Xinchen Hui e1c32646b4 typo 2017-05-09 17:15:42 +08:00
Dmitry Stogov 6f6ad066ea Merge branch 'hybrid-vm'
* hybrid-vm:
  Cleanup
  Fixed zend_vm_call_opcode_handler(). Make phpdbg work with HYBRID VM.
  Added missing ZEND_VM_HOT define
  Implemented HYBRID VM instruction dispatch method that takes advantages of both CALL and GOTO VMs.
2017-05-09 09:38:34 +03:00
Dmitry Stogov 2f9d72b309 Cleanup 2017-05-09 09:37:46 +03:00
Xinchen Hui 8f2d3539f2 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed tests when using cumstom php.ini(session.save_handler)
  Fix Bug #74541 Wrong reflection on session_start()
2017-05-09 11:15:32 +08:00
Xinchen Hui 282d09a740 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix typo: exectute => execute
2017-05-09 11:02:02 +08:00
Anatol Belski 91c6f66eaf Merge branch 'PHP-7.1'
* PHP-7.1:
  sync bin sdk version
2017-05-08 19:41:40 +02:00
Anatol Belski 37cbda7cdf Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update libs_versions.txt
  [ci skip] update libs versions file
2017-05-08 13:13:18 +02:00
Sara Golemon 431e22fb4d Add support for run-tests.php to output all test results
./run-tests.php -W outfile.txt

PASS foo/bar.phpt
FAIL baz/qux.phpt
2017-05-08 05:49:56 +01:00
ekinhbayar 47a1ab36b0 Update php.ini-* for deprecated track_errors directive 2017-05-08 05:47:52 +01:00
Xinchen Hui 8daef7e423 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed another potential dangling pointer
2017-05-08 11:36:35 +08:00
Xinchen Hui 1466925cb0 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #74546 (SIGILL in ZEND_FETCH_CLASS_CONSTANT_SPEC_CONST_CONST_HANDLER())
2017-05-08 11:33:01 +08:00
Xinchen Hui 705bd6df78 Unused var 2017-05-08 10:56:21 +08:00
Anatol Belski f9d4456c44 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-05-07 13:06:33 +02:00
Anatol Belski 703209f146 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74547 mysqli::change_user() doesn't accept null as $database argument w/strict_types
2017-05-06 15:11:06 +02:00
Nikita Popov 5af997ed81 Don't use zend_try around dtor_obj() and free_obj()
Without these zend_trys we may
a) leak the object (fine)
b) don't add it to the free list (also fine, we just lose an
   object store bucket)
c) don't remove it from the GC root buffer (also fine, because GC
   explicitly checks for both FREE_CALLED and invalid buckets)
2017-05-04 20:57:25 +02:00
Nikita Popov 3abef9c960 Don't double initialize object properties 2017-05-04 20:57:21 +02:00
Dmitry Stogov 71bfb430af Fixed zend_vm_call_opcode_handler(). Make phpdbg work with HYBRID VM. 2017-05-04 18:56:28 +03:00
Dmitry Stogov b5e857b905 Added missing ZEND_VM_HOT define 2017-05-04 17:57:49 +03:00
Dmitry Stogov 27e01cd918 Implemented HYBRID VM instruction dispatch method that takes advantages of both CALL and GOTO VMs. 2017-05-03 10:01:22 +03:00
Sara Golemon 9d6b7435e4 Ignore ext/mbstring/oniguruma/oniguruma.h
This is just copied in from ext/mbstring/oniguruma/src/oniguruma.h
and is hasn't been kept in GIT since Nov 2016.
2017-05-02 21:48:47 -07:00
Anatol Belski 043b8175e3 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-05-02 14:55:34 +02:00
Anatol Belski 627f870161 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #51918 Phar::webPhar() does not handle requests sent through PUT and DELETE method
2017-05-02 14:47:08 +02:00
Anatol Belski efbfeb1a2e Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-05-02 12:39:54 +02:00
Anatol Belski 83d8daef97 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74510 win32/sendmail.c anchors CC header but not BCC
2017-05-02 12:33:26 +02:00
Dmitry Stogov 476866783c Keep Z_IMMUTABLE*() macros for compatibility 2017-05-02 10:00:54 +03:00
Joe Watkins cdcfb4903d Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #74457 Wrong reflection on XMLReader::expand
2017-05-02 06:25:59 +01:00
Joe Watkins 6b798e0ea1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #74468 wrong reflection on Collator::sortWithSortKeys
2017-05-02 06:22:37 +01:00
Anatol Belski c0e9c21e98 Merge branch 'PHP-7.1'
* PHP-7.1:
  Tests to ensure BC with undocumented behavior used in hacks
2017-05-01 18:07:05 +02:00
Nikita Popov d8aa99ed94 Drop unused variable 2017-05-01 14:16:26 +02:00
Pedro Magalhães 5324fb1f34 Fixed bug #61970: Allow a child class to restrict access to ctor 2017-05-01 14:15:57 +02:00
Pedro Magalhães 92124f9cdc Fixed bug #74269: Strict comparison of initial trait property values 2017-05-01 12:59:27 +02:00
Nikita Popov f9215b6519 Support showing slow tests in run-tests.php 2017-05-01 12:25:03 +02:00
Sammy Kaye Powers 12300f465e Add trailing comma syntax support for mixed and unmixed group use lists
RFC: https://wiki.php.net/rfc/list-syntax-trailing-commas
2017-05-01 12:19:47 +02:00
Nikita Popov 1f42a50840 Merge branch 'PHP-7.1' 2017-05-01 12:15:49 +02:00
Jakub Zelenka 2bce80150f Merge branch 'PHP-7.1' 2017-04-30 20:28:38 +01:00
Jakub Zelenka dccf487b2d Merge branch 'PHP-7.1' 2017-04-30 19:47:23 +01:00
Andrea Faulds a398e3e72d Merge branch 'PHP-7.1' 2017-04-29 16:12:55 +01:00
Andrea Faulds 44156b3114 Drop ZEND_API from zend_assert_valid_class_name
This is a convenience function for internal use and shouldn't have been
exported.
2017-04-29 16:09:08 +01:00
Andrea Faulds 753ae9b7db Test ReflectionType support of iterable 2017-04-29 14:37:35 +01:00
Anatol Belski 9cec5e2c1d [ci skip] yet more info for new rm 2017-04-28 19:15:32 +02:00
Anatol Belski f708f0bb72 use char* as we don't compile with UNICODE anyway 2017-04-28 14:03:06 +02:00
Anatol Belski e9d5214b85 no vista anymore 2017-04-28 13:41:58 +02:00
Jakub Zelenka 1466a0f840 Merge branch 'PHP-7.1' 2017-04-27 15:46:17 +01:00
Jakub Zelenka 2a6f0b8e61 Merge branch 'PHP-7.1' 2017-04-27 15:13:26 +01:00
Anatol Belski 6a010ad492 Avoid unnecessary string copy
which is the case when there's no impersonation.
2017-04-27 16:03:12 +02:00
Anatol Belski 24ae881080 get rid of two strlen calls 2017-04-27 15:41:09 +02:00
Anatol Belski 84b397bf44 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-04-27 11:44:26 +02:00
Anatol Belski 2111de0dd7 Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Detect invalid port in xp_socket parse ip address"
  Revert "Follow up patch regarding bug #74216, see bug #74429"
2017-04-27 11:13:00 +02:00
Anatol Belski 67b701a607 Merge branch 'PHP-7.1'
* PHP-7.1:
  sync bin sdk version
2017-04-26 17:07:37 +02:00
Jakub Zelenka f29e90ff75 Merge branch 'PHP-7.1' 2017-04-26 15:01:27 +01:00
Remi Collet 286ee99088 Merge branch 'PHP-7.1'
* PHP-7.1:
  rely on bundle config, instead of system one
2017-04-26 14:42:02 +02:00
Remi Collet e7af9273f5 Merge branch 'PHP-7.1'
* PHP-7.1:
  skip the test on OpenSSL < 1.1 for now
2017-04-26 14:39:23 +02:00
Remi Collet 6f9700ae99 Merge branch 'PHP-7.1'
* PHP-7.1:
  bump version after release
2017-04-26 14:38:29 +02:00
Anatol Belski 294f6168ed Merge branch 'PHP-7.1'
* PHP-7.1:
  move next
2017-04-25 14:08:17 +02:00
Anatol Belski c8eeb05698 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-04-25 14:01:42 +02:00
Anatol Belski bbf0a9d8a7 Merge branch 'PHP-7.1'
* PHP-7.1:
  Follow up patch regarding bug #74216, see bug #74429
2017-04-25 13:00:10 +02:00
Anatol Belski eb68c0d525 Merge branch 'PHP-7.1'
* PHP-7.1:
  don't backup older deps after upgrades
  update SDK version for AppVeyor
2017-04-24 22:14:30 +02:00
Anatol Belski dca2a855c8 prefer OpenSSL 1.1 with 7.2 as that's what is default 2017-04-24 18:39:04 +02:00
Anatol Belski e9dd511ec6 [ci skip] more upgrading notes 2017-04-24 18:15:15 +02:00
Anatol Belski 0e1b2ae4f3 [ci skip] move item to right section 2017-04-24 18:15:14 +02:00
Jakub Zelenka 2e727b9be1 Merge branch 'PHP-7.1' 2017-04-24 17:14:22 +01:00
Anatol Belski 8f20eb0ea1 Remove --enable-one-shot as it's dead already for long
The usable option is --with-mp, the implementation is available since 7.0.
2017-04-24 17:54:50 +02:00
Anatol Belski 632d68f5f9 Merge branch 'PHP-7.1'
* PHP-7.1:
  Support also no,shared configure arg vals by default
2017-04-24 16:22:57 +02:00
Jakub Zelenka 347b880ee4 Merge branch 'PHP-7.1' 2017-04-23 21:07:31 +01:00
Anatol Belski dd1999e59e Merge branch 'PHP-7.1'
* PHP-7.1:
  extend zlib export required for the recent libpng
2017-04-23 21:35:52 +02:00
Jakub Zelenka 488324e315 Merge branch 'PHP-7.1' 2017-04-23 20:33:48 +01:00
Anatol Belski 103ebbcb7a yet one more export required from newer zlib 2017-04-23 21:29:40 +02:00
Anatol Belski bbd37771f6 Merge branch 'PHP-7.1'
* PHP-7.1:
  extend zlib export required for the recent libpng
2017-04-23 21:29:04 +02:00
Sara Golemon f04ae1d365 Add some 'New RM' instructions 2017-04-23 12:20:41 -07:00
Nikita Popov 6df10e1932 Fix reflection tests in mysqli extension 2017-04-22 23:57:00 +02:00
Anatol Belski e3536dc5a3 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-04-22 22:42:05 +02:00
Anatol Belski bbe2a13395 Merge branch 'PHP-7.1'
* PHP-7.1:
  #74337 pointer returned by php_stream_fopen_tmpfile not validated in memory.c
2017-04-22 21:59:07 +02:00
Anatol Belski 8db4bfedd4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74489 readline() immediately returns false in interactive console mode
2017-04-22 18:35:10 +02:00
Nikita Popov d5c6fcc3ba Don't leak internal flags in reflection
If someone complains, we may re-expose specific flags while also
adding corresponding class constants for them.
2017-04-22 16:44:20 +02:00
Nikita Popov 0710eee043 Fix reflection test after flag removal
Reflection is leaking internal flags...
2017-04-22 16:31:28 +02:00
Nikita Popov b6a4aad820 Remove the ZEND_ACC_CLONE flag
This one is completely unused
2017-04-22 15:47:53 +02:00
Nikita Popov 6ae40ca0e2 Document which function flags are still free
Also clearly separate method and class flags.
2017-04-22 15:47:53 +02:00
Joe Watkins 06eb61591a Merge branch 'PHP-7.1'
* PHP-7.1:
  Avoid exact floating point comparison
2017-04-20 06:42:55 +01:00
Joe Watkins 010ccadf44 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update php_network.h
2017-04-20 06:39:37 +01:00
Xinchen Hui 01ec14afa4 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Enable more control over travis/compile.sh
2017-04-19 17:18:19 +08:00
Xinchen Hui 8cd870a9e0 Fixed hash val calculating 2017-04-19 17:15:34 +08:00
Sara Golemon 847b36265a Enable more control over travis/compile.sh
This is also used by RM process to test the same things.
Allow generating build output (to a log file) and specifying
number of parallel jobs (rather than hard-code zero).

Leave all defaults as-is for Travis builds.
2017-04-18 11:33:06 -07:00
Xinchen Hui b78b15e880 Fixed test 2017-04-18 12:50:14 +08:00
Xinchen Hui 187f42149d Improve fix for #74456 2017-04-18 12:47:53 +08:00
Xinchen Hui 1837eea66d Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74456 (Segmentation error while running a script in CLI mode)
2017-04-17 20:26:57 +08:00
Nikita Popov 4cd5e6816b Drop dead zend_optimizer_lookup_cv() function 2017-04-17 12:20:25 +02:00
Nikita Popov 88c85cbd5c Merge branch 'PHP-7.1' 2017-04-17 12:19:46 +02:00
Joe Watkins 786aeb0d1f Merge branch 'PHP-7.1'
* PHP-7.1:
  ext/gettext: respect passed in library directory for all checks
2017-04-17 08:12:12 +01:00
Joe Watkins 54820aa8de Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74080 Add datetime constant for RFC7231
2017-04-17 08:09:55 +01:00
Joe Watkins 75e8f20174 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74439 Wrong reflection on the Locale methods
2017-04-17 07:58:57 +01:00
Christoph M. Becker e0f2a70c22 Update to SQLite 3.18.0 2017-04-17 00:44:30 +02:00
Anatol Belski 129fe84036 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-04-16 14:56:51 +02:00
Anatol Belski 2a16ba04dc Merge branch 'PHP-7.1'
* PHP-7.1:
  improve/fix error handling
2017-04-15 19:37:12 +02:00
Anatol Belski 871ea20e9c Merge branch 'PHP-7.1'
* PHP-7.1:
  fix error handling
2017-04-15 18:29:37 +02:00
Nikita Popov 28218b4acc Merge branch 'PHP-7.1' 2017-04-15 18:15:45 +02:00
Anatol Belski 4d64a49fcd export the main thread info 2017-04-15 17:48:40 +02:00
Anatol Belski 6a2b48b4e5 Merge branch 'PHP-7.1'
* PHP-7.1:
  extend error map
2017-04-15 17:30:43 +02:00
Nikita Popov 7cd7305b1b Merge branch 'PHP-7.1' 2017-04-15 12:36:02 +02:00
Nikita Popov 0c3bc43207 Remove leftover code for generator stack page handling 2017-04-15 12:11:30 +02:00
Nikita Popov cfa6fa1525 Initialize retval in INCLUDE_OR_EVAL
In case the eval'd code throws.
2017-04-15 12:11:30 +02:00
Sara Golemon 2b3ba5d4c7 Update step about uploading packages to downloads.php.net
At some point this changed from a per-user specific mapping
to a standard ~$USER mapping.
2017-04-14 16:44:13 -07:00
Nikita Popov 7f5d47dfd1 Merge branch 'PHP-7.1' 2017-04-15 01:40:59 +02:00
Rasmus Lerdorf e42948e6e3 Credit goes to Eric Norris for this one 2017-04-14 15:49:05 -07:00
Nikita Popov feb828ffb0 Merge branch 'PHP-7.1' 2017-04-14 22:20:48 +02:00
Nikita Popov 81b4bfcb96 Merge branch 'PHP-7.1' 2017-04-14 22:04:07 +02:00
Johannes Schlüter 5440b69ef4 Merge branch 'PHP-7.1' 2017-04-14 16:31:19 +02:00
Joe Watkins 8f975e3504 Merge branch 'PHP-7.1'
* PHP-7.1:
  missing news entry from 7.1.3
2017-04-14 07:56:38 +01:00
Joe Watkins 67156347ad Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74433 Wrong reflection on the Normalizer methods
2017-04-13 13:22:42 +01:00
Anatol Belski df3e1a16fe simplify and generalize crossplatform parts 2017-04-13 13:04:55 +02:00
Anatol Belski 858ad8a598 unify behavior 2017-04-13 12:50:18 +02:00
Anatol Belski 93f594831c extend flag to reduce re-link time 2017-04-13 12:50:18 +02:00
Remi Collet d77aa0acb3 Merge branch 'PHP-7.1'
* PHP-7.1:
  NEWS
  NEWS
2017-04-13 07:11:17 +02:00
Remi Collet a1bd34b31c Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74416 Wrong reflection on DOMNode::cloneNode
2017-04-13 07:07:56 +02:00
Remi Collet 04fe5e9683 Rely on having unistd.h (which provides isatty function)
rather than having the posix extension.

Fix the tests when build with --disable-all
2017-04-12 12:56:13 +02:00
Christopher Jones efeab78535 Merge branch 'PHP-7.1' 2017-04-12 14:04:37 +10:00
Sammy Kaye Powers fd0e71d001 Fix bug 60471 by correctly identifying unused speculative preconnections
* Correctly identify unused speculative preconnections from browsers
  like Chrome and Firefox
* Add a new message to the debug level that is emitted when a TCP
  connection is closed without sending any request (a preconnection)
* Fix an issue where the existing debug messages were not being
  displayed even when debug mode was enabled
2017-04-11 15:08:05 -07:00
Anatol Belski 8121cb5046 Pass explicit PHP version string to mkdist.php 2017-04-11 16:20:42 +02:00
Anatol Belski f052e99df6 Enable whole program optimization for builds without PGO, too 2017-04-11 15:21:10 +02:00
Anatol Belski e282c403c5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix misleading typo in identifiers
2017-04-11 13:50:56 +02:00
Anatol Belski a94fc577af Fix command syntax, env var has to be nmake macro in makefile 2017-04-11 13:29:08 +02:00
Joe Watkins f0f8c9cf0a Merge branch 'PHP-7.1'
* PHP-7.1:
  fixed bug #74413 wrong reflection on SQLite3::enableExceptions
2017-04-11 12:17:00 +01:00
Xinchen Hui 5340587c25 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #74408 (Endless loop bypassing execution time limit)
2017-04-11 18:47:06 +08:00
Anatol Belski c14eecb9ac use php.exe from the SDK for packaging, not the one just compiled 2017-04-11 12:00:10 +02:00
Markus Staab f160ee1251 remove no longer accurate comment 2017-04-11 11:53:43 +02:00
Anatol Belski fa7bd5eabf Fail hard if sed isn't found
now that the new SDK is required and supplies it.
2017-04-11 11:40:23 +02:00
Anatol Belski be540347e2 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix re2c version comparison
2017-04-11 11:38:07 +02:00
Matt Ficken bc9b3c5d20 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix #74410 by calling WaitForMultipleObjects() instead of MsgWaitForMultipleObjects()
2017-04-11 01:58:07 -07:00
Matt Ficken d83743739e Fix #74410 by calling WaitForMultipleObjects() instead of MsgWaitForMultipleObjects() 2017-04-11 01:06:56 -07:00
Sebastian Bergmann 6035ebd4a6 Merge branch 'PHP-7.1' 2017-04-11 08:29:14 +02:00
Nikita Popov 07fe8616e6 Set flags on the right block 2017-04-11 00:04:07 +02:00
Nikita Popov a4c7c55c0b Move call/recv splitting into correct branch 2017-04-10 23:51:27 +02:00
Sammy Kaye Powers e92896f735 Remove spurious CG(context).in_finally dingleberry 2017-04-10 22:58:44 +02:00
Nikita Popov 797ee05a3c Merge branch 'PHP-7.1' 2017-04-10 22:26:42 +02:00
Nikita Popov ad8652818a Implement jumptable optimization 2017-04-10 22:23:14 +02:00
Nikita Popov d1a012b602 Support more than two successors in opcache CFG 2017-04-10 22:18:24 +02:00
Nikita Popov eeb6cdf810 Merge branch 'PHP-7.1' 2017-04-10 22:12:05 +02:00
Joe Watkins cae649070f Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Update NEWS
  Fixed bug #74402 (segfault on random_bytes, bin2hex, openssl_seal)
  intergarte furher newer flag in FindFirstFileEx for win7+ only
2017-04-10 12:50:31 +01:00
Joe Watkins 67ef80d34b Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74404 (wrong reflection on DateTimeZone::getTransitions)
2017-04-10 12:50:13 +01:00
Xinchen Hui 6bd8ed4dde Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #74402 (segfault on random_bytes, bin2hex, openssl_seal)
2017-04-10 19:03:38 +08:00
Anatol Belski 528468579b intergarte furher newer flag in FindFirstFileEx for win7+ only 2017-04-10 11:09:51 +02:00
Joe Watkins e24dcf97f1 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Fixed condition check
  Fixed condition check
  another place
  Fixed issue #2466 Invalid integer constant expression error in php.h
2017-04-10 08:06:52 +01:00
Joe Watkins 5b013e7935 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74400 (phpdbg comparing socket function to int)
2017-04-10 08:06:28 +01:00
Xinchen Hui 696bd37e67 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed condition check
  Fixed condition check
  another place

Conflicts:
	ext/mcrypt/mcrypt.c
2017-04-10 14:49:13 +08:00
Xinchen Hui 4e9f0a80b9 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed issue #2466 Invalid integer constant expression error in php.h
2017-04-10 14:41:59 +08:00
Joe Watkins 9e4c48a26a Merge branch 'PHP-7.1'
* PHP-7.1:
  fix news
2017-04-10 06:46:54 +01:00
Mitch Hagstrand a9fdf3d6b4 Fix for Bug 74196: PharData->decompress() does not correctly support dot names
1. Fixed phar_rename_archive to no longer remove everything after a "." in the filename
2. Removed unused "zend_bool compress" parameter
3. Added Test
4. Fixed tests that had a work around for this problem
2017-04-10 06:43:26 +01:00
Joe Watkins b0f9dba2d9 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix of Bug #74383: Wrong reflection on Phar::running
2017-04-10 06:33:42 +01:00
Xinchen Hui 2d21404e25 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #74379 (syntax error compile error in libmagic/apprentice.c)
  Missed NEWS

Conflicts:
	ext/fileinfo/libmagic.patch
2017-04-10 11:47:38 +08:00
Nikita Popov 2b2c6821cd Merge branch 'PHP-7.1'
[skip ci]
2017-04-09 15:57:26 +02:00
Nikita Popov 3895aa2f77 Merge branch 'PHP-7.1' 2017-04-09 15:51:38 +02:00
Nikita Popov 430eea84b8 Merge branch 'PHP-7.1' 2017-04-09 13:15:04 +02:00
Nikita Popov 4ee6b52d0f Merge branch 'PHP-7.1' 2017-04-09 12:56:41 +02:00
Edgar R. Sandi ebdbebee29 pull-request/2456:
increase test coverage in calendar extension
    consistent warnings in calendar extension
2017-04-08 11:37:10 +01:00
Stephan Muggli 345cf5ea6c Fix typo in NEWS 2017-04-08 07:50:43 +01:00
Anatol Belski ad4ef13c5d Switch to FindFirstFileEx with basic info level
That omits querying of short names, thus improving perf.
2017-04-07 21:15:37 +02:00
Jakub Zelenka be71f9ed69 Merge branch 'PHP-7.1' 2017-04-07 19:30:28 +01:00
Xinchen Hui f16bb1be51 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74353 (Segfault when killing within bash script trap code)
2017-04-07 16:15:44 +08:00
Xinchen Hui 36848f6e08 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Remove unused var
  Fix invalid free of persistent results on error/connection loss in mysqlnd (bug 74376)
2017-04-07 15:21:57 +08:00
Remi Collet 67136fe77b zip ext is 1.14.0 2017-04-05 07:39:39 +02:00
Anatol Belski 3c750d91ee external libzip neither requires zlib.h nor lib 2017-04-04 16:33:20 +02:00
Anatol Belski c3e7a2a461 Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "extend skip section"
2017-04-04 16:25:10 +02:00
Anatol Belski 936e341b5e missing bits for php_sys_stat_ex so everything is handled with wide chars
rename to pathw_len
2017-04-03 17:39:15 +02:00
Dmitry Stogov bd78dc578e Expose zend_ssa_is_no_val_use() 2017-04-03 16:57:29 +03:00
Anatol Belski 6ab2c558f1 add existence check for clang lib dir and improve on x86 2017-04-03 15:29:56 +02:00
Anatol Belski f02b4d575f Merge branch 'PHP-7.1'
* PHP-7.1:
  fix possible out of bounds buffer access
2017-04-03 15:22:59 +02:00
Anatol Belski 1459d5dc18 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix buffer overflow
2017-04-03 14:25:37 +02:00
Anatol Belski 731cb8a827 basic ASAN suport for clang on Windows
fix makefile generation for non clang

rename option
2017-04-03 12:02:51 +02:00
Anatol Belski 6d1fc6cd6f hide clang warnings about unimplemented cli options 2017-04-02 17:55:23 +02:00
Anatol Belski 0894c22b49 extend manifest with long path compat info 2017-04-02 16:40:36 +02:00
Anatol Belski 80d5c23c0d do compare on wchar's 2017-04-02 16:40:36 +02:00
Nikita Popov 19a692b7d2 Update CONTRIBUTING
Update version numbers, point out not to PR against release branches,
point out rebase over merge.

[ci skip]
2017-04-02 13:45:08 +02:00
Nikita Popov 3a890180d3 Merge branch 'PHP-7.1' 2017-04-02 13:31:07 +02:00
Nikita Popov 51b06aa86e Merge branch 'PHP-7.1' 2017-04-02 13:20:14 +02:00
Nikita Popov 8aa419c91c Merge branch 'PHP-7.1' 2017-04-02 01:08:42 +02:00
Craig Duncan 16202b7d67 Don't suppress warnings in tests 2017-04-02 00:58:56 +02:00
Thomas Punt 9f08aff3fd Remove superfluous allocation checks around ZMM-based functions 2017-04-02 00:58:19 +02:00
Anatol Belski e0f68ae144 implement basic binary tools sdk version check 2017-03-31 01:46:57 +02:00
Anatol Belski 695f29b7d5 Merge branch 'PHP-7.1'
* PHP-7.1:
  update sdk version for appveyor
2017-03-31 01:45:41 +02:00
Dmitry Stogov f07e4c033c Allow SSA construction with source information about CV used as result (DFG fix) 2017-03-30 21:24:29 +03:00
Dmitry Stogov 6af1ffb57d Allow SSA construction with source information about CV used as result 2017-03-30 20:14:01 +03:00
Joe Watkins 1f588df2a4 corrections to release process documentation 2017-03-30 17:52:22 +01:00
Joe Watkins e6f9553298 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix bug #74343 compile fails on solaris 11 with system libgd
2017-03-30 16:29:15 +01:00
Sara Golemon 2b86a89193 Update tests and add NEWS entry for phpdbg opcode dump change 2017-03-29 12:54:52 -07:00
Anatol Belski fcc6cbc9c3 [ci skip] update NEWS 2017-03-29 14:30:55 +02:00
Sara Golemon 764b529efd Add extended_value to phpdbg opcode dump 2017-03-29 04:08:52 -07:00
Remi Collet e4ebd9a28a Merge branch 'PHP-7.1'
* PHP-7.1:
  fixed typo
  fixed typo
2017-03-29 09:10:49 +02:00
Markus Staab 851f3654f1 fixed typo 2017-03-29 09:09:53 +02:00
Markus Staab b8842839db fixed typo 2017-03-29 09:09:53 +02:00
Remi Collet 53a6e89ab5 Merge branch 'PHP-7.1'
* PHP-7.1:
  relax more this test
2017-03-29 07:38:53 +02:00
Remi Collet 83b0708878 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix buid with system libsqlite, see bug #74217
2017-03-29 07:28:26 +02:00
Remi Collet 2c97dddc78 Merge branch 'PHP-7.1'
* PHP-7.1:
  relax test failing in fast computer
2017-03-29 07:01:27 +02:00
Nikita Popov a7c69486cd Merge branch 'PHP-7.1' 2017-03-29 00:20:52 +02:00
Nikita Popov 206cf88d40 Merge branch 'PHP-7.1' 2017-03-28 22:09:11 +02:00
Anatol Belski de68b16af5 Merge branch 'PHP-7.1'
* PHP-7.1:
  prepare next
2017-03-28 21:07:17 +02:00
Anatol Belski 0eb3c377d4 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
  Revert "Fixed bug #61471"
2017-03-28 13:17:05 +02:00
Anatol Belski 650a983992 Merge branch 'PHP-7.1'
* PHP-7.1:
  prepare next
2017-03-28 11:50:20 +02:00
Anatol Belski 7d8e5cae49 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2017-03-28 11:44:51 +02:00
Anatol Belski bf673d353e Merge branch 'PHP-7.1'
* PHP-7.1:
  deps updated, cherry-pick 88642decf9
  add test for bug #74230
2017-03-27 19:45:03 +02:00
Nikita Popov e3b2b05229 Merge branch 'PHP-7.1' 2017-03-27 19:02:50 +02:00
Derick Rethans 650c2fa0b0 Merge branch 'PHP-7.1' 2017-03-27 18:01:38 +01:00
David Carlier 93d7cf375e Fix openbsd build: AI_V4MAPPED, AI_ALL not defined 2017-03-27 18:55:34 +02:00
Anatol Belski 1ff85dfeb3 Merge branch 'PHP-7.1'
* PHP-7.1:
  always use staging deps for CI, that's what we have a CI for as well
2017-03-27 18:51:00 +02:00
Edgar R. Sandi 0608761438 Increased bcmath functions coverage tests using scale option parameter 2017-03-27 18:48:58 +02:00
Vivek Dinesh 33ee022525 Fix typos
[skip ci]
2017-03-27 18:33:47 +02:00
Derick Rethans f9a5c15126 Merge branch 'PHP-7.1' 2017-03-27 11:28:41 +01:00
Derick Rethans 56269af46c Updated to version 2017.2 (2017b) 2017-03-24 12:25:27 +00:00
Derick Rethans 3c48d89260 Empty merge 2017-03-24 12:25:26 +00:00
Derick Rethans a187bc407b Merge branch 'PHP-7.1' 2017-03-24 11:39:38 +00:00
Nikita Popov 16861838a5 Merge branch 'PHP-7.1' 2017-03-23 22:50:21 +01:00
Nikita Popov 81d8c37b03 Add test for previous commit 2017-03-23 22:37:17 +01:00
Nikita Popov 8522e2894e Make sure lengths and refs are unsigned in unserialize() 2017-03-23 22:34:15 +01:00
xKhorasan 6a1d4cd47a Fixed bug #74300 2017-03-23 22:06:46 +01:00
Sara Golemon 819e66599a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug where `yield from` is captured too greedily
2017-03-23 13:40:09 -07:00
Anatol Belski 0f6232675d parametrize crt, so only one place has to be changed 2017-03-23 19:27:10 +01:00
Rowan Collins 1b565f1393 Change 'undefined constant' from E_NOTICE to E_WARNING and mention deprecation
Implements RFC "Deprecate and Remove Bareword (Unquoted) Strings"
[https://wiki.php.net/rfc/deprecate-bareword-strings]
2017-03-23 18:52:43 +01:00
Dmitry Stogov b5b7691ab5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed uninitialized data
2017-03-23 19:00:07 +03:00
Anatol Belski ced36f9b2e Merge branch 'PHP-7.1'
* PHP-7.1:
  adjust deps dir naming scheme
2017-03-23 13:15:30 +01:00
Anatol Belski 4f8b410b06 switch AppVeyor to vc15 for master 2017-03-23 12:38:52 +01:00
Anatol Belski a7f2dbf831 skip the test on OpenSSL < 1.1 for now 2017-03-23 03:10:27 +01:00
Nikita Popov 0d834c6922 Use ZSTR_CHAR in token_get_all() 2017-03-22 22:38:07 +01:00
Nikita Popov fec708f518 Simplify increment_lineno handling 2017-03-22 22:33:05 +01:00
Anatol Belski 81b2d98355 fix version check at right place 2017-03-22 17:44:47 +01:00
Anatol Belski 9ecd344cd4 Revert "fix wrong version check"
This reverts commit 307a4a2315.
2017-03-22 17:42:44 +01:00
Anatol Belski 307a4a2315 fix wrong version check 2017-03-22 15:54:28 +01:00
Anatol Belski 6dbee20f83 fix test warnings for OpenSSL 1.1
add skip condition
2017-03-22 13:55:08 +01:00
Anatol Belski ba64ec0b13 improve zlib version check for tests 2017-03-22 11:08:38 +01:00
Anatol Belski f258e9b803 make test more flexible to match different compressed strings
particurarly needed with zlib 1.2.11
2017-03-22 11:08:37 +01:00
Adam Baratz 5096a429a1 Fix typo 2017-03-21 21:17:08 -07:00
Anatol Belski 3b28a9d637 Merge branch 'PHP-7.1'
* PHP-7.1:
  explicitly ignore php.ini for proc open tests
2017-03-21 12:45:27 +01:00
Remi Collet 3f7f842813 NEWS 2017-03-21 11:16:54 +01:00
Remi Collet 908029bbc0 Fixed Bug #73803 Reflection of ZipArchive does not show public properties 2017-03-21 11:15:45 +01:00
Adam Baratz 4afce8ec8c Add PDO parameter types for national character set strings 2017-03-20 18:25:50 -04:00
Adam Baratz 3817cba786 Style cleanup 2017-03-20 17:56:19 -04:00
Derick Rethans 7ba7a79039 Merge branch 'PHP-7.1' 2017-03-20 17:49:34 +00:00
Adam Baratz d5c57cb163 Remove unused field 2017-03-20 13:05:13 -04:00
Jakub Zelenka 6574d9fb3a Merge branch 'PHP-7.1' 2017-03-20 16:09:26 +00:00
Anatol Belski 164e52fb91 update sdk version for appveyor and set explicit crt 2017-03-20 15:41:43 +01:00
Jakub Zelenka bde01adaeb Add note to the UPGRADING about JSON_OBJECT_AS_ARRAY priority changes 2017-03-20 13:54:47 +00:00
Anatol Belski 65afcf81a0 use extra flag to turn on php implementations 2017-03-19 23:19:31 +01:00
Anatol Belski 42821dd1c9 basic support for external libzip 2017-03-19 23:11:19 +01:00
Anatol Belski 5d5679c4a9 define corresponding config macros, as we already trick symbols 2017-03-19 23:11:19 +01:00
Sara Golemon 93035cb2fd Add news entry for bugfix 73991 2017-03-17 15:39:18 -07:00
Sara Golemon aa2282df21 Allow JSON_OBJECT_AS_ARRAY option to actually have meaning
Options can only be passed if $assoc is passed, but passing
assoc clobbers any attempt to pass JSON_OBJECT_AS_ARRAY as an
option.

Allow the option to occur in the options field by handling
"null" as default/use-options.
2017-03-17 15:36:24 -07:00
Nikita Popov ea36cf2b89 Merge branch 'PHP-7.1' 2017-03-17 20:21:28 +01:00
Jakub Zelenka bf9ddc7c13 Merge branch 'PHP-7.1' 2017-03-17 19:09:06 +00:00
Jakub Zelenka 40d04784bb Merge branch 'PHP-7.1' 2017-03-17 18:13:05 +00:00
Nikita Popov 329d4edff7 Merge branch 'PHP-7.1' 2017-03-17 13:36:03 +01:00
Nikita Popov d3aac6f810 Merge branch 'PHP-7.1' 2017-03-17 12:54:11 +01:00
Jakub Zelenka 37da80bf19 Merge branch 'PHP-7.1' 2017-03-16 18:13:37 +00:00
Sebastian Bergmann 6d748b43ae Merge branch 'PHP-7.1' 2017-03-16 19:10:23 +01:00
Nikita Popov 7ea854b1df Merge branch 'PHP-7.1' 2017-03-16 18:15:13 +01:00
Nikita Popov 69dc088c36 Merge branch 'PHP-7.1' 2017-03-16 17:40:33 +01:00
Nikita Popov 8015daeddb Merge branch 'PHP-7.1' 2017-03-16 12:57:43 +01:00
Nikita Popov da223b9500 Merge branch 'PHP-7.1' 2017-03-16 12:34:36 +01:00
adrian5 edfa87ebf5 Add comma to comment in php.ini 2017-03-16 12:23:55 +01:00
Thomas Punt 932c4b35dc Remove more unnecessary checks on Zend's allocator functions 2017-03-16 12:23:55 +01:00
Thomas Punt 9d9defa29a Remove dead code from BCMath extension 2017-03-16 12:23:55 +01:00
Nikita Popov 6ad0a6fb04 Merge branch 'PHP-7.1' 2017-03-15 19:50:26 +01:00
Anatol Belski 38de261563 Use zend_test shared for tests
The snapshot build enables everything it could find. The test run will
load all the shared exts as well, until defined otherwise. So no needs
for an extra action.
2017-03-15 12:34:36 +01:00
Anatol Belski c9472cbd16 fix shared compilation 2017-03-15 11:43:20 +01:00
Bob Weinand 8a7a1411b9 Merge branch 'PHP-7.1' 2017-03-15 00:09:59 +01:00
Bob Weinand b6524f83e2 Merge branch 'PHP-7.1' 2017-03-14 22:17:23 +01:00
Jakub Zelenka 117d6a9a14 Merge branch 'PHP-7.1' 2017-03-14 18:47:51 +00:00
Sara Golemon 131fd3baa0 Remove unnecesary shadow of new_val 2017-03-14 11:29:22 -07:00
Sara Golemon c74bc87c74 Minor optimizations to array_keys()/array_values()
array_values():
When the input is an empty array or a packed array with no gaps,
return the original array.

array_keys():
When the input is an empty array, return the original array.
When the input is a packed array with no holes
(and no search key specified), populate the return with
a simple range(0, count($input) - 1)
2017-03-14 11:23:02 -07:00
Nikita Popov 16ae9f82e8 Fix SKIPIF conditions 2017-03-14 12:06:58 +01:00
Nikita Popov edcabf6d07 Drop unnecessary allocator return value checks 2017-03-13 22:07:15 +01:00
Anatol Belski e8c85a854b Merge branch 'PHP-7.1'
* PHP-7.1:
  update binary sdk tools version for appveyor
2017-03-13 12:33:51 +01:00
Remi Collet 196ba4e194 Merge branch 'PHP-7.1'
* PHP-7.1:
  rely on provided openssl.cnf to avoid possible failure with system defaults
2017-03-13 08:17:59 +01:00
Nikita Popov 1e196110d3 Fix __sleep() returning undefined declared properties 2017-03-12 22:20:08 +01:00
Nikita Popov ddc0dbf1a3 Clean up __sleep() related code 2017-03-12 22:20:07 +01:00
Joe Watkins d2285e1613 Merge branch 'pull-request/2414'
* pull-request/2414:
  zend-test extension to house code that is required for testing internal APIs, but that we would not want to expose for regular builds
2017-03-12 19:00:06 +00:00
Nikita Popov b3ca0c2500 zend-test extension to house code that is required for testing internal APIs, but that we would not want to expose for regular builds 2017-03-12 18:58:50 +00:00
David Carlier ea91c08232 Drop unnecessary checks of pemalloc() return value 2017-03-12 17:06:25 +01:00
Nikita Popov e31342ef84 Merge branch 'PHP-7.1' 2017-03-12 17:04:02 +01:00
Nikita Popov 22e6b5ef22 Merge branch 'PHP-7.1' 2017-03-10 18:21:09 +01:00
Remi Collet ec31924cd6 Constify to void build warning for C++ ext. [-Wwrite-strings]
Example (with v8js):

/builddir/build/BUILD/php-pecl-v8js-1.3.4/NTS/v8js_class.cc: In function 'void v8js_execute_script(zval*, v8js_script*, long int, long int, long int, zval**)':
/usr/include/php/Zend/zend.h:204:57: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
 #define zend_bailout()  _zend_bailout(__FILE__, __LINE__)
                                                         ^
/builddir/build/BUILD/php-pecl-v8js-1.3.4/NTS/v8js_class.cc:633:3: note: in expansion of macro 'zend_bailout'
   zend_bailout();
   ^~~~~~~~~~~~
2017-03-10 11:52:26 +01:00
Xinchen Hui 9ad8e8f8ee Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74218 (ArrayIterator error message is confusing)
2017-03-10 15:17:29 +08:00
Sara Golemon dde62b14df Merge branch 'PHP-7.1' 2017-03-09 11:58:19 -08:00
Nikita Popov 8a34b33c59 Merge branch 'PHP-7.1' 2017-03-09 20:48:32 +01:00
Nikita Popov 30be110c5a Merge branch 'PHP-7.1' 2017-03-09 17:32:08 +01:00
Nikita Popov 065b3700b6 Merge branch 'PHP-7.1' 2017-03-09 16:45:40 +01:00
Nikita Popov 3d51d4c90c Drop outdated makerpm script
Not updated since 2003, uses Copyright tag (not supported since
2005), uses a number of configure options that have been dropped
ages ago, etc.
2017-03-09 16:26:45 +01:00
Dennis Birkholz d0c8aba3d8 Pcntl: Make realtime signals available
Expose constants SIGRTMIN and SIGRTMAX and adjust range checks to
support realtime signals.
2017-03-09 15:59:09 +01:00
c9s 85243eea35 Enable ccache on Travis 2017-03-09 15:44:04 +01:00
Joe Watkins 89e403982c Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #74149 static embed SAPI linkage error
2017-03-09 07:44:42 +00:00
Nikita Popov f68968f7e0 Merge branch 'PHP-7.1' 2017-03-09 00:10:31 +01:00
Sara Golemon b63c45c69e Try fallback on IPv4 ANYADDR when IPv6 ANYADDR fails
https://bugs.php.net/bug.php?id=74166
A host system with no/limited IPv6 support will fail at binding
the IPv6 ANYADDR address (::) as the address family is unsupported.

Deal with this by handling failure to implicitly bind to ::
as a soft failure, falling back to 0.0.0.0.

If binding to :: failed for some other reason (e.g. port in use)
then binding to 0.0.0.0 will likely fail as well, but we'll
get appropriate warnings for that.
2017-03-08 11:02:54 -08:00
Sara Golemon 2ba2b768cc Merge branch 'PHP-7.1'
* PHP-7.1:
  Detect invalid port in xp_socket parse ip address
2017-03-07 12:11:31 -08:00
Anatol Belski fdba33922a move to hash API for interned strings ht management 2017-03-07 19:01:00 +01:00
Anatol Belski fe8112e8f8 drop redundant checks 2017-03-07 15:42:19 +01:00
Anatol Belski c20ae623c2 Merge branch 'PHP-7.1'
* PHP-7.1:
  sync with the incremental and inter-file analysis option
2017-03-07 15:31:54 +01:00
Anatol Belski 2cfd64cad8 move to hash API 2017-03-07 13:41:12 +01:00
Nikita Popov 361b7159e7 Merge branch 'PHP-7.1' 2017-03-07 13:18:04 +01:00
Dmitry Stogov 6a31872307 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed pointer allignment
2017-03-07 10:18:57 +03:00
Dmitry Stogov 12d18badb1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Ensure pointer alignment.
2017-03-07 09:50:28 +03:00
Anatol Belski 297e435722 remove accidentially commited file 2017-03-07 01:33:19 +01:00
Anatol Belski 7aa0632cfb extend ccppcheck defs 2017-03-07 01:29:45 +01:00
Dmitry Stogov e113b6784a Ensure pointer alignment. 2017-03-06 17:09:05 +03:00
Anatol Belski c698299550 Interned strings unification for TS/NTS
Hereby, interned strings are supported in thread safe PHP. The patch
implements two types of interned strings

- interning per process, strings are not freed till process end
- interning per request, strings are freed at request end

There is no runtime interning.

With Opcache, all the permanent iterned strings are copied into SHM on
startup, additional copying into SHM might happen on demand.
2017-03-04 10:39:13 +01:00
Dmitry Stogov a07272e5b6 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed file-cache (Zend/tests/unused_shared_static_variables.phpt)
2017-03-03 16:13:03 +03:00
Dmitry Stogov 9276eb613c Fixed file-cache support (serialization/deserialization of zend_type) 2017-03-03 12:26:49 +03:00
Anatol Belski 927d2d3608 Merge branch 'PHP-7.1'
* PHP-7.1:
  sync NEWS for bug #74159
2017-03-02 20:47:56 +01:00
Anatol Belski 834d13879f Merge branch 'PHP-7.1'
* PHP-7.1:
  improve signal globals consistency check for TS
2017-03-02 20:36:12 +01:00
Anatol Belski 5b6ee004ba Merge branch 'PHP-7.1'
* PHP-7.1:
  do not try to handle signals, when globals are inconsistent
2017-03-02 16:43:10 +01:00
Remi Collet 402eeb8598 Zip: add support for encrypted archive 2017-03-02 13:36:40 +01:00
Nikita Popov 859a6505d3 Merge branch 'PHP-7.1' 2017-03-02 12:36:31 +01:00
Derick Rethans 1aaf03432d Merge branch 'PHP-7.1' 2017-03-02 11:28:17 +00:00
Eric Poe 4ab097eba1 Add test-case from bug #55157
The issue itself is not fixed, this is just a workaround.
2017-03-02 12:22:48 +01:00
Nikita Popov 5cdfa46d3f Merge branch 'PHP-7.1' 2017-03-02 12:14:00 +01:00
Christopher Jones 1f9bdec059 Update NEWS 2017-03-02 15:35:19 +11:00
Christopher Jones f997d6f4ca Merge branch 'PHP-7.1' 2017-03-02 15:33:50 +11:00
Adam Baratz 2f09973968 Remove dead code related to error constants 2017-03-01 16:28:47 -05:00
Adam Baratz 3985ddc495 Remove PHP5-specific code 2017-03-01 16:27:26 -05:00
Derick Rethans b20879348a Updated to version 2017.1 (2017a) 2017-03-01 20:07:53 +00:00
Derick Rethans ce4a679d85 Empty merge 2017-03-01 20:07:52 +00:00
Remi Collet f6fc9aa1b1 Merge branch 'PHP-7.1'
* PHP-7.1:
  make type consistent with glob_t.gl_pathc
2017-03-01 17:03:11 +01:00
Sara Golemon 5b52a44860 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix potential crash when setting invalid declare value
2017-02-28 17:18:08 -08:00
Remi Collet 18293f9a6f Merge branch 'PHP-7.1'
* PHP-7.1:
  make test slower again
2017-02-28 11:36:42 +01:00
Joe Watkins bbda362f8d Merge branch 'PHP-7.1'
* PHP-7.1:
  prepare 7.1.4
2017-02-28 09:08:34 +00:00
Anatol Belski 3dff3d2756 Merge branch 'PhP-7.1'
* PhP-7.1:
  prepare next
2017-02-28 09:52:44 +01:00
Joe Watkins d98c31a359 Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "fix crash in phpdbg shutdown process when opcache is loaded"
2017-02-27 19:21:51 +00:00
Joe Watkins 61ecad0f53 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix crash in phpdbg shutdown process when opcache is loaded
2017-02-27 17:55:31 +00:00
Xinchen Hui b806287e43 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74157 (Segfault with nested generators)
2017-02-26 12:07:03 +08:00
Nikita Popov 1686d302e1 Merge branch 'PHP-7.1' 2017-02-25 12:58:03 +01:00
Xinchen Hui fa6144b077 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74164 (PHP hangs when an invalid value is dynamically passed to typehinted by-ref arg)
  Fixed typo (it should be typo)
2017-02-25 12:00:57 +08:00
Tom Van Looy 2c929943e6 fix command not found warning in ext/gd
./configure: line 32011: PHP_GD_TTSTR: command not found
2017-02-24 23:27:54 +01:00
Nikita Popov 1817a8622d Merge branch 'PHP-7.1' 2017-02-24 23:22:46 +01:00
Anatol Belski ffcdb2be16 Merge branch 'PHP-7.1'
* PHP-7.1:
  Support run or test target invoked within debugger
2017-02-24 19:43:26 +01:00
Anatol Belski 88642decf9 fix test, yet master staging only 2017-02-24 11:44:39 +01:00
Aaron Piotrowski 5d2a20f25b Merge branch 'PHP-7.1' 2017-02-23 22:56:25 -06:00
Aaron Piotrowski fb76d81b6c Merge branch 'PHP-7.1' 2017-02-23 21:22:28 -06:00
Xinchen Hui 1a1b722b5c Merge branch 'PHP-7.1'
* PHP-7.1:
  Add test only (bug doesn't exists in 7.1)
  Fixed bug #74152 (if statement says true to a null variable)
2017-02-23 12:47:40 +08:00
Xinchen Hui b717c7ffb0 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74148 (ReflectionFunction incorrectly reports the number of arguments)
2017-02-23 11:02:48 +08:00
Kalle Sommer Nielsen db982bbaa1 Fix PHP_OS_FAMILY for Linux (Joe) 2017-02-22 22:13:33 +01:00
Kalle Sommer Nielsen f9959ee7c2 Change PHP_OS_FAMILY slightly
* PHP_OS_FAMILY is now a macro, to allow extensions to take advantage of it, it is defined in php.h
* Values are not upper-case-first, not always uppercase. Windows is no longer just "Win", if we want the short version for testing then PHP_OS is always WINNT anyway
2017-02-22 12:31:06 +01:00
Kalle Sommer Nielsen dbdb0819b2 Fix extra ; causing a build error 2017-02-22 12:09:59 +01:00
Remi Collet 93cba7ab47 Merge branch 'PHP-7.1'
* PHP-7.1:
  report about OpenSSL 1.1 not supported during configure
2017-02-22 08:41:01 +01:00
Joe Watkins 78ae563a48 Merge branch 'PHP-7.1'
* PHP-7.1:
  pull-request/2393:
    stop fpm make install clobbering dot d configuration
2017-02-22 06:49:22 +00:00
Anatol Belski 41d2944b0a more appropriate var name 2017-02-21 14:37:42 +01:00
Anatol Belski 42a8f0755c add folds 2017-02-21 14:36:06 +01:00
Anatol Belski b59f3cf167 use the delivered global arg instead of fetching it 2017-02-21 12:12:42 +01:00
Dmitry Stogov 298b62af47 Merge branch 'PHP-7.1'
* PHP-7.1:
  too many dashes
2017-02-21 10:48:37 +03:00
Dmitry Stogov 3f2c8d30cd Merge branch 'PHP-7.1'
* PHP-7.1:
  Increase WSDL cache version (7.0 wsdl cache is incomatible with PHP-5) Include WSDL cache version number into file name
2017-02-21 10:42:59 +03:00
Remi Collet 8f8fb92cd0 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test for libzip 1.2.0
2017-02-19 17:02:31 +01:00
Anatol Belski 0c28332b11 Merge branch 'PHP-7.1'
* PHP-7.1:
  initialize valid_symbol_table, important for the main thread
2017-02-18 18:05:55 +01:00
Andreas Treichel 5b1300b6c9 ftp_mlsd(): Parse the MLSD response 2017-02-17 21:31:18 +01:00
Nikita Popov efefb5276b Merge branch 'PHP-7.1' 2017-02-17 21:23:31 +01:00
Nikita Popov 5da004cc75 Merge branch 'PHP-7.1' 2017-02-17 18:44:10 +01:00
Xinchen Hui df3ee2bb2f Merge branch 'PHP-7.1'
* PHP-7.1:
  Unused var
2017-02-17 12:23:14 +08:00
Nikita Popov f3d058c1da Merge branch 'PHP-7.1' 2017-02-16 17:36:09 +01:00
Nikita Popov 46bfad56be Merge branch 'PHP-7.1' 2017-02-16 17:28:14 +01:00
Nikita Popov a83f9726ab Merge branch 'PHP-7.1' 2017-02-16 17:00:28 +01:00
Nikita Popov 267ab47366 Merge branch 'PHP-7.1' 2017-02-16 12:47:26 +01:00
Anatol Belski 0d450ddbec Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-02-15 16:37:15 +01:00
Anatol Belski 46df51132a fix typo 2017-02-15 16:15:16 +01:00
Anatol Belski e35376c1e2 Merge branch 'PHP-7.1'
* PHP-7.1:
  skip test
2017-02-15 16:14:46 +01:00
Anatol Belski e7b4ee3165 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74090 stream_get_contents maxlength>-1 returns empty string
2017-02-15 14:51:38 +01:00
Xinchen Hui b4fd233be0 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed test in travis
2017-02-15 17:31:35 +08:00
Xinchen Hui 41bd2087ea Merge branch 'PHP-7.1'
* PHP-7.1:
  Make it slower
2017-02-15 15:27:33 +08:00
Xinchen Hui 49dca87029 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed test
2017-02-15 14:49:09 +08:00
Xinchen Hui bf91fc565c Merge branch 'PHP-7.1'
* PHP-7.1:
  Add a test for hard_timeout(bug #74093)
2017-02-15 13:52:08 +08:00
Xinchen Hui e33afaa299 Merge branch 'PHP-7.1'
* PHP-7.1:
  Workaround to fix bug #74093 (Maximum execution time of n+2 seconds exceed not written in error_log)
2017-02-15 12:30:23 +08:00
Christoph M. Becker 2ed4723aff Merge branch 'pull-request/2355'
* pull-request/2355:
  Deprecate INTL_IDNA_VARIANT_2003

We also add a respective note to UPGRADING.
2017-02-14 14:16:54 +01:00
Christoph M. Becker 6bb1fd9032 Update to SQLite 3.17.0 2017-02-14 14:00:54 +01:00
Xinchen Hui 00e5ea7b76 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug  #73989 (PHP 7.1 Segfaults within Symfony test suite)

Conflicts:
	Zend/zend_gc.c
2017-02-13 19:24:00 +08:00
Anatol Belski 91159bdcf5 update NEWS 2017-02-13 08:38:31 +01:00
Anatol Belski 8164e024cd update UPGRADING.INTERNALS 2017-02-13 08:35:01 +01:00
Anatol Belski 0d529d6eb3 The d_name member of struct dirent should be a pointer
Rework for 60950702, so then any encoding is supported. The path
segment length is measured in wchar_t size, whereby the number
of wchar_t is 255+\0. This means, in the actual encoding, the path
segment size can become (255*<bytes per glyph>)+\0 bytes in worst
case. It is still valid, as all the FS API uses wide chars
internally.
2017-02-12 22:23:51 +01:00
Nikita Popov e637cd82a0 Merge branch 'PHP-7.1' 2017-02-12 22:03:53 +01:00
Derick Rethans 5dc825889d Merge branch 'PHP-7.1' 2017-02-12 20:19:10 +00:00
Anatol Belski 7b9f93b3f9 remove loop
The limit is big enough, and it's questionable such amount of
random data can ever make sense anyway.
2017-02-12 19:25:23 +01:00
Anatol Belski 97d620449c fix loop 2017-02-12 19:15:40 +01:00
Anatol Belski d53d0a5dc4 refactor php_win32_get_random_bytes(), take 2
As in previous variant, locking is removed and the initialization
is done only once at process start. The CNG API turns out to be
faster, also the initialization is less resources hungry. The
initialization part could need to be improved, if too much startup
failures are sighted in the real world usage. Though that would mean
having locking back.

The usage of CNG was already pointed out and requested in several
reports, with the further refactoring it appears to make sense and
simplify things a backward compatible way.
2017-02-12 17:47:14 +01:00
Xinchen Hui 963981df58 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #74084 (Out of bound read - zend_mm_alloc_small)
2017-02-12 20:36:43 +08:00
Nikita Popov fb22a0f48d Merge branch 'PHP-7.1' 2017-02-12 12:51:12 +01:00
Xinchen Hui 377bff250d Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed #73496 (Invalid memory access in zend_inline_hash_func)
2017-02-12 18:56:49 +08:00
Nikita Popov 852c4a872f Merge branch 'PHP-7.1' 2017-02-12 00:20:15 +01:00
Nikita Popov 951a581cd3 Merge branch 'PHP-7.1' 2017-02-12 00:16:05 +01:00
Nikita Popov 5383c9d9e5 Merge branch 'PHP-7.1' 2017-02-12 00:06:47 +01:00
Anatol Belski 048aec4796 Revert "refactor php_win32_get_random_bytes()"
This reverts commit 23bd7bcde0.

Looks like this change is unstable. If same CSP is use but multiple processers,
the initialization failures are possible. Thus, CryptAcquireContext in
every process, even if it won't be used at all, is not sensible. This
might actually motivate to look for better CSP APIs.
2017-02-11 21:47:09 +01:00
Anatol Belski 23bd7bcde0 refactor php_win32_get_random_bytes()
- avoid locking
- initialize only once
- the process will fail, if no init failed
2017-02-11 19:15:35 +01:00
Anatol Belski 02991f75ce Revert "move winsock specific stuff into dllmain"
This reverts commit d94c2c796a.

WSA functions are documented explicitly as unsafe for dllmain
2017-02-11 18:55:32 +01:00
Anatol Belski d94c2c796a move winsock specific stuff into dllmain 2017-02-11 16:46:17 +01:00
Anatol Belski cefa8ddcc9 Merge branch 'PHP-7.1'
* PHP-7.1:
  add missing datatype as sync for 5113909
2017-02-11 14:53:20 +01:00
Derick Rethans eb1f4e0210 Merge branch 'PHP-7.1' 2017-02-11 11:10:17 +00:00
Xinchen Hui cad92c1243 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed typo
2017-02-11 00:02:07 +08:00
Dmitry Stogov c39147d136 Fixed bug #74053 (Corrupted class entries on shutdown when a destructor spawns another object). (jim at commercebyte dot com)
Merge branch 'master' of github.com:commercebyte/php-src

* 'master' of github.com:commercebyte/php-src:
  Added EG(flags) - executor global flags EG_FLAGS_IN_SHUTDOWN - is set when PHP is in shutdown state
  newly added zend_object_store.no_reuse is redefined as a global zend_object_store_no_reuse, to avoid alignment issues
  Alignment fix, as per @nikic
  The test scripts bug64720.phpt and bug68652.phpt were relying on the buggy behavior, when PHP returns "Undefined static property" error due to class entry corruption. With my fix for bug 74053, both tests return no errors now, I corrected the EXPECTF accordingly
  Bug Fix: Corrupted class entries on shutdown when a destructor spawns another object (C) 2017 CommerceByte Consulting
2017-02-10 10:31:43 +03:00
Xinchen Hui 1760b031ea Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWs
  Fixed bug #74019 (Segfault with list)
2017-02-10 14:26:35 +08:00
Jim Zubov 1b1399c95d Added EG(flags) - executor global flags
EG_FLAGS_IN_SHUTDOWN - is set when PHP is in shutdown state
2017-02-09 12:40:33 -05:00
Jim Zubov f9afc6aabc newly added zend_object_store.no_reuse is redefined as a global zend_object_store_no_reuse,
to avoid alignment issues
2017-02-07 21:13:39 -05:00
Nikita Popov 4ec80663a6 Merge branch 'PHP-7.1' 2017-02-08 01:10:54 +01:00
Nikita Popov 33adee5391 Merge branch 'PHP-7.1' 2017-02-08 01:00:52 +01:00
Nikita Popov 1b40313804 Merge branch 'PHP-7.1' 2017-02-08 00:54:27 +01:00
Julien Pauli ed4216c955 ReflectionGenerator now sends ReflectionException as expected 2017-02-07 17:47:08 +01:00
Jim Zubov a6acffe421 Alignment fix, as per @nikic 2017-02-07 10:51:09 -05:00
Jim Zubov d94b067504 The test scripts bug64720.phpt and bug68652.phpt were relying on the buggy behavior,
when PHP returns "Undefined static property" error due to class entry corruption.
With my fix for bug 74053, both tests return no errors now, I corrected the EXPECTF accordingly

[Anybody please advice if I'm wrong?]

Also created bug74053.phpt, for the code I mentioned in the bug description
2017-02-07 09:19:16 -05:00
Anatol Belski a7269c09d2 Merge branch 'PHP-7.1'
* PHP-7.1:
  use some dynamically generated NAN as well
2017-02-07 13:19:50 +01:00
Anatol Belski 7e440f2209 rework fd521a22 to simplify for master, see github #2356 2017-02-07 12:40:10 +01:00
Anatol Belski 623478a2d6 Merge branch 'PHP-7.1'
* PHP-7.1:
  switch to smart str conversion routine to hide exact NAN type
2017-02-07 12:04:25 +01:00
Jim Zubov 9a8a1c9da1 Bug Fix:
Corrupted class entries on shutdown when a destructor spawns another object
(C) 2017 CommerceByte Consulting

When zend_objects_store_call_destructors() is called from the shutdown sequence -
it's calling the dtor's for remaining objects one by one in sequence of object handles.
If the dtor spawns one or more objects, and the new objects happen to reuse the old handles -
their dtor's are not called in this cycle.
The dtor's are called later on, when zend_deactivete() kicks in, and the static property lists in the class entries are freed.
This causes "Undefined static property" errors, and/or SIGSEGV.

Solution:
zend_object_store.no_reuse field is added
Set to 0 on initialization, set to 1 on the shutdown sequence.
zend_objects_store_put(zend_object *) checks the no_reuse flag, and never reuses the old handle slots if set.
This way, the dtor's for newly spawned objects are guaranteed to be called in the zend_objects_store_call_destructors() loop.
2017-02-06 18:05:34 -05:00
Nikita Popov 31332d0941 Merge branch 'PHP-7.1' 2017-02-06 01:47:09 +01:00
Nikita Popov b73190d919 Merge branch 'PHP-7.1' 2017-02-05 18:13:24 +01:00
Andrea Faulds 07d1cd3bc3 Merge branch 'PHP-7.1' 2017-02-05 01:34:15 +00:00
Niklas Keller 2edc3cf8d2 Implement Parameter Type Widening RFC 2017-02-04 23:33:24 +01:00
Nikita Popov 0ecffc8af6 Add UPGRADING notes for deprecations 2017-02-03 21:02:52 +01:00
Nikita Popov 06a0340162 Deprecate each() 2017-02-03 21:02:52 +01:00
Nikita Popov 6ba7206620 Deprecate assert() with string argument 2017-02-03 21:02:52 +01:00
Nikita Popov a8239ff232 Deprecate mbstring.func_overload 2017-02-03 21:02:52 +01:00
Nikita Popov c61daf415d Deprecate track_errors / $php_errormsg 2017-02-03 21:02:52 +01:00
Nikita Popov 2df9346e7f Deprecate mb_parse_str() without second argument 2017-02-03 18:52:57 +01:00
Nikita Popov 2634b13e88 Deprecate parse_str() without second argument 2017-02-03 18:52:57 +01:00
Nikita Popov 7a73c5f6bb Deprecate (unset)
Pecularily, there wasn't a single test for the (unset) cast...
2017-02-03 18:52:57 +01:00
Nikita Popov 162aa1a5fc Deprecate __autoload() 2017-02-03 18:52:57 +01:00
Nikita Popov eaeecc523b Deprecate create_function() 2017-02-03 18:52:57 +01:00
Nikita Popov fbeb900be4 Deprecate gmp_random() 2017-02-03 18:52:57 +01:00
Nikita Popov 000b504b51 Merge branch 'PHP-7.1' 2017-02-03 18:42:33 +01:00
Nikita Popov 6303dd1ea4 Merge branch 'PHP-7.1' 2017-02-03 18:30:40 +01:00
Nikita Popov 5537a4e2b8 Merge branch 'PHP-7.1' 2017-02-03 17:55:08 +01:00
Dmitry Stogov a082824725 Replace redundand checks with ZEND_ASSERT. We shouldn't get IS_OBJECTs without object_storage. 2017-02-03 18:31:25 +03:00
Dmitry Stogov d0b15f8371 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Remove unused variable
2017-02-03 17:38:45 +03:00
Dmitry Stogov 7aff166e57 Arguments array can't make cycles 2017-02-03 17:38:03 +03:00
Sara Golemon 1a84ecaca5 Remove unused variable 2017-02-03 06:17:37 -08:00
Joe Watkins 984a6312e4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #74004 LIBXML_NOWARNING (etc) ignored by DOMDocument::loadHTML
2017-02-03 06:13:40 +00:00
Joe Watkins 6400ce5017 Merge branch 'PHP-7.1'
* PHP-7.1:
  increase wait time in timeout_variation_9.phpt by 1 second
2017-02-03 06:01:10 +00:00
Joe Watkins 309d3daa39 Merge branch 'PHP-7.1'
* PHP-7.1:
  increase wait time in timeout_variation_10.phpt by 1 second
2017-02-03 05:55:29 +00:00
Nikita Popov 795a4c1bb3 Merge branch 'PHP-7.1' 2017-02-02 18:35:35 +01:00
Nikita Popov b2a4af7b58 Merge branch 'PHP-7.1' 2017-02-02 18:15:11 +01:00
Nikita Popov 7ae4fa8a03 Merge branch 'PHP-7.1' 2017-02-02 18:07:27 +01:00
Anatol Belski ac219438b8 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
  [ci skip] update NEWS
2017-02-02 14:22:43 +01:00
Anatol Belski 2bff68a2f0 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed #74022 PHP Fast CGI crashes when reading from a pfx file.
2017-02-02 13:07:48 +01:00
Anatol Belski 3488cc91e4 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] update NEWS
  update NEWS
2017-02-02 01:36:29 +01:00
Nikita Popov fb008bf60e Remove obsolete version checks from tests 2017-02-02 00:58:04 +01:00
Anatol Belski ac16d944bb Merge branch 'PHP-7.1'
* PHP-7.1:
  remove the reverted NEWS entry
  sync NEWS with the reverted stuff
  Revert "fixed bug #50989 (DOM support for LIBXML_NOXMLDECL)"
  Revert "fix BC break introduced by #2346 (sebastianbergmann/phpunit#2454)"
2017-02-01 20:07:07 +01:00
Joe Watkins 11a1670cff Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Inheritance checks should not ignore parents if these implement an interface"
  Revert "Added tests demonstrating the same effect with abstracts"
2017-02-01 19:05:50 +00:00
Dmitry Stogov 0631b9e9ba Merge branch 'PHP-7.1'
* PHP-7.1:
  typo
2017-02-01 17:38:12 +03:00
Dmitry Stogov 8456351a4e Merge branch 'PHP-7.1'
* PHP-7.1:
  fixed macro
2017-02-01 16:06:17 +03:00
Anatol Belski fa0df0cdc5 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix possible NULL dereference
2017-02-01 13:46:50 +01:00
Anatol Belski df85e1fffd Merge branch 'PHP-7.1'
* PHP-7.1:
  remove unused var
  use zend_string API
  Fixed bug #74005 mail.add_x_header causes RFC-breaking lone line feed
2017-02-01 12:58:47 +01:00
Anatol Belski 17f6f713ad fix test portability 2017-02-01 12:18:55 +01:00
Anatol Belski 9edda01005 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test for 32bits (int -> float)
  fix test for 32bits (int -> float)
2017-02-01 12:01:23 +01:00
Remi Collet 0f1ae93bfa fix test for 32bits (int -> float) 2017-02-01 10:26:27 +01:00
=?UTF-8?q?Rouven=20We=C3=9Fling?= b7f59be9f4 Refactor HashContext into an object.
This allows better type hinting as well as potentially adding
methods in a followup diff.

Original patch by Rouven Weßling (github.com/realityking)
Heavily modified by Sara Golemon (github.com/sgolemon)
2017-01-31 19:28:35 -08:00
Anatol Belski 5a9742e34b Merge branch 'PHP-7.1'
* PHP-7.1:
  add a primitive debug facility to sendmail
2017-01-31 18:29:47 +01:00
Anatol Belski 0aa73a52b5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "backport 51e1da6ea1 into 7.0"
2017-01-31 14:23:19 +01:00
Joe Watkins 17b3e2e4a7 Merge branch 'PHP-7.1'
* PHP-7.1:
  bump versions
2017-01-31 12:51:47 +00:00
Christoph M. Becker 6cfbb7f9bd Deprecate INTL_IDNA_VARIANT_2003
As of ICU 55.1 the IDNA2003 APIs are deprecated, so we're deprecating
INTL_IDNA_VARIANT_2003 as well, according to
https://wiki.php.net/rfc/deprecate-and-remove-intl_idna_variant_2003.
2017-01-31 12:16:29 +01:00
Anatol Belski fba9eb86ec Merge branch 'PHP-7.1'
* PHP-7.1:
  bump versions for next in dev
2017-01-31 11:21:01 +01:00
Joe Watkins 3abb5a35f6 Merge branch 'PHP-7.1'
* PHP-7.1:
  removed additional ";" from run-tests.php
2017-01-31 05:36:28 +00:00
Nikita Popov a8d901a80c Remove zend_version() checks from tests 2017-01-30 22:50:25 +01:00
Nikita Popov df404eccb5 Remove ZEND_CHANGES and README.namespaces 2017-01-30 22:50:25 +01:00
Anatol Belski 22ca84550a Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2017-01-30 22:36:56 +01:00
Sara Golemon f149f62d58 Merge branch 'PHP-7.1'
* PHP-7.1:
  Securely zero the hash context key
2017-01-30 09:03:01 -08:00
Anatol Belski 46bdb637ec Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73983 crash on finish work with phar in cli + opcache
2017-01-30 12:47:29 +01:00
Joe Watkins 82d363c21b Merge branch 'PHP-7.1'
* PHP-7.1:
  fix BC break introduced by #2346 (sebastianbergmann/phpunit#2454)
2017-01-30 11:26:51 +00:00
Anatol Belski 04f150679c Merge branch 'PHP-7.1'
* PHP-7.1:
  move id initialization into ctor
2017-01-30 11:42:46 +01:00
Anatol Belski 2370183429 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix system id initialization for multiple threads
2017-01-30 01:59:02 +01:00
Jakub Zelenka 10cd88588e Merge branch 'PHP-7.1' 2017-01-29 20:46:20 +00:00
Joe Watkins f007e9ff8c Merge branch 'pull-request/2345'
* pull-request/2345:
  FTP: implement MLSD for structured listing of directories, decribed at https://tools.ietf.org/html/rfc3659
2017-01-29 07:30:25 +00:00
Andreas Treichel 0103d1e3bc FTP: implement MLSD for structured listing of directories, decribed at https://tools.ietf.org/html/rfc3659 2017-01-29 07:28:22 +00:00
Joe Watkins 3de7b2ab52 Merge branch 'PHP-7.1'
* PHP-7.1:
  fixed bug #50989 (DOM support for LIBXML_NOXMLDECL)
2017-01-28 08:28:31 +00:00
Joe Watkins 47c2da9646 [ci skip] news entry for Fixed bug #73987 2017-01-28 06:47:59 +00:00
Joe Watkins c827124632 Merge branch 'PHP-7.1'
* PHP-7.1:
  Added tests demonstrating the same effect with abstracts
  Inheritance checks should not ignore parents if these implement an interface
2017-01-28 06:28:24 +00:00
Adam Baratz 8302a29e69 NEWS 2017-01-27 18:47:09 -05:00
Adam Baratz f45e6364b4 Add test coverage for bug #72969
This was not an issue with pdo_dblib, but rather with FreeTDS. FreeTDS has been
fixed as of the fc820490336c50d5c175d2a15327383256add4c9 on that repo. These
tests will be skipped if a version of FreeTDS with that issue is present.

I only cleaned up this commit for pushing. For fixing the FreeTDS issue and
writing corresponding pdo_dblib tests, thanks to:
Jeff Farr <jefarr@wayfair.com>
2017-01-27 18:47:00 -05:00
Adam Baratz 9e18f1d4af Expose DB-Library version as \PDO::DBLIB_ATTR_VERSION attribute on \PDO instance 2017-01-27 18:38:56 -05:00
Adam Baratz 147a3dd379 style cleanup 2017-01-27 18:24:45 -05:00
Joe Watkins 79bff1f644 Merge branch 'pull-request/1635'
* pull-request/1635:
  Use modern autotools name of configure.ac instead of configure.in
2017-01-27 06:08:12 +00:00
Brian Evans 2fe9208ee3 Use modern autotools name of configure.ac instead of configure.in
configure.ac was introduced in 2001 with automake-1.15 and autoconf-2.50
to replace the file named configure.in.
Autotools is preparing to remove configure.in in Automake 2.0.
All new software should be using configure.ac.
This also fixes Bug #69770 where extensions are creating configure.in

Signed-off-by: Brian Evans <grknight@gentoo.org>
2017-01-27 06:07:40 +00:00
Joe Watkins 68801c9a30 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix 00version.phpt when commit message has multiple lines.
2017-01-26 11:36:50 +00:00
Joe Watkins 306f55bef4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed #73973 - debug_zval_dump() assertion error for resource consts with --enable-debug
2017-01-26 09:05:10 +00:00
Joe Watkins 4e3a4c119d Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73994 incorrect arginfo for unpack
2017-01-26 06:58:53 +00:00
Joe Watkins 2eb0cb3afe [ci skip] add upgrading note about PHP_OS_FAMILY 2017-01-26 05:59:36 +00:00
Joe Watkins 59f569aff5 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] news entry for PR #2337
2017-01-26 05:52:26 +00:00
Joe Watkins b8f1c798fc Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #54382 (getAttributeNodeNS doesn't get xmlns* attributes)
  Added (failing) testcase for bug #54382
2017-01-25 20:59:52 +00:00
Stricted bb059fe0a7 add PHP_OS_FAMILY constant to determine on which os we are 2017-01-25 20:50:14 +00:00
Jakub Zelenka 4a72d340a3 Merge branch 'PHP-7.1' 2017-01-25 19:56:19 +00:00
Bob Weinand d4dd540233 Merge branch 'PHP-7.1' 2017-01-25 13:01:48 +01:00
Anatol Belski e7166d1708 Merge branch 'PHP-7.1'
* PHP-7.1:
  dirname() should not normalize paths
2017-01-24 18:00:08 +01:00
Anatol Belski 352456031e Merge branch 'PHP-7.1'
* PHP-7.1:
  make length check more robust
2017-01-24 13:25:57 +01:00
Nikita Popov a1d5686a3c Fix assertion violation with composer 2017-01-24 11:32:41 +01:00
Michael Wallner 08004d7959 my NEWS handle is actually Mike) 2017-01-24 08:44:45 +01:00
Nikita Popov 7cba31535c Separate array in session upload progress 2017-01-23 17:19:12 +00:00
Nikita Popov fd4025069d Enable HT RC assertions with escape-hatch
HT functions that modify the array now assert that rc=1. As we don't
respect this COW constraint everywhere, either for a good reason or
because fixing it would take more work, we provide an escape hatch
in the form of HT_ALLOW_COW_VIOLATION(ht). If this macro is called
assertions on this ht are disabled. The macro is a no-op in release
mode.
2017-01-23 17:19:06 +00:00
Joe Watkins 5c6bf3598a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix Bug #69865 php-fpm does not close stderr when using syslog
2017-01-23 16:57:01 +00:00
Dmitry Stogov eac0b2e98f Check for old style constructor only if method is not found 2017-01-23 14:54:58 +03:00
Antony Dovgal b5cfe11c5b use correct shift and fix slowlog bt in 7.1 2017-01-23 14:52:21 +03:00
Joe Watkins e69c9d3bf8 Merge branch 'PHP-7.1'
* PHP-7.1:
  move decl to correct place
2017-01-23 05:34:35 +00:00
Anatol Belski 609507024f preliminary fix for bug #73971, more refactoring is needed 2017-01-22 22:43:53 +01:00
Joe Watkins 8782e847b4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed #73969 - Fixed segmentation fault when debug_print_backtrace called
2017-01-22 16:12:27 +00:00
Bogdan Padalko ab2489fae2 Add variadic type and obj info macros 2017-01-22 15:58:11 +00:00
Rasmus Lerdorf 7b8b2e50f6 Switch to the v2 version of these functions.
The sqlite3 docs suggest always using prepare_v2 and the close_v2
could potentially help with an fd leak we have been seeing
2017-01-22 07:26:07 -08:00
Christoph M. Becker 5d0048cd75 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add regression test for bug #47946
2017-01-22 15:15:43 +01:00
Andrey Andreev 423c192791 Use hash_ops->is_crypto in hash_init() 2017-01-22 10:37:10 +01:00
Joe Watkins d6ef39e04a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix intermittent segfault in GD library
2017-01-22 06:41:20 +00:00
Christoph M. Becker 5d6e702732 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add myself as primary maintainer of GD
2017-01-21 18:55:13 +01:00
Levi Morrison b7552ff344 Remove trailing tabs 2017-01-21 10:11:23 -07:00
Christoph M. Becker ee06ca8271 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix #73968: Premature failing of XBM reading
2017-01-21 13:20:47 +01:00
Joe Watkins 1c807377fd Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73961 environmental build dependency in hash sha3 source
2017-01-21 07:46:52 +00:00
Anatol Belski 0ccf1cf562 Merge branch 'PHP-7.1'
* PHP-7.1:
  backport 51e1da6ea1 into 7.0
2017-01-21 02:59:07 +01:00
Anatol Belski d263f29b71 Merge branch 'PHP-7.1'
* PHP-7.1:
  exclude debug code
  ensure the string for conversion is \0 terminated and integrade additional path length check
2017-01-21 02:20:52 +01:00
Anatol Belski 73bfa264cc Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73962 bug with symlink related to cyrillic directory
2017-01-20 23:47:12 +01:00
Joe Watkins 0877839469 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed #73959 - lastInsertId fails to throw an exception in pdsql
2017-01-20 20:12:30 +00:00
Remi Collet fa45f64bd8 Merge branch 'PHP-7.1'
* PHP-7.1:
  NEWS
  NEWS
  Fixed bug #73965 DTrace reported as enabled when disabled
2017-01-20 17:50:09 +01:00
Dmitry Stogov 1f7bf2bfd6 Optimized extract(). Avoided double hash lookups and repeatable checks through loop splitting. 2017-01-20 10:39:27 +03:00
Joe Watkins 71a42477ca Merge branch 'PHP-7.1'
* PHP-7.1:
  Update comment, incorrect since 224aaf94
2017-01-19 10:49:09 +00:00
Xinchen Hui 0311dc8697 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed another part in ldap (bug #73933)
2017-01-19 12:24:04 +08:00
Ferenc Kovacs 60d075aa65 Merge branch 'PHP-7.1' 2017-01-19 01:23:36 +01:00
Nikita Popov 0dc2b832a2 Merge branch 'PHP-7.1' 2017-01-18 21:20:07 +01:00
Andrey Andreev d89d149edf Disallow non-crypto hashes in HMAC and PBKDF2
For this purpose add is_crypto flag to php_hash_ops.
2017-01-18 21:13:54 +01:00
Joe Watkins 5bc81620ef Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73949 leak in mysqli_fetch_object
2017-01-18 18:24:49 +00:00
Joe Watkins 409467dc2f Merge branch 'PHP-7.1'
* PHP-7.1:
  Remove remnants of TSMRLS_* macro calls
2017-01-18 17:46:35 +00:00
Joe Watkins f485aca646 Merge branch 'PHP-7.1'
* PHP-7.1:
  DNS CAA record type implementation and tests for https://bugs.php.net/bug.php?id=73850
2017-01-18 17:25:52 +00:00
Leigh 2a9ee3c6f6 Merge branch 'PHP-7.1' 2017-01-18 15:04:19 +00:00
Leigh 9c5a1c8ae9 Merge branch 'PHP-7.1' 2017-01-18 14:48:36 +00:00
Remi Collet 70ee3fcd1a Merge branch 'PHP-7.1'
* PHP-7.1:
  NEWS
  NEWS
  Fix #73956 Link use CC instead of CXX
2017-01-18 13:02:51 +01:00
Joe Watkins a1fd706d7d Merge branch 'PHP-7.1'
* PHP-7.1:
  Remove more TSRMLS_CC macros
2017-01-18 10:00:26 +00:00
Joe Watkins 7c17936c70 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix ce comparison
2017-01-18 05:06:59 +00:00
Joe Watkins cc91b01dca Merge branch 'PHP-7.1'
* PHP-7.1:
  updates to release docs
2017-01-17 20:33:57 +00:00
Joe Watkins 9fdd391d6a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixes in .gdbinit for ZE 3
2017-01-17 17:08:08 +00:00
Anatol Belski 11f8fc199d Merge branch 'PHP-7.1'
* PHP-7.1:
  [ci skip] sync NEWS
2017-01-17 10:59:56 +01:00
Anatol Belski 7ad94a010d fix changed symbol 2017-01-17 10:10:12 +01:00
Anatol Belski 23db1ce3ba Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix #73869: Signed Integer Overflow gd_io.c
  Fix #73868: DOS vulnerability in gdImageCreateFromGd2Ctx()
2017-01-17 09:36:42 +01:00
Dmitry Stogov 3d84aef55d Separate zend_fetch_static_property_address() into an inline function 2017-01-17 11:11:12 +03:00
Xinchen Hui fafce65a05 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #73933 (error/segfault with ldap_mod_replace and opcache)
2017-01-17 15:35:46 +08:00
Stanislav Malyshev cbc416e8d3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73648 - integer overflow in substr
2017-01-16 12:14:10 -08:00
Nikita Popov 50dea5931f Merge branch 'PHP-7.1' 2017-01-16 14:26:54 +01:00
Stanislav Malyshev 31391729ff Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73634 - grapheme_strpos illegal memory access
  Fix typo
2017-01-16 01:18:57 -08:00
Joe Watkins a69136e65e Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73939 memory allocation in signal handler when HAVE_STRUCT_SIGINFO_T
2017-01-16 04:33:22 +00:00
Joe Watkins 797de51bf1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add test ini_set with invalid time zone
2017-01-16 04:13:44 +00:00
Stanislav Malyshev 4eb405791d Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix test
2017-01-15 18:42:48 -08:00
Stanislav Malyshev 540e672868 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update more functions with path check
2017-01-15 17:33:48 -08:00
Anatol Belski cd2b462a27 move some var declarations to the top for better grouping 2017-01-15 21:27:05 +01:00
Anatol Belski 21e5959c4e Merge branch 'PHP-7.1'
* PHP-7.1:
  fix AppVeyor failures with Opcache enabled
2017-01-15 21:20:18 +01:00
Bob Weinand 9e3c35b6d1 Fix small mistake in generator creation introduced in 9a159f37 2017-01-15 19:26:15 +01:00
Anatol Belski ca4cfcc631 Revert "Merge branch 'bugfix_timeout_61471' of https://github.com/axot/php-src into PHP-7.0"
This reverts commit a8931df672, reversing
changes made to f2f35a2b27.

(cherry picked from commit 57736cc937)

Something went wrong, so the revert didn't land in master.
Cherry-picking extra therefore.
2017-01-15 17:18:00 +01:00
Adam Saponara 3e274018f8 Fix segfault in pcntl_signal_handler (bug #73939) 2017-01-15 06:44:04 +00:00
Nikita Popov 959c8975a9 Merge branch 'PHP-7.1' 2017-01-14 14:13:49 +01:00
Nikita Popov 36ba96e86c Merge branch 'PHP-7.1' 2017-01-14 13:53:58 +01:00
Nikita Popov a3115b05b4 Merge branch 'PHP-7.1' 2017-01-14 13:28:52 +01:00
Joe Watkins 0bfd17dfc5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Added test for "opcache: print restart reason" to basic_logging.phpt
2017-01-14 07:33:35 +00:00
Nikita Popov 5eeb414770 Write $http_response_header to local var at end
Rather than trying to modify it mid-request. The protection against
tampering that was used (addref) violates COW because an rc>1 array
is being modified.

Test bug69337.phpt changed because it was testing tampering with
$http_response_header while the HTTP request is being executed.
This simply no longer matters, so behavior is the same as if no
tampering occurred.
2017-01-13 23:27:07 +01:00
Alexander Polyakov 6cca4fcd59 opcache: print restart reason 2017-01-13 21:33:19 +00:00
Dmitry Stogov 501ff45283 Fixed nullable handling (phpunit failure) 2017-01-13 19:51:12 +03:00
Anatol Belski 6eaa55db79 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix remaining tests for Opcache runs
2017-01-13 17:23:05 +01:00
Anatol Belski 9db2dab858 Merge branch 'PHP-7.1'
* PHP-7.1:
  ensure the end path wouldn't contain double slashes
2017-01-13 16:55:49 +01:00
Anatol Belski 0e00c56060 Merge branch 'PHP-7.1'
* PHP-7.1:
  templatize the resource number
2017-01-13 15:50:36 +01:00
Anatol Belski 5ba9f8458c Merge branch 'PHP-7.1'
* PHP-7.1:
  refix test
2017-01-13 15:35:42 +01:00
Anatol Belski e9f978a272 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
  Fix test runs with Opcache enabled PHP on top
2017-01-13 14:46:44 +01:00
Dmitry Stogov 1a8ad8ac27 Avoid NULL dereference 2017-01-13 12:51:23 +03:00
Dmitry Stogov 141d1ba980 Introduced "zend_type" - an abstraction for type-hinting representation. 2017-01-13 11:37:46 +03:00
Joe Watkins 28391c30ca Merge branch 'PHP-7.1'
* PHP-7.1:
  Increase wait time for tests involving sockets to improve Travis relability
2017-01-13 06:45:31 +00:00
Xinchen Hui 1cdcf5bafb Merge branch 'PHP-7.1'
* PHP-7.1:
  Remove redundant reference handling
  Fixed bug #73916 (zend_print_flat_zval_r doesn't consider reference)
2017-01-13 13:05:51 +08:00
Anatol Belski c4e0ba004e Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2017-01-12 22:46:24 +01:00
Anatol Belski bdfe07c2e7 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed #72898 PHP_FCGI_CHILDREN is not included in phpinfo()
2017-01-12 22:08:20 +01:00
Nikita Popov a1145c0c40 Fix memory error in reflection export
Also simplify code while at it ... no point in going through a
smart_str for a single printf.
2017-01-12 21:50:53 +01:00
Nikita Popov e8c98a74f0 Merge branch 'PHP-7.1' 2017-01-12 21:16:13 +01:00
Anatol Belski c498284dec Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2017-01-12 19:01:19 +01:00
Nikita Popov 1b684fa53c Merge branch 'PHP-7.1' 2017-01-12 18:54:06 +01:00
Anatol Belski 9cfaf48a11 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73904 php-cgi fails to load -c specified php.ini file
2017-01-12 17:27:14 +01:00
Anatol Belski ce7a8ca551 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73904 php-cgi fails to load -c specified php.ini file
2017-01-12 14:17:23 +01:00
Anatol Belski 9f3b3a55fe Fixed bug #73904 php-cgi fails to load -c specified php.ini file 2017-01-12 14:15:21 +01:00
Joe Watkins 1ef5cb6ab6 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Update to SQLite 3.16.2
2017-01-12 09:24:47 +00:00
Joe Watkins dd7a04009e Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72680 gdbinit print_cvs not prepared for PHP 7
2017-01-12 09:10:53 +00:00
Joe Watkins 8f6dad150b Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #72680 gdbinit print_cvs not prepared for PHP 7
2017-01-12 09:10:39 +00:00
Christoph M. Becker ec6b03a789 Update to SQLite 3.16.2 2017-01-12 00:14:55 +01:00
Joe Watkins 62f29c0c1c Merge branch 'PHP-7.1'
* PHP-7.1:
  added a note to opache.fast_shutdown why its not enabled by default in php.ini
2017-01-11 11:18:38 +00:00
Joe Watkins cf897bcd30 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Fixed bug #67707 IV not needed for ECB encryption mode, but it returns a warning
  Add support for "xfail" to phpt SKIPIF sections
  Fixed #73907 (nextSibling property not included in var_dump of DOMNode)
  Fixed bug #61858 (DOMAttr debug info generates E_WARNING)
  Fix glob-wrapper.phpt to not fail in Windows
  Set a session path for this test
  Set a session path for this test
  Fix #73893: A hidden danger of death cycle in a function of gd
  Missing %s
  Missing %s
  More missing gc inis
  Ok, maybe Nikita is right. We should default this on.
  Missed one. This needs gc as well
  Missed one. This needs gc as well
  These tests rely on gc being enabled
  These tests expect gc to be enabled
2017-01-11 08:12:22 +00:00
Joe Watkins 2118dcb6a6 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #71219 configure script incorrectly checks for ttyname_r
2017-01-11 08:11:59 +00:00
Nikita Popov 63b36be79f Merge branch 'PHP-7.1' 2017-01-10 23:45:01 +01:00
Nikita Popov ce90742ad5 Merge branch 'PHP-7.1' 2017-01-10 23:32:46 +01:00
Nikita Popov 9b916b15a5 Merge branch 'PHP-7.1' 2017-01-10 23:29:50 +01:00
Nikita Popov 52a22fa63c Merge branch 'PHP-7.1' 2017-01-10 23:25:23 +01:00
Nikita Popov 756a0af996 Merge branch 'PHP-7.1' 2017-01-10 23:19:43 +01:00
Rasmus Lerdorf aa5713f773 Set a session path for this test 2017-01-10 15:18:36 -05:00
Christoph M. Becker 703c0043a0 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix #73893: A hidden danger of death cycle in a function of gd

# Conflicts:
#	ext/gd/libgd/gd_rotate.c
2017-01-10 20:15:05 +01:00
Christoph M. Becker 4ac0501d68 Merge branch 'PHP-7.1'
* PHP-7.1:
  Missing %s
2017-01-10 20:08:59 +01:00
Rasmus Lerdorf 190c303a1a Missing %s 2017-01-10 13:51:58 -05:00
Christoph M. Becker ff41e97c4c Merge branch 'PHP-7.1'
* PHP-7.1:
  Ok, maybe Nikita is right. We should default this on.
  Missed one. This needs gc as well
  These tests expect gc to be enabled
2017-01-10 19:49:54 +01:00
Rasmus Lerdorf 47becbf1a2 More missing gc inis 2017-01-10 12:17:31 -05:00
Rasmus Lerdorf d2c852e473 Missed one. This needs gc as well 2017-01-10 12:08:34 -05:00
Rasmus Lerdorf 4f4a7f89ae These tests rely on gc being enabled 2017-01-10 11:57:59 -05:00
Joe Watkins 87f7113130 Merge branch 'PHP-7.1'
* PHP-7.1:
  pull-request/1807: 	test for dns_get_record
2017-01-10 13:57:10 +00:00
Joe Watkins 54b00d157a Merge branch 'PHP-7.1'
* PHP-7.1:
  Prevent fd leak in readdir_r that causes false negative on readdir_r implementation when compiled with AddressSanitizer
2017-01-10 11:51:56 +00:00
Joe Watkins e54ee3eaa4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed #73902 mention router support in usage output for php-cli
2017-01-10 06:21:14 +00:00
Sara Golemon 4fb70c7577 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix open_basedir check for glob:// opendir wrapper
2017-01-09 16:08:31 -08:00
Nikita Popov 18904aa3e2 Compact literals: Deduplicate empty array literals 2017-01-10 00:21:38 +01:00
Nikita Popov c4ba0041a0 Merge branch 'PHP-7.1' 2017-01-10 00:09:41 +01:00
Andy Postnikov 8c8679207a Fix ZEND_SIGNED_MULTIPLY_LONG for AArch64
Register operands are required in this context.
2017-01-09 23:32:02 +01:00
Nikita Popov 2aaf57e6ed Merge branch 'PHP-7.1' 2017-01-09 23:30:07 +01:00
Nikita Popov 791b795184 Merge branch 'PHP-7.1' 2017-01-09 23:23:07 +01:00
Nikita Popov 998b1a14af Merge branch 'PHP-7.1' 2017-01-09 23:21:17 +01:00
Dmitry Stogov 15040b47f0 Merge branch 'PHP-7.1'
* PHP-7.1:
  Improved GENERATOR_CREATE opcode handler.
2017-01-09 22:25:25 +03:00
Adam Baratz f2f70cfc4b Remove trailing whitespace 2017-01-09 11:41:54 -05:00
Adam Baratz 012cee3fba Explicitly allow NULL values for dblib compatibility
MSSQL won't necessarily default columns to NULL, see:
https://msdn.microsoft.com/en-us/library/ms174979.aspx#Nullability Rules Within a Table Definition
2017-01-09 11:40:25 -05:00
Joe Watkins 14282b2eef Merge branch 'PHP-7.1'
* PHP-7.1:
  update release process notes
2017-01-09 16:22:01 +00:00
Joe Watkins ae2640b6b5 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Fixed bug #73896 (spl_autoload() crashes when calls magic _call())
2017-01-09 16:00:03 +00:00
Joe Watkins bdafee7345 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix stub to accept user properly
2017-01-09 15:58:22 +00:00
Dmitry Stogov 27786b5c39 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73896 (spl_autoload() crashes when calls magic _call())
2017-01-09 15:13:48 +03:00
Joe Watkins 4e99d3031f Merge branch 'PHP-7.1'
* PHP-7.1:
  merge PR #2290: enable opcache in CLI in 7.1+
2017-01-09 11:00:37 +00:00
Joe Watkins cde08d499b Merge branch 'PHP-7.1'
* PHP-7.1:
  set more suitable defaults for opcache in ini and code
2017-01-09 10:57:29 +00:00
Xinchen Hui b012d48a3f Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73854 (Always true condition in php_openssl_sockop_io)
2017-01-09 16:30:55 +08:00
Joe Watkins 7fd318bc4c Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72979 money_format stores wrong length on AIX
2017-01-09 05:33:48 +00:00
Joe Watkins 392dca4c8f Merge branch 'PHP-7.1'
* PHP-7.1:
  update ip2long_varation2 test to skip for AIX, see bug #72973
2017-01-09 05:25:31 +00:00
Joe Watkins 7b98ecfa3b [ci skip] news entry for #72974 2017-01-09 05:21:29 +00:00
Joe Watkins 5b23f5d73a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed #72974 imap is undefined service on AIX
2017-01-09 05:15:48 +00:00
Joe Watkins 04db4ad4e3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix FTP tests for Travis CI.
2017-01-09 00:37:24 +00:00
Anatol Belski 411c5fbcbf Merge branch 'PHP-7.1'
* PHP-7.1:
  improve and generalize the recognition of a cli sapi
2017-01-09 00:01:19 +01:00
Joe Watkins 64e80f5358 Merge branch 'PHP-7.1'
* PHP-7.1:
  Use proper file extension for the README
2017-01-08 21:05:36 +00:00
Joe Watkins 14be227325 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix 404 links in Litespeed README - Bug 73890
2017-01-08 20:28:22 +00:00
Anatol Belski 5eda579505 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2017-01-08 20:16:44 +01:00
Joe Watkins b2da9230f2 Merge branch 'PHP-7.1'
* PHP-7.1:
  improve FPM tests (mostly for systemd build)
2017-01-08 19:03:33 +00:00
Anatol Belski 32eac69ef9 Merge branch 'PHP-7.1'
* PHP-7.1:
  [ast] Fix exporting **= in expansion of assign op
2017-01-08 18:56:05 +01:00
Nikita Popov f25f469088 Merge branch 'PHP-7.1' 2017-01-08 13:48:54 +01:00
Nikita Popov 79d918b3a6 Add test for buf #65251 2017-01-08 12:01:18 +01:00
Anatol Belski 953a7aae71 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2017-01-08 01:23:51 +01:00
Anatol Belski 97ac819c2b Merge branch 'PHP-7.1'
* PHP-7.1:
  move various places to the centralized OpenSSL setup routine
  use the new API for opaque symbol in OpenSSL 1.1.x
  implement basic config support for OpenSSL 1.1.x
2017-01-08 00:39:53 +01:00
Nikita Popov 72038b6c38 Merge branch 'PHP-7.1' 2017-01-08 00:02:42 +01:00
Nikita Popov 49c48e3f3a Merge branch 'PHP-7.1' 2017-01-07 23:56:00 +01:00
Nikita Popov 53ff546054 Merge branch 'PHP-7.1' 2017-01-07 22:54:26 +01:00
Libor M 90dcbbe3cb Fixed bug #46564
bcmod() no longer truncates fractionals to integers. This matches
the behavior of fmod(). It also matches the behavior of bcpowmod().
It also matches the behavior of bcmod() in HHVM.
2017-01-07 19:10:31 +01:00
Joe Watkins 00062d2ea8 Merge branch 'PHP-7.1'
* PHP-7.1:
  Adapts the readme to the new test-possibility
2017-01-07 16:46:18 +00:00
Anatol Belski c50abfdb8e Merge branch 'PHP-7.1'
* PHP-7.1:
  Implement github PR #1736
2017-01-07 15:42:44 +01:00
Anatol Belski 59cd65460b Merge branch 'PHP-7.1'
* PHP-7.1:
  update UPGRADING
  fix wrong version
  extend UPGRADING
2017-01-07 12:48:03 +01:00
Anatol Belski eb1913f21e Merge branch 'PHP-7.1'
* PHP-7.1:
  add 'e' flag for fopen() to enable CLOEXEC
2017-01-07 12:37:50 +01:00
Joe Watkins c9c8a301fa Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix memleaks from #1755 and some pre-existing ones
2017-01-07 10:15:37 +00:00
Joe Watkins 869a2a1c1b Merge branch 'PHP-7.1'
* PHP-7.1:
  PR #2211 don't supress warnings in tests
2017-01-07 08:08:25 +00:00
Mitch Hagstrand 06c8538f87 Fixes for session and fpm tests to make them more reliable in Travis CI
1. Increased the timeout on sapi/fpm tests to match the cli server
2. Fixed user session GC function to return number of sessions removed
3. Disabled session GC in session_set_save_handler_basic.phpt
2017-01-07 07:13:44 +00:00
Anatol Belski 3aece4629b Merge branch 'PHP-7.1'
* PHP-7.1:
  /guard is also a security flag
2017-01-07 02:49:44 +01:00
Anatol Belski 11acb143fe Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Test request47456.phpt for PR 1303" on PHP-7.0 and PHP-7.1
2017-01-07 02:07:07 +01:00
Anatol Belski 25797535d4 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix edge case leak
2017-01-07 01:17:18 +01:00
Anatol Belski 628c5a31da Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73877 readlink() returns garbage for UTF-8 paths
2017-01-07 01:10:56 +01:00
Anatol Belski 51dde97126 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix typo
  fix typo
2017-01-06 18:56:26 +01:00
Anatol Belski fe484f55a0 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS and UPGRADING
  update NEWS and UPGRADING
2017-01-06 18:40:57 +01:00
Anatol Belski 7ebe0db79e Merge branch 'PHP-7.1'
* PHP-7.1:
  Return integer field types as native integers instead of strings
2017-01-06 18:15:02 +01:00
Joe Watkins 598bb2cad8 fix bad merge 2017-01-06 16:34:20 +00:00
Joe Watkins bb513f15e1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Test request47456.phpt for PR 1303
2017-01-06 16:24:10 +00:00
Joe Watkins 8e447eafd9 fix broken build scripts #2124 2017-01-06 16:04:52 +00:00
Christoph M. Becker 94c6460b85 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix #70103: Fix bug 70103 when ZTS is enabled
2017-01-06 15:45:44 +01:00
Christoph M. Becker cba33121f2 Fix test case
Unmatched subpatterns are reported as NULL as of commit ee6aaee8, so we
adjust the test accordingly.
2017-01-06 11:50:30 +01:00
Christoph M. Becker c832ab4de6 Update UPGRADING wrt. PR 1303 2017-01-06 11:24:44 +01:00
Joe Watkins d14f321504 Merge branch 'PHP-7.1'
* PHP-7.1:
  Use AX_CHECK_COMPILE_FLAG macro to check for -fvisibility=hidden
2017-01-06 08:15:01 +00:00
Joe Watkins 9e18b6e21e Merge branch 'pull-request/2124'
* pull-request/2124:
  Use AX_CHECK_COMPILE_FLAG macro to check for -fvisibility=hidden
2017-01-06 08:13:53 +00:00
Joe Watkins a319e09e87 Merge branch 'pull-request/1809'
* pull-request/1809:
  test for function curl_multi_info_read();
2017-01-06 08:04:49 +00:00
Joe Watkins 7e3a8ef5e1 Merge branch 'pull-request/1755'
* pull-request/1755:
  Fix bug #71519 Add 'serialNumberHex' variable to openssl_x509_parse
2017-01-06 07:41:48 +00:00
Joe Watkins aea1fd2436 Merge branch 'PHP-7.1'
* PHP-7.1:
  add stream_socket_sendto test from PR #1804
2017-01-06 07:29:09 +00:00
Joe Watkins 0ca4358ade Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed #69442 closing of fd incorrect when PTS enabled
2017-01-06 06:59:32 +00:00
Joe Watkins 69b1526dfe Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed #69442 closing of fd incorrect when PTS enabled
2017-01-06 06:57:35 +00:00
Joe Watkins 969622cddf Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #69582 session not readable by root in CLI
2017-01-06 06:08:38 +00:00
Joe Watkins 7c94b3b743 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix inappropriate warning in FPM log
2017-01-06 05:55:36 +00:00
Joe Watkins ee6aaee83a Merge branch 'pull-request/1303'
* pull-request/1303:
  Distinguish between unmatched subpatterns and empty matches in preg_*()
  news entry for PR #1303
2017-01-06 05:48:31 +00:00
Joe Watkins 1db0569514 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix #70103: ZipArchive::addGlob ignores remove_all_path option
  news entry for PR #1430
2017-01-06 05:41:40 +00:00
Joe Watkins a972143dd6 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  add skip when json not loaded
2017-01-06 05:33:49 +00:00
Joe Watkins c9abe878b5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Increase realpath_cache_size default value
  add UPGRADING note for realpath_cache_size
2017-01-06 05:32:12 +00:00
Remi Collet 731a507b9d Merge branch 'PHP-7.1'
* PHP-7.1:
  add skip when json not loaded
2017-01-06 06:27:39 +01:00
Joe Watkins 8a6d3d3d2e Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Increase realpath_cache_size default value
2017-01-06 05:27:04 +00:00
Anatol Belski 81c8bc35a8 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix deps dir for test data preparations
2017-01-06 02:39:53 +01:00
Ferenc Kovacs 7741750784 Merge branch 'PHP-7.1' 2017-01-06 01:52:12 +01:00
Anatol Belski 58767fbb4e Merge branch 'PHP-7.1'
* PHP-7.1:
  don't use separate deps for release branches
2017-01-06 01:32:40 +01:00
Anatol Belski 0beae1f5f3 reenable appveyor cache 2017-01-05 23:42:15 +01:00
Anatol Belski 34e17282b5 clean appveyor cache 2017-01-05 23:40:56 +01:00
Anatol Belski 703c9ee1a4 sync libmagic.patch 2017-01-05 23:32:30 +01:00
Anatol Belski b11383fbde revert year change on bundled lib files 2017-01-05 23:26:20 +01:00
Anatol Belski 8892783649 add missing condition 2017-01-05 23:16:09 +01:00
Christoph M. Becker 583950336a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix #70417: PharData::compress() doesn't close temp file
2017-01-05 18:52:03 +01:00
Christoph M. Becker ed74bb3a79 Merge branch 'PHP-7.1'
* PHP-7.1:
  wrong version

# Conflicts:
#	main/php_version.h
2017-01-05 18:42:58 +01:00
Joe Watkins 9b36d8d54a Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
2017-01-05 16:59:23 +00:00
Joe Watkins ac8ecdd344 Merge branch 'PHP-7.1'
* PHP-7.1:
  merge PHP-7.1.1RC1
2017-01-05 16:58:46 +00:00
Anatol Belski 265b8cc18b Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Merge branch 'bugfix_timeout_61471' of https://github.com/axot/php-src into PHP-7.0"
2017-01-05 14:04:30 +01:00
Nikita Popov c1b0bae24b Merge branch 'PHP-7.1' 2017-01-05 11:38:47 +01:00
Joe Watkins 4aada085eb Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix php-fpm.service.in
2017-01-05 06:54:52 +00:00
Joe Watkins 45128f33d3 Merge branch 'pull-request/2275'
* pull-request/2275:
  Fix overrun in exif's "Illegal components" error message.
2017-01-05 05:54:34 +00:00
Mitch Hagstrand 54404808ab Fix overrun in exif's "Illegal components" error message.
The variables "components" is an integer, but is being
output as long. As a result it is printing 8 bytes
instead of 4 bytes.
2017-01-04 17:44:00 -08:00
Anatol Belski 032131f00b Merge branch 'PHP-7.1'
* PHP-7.1:
  quick fix for the base branch version parsing, not perfect still
2017-01-05 01:54:53 +01:00
Anatol Belski 0fed835ab9 Merge branch 'PHP-7.1'
* PHP-7.1:
  move dev to next
2017-01-05 01:16:37 +01:00
Nikita Popov fc89c5d7f8 Merge branch 'PHP-7.1' 2017-01-05 00:50:12 +01:00
Nikita Popov 2a12895018 Merge branch 'PHP-7.1' 2017-01-05 00:36:53 +01:00
Anatol Belski c616ea6f52 Merge branch 'PHP-7.1'
* PHP-7.1:
  switch to the beta1 SDK for AppVeyor build
2017-01-04 17:24:26 +01:00
Joe Watkins 90c5c295a1 Merge branch 'PHP-7.1'
* PHP-7.1:
  remove duplicate test
2017-01-04 14:51:41 +00:00
Joe Watkins 4c899c8aac Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Implement #69606: Support BMPs (added in GD 2.1.0)
2017-01-04 14:37:11 +00:00
Joe Watkins a3c2abd530 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
2017-01-04 14:36:51 +00:00
Christoph M. Becker 500b496f8e Implement #69606: Support BMPs (added in GD 2.1.0)
We add PHP bindings for libgd's features to read and write BMP files, which
are available as of libgd 2.1.0.

As PHP's bundled libgd doesn't yet include the respective features of the
external libgd, we add these.
2017-01-04 14:55:02 +01:00
Joe Watkins d83828540e Merge branch 'PHP-7.1'
* PHP-7.1:
  get_defined_functions additional parameter to exclude disabled functions
  news entry for PR #1312
2017-01-04 13:37:06 +00:00
Anatol Belski 8bc2155bf9 bring the year back 2017-01-04 13:01:55 +01:00
Anatol Belski 0439ffa2ea revert change in the broken file 2017-01-04 13:01:23 +01:00
Anatol Belski 25ee9465d1 add nmakefile fragment for json 2017-01-04 12:41:47 +01:00
Anatol Belski 380073b1fc fragment targets have to match the generated ones 2017-01-04 12:18:55 +01:00
Anatol Belski 3fc1ec22ea add nmakefile fragment for pdo parser 2017-01-04 12:18:54 +01:00
Anatol Belski 797e119682 fix open flags 2017-01-04 12:18:54 +01:00
Anatol Belski b9961182bc improve nmake fragment 2017-01-04 12:18:54 +01:00
Christoph M. Becker 9574486f0e Update to SQLite 3.16.1 2017-01-04 11:53:13 +01:00
Christoph M. Becker 0c10ddb851 Make test case even more resilient
The `components` value may obviously be negative, so we have to cater
to that.
2017-01-04 11:46:35 +01:00
Joe Watkins c8aa6f3a9a Merge branch 'pull-request/2268'
* pull-request/2268:
  Update copyright headers to 2017
2017-01-04 10:00:53 +00:00
Joe Watkins f9a435a06d Merge branch 'pull-request/1094'
* pull-request/1094:
  added php_mb_check_code_point for mb_substitute_character
  news entry for PR #1094
2017-01-04 06:57:34 +00:00
Christoph M. Becker a793b794a6 Make test case more resilient
We should not expect a certain `components` value, but rather any
integer.
2017-01-04 00:51:35 +01:00
Anatol Belski 6e93c1849e make possible to pass also an arbitrary fragment file 2017-01-03 22:10:24 +01:00
Stanislav Malyshev 5fbf3be13b Re-add var_unserializer.c 2017-01-03 09:44:31 -08:00
Anatol Belski 76654152ee fix var name 2017-01-03 17:59:56 +01:00
Anatol Belski 595453ac91 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix PDO tests to match SQL standard syntax and pass Firebird tests.
2017-01-03 17:56:22 +01:00
Anatol Belski defd45adc2 implement makefile fragment support for nmake 2017-01-03 17:48:44 +01:00
Christoph M. Becker a055ab76c7 Fix failing test
Due to commit 17408238 the tested TIFF file produces an additional
warning.
2017-01-03 16:40:41 +01:00
Sammy Kaye Powers 4f70d93d3c Update copyright header for new file 2017-01-03 08:02:12 -06:00
Sammy Kaye Powers 1e3624290a Resolve conflict 2017-01-03 08:01:05 -06:00
Anatol Belski f0031ed151 Merge branch 'PHP-7.1'
* PHP-7.1:
  better skip on files
2017-01-03 13:28:31 +01:00
Nikita Popov 08b68b9781 Merge branch 'PHP-7.1' 2017-01-03 12:19:08 +01:00
Joe Watkins 7267d00677 Merge branch 'pull-request/1905'
* pull-request/1905:
   pack()/unpack() for Big Endian float/double and Little Endian float/double
2017-01-03 10:48:42 +00:00
sskaje 4935f795e8 Merge branch 'master' into master 2017-01-03 18:42:27 +08:00
Joe Watkins 0788f3ed3c Merge branch 'pull-request/2163'
* pull-request/2163:
  import explicit_bzero + strlc* functions update since 1999 algorithms have changed and register k/w not necessary anymore.
2017-01-03 06:48:40 +00:00
Rasmus Lerdorf 6b985c71d4 Fix opcache test dependencies 2017-01-02 22:20:08 -08:00
Stanislav Malyshev f909b2564c Merge branch 'PHP-7.1'
* PHP-7.1:
  Use correct string release function
2017-01-02 22:09:08 -08:00
Stanislav Malyshev 84544cd330 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix error reporting
2017-01-02 22:04:10 -08:00
Stanislav Malyshev 13c18d4601 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix #73832 - leave the table in a safe state if the size is too big.
  Fix bug #73831 - NULL Pointer Dereference while unserialize php object
2017-01-02 21:37:10 -08:00
Stanislav Malyshev 0de25147d3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73737 FPE when parsing a tag format
  Fix bug #73773 - Seg fault when loading hostile phar
  Fix bug #73825 - Heap out of bounds read on unserialize in finish_nested_data()
  Fix bug #73768 - Memory corruption when loading hostile phar
  Fix int overflows in phar (bug #73764)
2017-01-02 21:26:20 -08:00
Anatol Belski 348ae883b2 Merge branch 'PHP-7.1'
* PHP-7.1:
  set exclude AppVeyor branches and ignore builds on NEWS updates
2017-01-03 02:27:04 +01:00
Nikita Popov 009486ba20 Merge branch 'PHP-7.1' 2017-01-03 02:18:13 +01:00
Nikita Popov 5ebde976d7 Merge branch 'PHP-7.1' 2017-01-03 02:13:16 +01:00
Anatol Belski 7e82877af7 Merge branch 'PHP-7.1'
* PHP-7.1:
  Disable pdb generation for AppVeyor
2017-01-03 01:14:31 +01:00
Nikita Popov dbed4698e2 Merge branch 'PHP-7.1' 2017-01-02 23:47:51 +01:00
Nikita Popov 47669aa784 Merge branch 'PHP-7.1' 2017-01-02 23:44:07 +01:00
Mitch Hagstrand fa1f98f2a3 Fix for nowait.phpt failing intermittently
The parent process was releasing the child semaphore
after the child process continued execution. Now
the child semaphore is released before the child
process continues execution.
2017-01-02 16:46:19 +00:00
Sammy Kaye Powers 9e29f841ce Update copyright headers to 2017 2017-01-02 09:30:12 -06:00
Joe Watkins dfb6cdb617 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix for sporadic segfault with MYSQLI_OPT_INT_AND_FLOAT_NATIVE
  news entry for PR #2249
2017-01-02 14:58:19 +00:00
Joe Watkins a5b49fdcb0 news entry for PR #2267 2017-01-02 11:59:54 +00:00
Joe Watkins 6a1d3c948b Merge branch 'PHP-7.1'
* PHP-7.1:
  news entry for PR #2267
  Fixed #67474 (getElementsByTagNameNS and default namespace)
  Add (failing) testcase for bug #67474
2017-01-02 11:59:15 +00:00
Joe Watkins f8b291d288 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Switch reflection to use smart_str
  Add smart_str_append_printf
  Make printf_to_smart_str(ing) the primitive printf operation
  Export zend_s(tr)pprintf
  Sync smart_string implementation with smart_str
  Move smart_string to Zend
  Fixed bug #73154
  Flush stderr on win32 in cli_log_message
  Fixed bug #73154
2017-01-02 09:42:03 +00:00
Joe Watkins 8c5647eef1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix nowait.phpt to no longer depend on sleeping
2017-01-02 09:41:00 +00:00
Nikita Popov f3f594a47d Switch reflection to use smart_str
Instead of yet-another-smart-string-implementation.

Expand the smart_str API by:
 * smart_str_extract() which gets a finalized zend_string* from a
   smart_str, including insertion of the zero byte and handling of
   the empty string case. This should be preferred over using
   smart_str_0() in conjunction with str.s.
 * smart_str_get_len() which gets the length of the smart_str with
   handling of the empty string case.
2017-01-01 21:28:21 +01:00
Nikita Popov 384e959a3a Add smart_str_append_printf 2017-01-01 21:28:21 +01:00
Nikita Popov 5fc9aa9a95 Make printf_to_smart_str(ing) the primitive printf operation
vs(tr)pprintf is now implemented in Zend on top of
printf_to_smart_str(int), which is provided as a utility function.

This allows us to efficiently printf to the end of a smart string.
2017-01-01 21:28:20 +01:00
Nikita Popov c7742e280a Export zend_s(tr)pprintf
It's annoying that in Zend you have to use zend_strpprintf instead
of strpprintf, while in PHP you have to use strpprintf instead of
zend_strpprintf.

Make zend_s(tr)pprintf always available and keep s(tr)pprintf as
macro aliases.
2017-01-01 21:28:20 +01:00
Nikita Popov 38f72cea1b Sync smart_string implementation with smart_str
Switch to using inline functions instead of macros, etc.
2017-01-01 21:28:20 +01:00
Nikita Popov abb91ee9ea Move smart_string to Zend
smart_str is already in Zend.
2017-01-01 21:28:20 +01:00
Nikita Popov 52da05c535 Merge branch 'PHP-7.1' 2017-01-01 21:17:00 +01:00
Nikita Popov be4ce98bdc Fixed bug #73154
The object that is being serialized may be destroyed during the
execution of __sleep(), so operate on a copy instead.
2017-01-01 21:11:01 +01:00
Joe Watkins 1d6f9345bc fix test 2017-01-01 16:17:03 +00:00
Joe Watkins 0a6d7e66a0 news entry for PR #2117 2017-01-01 15:48:38 +00:00
Joe Watkins 5a15c9470c Merge branch 'pull-request/2117'
* pull-request/2117:
  Allow to configure php-fpm slow log trace callers limit
2017-01-01 15:47:36 +00:00
Joe Watkins b771790429 add news entry for PR #1414 2017-01-01 14:42:33 +00:00
Joe Watkins 8d316e6a3e Merge branch 'PHP-7.1'
* Add subject to mail.log
2017-01-01 14:40:20 +00:00
Nikita Popov 489d5ac2fc Merge branch 'PHP-7.1' 2017-01-01 14:14:00 +01:00
Nikita Popov bf3ce4db94 Merge branch 'PHP-7.1' 2017-01-01 12:20:52 +01:00
Nikita Popov 1283ea4665 Merge branch 'PHP-7.1' 2017-01-01 12:17:01 +01:00
Joe Watkins 4363c96b14 Revert "add news entry for PR #2263"
This reverts commit a9aefe5b9b.
2017-01-01 06:53:44 +00:00
Joe Watkins f2eeb47797 Revert "Merge branch 'PHP-7.1'"
This reverts commit 7eac2fdf53, reversing
changes made to 15b80f105c.
2017-01-01 06:53:29 +00:00
Joe Watkins a9aefe5b9b add news entry for PR #2263 2017-01-01 06:50:37 +00:00
Joe Watkins 7eac2fdf53 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix dom class can't be inherited by the internal class
2017-01-01 06:48:24 +00:00
Joe Watkins 15b80f105c Merge branch 'pull-request/2261'
* pull-request/2261:
  Add PHPAPI php_session_flush and php_session_destroy
2017-01-01 06:44:14 +00:00
dreamszhu e10425fe8b Add PHPAPI php_session_flush and php_session_destroy 2017-01-01 07:30:22 +08:00
Sara Golemon 61a43195f5 Use new param API in pdo_sqlite 2016-12-31 09:01:20 -08:00
Sara Golemon 8bbfe174a8 Use new param API in tokenizer 2016-12-31 09:01:20 -08:00
Sara Golemon bf422c56ab Use new param API in PDO 2016-12-31 09:01:15 -08:00
Sara Golemon a470a8c0a0 Use new param API in libxml 2016-12-31 08:38:14 -08:00
Sara Golemon 6007eb7584 Use new param API in json 2016-12-31 08:35:07 -08:00
Joe Watkins ae1ecf1173 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Fix bug #73847
2016-12-31 13:55:17 +00:00
Joe Watkins 890ae17fb0 Merge branch 'pull-request/2260'
* pull-request/2260:
  Add PHPAPI for session class entry and related entries
2016-12-31 13:54:54 +00:00
Nikita Popov b767370496 Merge branch 'PHP-7.1' 2016-12-31 13:34:09 +01:00
dreamszhu f7f32ba422 Add PHPAPI for session class entry 2016-12-31 18:03:58 +08:00
Joe Watkins e95afee191 Merge branch 'pull-request/2264'
* pull-request/2264:
  Fix header_remove function, the name parameter is optional
2016-12-31 08:35:50 +00:00
Mitch Hagstrand 32ab889ea4 Fix header_remove function, the name parameter is optional 2016-12-30 19:13:46 -08:00
Sara Golemon 07959c1cae Use new param API in standard 2016-12-30 18:28:54 -08:00
Sara Golemon 2ea5b64d9a Use new param API in standard/file 2016-12-30 18:07:35 -08:00
Sara Golemon a23f08a33c Use new param API in standard 2016-12-30 17:28:55 -08:00
Sara Golemon 331dcf08df Use new param API in standard/string 2016-12-30 16:40:45 -08:00
Sara Golemon 5c919ee30b Use new param API in standard/basic_functions 2016-12-30 16:13:14 -08:00
Sara Golemon b71b12843c Use new param API in standard 2016-12-30 13:36:51 -08:00
Sara Golemon 625304fa76 Use new param API in standard 2016-12-30 13:17:52 -08:00
Sara Golemon c714152e58 Use new param API in standard/math 2016-12-30 13:02:59 -08:00
Sara Golemon 6f3945a9f1 Use new param API in standard 2016-12-30 12:56:21 -08:00
Adam Harvey c9a42b58a7 Merge branch 'PHP-7.1'
* PHP-7.1:
  Document the changes to lexical scoping in 7.1.
2016-12-30 11:42:12 -08:00
Sara Golemon 1b0edb3c6c Use new param API in standard/array 2016-12-30 10:35:45 -08:00
Sara Golemon 54c13295a6 Use new param API in standard 2016-12-30 09:12:17 -08:00
Christoph M. Becker c5cc583473 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update UPGRADING wrt. bug #72785
2016-12-30 14:18:31 +01:00
Sara Golemon 523afbf63f Use new param API in standard/streamsfuncs 2016-12-29 21:28:38 -08:00
Sara Golemon 85e88d1d6e Use new params API for throwable constructors in date 2016-12-29 18:26:27 -08:00
Sara Golemon 52db03b3e5 Support ZEND_PARSE_PARAMS_THROW in new ZPP API 2016-12-29 18:26:19 -08:00
Nikita Popov 78132cc424 Merge branch 'PHP-7.1' 2016-12-29 22:07:03 +01:00
Nikita Popov d719ac929e Merge branch 'PHP-7.1' 2016-12-29 21:41:28 +01:00
Nikita Popov 270f1ffd19 Merge branch 'PHP-7.1' 2016-12-29 21:18:58 +01:00
Nikita Popov 30029d137f Merge branch 'PHP-7.1' 2016-12-29 21:00:34 +01:00
Christoph M. Becker 60b4e312ae Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Fix #73530: Unsetting result set may reset other result set"
2016-12-29 13:58:14 +01:00
Xinchen Hui 40727d7ce9 Merge branch 'PHP-7.1'
* PHP-7.1:
  define php_ap_map_http_request_error function for older httpd only
  add old versions of httpd support
  typo fixed
  bug fixed #61471 in apache2handler
2016-12-29 15:56:38 +08:00
Sara Golemon e2a159fe01 Use new param API in posix 2016-12-28 11:48:36 -08:00
Sara Golemon 0951d7d75a Use new param API in date
Left the zend_parse_parameters_throw() uses along because
throwing isn't currently supported by the new API.
Also left the complex parsing in DatePeriod::__construct alone
because the macros don't really stack all that well.
2016-12-28 10:04:35 -08:00
Sara Golemon 0e4c675736 Use new param API in ctype 2016-12-28 09:11:53 -08:00
Sara Golemon 994170ea80 Migrate curl to new parameters API
Plus a handful of char*->zend_string* conversions
2016-12-28 09:06:41 -08:00
Sara Golemon fbec1a7b10 Convert bcmath to new parameter parsing API 2016-12-27 23:49:48 -08:00
Sara Golemon b1300e4933 Use zend_string in bcmath params 2016-12-27 23:35:38 -08:00
Sara Golemon 77becd0865 Correct function protos in intl/idn 2016-12-27 22:52:26 -08:00
Sara Golemon 3e4b74dc9f Use zend_string in intl/idn 2016-12-27 22:47:16 -08:00
Sara Golemon 23b484cfe1 Simplify error path in intl/idn 2016-12-27 22:37:29 -08:00
Anatol Belski f8aa57ab2f fix uninitialized value 2016-12-27 23:43:49 +01:00
Nikita Popov 1c85bef46b Merge branch 'PHP-7.1' 2016-12-27 22:22:14 +01:00
Graham Campbell 22f3695fe1 Fixed typo in "session_module_name" 2016-12-27 22:01:19 +01:00
Nikita Popov 1bf67622f8 Merge branch 'PHP-7.1' 2016-12-27 21:52:56 +01:00
Anatol Belski 0d31433111 fork tests 2016-12-26 21:38:27 +01:00
dedal.qq d9c4b49c8a New parsing parameters in curl 2016-12-26 11:03:25 -08:00
Barbu Paul - Gheorghe e52d2b88e4 Reduce redundant storage of required number of parameters to required flag
The required field, until now, stored how many required parameters
the function, it belongs to, has. I think this is rather problematic
because it's a feature of the function to know how many required
parameters it has, not of the parameter itself. The parameter should
only say if it's required or optional (among other unrelated things).

Also storing the function's number of required parameters in every
parameter was redundant since the _zend_function structure already
has that information. And storing the same value (number of required
parameters) across multiple variables is inefficient and could lead
to inconsistencies.
2016-12-26 10:39:19 -08:00
Sara Golemon 0aaea39740 Merge branch 'PHP-7.1'
* PHP-7.1:
  Interpretation of curl_setopt values for boolean parameters
2016-12-25 22:33:11 -08:00
Sara Golemon 16758a3c66 Merge branch 'PHP-7.1'
* PHP-7.1:
  Remove extraneous parentheses in conditions
2016-12-25 22:18:27 -08:00
Sara Golemon 533737b4aa Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixes #65689. PDO_Firebrid / exec() does not free allocated statement.
2016-12-25 22:07:29 -08:00
Yasuo Ohgaki daa270b9da Fix tests for appveyor 2016-12-24 08:50:38 +09:00
Bob Weinand 1f474fddbb Merge branch 'PHP-7.1'
Also inline alpn_ctx in openssl_netstream_data (no need for the extra allocation there)
2016-12-22 23:40:24 +01:00
Bob Weinand 712c532ab9 Merge branch 'PHP-7.1' 2016-12-22 15:31:58 +01:00
Anatol Belski 758af77e9d Path handling related refactorings
Primarily related to the path handling datatypes, to avoid unnecessary
casts, where possible. Also some rework to avoid code dup. Probably
more places are to go, even not path related, primarily to have less
casts and unsigned integers where possible. That way, we've not only
less warnings and casts, but are also safer with regard to the
integer overflows. OFC it's not a panacea, but still significantly
reduces the vulnerability potential.
2016-12-22 14:56:47 +01:00
Anatol Belski afb6ca2566 Finish remaining replacement uint => uint32_t
Tthe core should be normalized now, no uints anymore
2016-12-22 14:32:02 +01:00
Nikita Popov ce97ead399 Merge branch 'PHP-7.1' 2016-12-22 12:47:50 +01:00
Anatol Belski d5a3838c65 fix min supported versions 2016-12-22 12:40:58 +01:00
Yasuo Ohgaki 4899109e7b Update NEWS 2016-12-22 16:04:28 +09:00
Yasuo Ohgaki a93a51c3bf Fix bug #73100 - Improve bug fix. Forbid to set 'user' save handler other than set_save_handler(). 2016-12-22 16:04:28 +09:00
Kalle Sommer Nielsen d4831e2d0a Eliminate win95nt.h
- Most of this is builtin php.h now
- Removed some dead defines
- We now pass /D _USE_MATH_DEFINES for M_PI etc
2016-12-22 06:51:18 +01:00
Kalle Sommer Nielsen a569d003e2 Hmm actually it seems to be the other way around, Anatol? 2016-12-22 05:53:13 +01:00
Kalle Sommer Nielsen f0f3cb6ab5 Merge branch 'master' of git.php.net:php-src 2016-12-22 05:47:00 +01:00
Kalle Sommer Nielsen 34283026da Sync the default value of --with-odbcver with the hardcoded default for ODBCVER 2016-12-22 05:46:12 +01:00
Anatol Belski 837cce3b0b move the defs to the right place 2016-12-22 02:17:55 +01:00
Bob Weinand 5d7ce72747 Merge branch 'PHP-7.1' 2016-12-22 00:42:05 +01:00
Nikita Popov 3df43437fe Merge branch 'PHP-7.1' 2016-12-21 22:12:17 +01:00
Nikita Popov 114b526649 Merge branch 'PHP-7.1' 2016-12-21 21:28:36 +01:00
Nikita Popov a1fd1053f5 Merge branch 'PHP-7.1' 2016-12-21 21:19:28 +01:00
Nikita Popov 509f26c4bb Drop some dead code in ext/reflection 2016-12-21 21:19:19 +01:00
Anatol Belski ce0669c892 Merge branch 'PHP-7.1'
* PHP-7.1:
  add folds
  fix possible null dereference
2016-12-21 18:00:45 +01:00
Anatol Belski 5e6faf2306 add UPGRADING and NEWS items 2016-12-21 16:10:38 +01:00
Anatol Belski 5e2ed8c809 Raise the supported API to win7/server 2008r2 2016-12-21 15:59:45 +01:00
Xinchen Hui b6553d422d Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Reorder the oplines" (Break Zend/tests/return_types/bug71092.phpt)
2016-12-21 14:27:13 +08:00
Bob Weinand 942d4d5614 Merge branch 'PHP-7.1' 2016-12-21 02:43:04 +01:00
Yasuo Ohgaki 7774fd1916 Update NEWS and UPGRADING 2016-12-21 08:16:38 +09:00
Yasuo Ohgaki c3982d055c Merge branch 'pull-request/2233'
* pull-request/2233:
  Remove "register_globals" support codes from php/php_binary serializers. As a result, users may use PS_UNDEF_MAKER(=!) char for session variable name.
2016-12-21 08:07:49 +09:00
Yasuo Ohgaki bf5c502e3d Remove "register_globals" support codes from php/php_binary serializers.
As a result, users may use PS_UNDEF_MAKER(=!) char for session variable name.
2016-12-21 08:07:14 +09:00
Bob Weinand c3ee875aec Merge branch 'PHP-7.1' 2016-12-20 20:18:53 +01:00
Bob Weinand e4db84f231 Merge branch 'PHP-7.1' 2016-12-20 19:49:25 +01:00
Adam Baratz d58231dda3 Add "Sent SQL" to debug dump for emulated prepares 2016-12-20 11:07:04 -05:00
Adam Baratz 6c692313af Remove PDOStatement::activeQueryString() 2016-12-20 11:06:38 -05:00
Dmitry Stogov 9251d4c056 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
2016-12-20 16:54:53 +03:00
Dmitry Stogov 088dd88eeb Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73792 (invalid foreach loop hangs script)
  Fixed bug #73789 (Strange behavior of class constants in switch/case block)
2016-12-20 16:54:28 +03:00
Xinchen Hui 0bad73f512 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73789 (Strange behavior of class constants in switch/case block)
2016-12-20 21:01:38 +08:00
Anatol Belski 747b18ff5c Merge branch 'PHP-7.1'
* PHP-7.1:
  deliver the real cp also if a constant is passed
2016-12-20 02:44:40 +01:00
Dmitry Stogov fb73c1084c Few micro-optimizations 2016-12-19 15:36:37 +03:00
Dmitry Stogov 72616c5ede Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed arginfo
2016-12-19 11:13:21 +03:00
Anatol Belski 057ab8da76 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
  Compatibility with Firebird & Oracle select syntax.
2016-12-19 01:10:58 +01:00
Anatol Belski c8038d0611 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix proto
2016-12-19 00:53:17 +01:00
Anatol Belski 781632ba24 Merge branch 'PHP-7.1'
* PHP-7.1:
  Cursor is not opened on singleton selects.
  fix arg spec and datatype, follow up on 73594
2016-12-18 21:56:56 +01:00
Anatol Belski 4015768718 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73594
2016-12-18 20:54:27 +01:00
Nikita Popov ca682952e7 Merge branch 'PHP-7.1' 2016-12-18 17:11:01 +01:00
Nikita Popov 5c22579faf Merge branch 'PHP-7.1' 2016-12-18 14:58:49 +01:00
Anatol Belski 6704edb125 Merge branch 'PHP-7.1'
* PHP-7.1:
  extend UPGRADING
  update NEWS
2016-12-18 01:11:28 +01:00
Anatol Belski 8b7fe6cb8a Merge branch 'PHP-7.1'
* PHP-7.1:
  fix C89 compat
2016-12-17 20:47:05 +01:00
Anatol Belski e6ae0e2b41 Merge branch 'PHP-7.1'
* PHP-7.1:
  replace default appveyor build version
2016-12-17 13:15:32 +01:00
Xinchen Hui adf0256c4a Merge branch 'PHP-7.1'
* PHP-7.1:
  Reorder the oplines
2016-12-17 20:09:49 +08:00
Anatol Belski 2c313aea6f Merge branch 'PHP-7.1'
* PHP-7.1:
  add Appveyor fast_fail
  improve error check
2016-12-17 11:27:51 +01:00
Anatol Belski 8a3d5e5899 Merge branch 'PHP-7.1'
* PHP-7.1:
  turn mcrypt back on for Appveyor runs
  add build status badge
  add scripts for AppVeyor integration
  Silence warning from unhandled enum
  fix leaking streams and memory mapped files
2016-12-17 00:16:01 +01:00
Anatol Belski 5d7eb0a7a2 Merge branch 'PHP-7.1'
* PHP-7.1:
  turn mcrypt back on for Appveyor runs
  add build status badge
  add scripts for AppVeyor integration
  Silence warning from unhandled enum
  fix leaking streams and memory mapped files
2016-12-16 23:01:48 +01:00
Nikita Popov edf3cde0d3 Merge branch 'PHP-7.1' 2016-12-16 20:56:09 +01:00
Anatol Belski 376b73d1d6 Merge branch 'PHP-7.1'
* PHP-7.1:
  chance CLI codepage, only when SAPI is initialized
2016-12-16 17:10:36 +01:00
Anatol Belski 3a886c9d20 add build status badge 2016-12-16 11:53:41 +01:00
Anatol Belski c737d6fb49 add scripts for AppVeyor integration 2016-12-16 11:48:08 +01:00
Xinchen Hui 10b037bc33 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add an assertion
2016-12-16 11:09:35 +08:00
Xinchen Hui 8612ac2000 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73746 (Method that returns string returns UNKNOWN:0 instead)
2016-12-16 11:06:50 +08:00
Anatol Belski 5a0e0e2d8c Merge branch 'PHP-7.1'
* PHP-7.1:
  make timing check more forgiving in these tests
2016-12-15 12:33:13 +01:00
Matteo Beccati d060060c08 Merge branch 'PHP-7.1'
* PHP-7.1:
  Skip tests when secure_file_priv dir not writable
  Add missing UPGRADING entry. Manual is updated before 7.0 release.
2016-12-15 09:32:26 +01:00
Anatol Belski e1ef67625a Merge branch 'PHP-7.1'
* PHP-7.1:
  extend skip section
2016-12-14 19:57:44 +01:00
Nikita Popov ef1ed6ab8e Merge branch 'PHP-7.1' 2016-12-14 18:11:51 +01:00
Nikita Popov 61e7e7c5bd Merge branch 'PHP-7.1' 2016-12-14 17:57:21 +01:00
Anatol Belski c76bd41c77 Merge branch 'PHP-7.1'
* PHP-7.1:
  cleanup temporary data
2016-12-14 12:36:50 +01:00
Anatol Belski 9bcd2bcc21 Merge branch 'PHP-7.1'
* PHP-7.1:
  Care about intput and output encoding, as per default encoding RFC
2016-12-14 03:12:46 +01:00
Nikita Popov 32c38cf7a3 Merge branch 'PHP-7.1' 2016-12-13 17:57:37 +01:00
Anatol Belski bd7fafb642 fix typo 2016-12-13 13:39:07 +01:00
Anatol Belski 12c51c2f9a check for header availability 2016-12-13 13:22:09 +01:00
Anatol Belski 6648c4ca18 fix test portability
Since there's no fatal error anymore, the execution continues. However,
removing the CWD is not always possible.
2016-12-13 13:19:45 +01:00
Leigh 1da589eeae Update NEWS/UPGRADING for mcrypt 2016-12-13 10:11:14 +00:00
Sara Golemon 1a8df11364 Include strings.h for strncasecmp 2016-12-12 23:26:04 -08:00
Sara Golemon 57bbe2c140 Silence warning from unhandled enum 2016-12-12 23:25:57 -08:00
Sara Golemon 613ee726a8 Include unistd.h for getpid() 2016-12-12 23:25:49 -08:00
Sara Golemon 448a5b38e6 Compilation warning fix
u_strFromUTF8() argument dst_len should be int32_t, not uint32_t
2016-12-12 23:25:40 -08:00
Andrey Hristov 675fc9e04e Merge branch 'PHP-7.1' 2016-12-12 22:00:30 +02:00
Andrey Hristov 0745cc8a98 Merge branch 'PHP-7.1' 2016-12-12 21:53:05 +02:00
Andrey Hristov ddb2febe90 Merge branch 'PHP-7.1' 2016-12-12 21:29:12 +02:00
Andrey Hristov 5d319269f6 Merge branch 'PHP-7.1' 2016-12-12 21:17:25 +02:00
Leigh 5a17f632d4 Merge PR #2154 - Remove ext/mcrypt 2016-12-12 16:17:45 +00:00
Remi Collet 4c6ea7d464 Minor fix macro value
[] results in /**/ which can break some test
e.g. https://github.com/m6w6/ext-http/commit/d9ba7726f77858e626d67d758a87c9caa6f38d2b
2016-12-12 16:27:37 +01:00
Remi Collet ec147b8332 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src: (165 commits)
  Add missing NEWS entry
  Increased number of reserved resources (from 4 to 6)
  Fixed compilation error
  Improved VM stack unwinding on exception. Now zend_throw_exception_hook() is going to be called only when exception is actually thrown and not going to be recalled for each unwinded finction.
  better way to get ACP
  adapt patch for 7.1
  fix datatype for zpp, yet a followup on bug #73679
  Update to SQLite 3.15.2
  update NEWS
  update NEWS
  improve fix for bug #73679 with new capabilities available
  Fixed bug #73679 DOTNET read access violation using invalid codepage
  Fix T_NUM_STRING negation
  fix leaking streams and memory mapped files
  extend errno mapping
  Fixed tests
  Update NEWS
  Fix the bug in ZEND_ASSIGN_DIM (as nikic suggest)
  Revert "Refix bug #73686"
  Refix bug #73686
  ...
2016-12-12 16:26:48 +01:00
Leigh ff8fbf41c1 Merge branch 'master' into remove-mcrypt 2016-12-12 12:23:50 +00:00
Christoph M. Becker 505d0b0966 Add missing NEWS entry 2016-12-12 12:31:09 +01:00
Dmitry Stogov 6689704403 Increased number of reserved resources (from 4 to 6) 2016-12-12 11:51:12 +03:00
Dmitry Stogov 2d52d78741 Fixed compilation error 2016-12-12 11:19:04 +03:00
Dmitry Stogov fac95658b3 Improved VM stack unwinding on exception.
Now zend_throw_exception_hook() is going to be called only when exception is actually thrown and not going to be recalled for each unwinded finction.
2016-12-12 10:55:32 +03:00
Anatol Belski 32201fe5ad Merge branch 'PHP-7.1'
* PHP-7.1:
  better way to get ACP
2016-12-12 01:57:31 +01:00
Anatol Belski d0dc6ffda5 Merge branch 'PHP-7.1'
* PHP-7.1:
  adapt patch for 7.1
2016-12-12 01:51:17 +01:00
Anatol Belski b68cca260b Merge branch 'PHP-7.1'
* PHP-7.1:
  fix datatype for zpp, yet a followup on bug #73679
2016-12-12 01:29:59 +01:00
Christoph M. Becker cf8e258531 Update to SQLite 3.15.2 2016-12-11 19:56:40 +01:00
Anatol Belski 47b99714e9 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2016-12-11 17:40:54 +01:00
Anatol Belski e1c062112a Merge branch 'PHP-7.1'
* PHP-7.1:
  improve fix for bug #73679 with new capabilities available
2016-12-11 17:27:11 +01:00
Anatol Belski 43be5aeaed Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73679 DOTNET read access violation using invalid codepage
2016-12-11 17:09:04 +01:00
Nikita Popov fe98ff94bb Merge branch 'PHP-7.1' 2016-12-11 13:34:28 +01:00
Anatol Belski f1ff23095b fix leaking streams and memory mapped files 2016-12-11 02:52:02 +01:00
Anatol Belski 459e9f1b63 Merge branch 'PHP-7.1'
* PHP-7.1:
  extend errno mapping
2016-12-10 11:18:34 +01:00
Xinchen Hui 89fdebfc51 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed tests
2016-12-10 16:43:38 +08:00
Xinchen Hui 2dd3dc0fb3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
2016-12-09 22:39:51 +08:00
Xinchen Hui 7695fba388 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix the bug in ZEND_ASSIGN_DIM (as nikic suggest)
  Revert "Refix bug #73686"
2016-12-09 22:30:41 +08:00
Xinchen Hui 95f41f21e1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Refix bug #73686
2016-12-09 16:43:45 +08:00
Xinchen Hui bc6b17148b Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73646 (mb_ereg_search_init null pointer dereference)
2016-12-09 15:56:41 +08:00
Xinchen Hui 97bed9b932 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73686 (Adding settype()ed values to ArrayObject results in references)
2016-12-09 11:42:11 +08:00
Anatol Belski 4fc394464c Merge branch 'PHP-7.1'
* PHP-7.1:
  fix uninitialized member
2016-12-08 17:18:06 +01:00
Xinchen Hui 9f1e456d5a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed possible false assertion failure
2016-12-08 22:05:17 +08:00
Dmitry Stogov a3526cd9b7 Regenerated zend_vm_execute.h (fixed white spaces) 2016-12-08 13:37:57 +03:00
Ferenc Kovacs 618d912f80 Merge branch 'PHP-7.1' 2016-12-08 07:12:07 +01:00
Kalle Sommer Nielsen cf24a61735 Disable C4101 warnings entirely on Windows 2016-12-08 03:50:31 +01:00
Anatol Belski aea2035600 Merge branch 'PHP-7.1'
* PHP-7.1:
  git clean section
2016-12-08 03:25:40 +01:00
Nikita Popov 683a0a0f6e Merge branch 'PHP-7.1' 2016-12-07 23:15:02 +01:00
Adam Baratz d98da850c4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Remove noop param hook
  Clean up tabs and whitespace
2016-12-07 17:10:36 -05:00
Anatol Belski 76fe66c8dd Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2016-12-07 21:24:56 +01:00
Anatol Belski 7da5720834 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72931 PDO_FIREBIRD with Firebird 3.0 not work on returning statement
2016-12-07 21:18:42 +01:00
Johannes Schlüter 972776cb3d Merge branch 'PHP-7.1' 2016-12-07 17:50:40 +01:00
Anatol Belski ffb1773bcb Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test compat with MySQL 5.7
2016-12-07 16:05:43 +01:00
Christoph M. Becker ced66cd6ca Merge branch 'PHP-7.1' 2016-12-07 13:50:11 +01:00
Dmitry Stogov 000d4a1a1b Merge branch 'PHP-7.1'
* PHP-7.1:
  Check if PHP is in execution state.
2016-12-07 15:13:00 +03:00
Dmitry Stogov c2bc94f5a5 Fixed memory leaks caused by exceptions thrown from destructors (fixed test). 2016-12-07 14:20:43 +03:00
Yasuo Ohgaki db3040708a Remove "register_globals" support codes from php/php_binary serializers. As a result, users may use PS_UNDEF_MAKER(=!) char for session variable name. 2016-12-07 18:42:27 +09:00
Dmitry Stogov 5011a11a6d Fixed memory leaks caused by exceptions thrown from destructors (one more case). 2016-12-07 01:43:13 +03:00
Dmitry Stogov e8109e09aa Fixed memory leaks caused by exceptions thrown from destructors. 2016-12-07 00:41:07 +03:00
Nikita Popov 6c614cb14c Merge branch 'PHP-7.1' 2016-12-06 22:26:36 +01:00
Nikita Popov 89f8a34483 Merge branch 'PHP-7.1' 2016-12-06 22:12:01 +01:00
Anatol Belski ecb718eb7e Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2016-12-06 20:27:54 +01:00
Bob Weinand b149001ffd Merge branch 'PHP-7.1' 2016-12-06 18:30:50 +01:00
Anatol Belski c42f603195 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix leak, take 2
2016-12-06 16:20:14 +01:00
Anatol Belski 8c403ecd99 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix leak, take on 7.x
2016-12-06 14:46:15 +01:00
Anatol Belski b9a138dbc8 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix leak, take on 5.6
2016-12-06 14:39:00 +01:00
Xinchen Hui 1113d589dc Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #73663 ("Invalid opcode 65/16/8" occurs with a variable created with list())
2016-12-06 17:33:27 +08:00
Dmitry Stogov b4ad6d6d1b COALESCE can't throw exception 2016-12-06 10:21:44 +03:00
Dmitry Stogov a722970033 Merge branch 'PHP-7.1'
* PHP-7.1:
  Micro optimizations
2016-12-06 10:01:38 +03:00
Stanislav Malyshev fe084168d0 Merge branch 'PHP-7.1'
* PHP-7.1:
  This still leaks memory, I don't have enough knowledge in WDDX code to fix them :(
2016-12-05 22:33:47 -08:00
Stanislav Malyshev 65a0c3ee36 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73645 - int/size_t confusion
2016-12-05 22:16:48 -08:00
Stanislav Malyshev 5b18436dc6 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73631 - Invalid read when wddx decodes empty boolean element
2016-12-05 21:59:17 -08:00
Nikita Popov 795cd6d3a7 Merge branch 'PHP-7.1' 2016-12-05 20:41:21 +01:00
Dmitry Stogov 7d86ed1852 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed behavior of failing compound assignments (they shouldn't change the source value when exception thrown during type converion).
2016-12-05 21:50:06 +03:00
Bob Weinand 444d612b62 Use an inline handler instead of repeating logic for calling assign op helpers each time 2016-12-05 10:55:11 +01:00
Anatol Belski 35cfec1f9f Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
2016-12-04 22:46:23 +01:00
Anatol Belski 4fe117589c Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
2016-12-04 22:29:33 +01:00
Anatol Belski 89c61768f7 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix ident
2016-12-04 21:00:34 +01:00
Anatol Belski cefa9e6743 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
2016-12-04 17:30:03 +01:00
Anatol Belski e72f6f0b65 Merge branch 'PHP-7.1'
* PHP-7.1:
  enforce the test ini usage for the child process
  Fix session upgrade documentation
2016-12-04 14:03:17 +01:00
Bob Weinand a6923f7b1f Merge branch 'PHP-7.1' 2016-12-03 23:44:44 +01:00
Anatol Belski e3ce4dc098 add pragma 2016-12-03 20:05:49 +01:00
Anatol Belski d109642656 suffix CS 2016-12-03 20:05:49 +01:00
Bob Weinand f74890bcf5 Merge branch 'PHP-7.1' 2016-12-03 18:29:11 +01:00
Anatol Belski c5af4b2585 Improve multiplication on x64.
Thanks Bob for the spot.
2016-12-03 15:50:21 +01:00
Christoph M. Becker 143ee76fe4 Merge branch 'PHP-7.1' 2016-12-03 14:20:00 +01:00
Yasuo Ohgaki e837bc24ed Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix typo in php.ini-* comment
2016-12-03 14:23:35 +09:00
Nikita Popov 5e05b9b726 Merge branch 'PHP-7.1' 2016-12-02 17:04:20 +01:00
Bob Weinand 1635fe659c Merge branch 'PHP-7.1' 2016-12-02 15:42:31 +01:00
Dmitry Stogov 56fd01e230 Eliminated useless exception check 2016-12-02 16:04:18 +03:00
Dmitry Stogov 3e31ba8014 Eliminated useless exception checks (FE_RESET with array argument can't throw exception) 2016-12-02 15:58:47 +03:00
Dmitry Stogov 1660117799 Merge branch 'PHP-7.1'
* PHP-7.1:
  Eliminated useless exception check
2016-12-02 15:40:11 +03:00
Dmitry Stogov e319504517 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed behavior of failing compound assignments (they shouldn't change the source value when exception thrown during type converion).
2016-12-02 15:14:48 +03:00
Dmitry Stogov 0314958a43 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed behavior of failing compound assignments (they shouldn't change the source value).
2016-12-02 14:00:50 +03:00
Davey Shafik 1d3ff95d84 Merge branch 'PHP-7.1'
* PHP-7.1:
  Bump versions and NEWS for 7.1.1-dev
2016-12-02 02:31:31 -08:00
Dmitry Stogov 0ce5f99caf Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed possible memory leak in &=, |=, ^=.
2016-12-02 12:36:02 +03:00
Dmitry Stogov 22cebaf89a Revert "Fix return value memory leaks upon exceptions in opcode operand freeing"
This reverts commit 9ad9d7ae37.
2016-12-02 11:58:41 +03:00
Dmitry Stogov 9c1920d9e8 Revert "Fix memory leaks with FE_RESET upon empty iterator"
This reverts commit 00e516e575.
2016-12-02 11:58:36 +03:00
Dmitry Stogov 9774e32dbb Revert "Fix accidental zval_ptr_dtor()ing of object"
This reverts commit ae2f68d8a5.
2016-12-02 11:58:33 +03:00
Dmitry Stogov 8fa691ea8a Revert "Fix a few valgrind warnings with undefing result"
This reverts commit 8f4e100f21.
2016-12-02 11:58:25 +03:00
Bob Weinand b1261456d1 Merge branch 'PHP-7.1' 2016-12-01 15:22:03 +01:00
Anatol Belski a263ca6af0 Merge branch 'PHP-7.1'
* PHP-7.1:
  fork tests
2016-12-01 14:54:21 +01:00
Dmitry Stogov 0a22c59c2b Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bad merge
2016-12-01 16:22:32 +03:00
Dmitry Stogov 78bc8b0f33 Merge branch 'PHP-7.1'
* PHP-7.1:
  Workaround for GCC-4.9.2 bug
  oops, changed in wrong place
2016-12-01 15:51:16 +03:00
Anatol Belski 127cdd44af Merge branch 'PHP-7.1'
* PHP-7.1:
  fix condition
  improve skipif
2016-12-01 13:34:20 +01:00
Anatol Belski 89a7f40849 Merge branch 'PHP-7.1'
* PHP-7.1:
  improve skipif
2016-12-01 13:26:09 +01:00
Dmitry Stogov 7abf3b56f5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed access to uninitialized value
2016-12-01 13:26:26 +03:00
Bob Weinand 8f4e100f21 Fix a few valgrind warnings with undefing result 2016-12-01 10:15:07 +01:00
Dmitry Stogov bb78637bda Merge branch 'PHP-7.1'
* PHP-7.1:
  Simpler overflow check
  fix gcov coverage
2016-12-01 10:34:18 +03:00
Anatol Belski b869f22c4b Merge branch 'PHP-7.1'
* PHP-7.1:
  fix dir separator
  Update NEWS for the build
2016-12-01 01:37:24 +01:00
Bob Weinand ae2f68d8a5 Fix accidental zval_ptr_dtor()ing of object 2016-11-30 23:57:22 +01:00
Bob Weinand 00e516e575 Fix memory leaks with FE_RESET upon empty iterator
Solved by manually freeing and jumping to the opcode *after* FE_FREE
2016-11-30 17:44:34 +01:00
Bob Weinand 9ad9d7ae37 Fix return value memory leaks upon exceptions in opcode operand freeing 2016-11-30 17:44:34 +01:00
Bob Weinand c406d1e9b5 Merge branch 'PHP-7.1' 2016-11-30 11:45:36 +01:00
Anatol Belski bff4b02c9e add skipif 2016-11-30 11:10:36 +01:00
Bob Weinand 7631c8766e Merge branch 'PHP-7.1' 2016-11-30 02:57:34 +01:00
Dmitry Stogov 503c32e06e Export zend_quick_get_constant() 2016-11-29 11:07:49 +03:00
Yasuo Ohgaki d1f9d37423 Fix typo 2016-11-29 06:45:01 +09:00
Dmitry Stogov 3e9bb03a62 Removed IS_TYPE_IMMUTABLE (it's the same as COPYABLE & !REFCOUED) 2016-11-28 22:59:57 +03:00
Dmitry Stogov 42407692b6 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73586 (php_user_filter::$stream is not set to the stream the filter is working on).
2016-11-28 12:57:36 +03:00
Dmitry Stogov 3b4c9f18e0 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed calling generators through magic __call()
2016-11-28 12:30:16 +03:00
Dmitry Stogov 85a62d54b4 Fixed build 2016-11-28 12:12:54 +03:00
Stanislav Malyshev f0ba9ab56e Merge branch 'PHP-7.1'
* PHP-7.1:
  add NEWS
  Fix #68447: grapheme_extract take an extra trailing character
2016-11-27 15:38:39 -08:00
Stanislav Malyshev 3be1d39087 Merge branch 'pull-request/2223'
* pull-request/2223:
  Fix help messages
2016-11-27 15:02:40 -08:00
Stanislav Malyshev 76c02dcdf7 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix #73549: Use after free when stream is passed to imagepng
2016-11-27 14:54:19 -08:00
Jakub Zelenka 3e03b815ed Merge branch 'PHP-7.1' 2016-11-27 19:06:56 +00:00
Jakub Zelenka 42155c3631 Merge branch 'PHP-7.1' 2016-11-27 19:00:57 +00:00
Jakub Zelenka 202e95e18f Merge branch 'PHP-7.1' 2016-11-27 18:57:35 +00:00
Yoshio HANAWA 26e80982a2 Fix help messages 2016-11-27 19:16:00 +09:00
Matteo Beccati fa7dca5a78 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix occasionaly failing test
2016-11-27 10:21:05 +01:00
Matteo Beccati 02a1469810 Merge branch 'PHP-7.1'
* PHP-7.1:
  Added missing array key to $JUNIT
2016-11-27 10:08:23 +01:00
Yasuo Ohgaki 35b3c86429 Add XFAIL for failing test 2016-11-27 10:49:17 +09:00
Yasuo Ohgaki 66ba1c95d3 Merge branch 'pull-request/2221'
* pull-request/2221:
  Add a test for bug 73529
2016-11-27 10:48:07 +09:00
Stanislav Malyshev 7f65ecb5b8 Merge branch 'pull-request/2147'
* pull-request/2147:
  acinclude.m4: fix krb5-config detection and usage in PHP_SETUP_KERBEROS.
2016-11-26 15:37:31 -08:00
Stanislav Malyshev 1f1d3a22d4 Merge branch 'PHP-7.1'
* PHP-7.1:
  acinclude.m4: fix krb5-config detection and usage in PHP_SETUP_KERBEROS.
  Add more mbfl string size checks (bug #73505)
2016-11-26 15:37:10 -08:00
think 162ff394a5 awk: syntax error
awk version 20070501
2016-11-26 15:32:08 -08:00
Stanislav Malyshev c4ebe4da04 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add more mbfl string size checks (bug #73505)
2016-11-26 14:48:57 -08:00
Anatol Belski 452dcf12ae fix test 2016-11-26 20:29:42 +01:00
Anatol Belski 92175d09c7 fix test portability 2016-11-26 20:27:09 +01:00
Anatol Belski b204b3abd1 further normalizations, uint vs uint32_t
fix merge mistake

yet one more replacement run
2016-11-26 17:29:01 +01:00
Christoph M. Becker 1b7e014d1c Merge branch 'PHP-7.1' 2016-11-26 16:11:08 +01:00
Stanislav Malyshev b1ff0c5270 Fix more size_t/int implicit conversions
Now the conversions are explicit and do checks. Not sure it's
the best way but at least we can see them now in the open.
2016-11-25 18:58:06 -08:00
Stanislav Malyshev fe994fd9a4 Fix int/size_t confusion in isValidPharFilename (bug #73580) 2016-11-25 18:57:18 -08:00
Anatol Belski b8645ef29e fix oniguruma.h copying 2016-11-25 23:55:27 +01:00
Christoph M. Becker a35359f8b7 Merge branch 'PHP-7.1' 2016-11-25 23:33:02 +01:00
Anatol Belski 6a34065bf0 fix tests 2016-11-25 23:04:15 +01:00
Anatol Belski 04eb73638b remove generated file 2016-11-25 22:07:00 +01:00
Anatol Belski 2a76d2282a upgrade to Oniguruma 6.1.2 2016-11-25 22:00:53 +01:00
Anatol Belski 35a3c6e2b9 fix spelling 2016-11-25 19:27:01 +01:00
Anatol Belski 714ded8049 update UPGRADING 2016-11-25 19:01:13 +01:00
Craig Duncan 2d81675cbf Add a test for bug 73529 2016-11-24 22:15:45 +00:00
Nikita Popov 5af586bec5 Remove more PHP 6 leftovers from tests 2016-11-24 22:39:39 +01:00
Anatol Belski 895a82695c Merge branch 'PHP-7.1'
* PHP-7.1:
  add test for bug #57547
2016-11-24 19:28:56 +01:00
Sebastian Bergmann 13dcab0328 Bump Zend Engine version 2016-11-24 18:43:00 +01:00
Anatol Belski 99c7ad7aa8 add test for FILEINFO_EXTENSION flag 2016-11-24 18:05:11 +01:00
Anatol Belski 52f5b9659f Add test for bug #67516 2016-11-24 17:59:09 +01:00
Anatol Belski 4c00c5ebed fix test 2016-11-24 17:44:05 +01:00
Anatol Belski 31a3956053 apply the current Fedora's data patches 2016-11-24 17:43:16 +01:00
Anatol Belski 5f4699c0ca fix c/p mistake 2016-11-24 16:41:57 +01:00
Anatol Belski 6b14989001 catch up with new finfo constant 2016-11-24 16:23:35 +01:00
Anatol Belski 020b87a40d update libmagic.patch 2016-11-24 14:58:54 +01:00
Anatol Belski 0e9912dc6f maintain patch level 2016-11-24 14:56:30 +01:00
Anatol Belski 918e626338 the vanilla data is used for now, seems everything is incorporated 2016-11-24 14:50:55 +01:00
Anatol Belski 3ef069d26c more fileinfo test fixes
Note the behavior change, FILEINFO_CONTINUE will now always
append a string \012-. I'm leaving this as is for now, as this is
the behavior change in libmagic.
2016-11-24 14:48:33 +01:00
Anatol Belski c62b732696 fix tests 2016-11-24 14:36:49 +01:00
Anatol Belski 411e97c72d Upgraded libmagic to 5.29
yet unfinished port to libmagic 5.28

catch with missing libmagic port pieces

regenerate data file with magic from 5.28

test magic files from 5.28

missing files

fix path

pure c99 is still not supported

move right to 5.29, yet some bugs present

more sync with orig lib

more ZMM usage

use unpatched data for now

partial revert according to bug #67705

Revert "more ZMM usage"

This reverts commit 5e3c9b851034b455942b219b18bdc49c8315c3ee.

several fixes, so it's now closer to the clean port
2016-11-24 13:44:04 +01:00
Derick Rethans b8664adc9b Updated to version 2016.10 (2016j) 2016-11-24 10:40:17 +00:00
Derick Rethans 4a96b93715 Empty merge 2016-11-24 10:40:16 +00:00
Xinchen Hui fd8797298b Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #73585 (Logging of "Internal Zend error - Missing class information" missing class name)
2016-11-24 12:05:07 +08:00
Ferenc Kovacs b6068f64d7 Merge branch 'PHP-7.1' 2016-11-24 01:59:40 +01:00
Remi Collet ce7aeacaa1 Merge branch 'PHP-7.1'
* PHP-7.1:
  CS (no leading space in comment for config option)
2016-11-23 14:56:50 +01:00
Xinchen Hui d98cc74c16 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73583 (Segfaults when conditionally declared class and function have the same name)
2016-11-23 14:27:57 +08:00
Nikita Popov ae38b9eeb6 Fix test 2016-11-22 22:46:34 +01:00
Nikita Popov 7dbdf2db83 Fix foreach object property visibility checks
Again, check_property_access() does not correctly work for properties
that look like mangled private propert names (but aren't). Fix this
by only checking visibility for INDIRECT properties.

foreach currently still unmangles property names, even if they don't
correspond to declared properties. HHVM does not do this (and I think
this is correct.) As this is done consistently, leaving it alone
for now.
2016-11-22 21:01:15 +01:00
Nikita Popov dd9ad0940a Fix get_class_vars() fast-path/slow-path discrepancies
Normalize to the fast-path behavior. In particular, make sure that
the the property visibility check is correct for property names that
are formatted like mangled private properties (but are not). This is
done by only calling zend_check_property_access() for INDIRECT
properties.
2016-11-22 20:49:12 +01:00
Craig Duncan c31396f85e Use UTC instead of unavailable timezone in test 2016-11-22 19:29:49 +01:00
Nikita Popov 04534b0047 Merge branch 'PHP-7.1' 2016-11-22 19:26:27 +01:00
Nikita Popov d18741d002 Fix ext/ftp 2016-11-22 19:06:59 +01:00
Tom Van Looy 972b9e989f Fix two tests 2016-11-22 18:47:34 +01:00
Dmitry Stogov 1ab44223bf Export zend_do_fcall_overloaded() 2016-11-22 18:36:27 +03:00
Anatol Belski 089e5972e9 Merge branch 'PHP-7.1'
* PHP-7.1:
  update libs_versions.txt
  update libs versions.txt
2016-11-22 12:44:56 +01:00
Anatol Belski bafb079de3 Merge branch 'PHP-7.1'
* PHP-7.1:
  move dev to next
2016-11-22 11:57:26 +01:00
Dmitry Stogov 4b4de84b4d Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed use after free
2016-11-22 13:29:11 +03:00
Dmitry Stogov e5fce51196 Merge branch 'PHP-7.1'
* PHP-7.1:
  Micro-optimization
2016-11-22 12:07:06 +03:00
Dmitry Stogov 653c9e1fa2 Merge branch 'PHP-7.1'
* PHP-7.1:
  Removed useless (double) checks for EG(exception). (Bob)
2016-11-22 11:51:42 +03:00
Dmitry Stogov 68ee168c75 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed memory leak (Bob)
2016-11-22 11:23:17 +03:00
Anatol Belski f6e3241a73 Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "fix invalid read, follow up on 97b65cc9"
2016-11-22 03:00:44 +01:00
Anatol Belski 22846ac545 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix invalid read, follow up on 97b65cc9
2016-11-22 02:31:43 +01:00
Anatol Belski 14b5494f27 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
  update NEWS
2016-11-22 01:02:04 +01:00
Anatol Belski 6bf85617c5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73498
  Add a test for bug 73498
2016-11-22 00:47:30 +01:00
Anatol Belski bfb9be9bd4 Merge branch 'PHP-7.1'
* PHP-7.1:
  remove TSRMLS_*
2016-11-22 00:33:29 +01:00
Anatol Belski 5d95dcdaab Merge branch 'PHP-7.1'
* PHP-7.1:
  update php.ini-* for bug #69090
  update php.ini-* according to changes for bug #69090
2016-11-21 22:59:59 +01:00
Anatol Belski 2b5344e7f7 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
  update NEWS
2016-11-21 20:01:51 +01:00
Anatol Belski 273f7e3da9 Merge branch 'PHP-7.1'
* PHP-7.1:
  add test for bug #73452
  Backport 15ac4904 to 5.6
2016-11-21 15:32:38 +01:00
Kalle Sommer Nielsen 75ea28a7ae Remove more NetWare leftovers 2016-11-21 15:22:30 +01:00
Kalle Sommer Nielsen fa2fcd53c6 Merge branch 'master' of git.php.net:php-src 2016-11-21 15:19:29 +01:00
Kalle Sommer Nielsen 8efbcf18a1 Remove this old obsolete code 2016-11-21 15:18:55 +01:00
Dmitry Stogov 51f59739b6 Turn function into inline 2016-11-21 13:13:28 +03:00
Dmitry Stogov 7051eec7b5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Regenerated files
2016-11-21 10:39:38 +03:00
Xinchen Hui 0a20a3f24a Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWs
2016-11-21 11:46:50 +08:00
Xinchen Hui f33bfd4e44 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fix memory leak(null coalescing operator with Spl hash)
2016-11-21 11:46:13 +08:00
Kalle Sommer Nielsen e59089c6e5 Revert "Added --enable-asm on Windows"
This reverts commit d711798813.

I need a better approach for this and general customized CFLAGS
2016-11-21 00:46:04 +01:00
Kalle Sommer Nielsen eb6a816425 Merge branch 'master' of git.php.net:php-src 2016-11-20 23:36:44 +01:00
Kalle Sommer Nielsen 3ed0af3252 Kill some more strlen() calls and fix a possible missing NULL pointer check
Thanks to Anatol for review
2016-11-20 23:36:19 +01:00
Levi Morrison 5ff2990cb3 Refactor: rename variables to match documentation
Rename 'arr' to 'pieces'
Rename 'delim' to 'glue'
2016-11-20 14:54:06 -07:00
Kalle Sommer Nielsen d711798813 Added --enable-asm on Windows
This argument is disabled by default, but if enabled it will create a sub directory in the output directory called 'asm' and dump each compiled .c file's asm there
2016-11-20 22:49:34 +01:00
Kalle Sommer Nielsen 4f6f15358b Merge branch 'master' of git.php.net:php-src 2016-11-20 22:40:15 +01:00
Nikita Popov 45f7b2bcc8 Fix CRLF line-endings in tests
Also fix a single instance of CRLF in ibase_query.c.
2016-11-20 22:31:24 +01:00
Jakub Zelenka 563a341df7 Merge branch 'PHP-7.1' 2016-11-20 20:39:32 +00:00
Kalle Sommer Nielsen 644821e89f Minor grammar 2016-11-20 21:25:25 +01:00
Nikita Popov 42449d431f Merge branch 'PHP-7.1' 2016-11-20 21:19:34 +01:00
Pedro Magalhães 617dcf1b37 Remove the binary cast from unrelated tests 2016-11-20 21:11:53 +01:00
Pedro Magalhães 9c5af4e4cb Remove the b prefix from literals on unrelated tests 2016-11-20 21:11:53 +01:00
Jakub Zelenka b98357823a Merge branch 'PHP-7.1' 2016-11-20 20:08:34 +00:00
Kalle Sommer Nielsen b581f7d860 No need to keep the version info for old VC versions we don't even support anymore 2016-11-20 20:56:49 +01:00
Kalle Sommer Nielsen 7e8fd3fb5a Update inline comment with VS.net 2017 + fix typo 2016-11-20 20:55:02 +01:00
Kalle Sommer Nielsen 39cfeea20b Remove typo 2016-11-20 20:52:22 +01:00
Kalle Sommer Nielsen acbc007a7d Use $(CC) consistently in the Makefile 2016-11-20 20:50:25 +01:00
Kalle Sommer Nielsen 53ca6fdaa4 Remove undefined variable if ext/ftp was built with SSL 2016-11-20 19:37:24 +01:00
Kalle Sommer Nielsen d489569725 Fix typo 2016-11-20 19:36:48 +01:00
Kalle Sommer Nielsen 06767ffcbe Shave off a strlen() call in ftp_mkdir() 2016-11-20 19:36:36 +01:00
Bob Weinand e3feeba3ae Merge branch 'PHP-7.1' 2016-11-20 19:20:48 +01:00
Nikita Popov d512f21930 Merge branch 'PHP-7.1' 2016-11-20 19:10:29 +01:00
Bob Weinand d7deaac362 Merge branch 'PHP-7.1' 2016-11-20 14:19:40 +01:00
Tom Van Looy 442fd2f92a Cleanup tests version checks 2016-11-20 14:16:50 +01:00
Bob Weinand d37482679a Remove a few unused write warnings 2016-11-20 14:15:02 +01:00
Joe Watkins c17eca1379 Merge branch 'master' of git.php.net:/php-src 2016-11-20 08:33:53 +00:00
Joe Watkins 43bd0146bc Merge branch 'PHP-7.1'
* PHP-7.1:
  fix #72180, #73219
2016-11-20 08:33:26 +00:00
Xinchen Hui 6ee8581a0e Removed not used field 2016-11-20 15:52:52 +08:00
Xinchen Hui 575285987d Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #73483 (Segmentation fault on pcre_replace_callback)
  Fix #73219 (fix acinclude when / is present)
  make it possible to show specific help pages without interactive session
  make it possible to show specific help pages without interactive session
2016-11-20 15:47:54 +08:00
Joe Watkins 893a27d632 make it possible to show specific help pages without interactive session 2016-11-20 05:26:46 +00:00
Nikita Popov 8113daef49 json_encode(): Detect recursion earlier
json_encode() used a peculiar way of apply-count management,
whereby the apply-count was not incremented for the outermost
object/array, so that recursion was only detected after two
levels.
2016-11-19 23:52:08 +01:00
Kalle Sommer Nielsen 40f6438972 Update the ini scanner as from Dmitry's commit 2016-11-19 16:41:02 +01:00
Kalle Sommer Nielsen 1b5b9234a3 Remove these NetWare leftovers 2016-11-19 10:47:20 +01:00
Kalle Sommer Nielsen 673bbff0e5 Updated the comment regarding what priority modes that are left out for the nice() implementation on Windows 2016-11-19 10:10:48 +01:00
Kalle Sommer Nielsen ddf95667c4 Remove support for REALTIME_PRIORITY_CLASS in proc_nice() on Windows.
The reasoning for this is because that it requires special permissions and can in the end be dangerous, discovered by Anatol.
2016-11-19 00:32:07 +01:00
Anatol Belski 271ed78a31 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test portability
2016-11-18 22:11:41 +01:00
Nikita Popov 63c77cb1f9 Merge branch 'PHP-7.1' 2016-11-18 21:42:20 +01:00
Anatol Belski 019bf13a06 Merge branch 'PHP-7.1'
* PHP-7.1:
  don't fail miserably, when an unknown vc version is used
2016-11-18 18:21:49 +01:00
Nikita Popov 8b597eb03e Merge branch 'PHP-7.1' 2016-11-18 17:56:41 +01:00
Christoph M. Becker e4ce353118 Merge branch 'PHP-7.1' 2016-11-18 14:31:25 +01:00
Dmitry Stogov 7a6dce4063 Merge branch 'PHP-7.1'
* PHP-7.1:
  Regenerated scanner
2016-11-18 16:20:24 +03:00
Dmitry Stogov 628cde2fae Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed memory leaks in parse_ini_file()
2016-11-18 16:19:00 +03:00
Anatol Belski 628533caa0 Merge branch 'PHP-7.1'
* PHP-7.1:
  extend skipif
2016-11-18 12:00:36 +01:00
Dmitry Stogov 3cc6ac565f Merge branch 'PHP-7.1'
* PHP-7.1:
  Disabled PHP call tracing by default (it makes significant overhead). This may be enabled again using envirionment variable USE_ZEND_DTRACE=1.
2016-11-18 13:22:54 +03:00
Dmitry Stogov fff9f2b21a Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Introduced zend.enable_dtrace INI directive to enable/disable PHP call tracing"
2016-11-18 12:53:49 +03:00
Dmitry Stogov 6515966b01 Merge branch 'PHP-7.1'
* PHP-7.1:
  Introduced zend.enable_dtrace INI directive to enable/disable PHP call tracing
2016-11-18 12:24:47 +03:00
Anatol Belski b6ed31959c Merge branch 'PHP-7.1'
* PHP-7.1:
  extend skipif
2016-11-18 02:26:44 +01:00
Anatol Belski ad5b79977c Merge branch 'PHP-7.1'
* PHP-7.1:
  add vc15 to the list
2016-11-17 23:47:08 +01:00
Adam Baratz 07e395a00d Revert "Remove PDOStatement::activeQueryString()"
This reverts commit 552c957500.
2016-11-17 11:25:31 -05:00
Dmitry Stogov e5d76c956a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed test
  Updated NEWS
  Improvement for bug73297
  Simplify ext/standard/tests/http/bug73297.phpt
  http_fopen_wrapper.c - bug#73297 Skip past "100 Continue" responses
  Add failing test for bug#73297
  Updated NEWS
  Improvement for bug73297
  Simplify ext/standard/tests/http/bug73297.phpt
  http_fopen_wrapper.c - bug#73297 Skip past "100 Continue" responses
  Add failing test for bug#73297
2016-11-17 16:00:07 +03:00
Nikita Popov 0004f7e86d Merge branch 'PHP-7.1' 2016-11-17 13:48:07 +01:00
Dmitry Stogov 3461b706df Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Improvement for bug73297
  Simplify ext/standard/tests/http/bug73297.phpt
  http_fopen_wrapper.c - bug#73297 Skip past "100 Continue" responses
  Add failing test for bug#73297
2016-11-17 14:06:35 +03:00
Dmitry Stogov c87ab8aec0 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed 64-bit build
2016-11-17 14:06:09 +03:00
Julien Pauli 607049f2d1 Improvement for bug73297 2016-11-17 11:50:36 +01:00
Rowan Collins 8b54b3654d Simplify ext/standard/tests/http/bug73297.phpt 2016-11-17 11:50:36 +01:00
Rowan Collins f20d261acd http_fopen_wrapper.c - bug#73297 Skip past "100 Continue" responses 2016-11-17 11:50:36 +01:00
Rowan Collins 5a882990a6 Add failing test for bug#73297 2016-11-17 11:50:36 +01:00
Dmitry Stogov 558166bd41 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed test
2016-11-17 13:44:08 +03:00
Dmitry Stogov 222d22f3e1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Prevent modification of immutable arrays (ext/mbstring/tests/bug26639.phpt failure with opcache.protect_memory=1)
2016-11-17 13:35:10 +03:00
Dmitry Stogov 610083bc06 Merge branch 'PHP-7.1'
* PHP-7.1:
  Overflow check
2016-11-17 13:18:58 +03:00
Craig Duncan b476d21962 Fix run-tests.php counting an uncountable 2016-11-17 09:33:04 +00:00
Craig Duncan 78f2bce68a Added a note in UPGRADING about the new count() warning 2016-11-17 09:33:04 +00:00
Craig Duncan c1001d22d2 Add expectations for invalid count() warnings 2016-11-17 09:33:04 +00:00
Craig Duncan b000f5c341 Add tests for invalid count() operations 2016-11-17 09:33:04 +00:00
Craig Duncan aaf7341b1c Add warnings when counting invalid parameters 2016-11-17 09:33:04 +00:00
Dmitry Stogov d0bdf19eb4 Fixed test (adopted to new session_start behavior) 2016-11-17 12:20:46 +03:00
Dmitry Stogov 39fa227744 Merge branch 'PHP-7.1'
* PHP-7.1:
  Skip 64-bit specific tests on 32-bit systems
2016-11-17 11:45:28 +03:00
Dmitry Stogov da0ab83610 Fixed test 2016-11-17 11:31:06 +03:00
Dmitry Stogov 03ad53741f Merge branch 'PHP-7.1'
* PHP-7.1:
  VERIFY_RETURN_TYPE on references can't be eliminated
2016-11-17 10:42:31 +03:00
Yasuo Ohgaki 7f196e321f Fix bug #71038 - session_start() returns true even when it failed
PR #2167
2016-11-17 11:09:07 +09:00
Adam Baratz 552c957500 Remove PDOStatement::activeQueryString() 2016-11-16 18:06:14 -05:00
Dmitry Stogov 32edd8ff82 Merge branch 'PHP-7.1'
* PHP-7.1:
  Accorate handling of too big inodes of chroot directories
2016-11-17 01:15:08 +03:00
Nikita Popov 778cd35bf5 Merge branch 'PHP-7.1' 2016-11-16 21:33:53 +01:00
Dmitry Stogov 08c8834a8d Merge branch 'PHP-7.1'
* PHP-7.1:
  "opcache.validate_root" is useless on Windows
  fix gcov coverage
2016-11-16 23:22:08 +03:00
Dmitry Stogov d8ad071b5f Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  fix gcov coverage
2016-11-16 23:11:14 +03:00
Dmitry Stogov bee695fe3d Merge branch 'PHP-7.1'
* PHP-7.1:
  Use full path
2016-11-16 23:09:31 +03:00
Nuno Lopes 5e5e071214 fix gcov coverage 2016-11-16 15:07:16 -05:00
Dmitry Stogov f62d876e56 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed type ingference
2016-11-16 20:49:20 +03:00
Adam Baratz 5719553ed2 Fix test for pdo_pgsql 2016-11-16 10:50:14 -05:00
Dmitry Stogov bf17a4f09d Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed ZTS build
2016-11-16 16:47:35 +03:00
Christoph M. Becker 07ed7b5198 Merge branch 'PHP-7.1' 2016-11-16 12:08:16 +01:00
Anatol Belski 1114a337a5 Merge branch 'PHP-7.1'
* PHP-7.1:
  keep ABI
2016-11-16 11:23:16 +01:00
Dmitry Stogov 65287253fd Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Fixed bug #73512 Fails to find firebird headers
2016-11-16 12:59:16 +03:00
Dmitry Stogov 35e7927736 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #69090 (check cached files permissions)
2016-11-16 12:58:30 +03:00
Remi Collet 548cbcc929 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73512 Fails to find firebird headers
2016-11-16 10:47:18 +01:00
Xinchen Hui ca6091471c Merge branch 'PHP-7.1'
* PHP-7.1:
2016-11-16 15:14:48 +08:00
Xinchen Hui 395dc82212 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  news entry for #2196
  new entry for #2196
  Improve error message
  Fix test
  Refactor and cleanup implementation.
  Revert "Fix Bug #73461"
  Revert "Protect class based session save handler"
  Protect class based session save handler
  Fix Bug #73461
2016-11-16 15:13:00 +08:00
Xinchen Hui 3a8a99e662 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73532 (Null pointer dereference in mb_eregi)
2016-11-16 15:05:22 +08:00
Joe Watkins 1b547d2dcc news entry for #2196 2016-11-16 05:14:36 +00:00
Joe Watkins 1b06d82af5 Merge branch 'PHP-7.1'
* PHP-7.1:
  new entry for #2196
  Improve error message
  Fix test
  Refactor and cleanup implementation.
  Revert "Fix Bug #73461"
  Revert "Protect class based session save handler"
  Protect class based session save handler
  Fix Bug #73461
2016-11-16 05:13:13 +00:00
Adam Baratz 41983a1716 update NEWS 2016-11-15 17:44:12 -05:00
Adam Baratz 83086d9a72 Add PDOStatement::activeQueryString() 2016-11-15 17:33:38 -05:00
Andrea Faulds ee38e01ff3 Fix mistake in UPGRADING 2016-11-14 21:32:39 +00:00
Andrea Faulds a0502b89a6 Convert numeric keys in object/array casts
RFC: https://wiki.php.net/rfc/convert_numeric_keys_in_object_array_casts

This converts key types as appropriate in object to array and array to object
casts, as well as in get_object_vars().
2016-11-14 18:20:45 +00:00
Christoph M. Becker 531eedf38f Merge branch 'PHP-7.1' 2016-11-14 16:09:40 +01:00
Christoph M. Becker 189bbb586c Merge branch 'pull-request/2164' 2016-11-13 23:31:40 +01:00
Anatol Belski 4d790486b8 reduce realpath_cache_bucket size by 8 bytes on 64-bit
This limits the path length to 64kb which is already far above the
use case. In return, the whole path cache storage size is reduced
by 8kb.
2016-11-13 20:21:44 +01:00
Bob Weinand 882bcb7240 Merge branch 'PHP-7.1' 2016-11-13 18:31:20 +01:00
Christoph M. Becker 1ccada35c0 Fix tests: don't count non-countables 2016-11-13 18:16:17 +01:00
Bob Weinand 5a4bad7b5f Merge branch 'PHP-7.1' 2016-11-13 13:22:50 +01:00
Bob Weinand 1e65d0ea67 Merge branch 'PHP-7.1' 2016-11-13 12:26:13 +01:00
Joe Watkins 6c7e795c15 phpdbg standard input changes 2016-11-13 08:00:15 +00:00
Joe Watkins 5fbf565787 fix news 2016-11-13 07:35:14 +00:00
Joe Watkins 54fbc27270 Merge branch 'master' of git.php.net:/php-src 2016-11-13 05:40:49 +00:00
Joe Watkins f77be645bc news entry for #1787 2016-11-13 05:37:49 +00:00
Anatol Belski 9593663d22 restore erroneously removed part 2016-11-13 00:04:10 +01:00
Nikita Popov 547ad56b31 Fix build 2016-11-12 22:17:21 +01:00
Joe Watkins 450a596ed3 wrong numbers 2016-11-12 17:58:46 +00:00
Joe Watkins 24329e5286 Merge branch 'master' of git.php.net:/php-src 2016-11-12 17:57:41 +00:00
Joe Watkins 2a57f6c5e8 news entry for #2166, fix news 2016-11-12 17:53:28 +00:00
Nikita Popov 9dcc76f4c8 Merge branch 'PHP-7.1' 2016-11-12 18:49:50 +01:00
Edgar R. Sandi 81e9a0d075 fixed bug generated by fixes bug #73135 2016-11-12 17:49:25 +00:00
Joe Watkins 0c76451c85 Merge branch 'PHP-7.1'
* PHP-7.1:
  news entry for calendar overflow fix
  Fix integer overflow in calender.
2016-11-12 17:36:16 +00:00
Joe Watkins a2bc7cf9ca Merge branch 'master' of git.php.net:/php-src 2016-11-12 17:30:41 +00:00
Joe Watkins 6c0e1ca4fa update phpdbg with stdin code change 2016-11-12 17:30:16 +00:00
Andrea Faulds 3ed8b7a87b Use "Standard input code" instead of "php://stdin" 2016-11-12 17:26:20 +00:00
Andrea Faulds a103aa2dbd Show "php://stdin" instead of "-" in error messages 2016-11-12 17:26:20 +00:00
Kalle Sommer Nielsen 2104bea5d7 Remove Netware support
If this does not break the Unix system somehow, I'll be amazed. This should get most of it out, apologies for any errors this may cause on non-Windows ends which I cannot test atm.
2016-11-12 11:20:01 +01:00
Kalle Sommer Nielsen b3093082fd Merge branch 'master' of git.php.net:php-src 2016-11-12 11:18:42 +01:00
Kalle Sommer Nielsen 4cef0ead49 Fix Windows build 2016-11-12 11:18:25 +01:00
Joe Watkins 28ebf8df66 Merge branch 'PHP-7.1'
* PHP-7.1:
  added a test for date_interval_format function
  Merge branch 'pull-request/2198'
2016-11-12 10:00:17 +00:00
Joe Watkins 1f250b7e94 Merge branch 'pull-request/2198' 2016-11-12 08:15:13 +00:00
Anatol Belski 595ad898c1 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix erroneous line in confutils.js
2016-11-12 02:39:30 +01:00
Mitch Hagstrand 3b830cfb5c Fix the lchwon error test for Travis CI.
The E_WARNING message from the PHP function lchown is passed
from the system function lchown. The error message returned
from lchown can be filesystem dependent.

https://github.com/php/php-src/blob/6053987bc27e8dede37f437193a5cad448f99bce/ext/standard/filestat.c#L406
2016-11-11 16:17:07 -08:00
Nikita Popov 0d25376900 Merge branch 'PHP-7.1' 2016-11-10 22:52:22 +01:00
Nikita Popov 739698c493 Merge branch 'PHP-7.1' 2016-11-10 22:28:42 +01:00
Nikita Popov dac600e469 Merge branch 'PHP-7.1' 2016-11-10 22:19:52 +01:00
Nikita Popov 976d72a3bd Merge branch 'PHP-7.1' 2016-11-10 14:59:56 +01:00
Dmitry Stogov f34a00dbd8 Merge branch 'PHP-7.1'
* PHP-7.1:
  Don't update proprties inplace.
2016-11-10 12:34:24 +03:00
Anatol Belski 00c80fbb69 Merge branch 'PHP-7.1'
* PHP-7.1:
  add missing entry
  add missing NEWS entry
  add missing NEWS entry
2016-11-09 21:38:29 +01:00
Anatol Belski aafe848a10 Merge branch 'PHP-7.1'
* PHP-7.1:
  improve lib name guessing for newer libtidy
2016-11-09 11:33:05 +01:00
Anatol Belski 7c33798449 Merge branch 'PHP-7.1'
* PHP-7.1:
  sync NEWS
  Remove binary casts from PHAR's default stub
2016-11-09 11:21:01 +01:00
Pedro Magalhães 343f5c62fc Remove binary casts from PHAR's default stub 2016-11-09 03:24:40 +00:00
Ferenc Kovacs 328ebffcbf Merge branch 'PHP-7.1' 2016-11-09 02:19:23 +01:00
Anatol Belski f657a75fec Merge branch 'PHP-7.1'
* PHP-7.1:
  fix memory leak
2016-11-08 12:17:53 +01:00
Anatol Belski a75827b4f9 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73418 Integer Overflow in "_php_imap_mail" leads to crash
  Fixed bug #73418 Integer Overflow in "_php_imap_mail" leads to crash
  Fix #72696: imagefilltoborder stackoverflow on truecolor images
  Fix #72482: Ilegal write/read access caused by gdImageAALine overflow
  Fix bug #73144 and bug #73341 - remove extra dtor
  remove unreferenced var came in with merge
  Fix bug #73331 - do not try to serialize/unserialize objects wddx can not handle
  Fix #72696: imagefilltoborder stackoverflow on truecolor images
  Fix #72482: Ilegal write/read access caused by gdImageAALine overflow
  fix version
  set versions
  Fix bug #73144 and bug #73341 - remove extra dtor
  Fix bug #73331 - do not try to serialize/unserialize objects wddx can not handle
2016-11-08 11:16:55 +01:00
Anatol Belski 47d044b1ad Merge branch 'PHP-7.1'
* PHP-7.1:
  Enable FTS4 and FTS5 for bundled libsqlite
2016-11-08 02:36:05 +01:00
Anatol Belski 02dda34d2e Merge branch 'PHP-7.1'
* PHP-7.1:
  avoid unneeded copying
2016-11-07 21:19:31 +01:00
Anatol Belski a578f5deb5 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2016-11-07 20:49:07 +01:00
Anatol Belski d64247e095 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add test for bug #73448
2016-11-07 20:41:31 +01:00
Anatol Belski d5042ea555 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73448 odbc_errormsg returns trash, always 513 bytes
2016-11-07 20:22:12 +01:00
Derick Rethans 3a1d44a98c Merge branch 'PHP-7.1' 2016-11-07 16:40:48 +00:00
Jakub Zelenka 80cb79f275 Merge branch 'PHP-7.1' 2016-11-06 20:45:13 +00:00
Jakub Zelenka a93d272549 Merge branch 'PHP-7.1' 2016-11-06 17:40:59 +00:00
Anatol Belski 77a7c3395e Merge branch 'PHP-7.1'
* PHP-7.1:
  add missing RETURN_STRINGL_CHECK
2016-11-06 17:57:29 +01:00
Anatol Belski 096f272125 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2016-11-06 17:13:09 +01:00
Anatol Belski c482ee6020 Introduce SKIP_IO_CAPTURE_TESTS group
to workaround false positives with some CI systems
2016-11-06 00:04:53 +01:00
Nikita Popov 6e1534a4e4 Merge branch 'PHP-7.1' 2016-11-05 23:11:42 +01:00
Kalle Sommer Nielsen 2de9c42f97 Remove this check as discussed with Anatol 2016-11-05 23:08:08 +01:00
Anatol Belski ad02235e9f Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix blob parameters binding. Fixes: #73087, #61183, #71494
2016-11-05 22:55:04 +01:00
Stanislav Malyshev 4ec0adb73d Merge branch 'PHP-7.1'
* PHP-7.1:
  More int->size_t and string overflow fixes
2016-11-05 14:00:58 -07:00
Stanislav Malyshev bbdd6a65e2 Merge branch 'PHP-7.1'
* PHP-7.1:
  More int->size_t and string overflow fixes
2016-11-05 13:59:56 -07:00
Anatol Belski 74ce3edbfd Merge branch 'PHP-7.1'
* PHP-7.1:
  rename the tmp ini file, to keep it consistent with m4 variant
2016-11-04 18:44:14 +01:00
Anatol Belski a0fe593c7e Merge branch 'PHP-7.1'
* PHP-7.1:
  fix dir separator in test
2016-11-04 18:39:23 +01:00
Anatol Belski bd7bf3e60c Merge branch 'PHP-7.1'
* PHP-7.1:
  fix dir separator
2016-11-04 13:11:56 +01:00
Stanislav Malyshev dab757f322 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add length check for bzcompress too - fix for bug #73356
  More string length checks & fixes
  More string length checks & fixes
2016-11-03 22:54:12 -07:00
Derick Rethans 5aad73a698 Updated to version 2016.9 (2016i) 2016-11-03 13:57:33 -04:00
Derick Rethans 091b14dbf8 Empty merge 2016-11-03 13:57:33 -04:00
Xinchen Hui 624409b3d3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #73423 (Reproducible crash with GDB backtrace)
2016-11-02 12:12:25 +08:00
Dmitry Stogov c71ab7260a Merge branch 'PHP-7.1'
* PHP-7.1:
  Intriduced ZEND_ACC_INHERITED class flag. It's going to be helpful for static optimisations, when "parent" is not known yet.
2016-11-01 22:58:59 +03:00
Christoph M. Becker f9649a244a Merge branch 'PHP-7.1' 2016-11-01 20:30:18 +01:00
Sara Golemon 2814d1bcee Merge branch 'PHP-7.1'
This commit already landed on master as b041bebb
but I didn't realize we needed it on 7.1 as well.
Cherry-picking, then merging the pick to keep the repo happy.

* PHP-7.1:
  Change Big Endian backup implementations to use signed indexes
2016-11-01 09:37:02 -07:00
Dmitry Stogov 9efa2f2cd5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed reference-counter inference
2016-11-01 19:04:23 +03:00
Anatol Belski e0fd1c4b54 Merge branch 'PHP-7.1'
* PHP-7.1:
  add run target
2016-11-01 14:02:49 +01:00
Dmitry Stogov fec1218fa4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed reference-counter inference
2016-11-01 00:18:34 +03:00
Dmitry Stogov b9122dad1b Merge branch 'PHP-7.1'
* PHP-7.1:
  typo
2016-10-31 21:39:50 +03:00
Adam Baratz 8176fdcb33 Use more accurate types to avoid compiler warnings 2016-10-31 13:15:46 -04:00
Dmitry Stogov dcf4bdb844 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed reference-counter inference
2016-10-31 19:51:50 +03:00
Adam Baratz 69b776ec10 Fix comment style 2016-10-31 12:39:22 -04:00
Derick Rethans 27dea1582f Merge branch 'PHP-7.1' 2016-10-31 10:43:54 +00:00
Stanislav Malyshev 4f40cf155a Merge branch 'PHP-7.1'
* PHP-7.1:
  Typo
2016-10-30 17:12:21 -07:00
Anatol Belski 8c1393d0b1 Merge branch 'PHP-7.1'
* PHP-7.1:
  prefer symbols read from the bin to those matching the naming scheme
2016-10-30 21:27:54 +01:00
Anatol Belski 1a1ffa1c07 Merge branch 'PHP-7.1'
* PHP-7.1:
  remove debug out
2016-10-30 21:14:21 +01:00
Anatol Belski ad1bb7173a Merge branch 'PHP-7.1'
* PHP-7.1:
  fix link with deps pdb availability
2016-10-30 21:09:31 +01:00
Jakub Zelenka 17dc15b51e Merge branch 'PHP-7.1' 2016-10-30 19:13:21 +00:00
Jakub Zelenka a8f426d4e8 Merge branch 'PHP-7.1' 2016-10-30 19:02:46 +00:00
Anatol Belski c210d6fe9b Merge branch 'PHP-7.1'
* PHP-7.1:
  use rather the makefile var
  rename the env setting target and reuse it for build-snap
2016-10-30 15:30:33 +01:00
Jakub Zelenka eff075ffaa Merge branch 'PHP-7.1' 2016-10-30 13:22:45 +00:00
Bob Weinand 07a6321228 Merge branch 'PHP-7.1' 2016-10-29 18:50:36 +02:00
Anatol Belski ee5c450694 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix condition
2016-10-29 17:58:01 +02:00
Xinchen Hui 7973cfc4dd Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73402 (Opcache segfault when using class constant to call a method)
2016-10-29 23:44:48 +08:00
Nikita Popov edde929351 Drop dead code in zend_call_method
As no_separation=1 is used this can not happen anymore.
2016-10-29 17:11:55 +02:00
Nikita Popov 0806bb39ef Cleanup zend_std_call_setter
__set() does not use the return value to indicate success, and at
this point I doubt it ever will.
2016-10-29 15:15:34 +02:00
Nikita Popov ba55d0d06b Merge branch 'PHP-7.1' 2016-10-29 14:39:07 +02:00
Xinchen Hui b322f29ce8 Merge branch 'PHP-7.1'
* PHP-7.1:
  Skip if no jit is built
2016-10-29 14:23:55 +08:00
Anatol Belski 5ada01ee75 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test run with autogenerated ini
2016-10-29 03:18:43 +02:00
Anatol Belski 9112e29890 Merge branch 'PHP-7.1'
* PHP-7.1:
  generate test ini file, so shared exts are loaded for nmake test
  additional env is generated for phpize, too
2016-10-29 02:27:13 +02:00
Anatol Belski 1667acbf72 fix doc 2016-10-28 23:02:38 +02:00
Anatol Belski cc81971e9e extend info to float related constants 2016-10-28 20:49:12 +02:00
Anatol Belski 431abb2117 note to UPDRADING 2016-10-28 20:27:32 +02:00
Anatol Belski 2be89a1ed1 update NEWS 2016-10-28 19:58:02 +02:00
Michele Locati 33301d5bae Add VT100 support for Windows
Fix function names prefix

Use Unicode version of GetFinalPathNameByHandle

Use EG(windows_version_info) instead of RtlGetVersion

Use the specified handle_id instead of STD_OUTPUT_HANDLE

Switch from stream name to stream resource

Allow running tests capturing only stdout and/or stderr

Add tests for stream_vt100_support function

Export Win32 console functions

Fix x64 build

Use zend_long instead of long long, use GetConsole instead of GetFinalPathNameByHandleW to check if a handle is a valid console stream

Always use zend_long on any platform

Use _get_osfhandle to determine the standard handle

Accept stream names

Raise warnings in case of invalid stream parameter

Return true if disabling VT100 support on a not-console/redirected stream or on old Windows versions

Remove php_win32_console_os_supports_vt100

Differentiate stdin vs stdout/stderr

Simplify setting flag

Allow avoid piping STDIN

Let stream_vt100_support accept only resources

Fix run-tests

Revert console flags in case of failure

Simplify logic of stream_vt100_support when setting the flag

Return true if succeeded, false otherwise

Drop support for STDIN

More comprehensive tests for stream_vt100_support

Remove old tests

Fix name of included file and use absolute paths

Enable ENABLE_VIRTUAL_TERMINAL_PROCESSING on Windows by default

Remove tests for stream_vt100_support

Split stream_vt100_support into stream_isatty+sapi_windows_vt100_support

Add tests for stream_isatty

Add tests for sapi_windows_vt100_support

Return null from stream_isatty is neither Windows nor Posix

Fallback to S_ISCHR if neither Windows nor Posix

Avoid defining argc since it's only used once

Better comment about php_win32_console_fileno_is_console

Use events instead of cNumberOfEvents

Do not restore previous console mode

We need to restore previous console mode on failing SetConsole calls only for STDIN

Don't configure STDOUT/STDERR on Windows with PHP_CLI_WIN32_NO_CONSOLE
2016-10-28 19:23:00 +02:00
Xinchen Hui 946eb9b452 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #73392 (A use-after-free in zend allocator management)
2016-10-28 21:22:02 +08:00
Ferenc Kovacs c1e3fa489a Merge branch 'PHP-7.1' 2016-10-27 23:44:24 +02:00
Anatol Belski c62d90650a Merge branch 'PHP-7.1'
* PHP-7.1:
  use rather the nmake var as it's evaluated on every run
2016-10-27 22:36:28 +02:00
Anatol Belski 5fa9a6d176 Merge branch 'PHP-7.1'
* PHP-7.1:
  prepend known bin folders to the path for nmake test runs
2016-10-27 20:44:30 +02:00
Adam Baratz 0a2c02cb57 Fix #73396: bigint columns are returned as strings 2016-10-27 13:52:59 -04:00
Adam Baratz 886e721356 Remove unneeded macro check. This "hack" is replicated in php_pdo_dblib_int.h. 2016-10-27 12:15:45 -04:00
Adam Baratz 3d35f0b3b2 remove unread var 2016-10-27 12:15:01 -04:00
Adam Baratz 6b931b813f add myself to pdo_dblib CREDITS 2016-10-27 12:14:12 -04:00
Anatol Belski 6c55c39d8e Merge branch 'PHP-7.1'
* PHP-7.1:
  yet another uninitialized pointer
2016-10-27 02:46:18 +02:00
Anatol Belski c3f08add5e Merge branch 'PHP-7.1'
* PHP-7.1:
  fix uninitialized pointer
2016-10-27 02:20:35 +02:00
Anatol Belski 701df2c410 note to UPGRADING 2016-10-26 21:10:17 +02:00
marcosptf a51d33c5d8 Update curl_multi_info_read.phpt 2016-10-26 16:43:13 -02:00
Anatol Belski 100650bc5d add some float limits constants 2016-10-26 18:10:44 +02:00
Anatol Belski 71f73d7f58 remove dead code 2016-10-26 18:06:16 +02:00
Anatol Belski 6679df147a reset also the cwd_length, when cwd is free'd 2016-10-26 18:06:16 +02:00
Andrea Faulds d8f27b2be8 Merge branch 'DedupNANINF' 2016-10-26 16:46:36 +01:00
marcosptf 26ea77c8f8 Update curl_multi_info_read.phpt 2016-10-26 13:01:30 -02:00
marcosptf 26e0df7dc0 Update curl_multi_info_read.phpt 2016-10-26 12:51:07 -02:00
Dmitry Stogov d3cfef435a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixded bug #72736 (Slow performance when fetching large dataset with mysqli / PDO)
2016-10-26 15:23:33 +03:00
Anatol Belski 356c162f54 Merge branch 'PHP-7.1'
* PHP-7.1:
  make config.w32 compatible with ICU 58
2016-10-26 13:08:17 +02:00
Dmitry Stogov 4054d1cb64 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed incorrec type usage
  Revert "Update UPGRADING to reflect bug fix" This change was made in 7.0. Sorry for the noise.
  Update UPGRADING to reflect bug fix
  news for next rc
2016-10-25 22:13:46 +03:00
Dmitry Stogov cc973d6bb7 Merge branch 'PHP-7.1'
* PHP-7.1:
  Export zend_analyze_calls() to allow building call trees.
2016-10-25 17:21:12 +03:00
Christoph M. Becker c8c8c0b52c Merge branch 'PHP-7.1' 2016-10-25 14:41:00 +02:00
Anatol Belski a9b82f8d6d Merge branch 'PHP-7.1'
* PHP-7.1:
  move dev to 7.0.14
2016-10-25 10:32:15 +02:00
Derick Rethans 31e986bc17 Updated to version 2016.8 (2016h) 2016-10-24 10:37:20 +01:00
Derick Rethans 533fbab0f4 Empty merge 2016-10-24 10:37:19 +01:00
Nikita Popov b551c30a2c Merge branch 'PHP-7.1' 2016-10-23 22:27:25 +02:00
Nikita Popov f636dbfe76 Merge branch 'PHP-7.1' 2016-10-23 22:13:59 +02:00
Jakub Zelenka df73aa0e65 Merge branch 'PHP-7.1' 2016-10-23 19:56:29 +01:00
Jakub Zelenka eca30fd1b1 Merge branch 'PHP-7.1' 2016-10-23 19:40:48 +01:00
Xinchen Hui 1322594175 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
2016-10-22 14:51:23 +08:00
Xinchen Hui a6e8634a63 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73350 (Exception::__toString() cause circular references)
2016-10-22 14:50:53 +08:00
Anatol Belski 5e480021a7 Merge branch 'PHP-7.1'
* PHP-7.1:
  Better fix for bug #73360
  Revert "Fixed bug #73360 Unable to work in root with unicode chars"
2016-10-21 21:34:09 +02:00
Anatol Belski 1b6c6aa1c4 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2016-10-21 16:57:30 +02:00
Dmitry Stogov d6c332eb51 Turn IS_TYPE_COLLECTABLE zval flag into GC_COLLECTABLE zend_refcounted flag.
This simplifies checks and allows reset this flag for "acyclic" arrays and objects.
2016-10-21 17:47:30 +03:00
Anatol Belski 04bba0c078 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73360 Unable to work in root with unicode chars
2016-10-21 16:00:49 +02:00
Amo Chohan 61e15a37a1 Add tests for PDO::getAvailableDrivers 2016-10-20 20:53:53 -07:00
Adam Baratz 6c867cb8e5 Remove DBDO-specific field
DBDO is a PECL package which hasn't been updated since 2010 and has been marked
as unmaintained. Additionally, I can't find a reference to this field in the
latest source.
2016-10-20 17:39:00 -04:00
Kalle Sommer Nielsen 54454f7335 Save some more calls to strlen() on the CURLFile helper methods 2016-10-20 16:03:46 +02:00
Kalle Sommer Nielsen c0d4e72a68 Revert "Fix test, this is kinda ugly, but at least for me on Windows there seems to be some messed up line endings"
This reverts commit aeeaedeeb7.

This seems to make Travis unhappy (shocker), so revert for now until we find a better fix
2016-10-20 16:02:37 +02:00
David Carlier 81ce32a48f updating cvs revisions of strlcat/cpy 2016-10-20 14:13:09 +01:00
Kalle Sommer Nielsen 61f524b370 Merge branch 'master' of git.php.net:php-src 2016-10-20 14:28:52 +02:00
Kalle Sommer Nielsen 9935d7e163 Save a call to strlen(), since we can figure out the length of this constant value with sizeof() at compile time 2016-10-20 14:28:24 +02:00
Kalle Sommer Nielsen aeeaedeeb7 Fix test, this is kinda ugly, but at least for me on Windows there seems to be some messed up line endings 2016-10-20 14:24:01 +02:00
Nikita Popov 23772d5b70 Merge branch 'PHP-7.1' 2016-10-20 13:26:51 +02:00
Kalle Sommer Nielsen 66b2c5c5a4 Merge branch 'master' of git.php.net:php-src 2016-10-20 13:10:51 +02:00
Kalle Sommer Nielsen dfbcd4e207 Do not overwrite config.nice.bat if --with-config-profile is used on Windows 2016-10-20 13:10:28 +02:00
Christoph M. Becker ed61791a5a Update UPGRADING wrt. imageresolution()
Cf. <http://git.php.net/?p=php-src.git;a=commit;h=209d4220>.
2016-10-20 12:59:03 +02:00
Matteo Beccati c3c06b92f9 Fixed test to accept MYSQLI_OPT_READ_TIMEOUT
The new constant has been added in 7108db30
2016-10-20 12:54:42 +02:00
Anatol Belski a64c02fbb5 remove redundant includes 2016-10-20 11:42:23 +02:00
Anatol Belski ab52afb932 fix Windows compilation
php.h is included, it contains all the stuff needed and conflicts
otherwise.
2016-10-20 11:42:23 +02:00
Leigh f23e99dd07 Merge branch 'PHP-7.1' 2016-10-20 10:18:38 +01:00
Kalle Sommer Nielsen f38834a180 Fix compiler warnings, always cast to zend_long from sqlite3_int64 when converting to a zval 2016-10-20 10:57:38 +02:00
Kalle Sommer Nielsen 6ca38e8cf8 Ignore the return value of sqlite3->busyTimeout() if their "API Armor" is not enabled.
The sqlite3_busy_timeout() function can only ever return SQLITE_OK if the armor is not compiled in, which means we can skip this error check
2016-10-20 10:56:08 +02:00
Joe Watkins b4a6408029 news entry for pr #2135 2016-10-20 05:34:22 +01:00
Joe Watkins e0b6ac2976 Merge branch 'pull-request/2135' 2016-10-20 05:33:12 +01:00
Joe Watkins 2d3bf0da44 news entry for pr #2152 2016-10-20 05:25:49 +01:00
Joe Watkins 0d768f74b6 Merge branch 'pull-request/2152' 2016-10-20 05:25:03 +01:00
Dmitry Stogov 03cd0f6b06 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed typo
2016-10-20 01:17:55 +03:00
Dmitry Stogov 65ea250022 Merge branch 'PHP-7.1'
* PHP-7.1:
  Introduced HT_IS_PACKED() and HT_IS_WITHOUT_HOLES() macros. (Benjamin Coutu)
2016-10-19 23:12:17 +03:00
Joe Watkins 67dc4de592 Merge branch 'master' of git.php.net:/php-src 2016-10-19 13:45:27 +01:00
Joe Watkins 3a0872d08f Implement #72612 (libxmlrc uses system malloc instead of PHP alloc routines) 2016-10-19 13:43:31 +01:00
Kalle Sommer Nielsen 465fdd1de8 T1Lib support was removed in 7.0 2016-10-19 09:02:41 +02:00
Kalle Sommer Nielsen 60d847a0cf Fix typo 2016-10-19 09:01:29 +02:00
Kalle Sommer Nielsen 6ebb447d77 Poor copy/paste mistake, nobody saw I used getrusage.[c|h] as skeleton here! 2016-10-19 07:10:28 +02:00
Kalle Sommer Nielsen 63869d9491 Move these files to the same compilation batch instead of two 2016-10-19 06:44:30 +02:00
Kalle Sommer Nielsen 59090b6499 Ignore notices with headers already being defined to their magic HAVE_<name>_H define on Windows.
This is very minor and only happens so far for zlib.h, which both ext/zip and ext/zlib looks for.
2016-10-19 06:29:15 +02:00
Kalle Sommer Nielsen 0ffd0a0217 Improve the config.simple.bat for Windows a little;
This adds --with-config-profile=foobar, this generates a config.foobar.bat file in the root of php-src directory with the relevant configuration arguments.
2016-10-19 01:14:15 +02:00
Kalle Sommer Nielsen 815ee7d06c Added config.simple.bat to .gitignore 2016-10-18 23:29:28 +02:00
Kalle Sommer Nielsen d0a3f2e46d Make proc_nice() more in line with that of Unix, as discussed with Anatol 2016-10-18 23:25:59 +02:00
Kalle Sommer Nielsen e2b52c510e Always include the header for nice() on Windows 2016-10-18 23:14:46 +02:00
Kalle Sommer Nielsen 6cb13be2c8 Added config.simple for the Windows build system, this is pretty much
like running configure for only the core of PHP and sapi/cli for quick
and fast building.

buildconf
config.simple
nmake
Release_TS\php -v

(This also enables --with-mp for multi processing for a faster build)
2016-10-18 23:13:30 +02:00
Anatol Belski 7755adf57b Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2016-10-18 19:44:47 +02:00
Anatol Belski 3813d3bbc5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73329 (Float)"Nano" == NAN
2016-10-18 19:14:54 +02:00
Anatol Belski 7d43aee474 Merge branch 'PHP-7.1'
* PHP-7.1:
  sync NEWS
  sync NEWS
2016-10-18 18:26:11 +02:00
Christoph M. Becker 35b19cd2d9 Make this test meaningful
We're not only checking that hash_update_file() succeeds, but rather
that it properly works.

Furthermore, we fix the SKIPIF section – we don't need mhash to run the
test, and we don't need to check for unsupported PHP versions.

We also shorten the test name to avoid cluttering the test reports with
unnecessary detail.
2016-10-18 14:57:41 +02:00
Johannes Schlüter b7fe687914 Install ext/json headers so that other extension can parse, too 2016-10-18 14:48:17 +02:00
Bob Weinand 2b246e2e38 Merge branch 'PHP-7.1' 2016-10-18 14:32:12 +02:00
Christoph M. Becker 81043bbfea Use our own domains to test getmxrr() 2016-10-18 14:28:49 +02:00
Christoph M. Becker 371f41250c Remove superfluous checks for PNG support
PNG support is required to build ext/gd, so there's no need to check
for it in the tests.
2016-10-18 14:17:37 +02:00
Dmitry Stogov dfc811611f Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Revert "Fix bug #47890 #73215 uniqid() should use better random source"
2016-10-18 15:11:16 +03:00
Dmitry Stogov 37357d9215 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73337 (try/catch not working with two exceptions inside a same operation)
  Revert "Fix bug #47890 #73215 uniqid() should use better random source"
  Revert "Fix bug #47890 #73215 uniqid() should use better random source"
  Update NEWS
2016-10-18 15:10:03 +03:00
Joe Watkins 475cb3aa32 Revert "Fix bug #47890 #73215 uniqid() should use better random source"
This reverts commit 48f1a17886.
2016-10-18 11:30:45 +01:00
Dmitry Stogov 5551cccc92 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed type inference rules.
  Update NEWS
2016-10-18 12:41:10 +03:00
Leigh 56908edfbe Merge branch 'master' into remove-mcrypt 2016-10-18 09:17:03 +01:00
Yasuo Ohgaki 0a67b29a7c Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #47890 #73215 uniqid() should use better random source
2016-10-18 09:14:57 +09:00
Christoph M. Becker 209d4220d5 Add PHP bindings for setting and getting the image resolution
We expose the image resolution related GD functionality to userland
by introducing `imageresolution()` as getter/setter. Given only the
image argument, it returns the current resolution as indexed array.
Given only a second argument, it sets the horizontal and vertical
resolution to this value. Given three arguments, it sets the horizontal
and vertical resolution to the given arguments, respectively.
2016-10-18 01:53:39 +02:00
Christoph M. Becker e147eeb4bc Merge branch 'PHP-7.1' 2016-10-18 00:02:18 +02:00
Yasuo Ohgaki df845a9155 Merge branch 'PHP-7.1'
* PHP-7.1:
  Simply return FALSE from session_gc(). Error could be annoying because internal save handlers may return -1 when GC cannot be performed for reasons
2016-10-18 06:54:10 +09:00
Yasuo Ohgaki 843f27b74d Add save handler explanations for documentation purpose 2016-10-18 06:20:03 +09:00
Adam Baratz 82fe200a3f Remove dead code 2016-10-17 17:07:10 -04:00
Dmitry Stogov f4578d5a0e Merge branch 'PHP-7.1'
* PHP-7.1:
  Use simple "one-pass" algorithm.
2016-10-18 00:06:50 +03:00
Anatol Belski 451f9aa00c Merge branch 'PHP-7.1'
* PHP-7.1:
  sync NEWS
  Merge branch 'pull-request/1817'
  Merge branch 'pull-request/1816'
  Merge branch 'pull-request/1814'
  Merge branch 'pull-request/1808'
  Merge branch 'pull-request/1817'
  Merge branch 'pull-request/1816'
  Merge branch 'pull-request/1814'
  Merge branch 'pull-request/1808'
2016-10-17 21:28:19 +02:00
Andrey Hristov 0b7ecd6f10 Merge branch 'PHP-7.1' 2016-10-17 19:31:43 +03:00
Andrey Hristov 47993d0c59 Merge branch 'PHP-7.0' into PHP-7.1 2016-10-17 19:31:29 +03:00
Andrey Hristov 2b047617af Merge branch 'PHP-5.6' into PHP-7.0 2016-10-17 19:30:08 +03:00
Andrey Hristov 543cc08a75 Lower the value to 24 hours from 1 year, which due to a overflow in
php_tvtoto (bug#71507) is just 17 days.
2016-10-17 19:25:01 +03:00
Andrey Hristov d8ede80c7a Merge branch 'master' of git.php.net:php-src 2016-10-17 19:12:56 +03:00
Andrey Hristov 23f500191d Merge branch 'PHP-7.1' 2016-10-17 19:12:33 +03:00
Andrey Hristov 7108db3022 Merge branch 'PHP-7.0' into PHP-7.1 2016-10-17 19:11:54 +03:00
Andrey Hristov 66d4a2e13f Merge branch 'PHP-5.6' into PHP-7.0 2016-10-17 19:01:12 +03:00
Andrey Hristov 9594e364ed This is a very very old thing dated back to year 2009.
MYSQL_OPT_READ_TIMEOUT was never a macro in mysqlnd but an enum value.
So this never actually worked correctly. mysqlnd provides these so it is
safe to have them when mysqlnd used.
2016-10-17 18:58:14 +03:00
Joe Watkins d6a4e11f9d Merge branch 'pull-request/1808' 2016-10-17 16:53:04 +01:00
Joe Watkins 068f6bf938 Merge branch 'pull-request/1814' 2016-10-17 16:50:53 +01:00
Joe Watkins acefa44014 Merge branch 'pull-request/1816' 2016-10-17 16:50:12 +01:00
Joe Watkins f9beeacc25 Merge branch 'pull-request/1817' 2016-10-17 16:49:24 +01:00
Joe Watkins caa9ed28cc Merge branch 'pull-request/2097' 2016-10-17 16:05:32 +01:00
Andrea Faulds 858531661b NEWS and UPGRADING for utf8_encode() and utf8_decode() move 2016-10-17 15:45:01 +01:00
Andrea Faulds 1a512eed44 Move utf8_encode and utf8_decode to ext/standard 2016-10-17 15:39:02 +01:00
Joe Watkins a5251f78f8 Merge branch 'master' of git.php.net:/php-src 2016-10-17 14:44:11 +01:00
Joe Watkins f756c5ea22 news entry for pr #2158 2016-10-17 14:43:41 +01:00
Joe Watkins c9c3d9e764 Merge branch 'pull-request/2158' 2016-10-17 14:42:35 +01:00
Remi Collet 90dcef8f45 Merge branch 'PHP-7.1'
* PHP-7.1:
  also fix 32bits test for microsecond
  bump news version
  Update 7.1 NEWS for bug #71148
2016-10-17 15:08:15 +02:00
Christoph M. Becker 0f49aa3287 Merge branch 'pull-request/2151' 2016-10-17 10:37:38 +02:00
Christopher Jones abd2c049a2 Merge branch 'PHP-7.1' 2016-10-17 12:42:44 +11:00
Bob Weinand efcbeb0603 Merge branch 'PHP-7.1' 2016-10-16 15:46:44 +02:00
Bob Weinand b1c6299b34 Merge branch 'PHP-7.1' 2016-10-16 13:48:25 +02:00
Bob Weinand 0399a43265 Merge branch 'PHP-7.1' 2016-10-16 12:34:20 +02:00
Kalle Sommer Nielsen ba76edcc7c Remove this old and long gone deprecated makefile. Netware was discontinued over 7 years ago and it is safe to say that no one is really maintaining support in php-src anyway for it 2016-10-16 08:52:39 +02:00
Kalle Sommer Nielsen e63c864609 Fix build, decls first 2016-10-16 06:36:54 +02:00
Kalle Sommer Nielsen 5c169af7c9 Change the semantics of proc_nice() for Windows to better match the values of the wmic output 2016-10-16 05:21:30 +02:00
Kalle Sommer Nielsen 64945e9387 Implemented proc_nice() for Windows (FR #49806)
The core implementation details are described in win32/nice.c for values sent to proc_nice(), these can however be discussed to maybe comply with those of wmic, Anatol, thoughts?

The test supplied uses wmic for testing the functionality, it could potentially fail on systems where either wmic is not available or the system language is not english (as Microsoft tends to translate even CLI programs).
2016-10-16 04:17:35 +02:00
Kalle Sommer Nielsen 2dbddf2241 Remove the old and way outdated Zend/RFCs folder, we use the wiki nowadays anyway 2016-10-16 01:42:53 +02:00
Kalle Sommer Nielsen 796dd639cb Fix build + warning, decls first 2016-10-16 01:01:09 +02:00
Yasuo Ohgaki 7cb1be2ecd Use proper API 2016-10-16 07:29:33 +09:00
Nikita Popov f58701fe6f Merge branch 'PHP-7.1' 2016-10-16 00:04:23 +02:00
Christoph M. Becker 1aaa560d85 Mark functions as PHP_DEP_FE instead of manually emitting the notice 2016-10-15 23:41:33 +02:00
Christoph M. Becker 8f299a9673 Merge branch 'PHP-7.1' 2016-10-15 19:46:32 +02:00
David Carlier 1ece764114 let s use the macro instead 2016-10-15 17:55:44 +01:00
Christoph M. Becker 1490446ce0 RFC: Deprecate png2wbmp() and jpegwbmp()
See <https://wiki.php.net/rfc/deprecate-png-jpeg-2wbmp>.
2016-10-15 16:16:34 +02:00
David Carlier 2464dbd5f3 import explicit_bzero + strlc* functions update
since 1999 algorithms have changed and register k/w
not necessary anymore.
2016-10-15 14:53:38 +01:00
Yasuo Ohgaki 2bd34885da Add tests 2016-10-15 21:03:14 +09:00
Yasuo Ohgaki 06b20d973a Fix test and cleanup code a little 2016-10-15 20:51:34 +09:00
Yasuo Ohgaki 4af00876f6 mb_check_encoding()/mb_convert_encoding() - Improve and add recursion detection. 2016-10-15 16:52:17 +09:00
Anatol Belski c23eeaee79 Merge branch 'PHP-7.1'
* PHP-7.1:
  sync NEWS
2016-10-14 19:53:23 +02:00
Remi Collet 298a79e082 Merge branch 'PHP-7.1'
* PHP-7.1:
  bump ext/zip version
2016-10-14 17:31:43 +02:00
Christoph M. Becker dd35ba08ef Merge branch 'PHP-7.1' 2016-10-14 14:15:31 +02:00
Christoph M. Becker 0cb6cc4309 Merge branch 'PHP-7.1' 2016-10-14 13:52:44 +02:00
Bob Weinand 8af4882193 Merge branch 'PHP-7.1' 2016-10-14 12:25:34 +02:00
Remi Collet 35f5672129 Merge branch 'PHP-7.1'
* PHP-7.1:
  use zend_error instead of zend_error_noreturn
2016-10-14 10:55:10 +02:00
Ferenc Kovacs e8c821f2b5 Merge branch 'PHP-7.1' 2016-10-14 08:10:07 +02:00
Anatol Belski 1ecd141d62 Merge branch 'PHP-7.1'
* PHP-7.1: (47 commits)
  missed piece for renaming
  rename publicly exposed symbol to avoid name conflicts
  Ignore non-executable opcodes in line mode of phpdbg_end_oplog()
  fix gettimeofday proto availability
  Fix #73280: Stack Buffer Overflow in GD dynamicGetbuf
  fix test
  use already exported symbol
  Revert "export symbol missing by phpdbg"
  Merge branch 'PHP-7.0' into PHP-7.1
  Syncronize with 5.6 - __toString should return ""
  Fix potential overflows in php_pcre_replace_impl
  Fixed bug #73237
  fix another mistake
  Fixed bug in zend_accel_error() and cleaned up kill_all_lockers()
  Merge remote-tracking branch 'origin/PHP-7.0' into PHP-7.1
  Merge branch 'PHP-7.0' into PHP-7.1
  Merge branch 'PHP-7.0' into PHP-7.1
  export symbol missing by phpdbg
  Fix accidental PHPDBG_ABI break
  Fix bug #73189 - Memcpy negative size parameter php_resolve_path
  ...
2016-10-14 04:22:29 +02:00
Anatol Belski 77584e9fac Merge branch 'PHP-7.1'
* PHP-7.1:
  missed piece for renaming
2016-10-13 15:40:52 +02:00
Anatol Belski 1eac069db1 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  missed piece for renaming
2016-10-13 15:40:21 +02:00
Christoph M. Becker c31eb5a407 Remove unused code
There is no gif2wbmp() or such, and it is highly unlikely that it'll be
ever added, so we remove the unused code.
2016-10-13 15:35:10 +02:00
Anatol Belski 46eea4e415 Merge branch 'PHP-7.1'
* PHP-7.1:
  rename publicly exposed symbol to avoid name conflicts
2016-10-13 15:26:17 +02:00
Anatol Belski de2b00b403 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  rename publicly exposed symbol to avoid name conflicts
2016-10-13 15:25:25 +02:00
Anatol Belski de0024ad2d Merge branch 'PHP-7.1'
* PHP-7.1:
  add missing header for gd_error
  fix syslog interference
2016-10-13 14:41:14 +02:00
Anatol Belski 19605950fc add missing header for gd_error 2016-10-13 14:40:37 +02:00
Anatol Belski fa45124138 fix syslog interference 2016-10-13 14:40:37 +02:00
Bob Weinand f0eb629fda Merge branch 'PHP-7.1' 2016-10-13 14:10:33 +02:00
Bob Weinand 1630934070 Merge branch 'PHP-7.0' into PHP-7.1 2016-10-13 14:10:19 +02:00
Anatol Belski 1d82eac13e Merge branch 'PHP-7.1'
* PHP-7.1:
  fix gettimeofday proto availability
2016-10-13 13:09:29 +02:00
Anatol Belski 79f7d174d0 fix gettimeofday proto availability 2016-10-13 13:08:16 +02:00
Christoph M. Becker f7a86be3ed Merge branch 'PHP-7.1' 2016-10-13 11:36:21 +02:00
Christoph M. Becker a9209588d5 Merge branch 'PHP-7.0' into PHP-7.1 2016-10-13 11:31:37 +02:00
Bob Weinand 2e3707fafb Merge branch 'PHP-7.1' (-s ours) 2016-10-13 10:42:05 +02:00
Bob Weinand 505417e8eb Revert "Merge branch 'pull-request/2082' (get_class accidentally in PHP-7.1)"
This reverts commit b0cacee303, reversing
changes made to fcbfd9835d.
2016-10-13 10:40:42 +02:00
Anatol Belski 41f5085e2a Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
  use already exported symbol
  Revert "export symbol missing by phpdbg"
2016-10-13 10:09:03 +02:00
Anatol Belski 57354e0313 fix test 2016-10-13 10:08:23 +02:00
Anatol Belski afbb3b858a Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  use already exported symbol
  Revert "export symbol missing by phpdbg"
2016-10-13 10:08:10 +02:00
Stanislav Malyshev 6294095b84 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix outlen for openssl function
  Syncronize with 5.6 - __toString should return ""
  Fix potential overflows in php_pcre_replace_impl
2016-10-12 23:26:35 -07:00
Stanislav Malyshev ff75665663 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix outlen for openssl function
  Syncronize with 5.6 - __toString should return ""
  Fix potential overflows in php_pcre_replace_impl
2016-10-12 23:26:15 -07:00
Anatol Belski 522dbc0818 Merge branch 'PHP-7.1'
* PHP-7.1:
  Clear FG(user_stream_current_filename) when bailing out
  Fix tests
  fix tsrm
  Fix bug #73284 - heap overflow in php_ereg_replace function
  Fix bug #73276 - crash in openssl_random_pseudo_bytes function
  Fix bug #73293 - NULL pointer dereference in SimpleXMLElement::asXML()
  fix bug #73275 - crash in openssl_encrypt function
  Fix for #73240 - Write out of bounds at number_format
  Bug #73218: add mitigation for ICU int overflow
  Add more locale length checks, due to ICU bugs.
  Fix bug #73208 - another missing length check
  Fix bug #73190: memcpy negative parameter _bc_new_num_ex
  Fix bug #73189 - Memcpy negative size parameter php_resolve_path
  Fixed bug #73174 - heap overflow in php_pcre_replace_impl
  Fix bug #73150: missing NULL check in dom_document_save_html
  Fix bug #73147: Use After Free in PHP7 unserialize()
  Fix bug #73082
  Fix bug #73073 - CachingIterator null dereference when convert to string
2016-10-13 01:33:38 +02:00
Anatol Belski 47e21eb517 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Clear FG(user_stream_current_filename) when bailing out
  Fix tests
  fix tsrm
  Fix bug #73284 - heap overflow in php_ereg_replace function
  Fix bug #73276 - crash in openssl_random_pseudo_bytes function
  Fix bug #73293 - NULL pointer dereference in SimpleXMLElement::asXML()
  fix bug #73275 - crash in openssl_encrypt function
  Fix for #73240 - Write out of bounds at number_format
  Bug #73218: add mitigation for ICU int overflow
  Add more locale length checks, due to ICU bugs.
  Fix bug #73208 - another missing length check
  Fix bug #73190: memcpy negative parameter _bc_new_num_ex
  Fix bug #73189 - Memcpy negative size parameter php_resolve_path
  Fixed bug #73174 - heap overflow in php_pcre_replace_impl
  Fix bug #73150: missing NULL check in dom_document_save_html
  Fix bug #73147: Use After Free in PHP7 unserialize()
  Fix bug #73082
  Fix bug #73073 - CachingIterator null dereference when convert to string
2016-10-13 01:33:07 +02:00
Nikita Popov e0116978b0 Merge branch 'PHP-7.1' 2016-10-12 23:15:57 +02:00
Nikita Popov 8e46066a27 Merge branch 'PHP-7.0' into PHP-7.1 2016-10-12 23:15:48 +02:00
Anatol Belski a9e0d8806e Merge branch 'PHP-7.1'
* PHP-7.1:
  fix another mistake
2016-10-12 23:08:47 +02:00
Anatol Belski bec0121733 fix another mistake 2016-10-12 23:08:19 +02:00
Nikita Popov c0fbd86aec Merge branch 'PHP-7.1' 2016-10-12 23:05:19 +02:00
Nikita Popov 1119cdae42 Merge branch 'PHP-7.0' into PHP-7.1 2016-10-12 23:05:10 +02:00
Bob Weinand 3a5e5d7731 Merge branch 'PHP-7.1' 2016-10-12 22:57:58 +02:00
Bob Weinand 457e686262 Merge remote-tracking branch 'origin/PHP-7.0' into PHP-7.1 2016-10-12 22:57:41 +02:00
Nikita Popov 0fc787cfb8 Merge branch 'PHP-7.1' 2016-10-12 22:46:40 +02:00
Nikita Popov 9669ec707a Merge branch 'PHP-7.0' into PHP-7.1 2016-10-12 22:46:28 +02:00
Nikita Popov f47b36cc5c Merge branch 'PHP-7.1' 2016-10-12 22:26:34 +02:00
Nikita Popov 26964ccea0 Merge branch 'PHP-7.0' into PHP-7.1 2016-10-12 22:26:28 +02:00
Anatol Belski 829ae1dfa0 Merge branch 'PHP-7.1'
* PHP-7.1:
  export symbol missing by phpdbg
2016-10-12 22:23:26 +02:00
Anatol Belski c762c8f3c0 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  export symbol missing by phpdbg
2016-10-12 22:21:19 +02:00
Bob Weinand 1f147e3a55 Merge branch 'PHP-7.1' 2016-10-12 22:18:38 +02:00
Bob Weinand 8c01eef70f Merge branch 'PHP-7.0' into PHP-7.1 2016-10-12 22:17:41 +02:00
Anatol Belski 1f964e11ba Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73189 - Memcpy negative size parameter php_resolve_path
2016-10-12 21:33:27 +02:00
Anatol Belski f7aa911d9b Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix bug #73189 - Memcpy negative size parameter php_resolve_path
2016-10-12 21:33:13 +02:00
Anatol Belski 03da9ba617 Merge branch 'PHP-7.1'
* PHP-7.1:
  update len in fallback cases
2016-10-12 20:55:16 +02:00
Anatol Belski d46673d9ce Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  update len in fallback cases
2016-10-12 20:54:43 +02:00
Anatol Belski dba6969a93 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix wrong merge
2016-10-12 20:26:38 +02:00
Anatol Belski 821a230f29 fix wrong merge 2016-10-12 20:21:50 +02:00
Bob Weinand 92db1c81b3 Merge branch 'PHP-7.1' 2016-10-12 20:19:33 +02:00
Bob Weinand 37ae5f3931 Merge branch 'PHP-7.0' into PHP-7.1 2016-10-12 20:19:10 +02:00
Anatol Belski 76ff13d148 Merge branch 'master' of git.php.net:php-src 2016-10-12 20:12:08 +02:00
Anatol Belski 6a98b21e69 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73190: memcpy negative parameter _bc_new_num_ex
  fix test
  finish 7.1 port
2016-10-12 20:09:57 +02:00
Anatol Belski af1bf873fe Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix bug #73190: memcpy negative parameter _bc_new_num_ex
2016-10-12 20:09:24 +02:00
Anatol Belski 4a39df1261 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
2016-10-12 19:29:42 +02:00
Anatol Belski fa9370db03 fix test 2016-10-12 19:28:15 +02:00
Anatol Belski 10fe10ee1f Merge branch 'PHP-7.1'
* PHP-7.1:
  finish 7.1 port
2016-10-12 18:33:28 +02:00
Anatol Belski f1fff032fc finish 7.1 port 2016-10-12 18:31:59 +02:00
Adam Baratz 0eeb06bf17 Addendum to #73234: Assume param types are nullable 2016-10-12 11:59:01 -04:00
Anatol Belski cba18b61c1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73147: Use After Free in PHP7 unserialize()
2016-10-12 17:57:07 +02:00
Anatol Belski b1ef60f90e Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix bug #73147: Use After Free in PHP7 unserialize()
2016-10-12 17:56:13 +02:00
Anatol Belski 7ed614a1be Merge branch 'PHP-7.1'
* PHP-7.1:
  fix typo
2016-10-12 17:13:38 +02:00
Anatol Belski 929b04520e Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  fix typo
2016-10-12 17:13:23 +02:00
Anatol Belski c9d0a0a87c Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Fix for #73240 - Write out of bounds at number_format"
  followup with #73276 merge
  fix test
  Fix bug #73276 - crash in openssl_random_pseudo_bytes function
  Fix bug #73293 - NULL pointer dereference in SimpleXMLElement::asXML()
  Fix for #73240 - Write out of bounds at number_format
  avoid strlen
  Bug #73218: add mitigation for ICU int overflow
  Add more locale length checks, due to ICU bugs.
  Fix bug #73150: missing NULL check in dom_document_save_html
  Clear FG(user_stream_current_filename) when bailing out
  set versions and release date
  sync NEWS
  Revert "Fixed bug #73067 (__debugInfo crashes when throwing an exception)"
  Fix for #73240 - Write out of bounds at number_format
  Fix bug #73257 and bug #73258 - SplObjectStorage unserialize allows use of non-object as key
  set versions
  Fix bug #73091 - Unserializing DateInterval object may lead to __toString invocation
2016-10-12 16:24:51 +02:00
Anatol Belski b184eeefe4 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Revert "Fix for #73240 - Write out of bounds at number_format"
2016-10-12 16:14:58 +02:00
Anatol Belski d103a41679 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  followup with #73276 merge
  fix test
  Fix bug #73276 - crash in openssl_random_pseudo_bytes function
  Fix bug #73293 - NULL pointer dereference in SimpleXMLElement::asXML()
  Fix for #73240 - Write out of bounds at number_format
  avoid strlen
  Bug #73218: add mitigation for ICU int overflow
  Add more locale length checks, due to ICU bugs.
  Fix bug #73150: missing NULL check in dom_document_save_html
  Clear FG(user_stream_current_filename) when bailing out
  set versions and release date
  sync NEWS
  Revert "Fixed bug #73067 (__debugInfo crashes when throwing an exception)"
  Fix for #73240 - Write out of bounds at number_format
  Fix bug #73257 and bug #73258 - SplObjectStorage unserialize allows use of non-object as key
  set versions
  Fix bug #73091 - Unserializing DateInterval object may lead to __toString invocation
2016-10-12 16:06:11 +02:00
Xinchen Hui b48d6e0c5a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73288 (Segfault in __clone > Exception.toString > __get)
2016-10-12 16:08:41 +08:00
Xinchen Hui d19898b298 Fixed bug #73288 (Segfault in __clone > Exception.toString > __get)
Actually this is caused by optimization(opcache)
2016-10-12 16:07:56 +08:00
Sara Golemon 2ad38bfae3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Clear FG(user_stream_current_filename) when bailing out
2016-10-11 21:53:09 -07:00
Sara Golemon 9f86cdaf7f Clear FG(user_stream_current_filename) when bailing out
If a userwrapper opener E_ERRORs then FG(user_stream_current_filename)
would remain set until the next request and would not be pointing
at unallocated memory.

Catch the bailout, clear the variable, then continue bailing.

Closes https://bugs.php.net/bug.php?id=73188
2016-10-11 21:46:02 -07:00
Sara Golemon b041bebb88 Change Big Endian backup implementations to use signed indexes
load64() counted down from 7..0, but the decrement turned 0 into 255.
This means the loop would never terminate on Big Endian systems.

Just use signed char integers since we're only dealing with values from 0..7 anyway.

Closes https://bugs.php.net/bug.php?id=73282
2016-10-11 20:43:02 -07:00
Adam Baratz 6ddfce116b Fix tests affected by 32b6154a61 2016-10-11 10:15:50 -04:00
Fabrice Fontaine e6bbc00964 Fix pthreads detection when cross-compiling
pthreads are not working when cross-compiling, indeed configure
sets pthreads_working to no if cross_compiling is detected.
This behavior is implemented in PTHREADS_CHECK. This function call
AC_CACHE_CHECK twice to retrieve ac_cv_pthreads_cflags and
ac_cv_pthreads_lib.
In these calls, the function PTHREADS_CHECK_COMPILE will call AC_TRY_RUN
function which will update the global pthreads_working variable.
This is not compliant with autoconf AC_CACHE_CHECK rules which specify
that "The commands-to-set-it must have no side effects except for
setting the variable cache-id".

So, this patch replaces pthread_working assignments with assignments on
a new local pthread_checked variable. Value of ptreads_working is
computed outside AC_CACHE_CHECK function depending on value of
ac_cv_pthreads_cflags and ac_cv_pthreads_lib.

Moreover, AC_TRY_RUN call is replaced by AC_TRY_LINK which will work
when cross-compiling.

Without this modification, thread safety option (--enable-maintainer-zts)
can not be enabled on embedded buildsystems such as buildroot.

Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com>
2016-10-11 15:16:26 +02:00
Dmitry Stogov 087eef5e61 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed referencecounter inference rules
2016-10-11 15:43:42 +03:00
Dmitry Stogov 6046a99b97 Fixed referencecounter inference rules 2016-10-11 15:43:23 +03:00
Anatol Belski ca6e35f7a5 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2016-10-11 11:42:43 +02:00
Anatol Belski b76aa08935 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  update NEWS
2016-10-11 11:42:27 +02:00
Anatol Belski 05f394b950 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  restore NEWS to the state before breach
  update NEWS
  update NEWS
2016-10-11 11:03:42 +02:00
Anatol Belski 44fb123e5b Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  update NEWS
  update NEWS
2016-10-11 11:03:00 +02:00
Anatol Belski 076aa3c410 update NEWS 2016-10-11 11:01:55 +02:00
Anatol Belski 2629d24c38 restore NEWS to the state before breach 2016-10-11 11:00:52 +02:00
Dmitry Stogov c8e392c085 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed referencecounter inference rules
2016-10-11 01:58:59 +03:00
Dmitry Stogov fae7d6b9bb Fixed referencecounter inference rules 2016-10-11 01:58:30 +03:00
Adam Baratz 32b6154a61 Fix #73234: Emulated statements let value dictate parameter type
The prepared statement emulator (pdo_sql_parser.*) figures out how to quote
each query parameter. The intended type is specified by the PDO::PARAM_*
consts, but this direction wasn't always followed. In practice, queries could
work as expected, but subtle errors could result. For example, a numeric string
bound as PDO::PARAM_INT would be sent to a driver's quote function. While these
functions are told which type is expected, they generally assume values are
being quoted as strings. This can result in implicit casts, which are bad for
performance.

This commit includes the following changes:
 - Cast values marked as bool/int/null to the appropriate type and bypass the
   driver's quote function.
 - Save some memory by dropping the temporary zval used for casting.
 - Avoid a memory leak if the driver's quote function produces an error.
 - Appropriate test suite updates.
2016-10-10 18:16:17 -04:00
Anatol Belski f51405cd7e Merge branch 'PHP-7.1'
* PHP-7.1:
  add test for bug #73037
2016-10-10 16:04:35 +02:00
Anatol Belski a8a308f627 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  add test for bug #73037
2016-10-10 16:04:09 +02:00
Joe Watkins bce17764be Merge branch 'master' of https://github.com/php/php-src 2016-10-10 12:18:40 +01:00
Joe Watkins fb92482c8a Merge branch 'PHP-7.1' of https://github.com/php/php-src into PHP-7.1 2016-10-10 12:17:11 +01:00
Joe Watkins b0cacee303 Merge branch 'pull-request/2082' 2016-10-10 12:14:26 +01:00
Danack 9bbda76ca6 Added news entry. 2016-10-10 12:21:59 +01:00
Anatol Belski 63c7a09786 Merge branch 'PHP-7.1'
* PHP-7.1:
  add zend_bailout to cppcheck conf
2016-10-10 13:12:34 +02:00
Nikita Popov fcbfd9835d Merge branch 'PHP-7.1' 2016-10-10 12:21:25 +02:00
Christoph M. Becker 4be36b536e Merge branch 'PHP-7.1' 2016-10-10 12:13:07 +02:00
Dmitry Stogov 38e765d710 Merge branch 'PHP-7.1'
* PHP-7.1:
  Removed deprecated flag
  Fixed information about possible return value
2016-10-10 11:49:12 +03:00
Christoph M. Becker 7ce90014e2 Merge branch 'PHP-7.1' 2016-10-09 15:27:14 +02:00
Anatol Belski 3efea8aed2 since libdb isn't bundled, it needs a config option as well 2016-10-08 20:44:35 +02:00
Christoph M. Becker 1f0346d26d Merge branch 'PHP-7.1' 2016-10-08 19:48:43 +02:00
Anatol Belski fd9aaed943 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix leak
2016-10-08 19:29:08 +02:00
Nikita Popov 3dda7bf7d0 Merge branch 'PHP-7.1' 2016-10-08 17:01:21 +02:00
Christoph M. Becker ee2b1e38ef Merge branch 'PHP-7.1' 2016-10-08 15:10:40 +02:00
Christoph M. Becker 0e8cd8ab16 Merge branch 'PHP-7.1' 2016-10-08 11:27:11 +02:00
Christoph M. Becker 8a68d93995 Merge branch 'PHP-7.1' 2016-10-08 10:42:25 +02:00
Nikita Popov 9df6112e01 Merge branch 'PHP-7.1' 2016-10-08 01:10:56 +02:00
Christoph M. Becker c8fe175c50 Merge branch 'PHP-7.1' 2016-10-08 00:03:32 +02:00
Derick Rethans aed25395e5 Merge branch 'PHP-7.1' 2016-10-07 13:49:08 -04:00
Christoph M. Becker 35cdc215e3 Merge branch 'PHP-7.1' 2016-10-07 16:36:38 +02:00
Christoph M. Becker 35c5c4b43f Merge branch 'PHP-7.1' 2016-10-07 16:22:23 +02:00
Christoph M. Becker 432e16cb58 Unify error handling of bundled and external libgd
There's no need anymore to call an own error handler directly. Instead we
register our error handler and call libgd's error functions (which will
forward). We do this regardless of compiling with the bundled or an external
libgd.
2016-10-07 01:13:49 +02:00
Nikita Popov 8754b191f7 Fix "already in use" check inconsistencies/bugs
This fixes the following issues:
 * "use function" and "use const" inside namespaced code were checking
   for conflicts against class imports. Now they always check against
   the correct symbol type.
 * Symbol conflicts are now always checked within a single file only.
   Previously class uses inside namespaced code were checked globally.
   This behavior is illegal because symbols from other files are not
   visible if opcache is used, resulting in behavioral discrepancies.
   Additionally this made the presence/absence of symbol errors dependent
   on autoloading order, which is volatile.
 * The "single file" restriction is now enforced by collecting defined
   symbols inside a separate hash table. Previously it was enforced
   (for the non-namespaced case) by comparing the filename of the
   symbol declaration. However this is inaccurate if the same filename
   is used multiple times, such as may happen if eval() is used.
 * Additionally the previous approach relies on symbols being registered
   at compile-time, which is not the case for late-bound classes, which
   makes the behavior dependent on class declaration order, as well as
   opcache (which may cause delayed early-binding).
 * Lastly, conflicts are now consistently checked for conditionally
   defined symbols. Previously only declaration-after-use conflicts were
   checked in this case. Now use-after-declaration conflicts are
   detected as well.
2016-10-07 00:12:55 +02:00
Anatol Belski 940731df04 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix datatype
2016-10-06 11:03:45 +02:00
Bob Weinand d7474e13bd Merge branch 'PHP-7.1' 2016-10-06 10:36:40 +02:00
Anatol Belski 46f4470e0d ensure the flag doesn't overflow
In certain case, it could take more than just 0/1, but 2 bits should
be enough.
2016-10-06 10:18:31 +02:00
Dmitry Stogov f924893ab9 Merge branch 'PHP-7.1'
* PHP-7.1:
  Updated reference-counting inferece rules. The previous rules refected PHP-5 behavior and were completely wrong for PHP-7. (e.g. scalars don't have reference counters at all). This change shouldn't affect anything, because results of this inference are not used yet.
  Fix NEWS after re-roll of RC3
2016-10-06 11:16:43 +03:00
Anatol Belski 1e986c709c handle the stream->__exposed flag correctly
as it's a flag now, just set the value
2016-10-06 02:15:29 +02:00
Anatol Belski 269707f2f6 Enable QDBM support in ext/dba on Windows 2016-10-05 22:53:21 +02:00
Anatol Belski 42b7912f03 catch up with stream datatypes 2016-10-05 22:53:21 +02:00
Anatol Belski 02acb056b3 uint vs. uint32_t 2016-10-05 22:53:21 +02:00
Anatol Belski 0ca15cbeba reduce size of stream struct
32 bytes are spared on 64-bit build
2016-10-05 22:53:21 +02:00
Anatol Belski 4b41973ba1 prevent flags overflows
Sometimes int is overflown. That might still come out with a right
result, but is ofc not clean.
2016-10-05 22:53:21 +02:00
Anatol Belski 41d04079e3 reduce size of stream bucket struct by 8 bytes on 64-bit 2016-10-05 22:53:21 +02:00
Derick Rethans 6e806b4560 Merge branch 'PHP-7.1' 2016-10-05 15:32:24 -04:00
Anatol Belski 7c71b64eec Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73037, second round
2016-10-05 15:05:56 +02:00
Christoph M. Becker 52b9ea9795 Merge branch 'PHP-7.1' 2016-10-05 13:13:04 +02:00
Bob Weinand 38beb0e8d8 Merge branch 'PHP-7.1' 2016-10-05 12:22:39 +02:00
Stanislav Malyshev eb990a014c Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed test
  Added validation to parse_url() to prohibit restricted characters inside login/pass components based on RFC3986
  Apparently negative wordwrap is a thing and should work as length = 0.
2016-10-04 21:57:43 -07:00
Leigh bc4676e050 Remove mcrypt 2016-10-04 13:20:36 +01:00
Stanislav Malyshev 3f04ee0b8b Merge branch 'PHP-7.1'
* PHP-7.1:
  Really fix bug #73017
2016-10-03 18:39:20 -07:00
Christoph M. Becker 9e88d3e431 Merge branch 'PHP-7.1' 2016-10-03 18:56:36 +02:00
Bob Weinand 007cf7d7d3 Merge branch 'PHP-7.1' 2016-10-03 12:55:45 +02:00
Christoph M. Becker 2b134a1dcb Move freeing of truecolor pixels to a function
We port <https://github.com/libgd/libgd/commit/81675d39>.
2016-10-03 12:11:46 +02:00
Christoph M. Becker ec591b555f Change gdImageTrueColorToPalette() to return success/failure
We're porting the relevant changes from
<https://github.com/libgd/libgd/commit/34a00a40>.

We also check the return value in the PHP binding, and throw E_WARNING if
the conversion failed.
2016-10-03 12:02:31 +02:00
Christoph M. Becker 2a305b38b7 Implement request #33066: Add GD Image Function gdImageOpenPolygon()
gdImageOpenPolygon() has been introduced with líbgd 2.0.29, so we finally
add a PHP binding for it, and port the respective libgd functionality to
PHP's bundled libgd.
2016-10-02 20:27:58 +02:00
Christoph M. Becker 82a8e57f37 Add support for gdEffectMultiply
gdLayerMultiply() has been introduced in libgd 2.1.1, and as such would have
been already available for imagelayereffect() with a system libgd. We port
the respective code to the bundled libgd, and also make IMG_EFFECT_MULTIPLY
available to userland.
2016-10-02 19:10:13 +02:00
Bob Weinand 29941e1811 Merge branch 'PHP-7.1' 2016-10-02 12:46:45 +01:00
Christoph M. Becker d0f14a4429 Switch to libgd anti-aliased drawing API
Instead of rolling our own in the bundled libgd, we use libgd's anti-aliased
drawing API. This way imageantialias() is also available, when built against
a system libgd.
2016-10-02 13:16:40 +02:00
Bob Weinand 1c74398520 Merge branch 'PHP-7.1' 2016-10-01 19:14:46 +01:00
Nikita Popov ca5bb5fc7a Merge branch 'PHP-7.1' 2016-10-01 19:06:13 +02:00
Bob Weinand 948c1a912a Merge branch 'PHP-7.1' 2016-10-01 10:47:53 +01:00
Michael Orlitzky f3db3a80b4 acinclude.m4: fix krb5-config detection and usage in PHP_SETUP_KERBEROS.
When building with kerberos support (--with-kerberos), a few libraries
and flags need to be added to various parts of the build system. The
most reliable way to get those flags is through the krb5-config
program that ships with both major implementations of kerberos. The
PHP_SETUP_KERBEROS macro in acinclude.m4 attempts to detect
krb5-config, and use it.

However, there's a bug in that macro. The --with-kerberos parameter
accepts a directory where the kerberos libraries can be found. When a
directory is given, it is stored in the PHP_KERBEROS variable. The
following test,

  if test "$PHP_KERBEROS" = "yes" && test -x "$KRB5_CONFIG"; then

thus fails whenever a directory is passed to --with-kerberos, since it
compares a directory name against the string "yes". This causes
krb5-config to go unused, and some unreliable fallback logic is
attempted instead. One consequence of this is that the Heimdal
kerberos implementation cannot be substituted for the MIT one, at
least when a directory is passed to --with-kerberos.

This commit reverses the logic and checks for "$PHP_KERBEROS" != "no".
To confirm that this fixes the issue, one can inspect the "-l" library
flags that get appended to the command-line. On a machine with Heimdal
and the unmodified acinclude.m4, running

  ./configure --with-openssl --with-kerberos=/usr

will log (for example) to config.log,

  configure:18082: checking for krb5-config
  configure:18101: found /usr/bin/krb5-config
  configure:18114: result: /usr/bin/krb5-config
  configure:18450: checking for RAND_egd
  configure:18450: cc ... conftest.c ... -lgssapi_krb5 -lkrb5 ...

which are the library names for the MIT implementation. After patching
acinclude.m4 to negate the logic, the same command on the same machine
outputs (to config.log):

  configure:18450: cc ... conftest.c -lgssapi -lheimntlm ...

These are the correct library names for the Heimdal implementation.

PHP-Bug: 73214
2016-09-30 19:47:20 -04:00
Christoph M. Becker 0e38932d14 Merge branch 'PHP-7.1' 2016-10-01 00:02:05 +02:00
Nikita Popov 9f92bb80e4 Merge branch 'PHP-7.1' 2016-09-30 22:10:32 +02:00
Derick Rethans 14d96d93bd Merge branch 'PHP-7.1' 2016-09-30 20:50:13 +01:00
Derick Rethans c2310be5ed Merge branch 'PHP-7.1' 2016-09-30 20:31:26 +01:00
Christoph M. Becker c60cdac636 Fix overflow checks
We check for the proper sizeofs, cf.
<https://github.com/libgd/libgd/commit/c3cf674c>.
2016-09-30 20:15:15 +02:00
Christoph M. Becker e3b889700b Remove further remains of the old antialiasing support
Curiously, while the external GD claims "just a few vestiges after switching
to the fast, memory-cheap implementation from PHP-gd", that stuff was still
in the bundled GD.
2016-09-30 17:04:37 +02:00
Christoph M. Becker 04400b19fc Remove basically effectless gdImageAABlend()
This had already be done for GD 2.0.26 as part of the improved antialiasing
support (<https://boutell.com/gd/manual2.0.26.html#whatsnew2.0.26>).
2016-09-30 16:12:47 +02:00
Christoph M. Becker f72c27590f Merge branch 'PHP-7.1' 2016-09-30 11:50:57 +02:00
Xinchen Hui ac7285dace Merge branch 'PHP-7.1'
* PHP-7.1:
  Cleanup exception handling after zend_fetch_class_by_name
  fix user filter bug
2016-09-30 16:01:43 +08:00
Joe Watkins 8ee842b0ea Merge branch 'master' of https://github.com/php/php-src 2016-09-30 07:23:19 +01:00
Joe Watkins 160832e311 fix user filter bug 2016-09-30 07:22:07 +01:00
Xinchen Hui 1bc3e1b4c3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Use smart branch
2016-09-30 13:19:39 +08:00
Dmitry Stogov 6a0f73902a Merge branch 'PHP-7.1'
* PHP-7.1:
  Special handling for $php_errormsg and $http_response_header.
2016-09-30 02:42:05 +03:00
Christoph M. Becker 9f128ef5f4 Merge branch 'PHP-7.1' 2016-09-29 14:42:48 +02:00
Anatol Belski e017b940ab Merge branch 'PHP-7.1'
* PHP-7.1:
  sync win32 makefile with makedist zendparse exports
2016-09-29 13:02:54 +02:00
Dmitry Stogov 3e0e404173 Merge branch 'PHP-7.1'
* PHP-7.1:
  zval_dtor_func_for_ptr() -> zval_dtor_func()
2016-09-29 11:00:13 +03:00
Dmitry Stogov 02a6c3a343 Merge branch 'PHP-7.1'
* PHP-7.1:
  Better fix for bug #72854 (avoid extra copy and creating reference to stack variable)
2016-09-29 10:57:39 +03:00
Ferenc Kovacs c7f322181b Merge branch 'PHP-7.1' 2016-09-29 01:02:20 +02:00
Derick Rethans ccc75b4299 Updated to version 2016.7 (2016g) 2016-09-28 23:30:29 +01:00
Derick Rethans 5492d99b0e Empty merge 2016-09-28 23:30:29 +01:00
Nikita Popov 6ec5816899 Merge branch 'PHP-7.1' 2016-09-28 23:23:01 +02:00
Nikita Popov 5bdd732d21 Merge branch 'PHP-7.1' 2016-09-28 22:39:17 +02:00
Nikita Popov 208fcee115 Merge branch 'PHP-7.1' 2016-09-28 21:43:58 +02:00
Anatol Belski 3e7739a2db Merge branch 'PHP-7.1'
* PHP-7.1:
  fix exports which are now referenced by phpdbg
  Update UPGRADING to reflect new reality
  Update NEWS for 7.1.0RC4
  Update NEWS
2016-09-28 21:30:59 +02:00
Anatol Belski cd0f1c8a5e fix exports which are now referenced by phpdbg 2016-09-28 20:06:10 +02:00
Nikita Popov 3d04b5c288 Merge branch 'PHP-7.1' 2016-09-28 19:23:09 +02:00
Nikita Popov e81a5a0d1b Merge branch 'PHP-7.1' 2016-09-28 19:20:30 +02:00
Bob Weinand b1a1902a0f Merge branch 'PHP-7.1' 2016-09-28 13:26:49 +02:00
Nikita Popov 2083007813 Merge branch 'PHP-7.1' 2016-09-27 19:49:01 +02:00
Anatol Belski f115bf19fe Merge branch 'PHP-7.1'
* PHP-7.1:
  prepare next
2016-09-27 12:51:56 +02:00
Adam Baratz 49412756df Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
  Ignore potentially misleading dberr values
2016-09-26 17:14:51 -04:00
Anatol Belski b89592c67a Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2016-09-26 19:56:12 +02:00
Anatol Belski f493bdc7eb Merge branch 'master' of git.php.net:php-src 2016-09-26 18:55:20 +02:00
Anatol Belski 59c490b19f Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73172 parse error: Invalid numeric literal
2016-09-26 18:50:06 +02:00
Christoph M. Becker da69037b5f Merge branch 'PHP-7.1' 2016-09-26 18:45:53 +02:00
Dmitry Stogov 97628da24a Expose information about calls to "fake" closures (created through ReflectionFunction::getClosure), to allow extra specialization of RETRUN opcode handler. 2016-09-26 17:44:28 +03:00
Anatol Belski 558f684e60 Merge branch 'PHP-7.1'
* PHP-7.1:
  update libs_versions.txt
  update libs_versions.txt
2016-09-26 15:42:56 +02:00
Dmitry Stogov 5e8be7df99 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Revert "update NEWS"
2016-09-26 16:17:39 +03:00
Dmitry Stogov d3a790b610 Merge branch 'PHP-7.1'
* PHP-7.1:
  On PHP-7.1 and above we have to check CALL_INFO instead of symbol_table.
2016-09-26 16:16:59 +03:00
Adam Baratz e075e867c9 Revert "update NEWS"
This reverts commit fdbc673f8c.

These changes were applied to earlier versions so these notes shouldn't have
been added here.
2016-09-26 09:15:59 -04:00
Dmitry Stogov 3ba1016a24 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73156 (segfault on undefined function)
2016-09-26 14:18:59 +03:00
Anatol Belski 56ff613974 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add an include path for freetype which is relevant for cmake builds
2016-09-25 20:58:09 +02:00
Nikita Popov ebaba26d39 Merge branch 'PHP-7.1' 2016-09-25 12:39:33 +02:00
Christoph M. Becker 65ee87f20d Refactor imagegammacorrect()
We apply the law `(b**r)**s == b**(r*s)` which holds for all non-negative b
and positive r,s, so a single pow() suffices. Furthermore, we precompute the
gamma, so the refactored code is simpler and faster.
2016-09-25 11:28:39 +02:00
Christoph M. Becker 47f1666f7c Merge branch 'PHP-7.1' 2016-09-25 10:57:23 +02:00
Nikita Popov 8c26762baf Merge branch 'PHP-7.1' 2016-09-24 22:46:43 +02:00
Christoph M. Becker c1bc26c0e2 Merge branch 'PHP-7.1' 2016-09-24 18:22:43 +02:00
Christoph M. Becker 2e1d20a28b Merge branch 'pull-request/2026' 2016-09-24 15:41:55 +02:00
Christoph M. Becker d95b8eaf31 Don't enforce palette conversion when writing GD images
The GD image format is able to handle truecolor images as of libgd 2.0.12
(<https://github.com/libgd/libgd/blob/gd-2.2.3/src/gd_gd.c#L31-L33>).
Therefore we don't need the potentially lossy and time consuming palette
conversion.

This way, imagegd() can also be used to export raw truecolor image data.
2016-09-24 14:46:37 +02:00
Nikita Popov 96305b456b Merge branch 'PHP-7.1' 2016-09-24 13:23:54 +02:00
Christoph M. Becker 68b1d4c299 Merge branch 'PHP-7.1' 2016-09-24 12:52:14 +02:00
Christoph M. Becker 9e7ccba7c9 Merge branch 'PHP-7.1' 2016-09-24 11:42:55 +02:00
Christoph M. Becker cf5c2acbb4 Merge branch 'PHP-7.1' 2016-09-24 11:03:46 +02:00
Christoph M. Becker 0308f96732 Merge branch 'PHP-7.1' 2016-09-24 00:38:04 +02:00
Christoph M. Becker 9482932251 Merge branch 'PHP-7.1' 2016-09-24 00:13:36 +02:00
Adam Baratz fdbc673f8c update NEWS 2016-09-23 17:53:58 -04:00
Anatol Belski 3529f2814d Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Fixed bug #73037 SoapServer reports Bad Request when gzipped"
2016-09-23 18:48:41 +02:00
Anatol Belski 292b64c172 Merge branch 'PHP-7.1'
* PHP-7.1:
  skip this test for now as it seems to have issues running dev server
  Fixed bug #73037 SoapServer reports Bad Request when gzipped
2016-09-23 18:11:15 +02:00
Christoph M. Becker 661dca594b Merge branch 'PHP-7.1' 2016-09-23 16:27:59 +02:00
Anatol Belski f59ea5d6a1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73037 SoapServer reports Bad Request when gzipped
2016-09-23 16:08:09 +02:00
Christoph M. Becker c1eb7d7bf0 Merge branch 'PHP-7.1' 2016-09-23 15:50:25 +02:00
Julien Pauli 983f1e3618 Merge branch 'PHP-7.1'
* PHP-7.1:
  Formatting. Fix possible memory corruption in FPM SHM management
  fix every work call mmap
2016-09-23 13:54:46 +02:00
Christoph M. Becker 4ba11af40f Merge branch 'PHP-7.1' 2016-09-23 13:11:14 +02:00
Dmitry Stogov 18b09733f5 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  update NEWS
  update NEWS
2016-09-23 12:27:15 +03:00
Dmitry Stogov ab1b32f81a Removed redundand code 2016-09-23 12:26:30 +03:00
Anatol Belski 28104137cd Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2016-09-23 11:26:24 +02:00
Bob Weinand a137a1e255 Merge branch 'PHP-7.0' 2016-09-23 03:29:56 +02:00
Anatol Belski a3ca6b09cd Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #73121 Bundled PCRE doesn't compile because JIT isn't supported on s390
2016-09-23 01:55:35 +02:00
Anatol Belski 27c2273ae3 Merge branch 'master' of git.php.net:php-src 2016-09-22 17:05:51 +02:00
Anatol Belski 59c72a6edb Merge branch 'PHP-7.1'
* PHP-7.1:
  update libs versions
  update libs versions
2016-09-22 17:04:06 +02:00
Dmitry Stogov 42db69058a Removed impossible condition 2016-09-22 17:58:45 +03:00
Nikita Popov d02e2605a8 Merge branch 'PHP-7.1' 2016-09-22 12:50:36 +02:00
Nikita Popov 785064af05 Merge branch 'PHP-7.1' 2016-09-22 12:39:00 +02:00
Nikita Popov 328ecb486f Merge branch 'PHP-7.1' 2016-09-22 12:35:29 +02:00
Anatol Belski fc92130aa7 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2016-09-22 12:08:06 +02:00
Anatol Belski d3e08187e0 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2016-09-22 12:06:44 +02:00
Anatol Belski b8ae0f7cb2 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73126 Cannot pass parameter 1 by reference
2016-09-22 11:51:53 +02:00
Adam Baratz 923d69590f Merge branch 'PHP-7.1'
* PHP-7.1:
  Limit size of result set for test query
2016-09-21 16:24:15 -04:00
Adam Baratz 7f7cff9f02 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  PHP bug 67130: nextRowset should work with unfetched rows
2016-09-21 15:15:54 -04:00
Adam Baratz ddab94040b Merge branch 'PHP-7.1'
* PHP-7.1:
  Move dtor before memory freed to avoid invalid read
2016-09-21 12:02:42 -04:00
Xinchen Hui 474c38efda Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed skip
2016-09-21 17:20:48 +08:00
Christoph M. Becker ea52b84635 Merge branch 'PHP-7.1' 2016-09-20 12:18:55 +02:00
Dmitry Stogov 6860ce3ce9 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed inconsistent meaning of zend_startup_module_ex() return value used in zend_hash_apply()
2016-09-20 12:35:14 +03:00
Christoph M. Becker dc59aafa77 Merge branch 'PHP-7.1' 2016-09-20 01:38:28 +02:00
Christoph M. Becker be30c34fb8 Sync with libgd wrt. compilation units
* integrate gd_arc.c into gd.c (as of gd-2.1.0-alpha1)
 * rename gd_color.c to gd_color_match.c (as of gd-2.1.0-alpha1)
 * remove mathmake.c (as of GD_2_0_34RC1)
 * rename xbm.c to gd_xbm.c (as of gd-2.1.0-alpha1)
2016-09-20 00:34:19 +02:00
Christoph M. Becker a14c220fd9 Remove unused compilation unit
gd_arc_f_buggy.c has already been removed in GD 2.0.34RC, so we're also
getting rid of the file.
2016-09-19 23:48:23 +02:00
Christoph M. Becker 932c20fb8d Port variable image resolution support from libgd 2.1.0
The PHP binding for this feature will be submitted as a separate PR.
2016-09-19 19:00:58 +02:00
Christoph M. Becker 77ba2483d9 Port gdImageSetStyle() overflow check from libgd 2.0.29 2016-09-19 16:56:07 +02:00
George Wang 6f7479251b Merge branch 'PHP-7.1' 2016-09-19 10:52:58 -04:00
Julien Pauli f1f3544419 Merge branch 'PHP-7.1'
* PHP-7.1:
  Do not wrap user exception in case of custom JSON serialization
2016-09-19 16:43:17 +02:00
Julien Pauli 502dad39ba Merge branch 'PHP-7.1'
* PHP-7.1:
  Updated NEWS
  Fix 73113 - Segfault with throwing JsonSerializable
2016-09-19 15:25:47 +02:00
Xinchen Hui fa5dda4db0 Merge branch 'PHP-7.1'
* PHP-7.1:
  when needle is short, Sunday algorithm is slower than glibc memchr()
2016-09-18 16:37:20 +08:00
TAKEKOSHI Akishige 15735678c3 when needle is short, Sunday algorithm is slower than glibc memchr() 2016-09-18 15:46:40 +09:00
Nikita Popov 925c251c7b Merge branch 'PHP-7.1' 2016-09-17 22:57:07 +02:00
Anatol Belski f3032fe359 fix argon2 lib names 2016-09-17 13:10:01 +02:00
Christoph M. Becker e1a3541ef8 Merge branch 'PHP-7.1' 2016-09-17 00:02:30 +02:00
Nikita Popov 1a94b24ca5 Use zend_string_free instead of efree
Fingers crossed I didn't break the build.
2016-09-16 21:30:26 +02:00
Nikita Popov dd7affa9ff Merge branch 'PHP-7.1' 2016-09-16 21:06:52 +02:00
Xinchen Hui bc61ba1133 Merge branch 'PHP-7.1'
* PHP-7.1:
  Updte NEWS
  Fixed bug #72505 (readfile() mangles files larger than 2G)
2016-09-16 20:56:55 +08:00
Dmitry Stogov a05cdd03ff Merge branch 'PHP-7.1'
* PHP-7.1:
  Prevent optimization of huge functions.
2016-09-16 14:03:56 +03:00
Christoph M. Becker 3c2de0a534 Merge branch 'PHP-7.1' 2016-09-16 11:54:18 +02:00
Remi Collet 22127b7502 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test (32bits)
2016-09-15 15:36:47 +02:00
Remi Collet 4cc2b7efa0 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix ZTS build
2016-09-15 13:30:08 +02:00
Christoph M. Becker ba2b50d097 Port optimization from external libgd
The functionality is identical, but we save two function calls for partially
transparent pixels.
2016-09-15 13:24:43 +02:00
Christoph M. Becker 04b166a6c5 Removed unused function
The earlier gdAlphaBlend() has been replaced with commit 1286d9e2, and has
been renamed to gdAlphaBlendOld(). The old function is, however, not used,
and after more than 9 years we're pretty sure we won't need it anymore.
2016-09-15 13:04:30 +02:00
Ferenc Kovacs d6f9c49e89 Merge branch 'PHP-7.1' 2016-09-15 11:40:22 +02:00
Dmitry Stogov 902e9ad014 Special handling for $php_errormsg and $http_response_header. 2016-09-15 03:07:31 +03:00
Christoph M. Becker fca15a6b75 Merge branch 'PHP-7.1' 2016-09-15 01:08:29 +02:00
Yasuo Ohgaki 838eb6398e Fix bug number in NEWS 2016-09-15 06:57:29 +09:00
Yasuo Ohgaki 6e530502d2 Implemented Bug #68776 mail() does not have mail header injection prevention for additional headers
(PR 2060)
2016-09-15 06:43:57 +09:00
Christoph M. Becker dbdc7cb057 Remove unnecessary #ifdef
The bundled libgd also defines gdImageAlphaBlending(), and this is the
preferred way to set the alphaBlendingFlag member anyway.
2016-09-14 23:38:02 +02:00
Christoph M. Becker 10fe6afc35 Merge branch 'PHP-7.1' 2016-09-14 20:03:42 +02:00
Michael Orlitzky 672178ff2c Ship AX_CHECK_COMPILE_FLAG in a separate file to preserve its license.
In commit 086f9ad, I added a new macro AX_CHECK_COMPILE_FLAG from the
autoconf archive. Jakub Zelenka pointed out that the license of the
macro (GPL-3+ with exception) does not agree with the license of PHP
itself (PHP-3.01). We should therefore ship the macro in a separate
file with its own license header. That is allowed and is done for
many other files in the PHP repository.

This commit adds a new top-level "m4" directory and places the
upstream ax_check_compile_flag.m4 file in it. The macro is no longer
inlined; instead, our acinclude.m4 now includes the aforementioned
file with m4_include.

PHP-Bug: 73062
Pull-Request: 2124
2016-09-14 13:21:19 -04:00
Adam Baratz 0c7f62a37b Merge branch 'PHP-7.1'
* PHP-7.1:
  Skip test for early TDS versions
2016-09-14 11:07:57 -04:00
Christoph M. Becker f81f40fbd3 Remove unused code which is also not there in external libgd 2016-09-14 17:01:41 +02:00
Christoph M. Becker aad54b7c5f Merge branch 'PHP-7.1' 2016-09-14 16:11:04 +02:00
Jakub Zelenka 7d71a0a608 Merge branch 'PHP-7.1' 2016-09-14 12:35:53 +01:00
Christoph M. Becker 6053987bc2 Merge branch 'PHP-7.1' 2016-09-14 12:43:59 +02:00
Anatol Belski e3ba3d703b Merge branch 'PHP-7.1'
* PHP-7.1:
  fix erroneous resource destruction
  Sync NEWS
2016-09-14 12:09:58 +02:00
Christoph M. Becker 494c5dc77a Remove effectless --enable-gd-native-ttf and USE_GD_IMGSTRTTF
--enable-gd-native-ttf did set USE_GD_IMGSTRTTF, which is otherwise unused
as of commit 8a90aad3 (i.e. PHP 5.5.0), at least.
2016-09-14 01:01:19 +02:00
Adam Baratz 6dd4efb70a Merge branch 'PHP-7.1'
* PHP-7.1:
  Add special case for earlier versions of TDS
  Adjust error formatting so ext/pdo/tests/bug_43130.phpt passes with pdo_dblib
  Free error and message strings when cleaning up PDO instances that use pdo_dblib
  Add common suite
2016-09-13 17:16:46 -04:00
Adam Baratz 5f534e09c3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Explicitly allow NULL values for dblib compatibility
  Add dblib-specific query
  Remove test cases don't test distinct behavior
2016-09-13 16:39:29 -04:00
Adam Baratz 0b75b3761b Merge branch 'PHP-7.1'
* PHP-7.1:
  Handle SQLDECIMAL/SQLNUMERIC types, which are used by later TDS versions
2016-09-13 16:34:27 -04:00
Adam Baratz 033018890d Merge branch 'PHP-7.1'
* PHP-7.1:
  Allow \PDO::setAttribute() to set pdo_dblib query timeouts
2016-09-13 16:19:25 -04:00
Jakub Zelenka 539463395c Merge branch 'PHP-7.1' 2016-09-13 18:28:56 +01:00
Dmitry Stogov c7149b92d7 Micro-optimization 2016-09-13 17:10:30 +03:00
Christoph M. Becker 4781980c85 Merge branch 'PHP-7.1' 2016-09-13 16:00:36 +02:00
Anatol Belski 97907b0281 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2016-09-13 15:56:37 +02:00
Anatol Belski 0b5aaeefc3 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  upgrade bundled sqlite to 3.14.2
2016-09-13 15:47:21 +02:00
Anatol Belski b1cd3ade55 Merge branch 'PHP-7.1'
* PHP-7.1:
  add test for bug #73068
2016-09-13 15:31:02 +02:00
Christoph M. Becker 4cec961170 Merge branch 'PHP-7.1' 2016-09-13 13:40:48 +02:00
Anatol Belski 537a335345 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2016-09-13 12:35:22 +02:00
Anatol Belski ba086fbb41 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test portability
2016-09-13 12:11:11 +02:00
Anatol Belski c97129f8f5 Merge branch 'PHP-7.1'
* PHP-7.1:
  pick up the safe alloc pieces from 19866fb76c
2016-09-13 11:51:43 +02:00
Anatol Belski 4dd0849465 Merge branch 'PHP-7.1'
* PHP-7.1:
  missed semicolon
  fix C89 conformity
  Fix bug #72293 - Heap overflow in mysqlnd related to BIT fields
  Fix test
  Fix bug #73065: Out-Of-Bounds Read in php_wddx_push_element of wddx.c
  Fix bug #73035 (Out of bound when verify signature of tar phar in phar_parse_tarfile)
  Fix bug #73052 - Memory Corruption in During Deserialized-object Destruction
  Add check in fgetcsv in case sizeof(unit) != sizeof(size_t)
  Fix bug #73029 - Missing type check when unserializing SplArray
  Fix bug #72860: wddx_deserialize use-after-free
  Also fix overflow in wordwrap
  Fix bug #73007: add locale length check
  Add more checks for int overflow
  Fix bug #72928 - Out of bound when verify signature of zip phar in phar_parse_zipfile
  Fix various int size overflows.
2016-09-13 10:58:22 +02:00
Stanislav Malyshev 9cb5b7575b Merge branch 'PHP-7.1'
* PHP-7.1: (23 commits)
  Fix bug #72293 - Heap overflow in mysqlnd related to BIT fields
  Fix bug #72293 - Heap overflow in mysqlnd related to BIT fields
  I don't think 8cceb012a7 is needed
  Fix test
  Add check in fgetcsv in case sizeof(unit) != sizeof(size_t)
  Fix bug #73065: Out-Of-Bounds Read in php_wddx_push_element of wddx.c
  Fix bug #73035 (Out of bound when verify signature of tar phar in phar_parse_tarfile)
  Fix bug #73052 - Memory Corruption in During Deserialized-object Destruction
  Fix bug #73029 - Missing type check when unserializing SplArray
  Fix bug #72860: wddx_deserialize use-after-free
  Fix bug #73007: add locale length check
  Fix bug #72928 - Out of bound when verify signature of zip phar in phar_parse_zipfile
  sync NEWS
  Revert "Merge branch 'PHP-5.6' into PHP-7.0"
  Merge branch 'PHP-5.6' into PHP-7.0
  Merge branch 'PHP-5.6' into PHP-7.0
  Revert "Revert "Merge branch 'PHP-5.6' into PHP-7.0""
  fix version
  sync NEWS
  Fix bug #72957
  ...
2016-09-12 21:11:01 -07:00
Xinchen Hui 40f0184564 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #73067 (__debugInfo crashes when throwing an exception)
2016-09-13 10:59:41 +08:00
Adam Baratz 409ff32463 Merge branch 'PHP-7.0'
* PHP-7.0:
  Never quote values as raw binary data
2016-09-12 17:36:33 -04:00
Christoph M. Becker abb90fbc34 Refactor according to libgd
Cf. <https://github.com/libgd/libgd/commit/a3016ad0>.
2016-09-12 22:37:32 +02:00
Christoph M. Becker 01e798fa36 Merge branch 'PHP-7.1' 2016-09-12 13:45:26 +02:00
Christoph M. Becker e3e4932040 Merge branch 'PHP-7.1' 2016-09-12 12:50:45 +02:00
Christoph M. Becker ca5cfacffc Merge branch 'PHP-7.1' 2016-09-12 00:08:16 +02:00
Andrea Faulds 3cc9090101 Remove remaining zpp fallback code (master branch)
Follow-up to d690014bf3
2016-09-11 22:50:24 +01:00
Andrea Faulds 695176458f Merge branch 'PHP-7.1' 2016-09-11 22:46:48 +01:00
Christoph M. Becker 7b21230663 Merge branch 'PHP-7.1' 2016-09-11 23:08:44 +02:00
Christoph M. Becker f425a0d234 Merge branch 'PHP-7.1' 2016-09-11 18:44:59 +02:00
Christoph M. Becker 30d2f99526 Merge branch 'PHP-7.1' 2016-09-11 14:57:17 +02:00
Christoph M. Becker e878930c94 Merge branch 'PHP-7.1' 2016-09-11 14:20:13 +02:00
Anatol Belski 3d405fdc6b Merge branch 'PHP-7.1'
* PHP-7.1:
  fix bug category
  update NEWS
2016-09-11 13:21:28 +02:00
Christoph M. Becker ec09c790c5 Merge branch 'PHP-7.1' 2016-09-11 00:19:05 +02:00
Michael Orlitzky 086f9adc4d Use AX_CHECK_COMPILE_FLAG macro to check for -fvisibility=hidden support.
The existing check for -fvisibility=hidden support came from a time
when only GCC had it. The test for it used a regular expression to
parse the GCC major version from the output of `$CC --version`, and
would look for version 4 or greater.

The regular expression used to accomplish this is doomed, however,
since GCC can be built with a custom version string
(--with-pkgversion). Moreover, the $CC variable can be set to
something that confuses it but is otherwise valid. For example, it
would fail with CC=x86_64-pc-linux-gnu-gcc.

This commit fixes two aspects of the feature test. First, it no longer
limits the test to GCC. At least clang now supports the flag, and can
make use of it when GCC is its backend. Second, support for the flag
is tested directly, by attempting to pass it to the compiler, rather
than by parsing its version string. The latter is accomplished with a
new macro, AX_CHECK_COMPILE_FLAG, taken from the autoconf archive.
The new macro has been added to acinclude.m4, and the test stanza in
configure.in has been replaced with a single call to the new macro.

Note that the new macro calls AC_PREREQ(2.64) -- a more stringent
requirement than the existing AC_PREREQ(2.59) in configure.in. The
difference represents about six years of autoconf releases, from v2.59
in December of 2003 to v2.64 in July of 2009.

This problem was noticed by Brian Evans, who also suggested the fix.

PHP-Bug: 73062
2016-09-10 11:31:49 -04:00
Anatol Belski 6f793669b7 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
  update NEWS
2016-09-10 11:05:19 +02:00
Anatol Belski 7eb38de04b Merge branch 'PHP-7.1'
* PHP-7.1:
  Bug #73058 crypt broken when salt is 'too' long
2016-09-10 02:50:12 +02:00
Nikita Popov 9a0bb40670 Remove handling for defined() and strlen() in opcache
These are converted by the compiler into DEFINED and STRLEN, no
need to handle the function forms.
2016-09-09 17:11:25 +02:00
Xinchen Hui 3a9d45a12b Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
2016-09-09 22:41:42 +08:00
Xinchen Hui 9862c8d847 Merge branch 'PHP-7.1'
* PHP-7.1:
  Don't optimize (string) cast on arrays
2016-09-09 22:41:17 +08:00
Xinchen Hui 1ecdca1f3a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed function info
2016-09-09 22:40:26 +08:00
Nikita Popov c7f83223bb Merge branch 'PHP-7.1' 2016-09-09 16:39:06 +02:00
Christoph M. Becker 04fb35172b Merge branch 'PHP-7.1' 2016-09-09 16:33:17 +02:00
Nikita Popov d1535da7e6 Merge branch 'PHP-7.1' 2016-09-09 16:03:21 +02:00
Nikita Popov a499cfc9cc Merge branch 'PHP-7.1' 2016-09-09 15:47:04 +02:00
Nikita Popov 53b3ef54d2 Merge branch 'PHP-7.1' 2016-09-09 15:31:54 +02:00
Christoph M. Becker 9c7ba794cf Merge branch 'PHP-7.1' 2016-09-09 14:48:27 +02:00
Christoph M. Becker 6baaa2bb1b Merge branch 'PHP-7.1' 2016-09-09 12:58:14 +02:00
Yasuo Ohgaki ce61f5e5d4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed Bug #68015 Session does not report invalid uid for files save handler
2016-09-09 11:40:25 +09:00
Christoph M. Becker fd5f0e49cf Fix broken test case
Patch provided by Charles R. Portwood II.
2016-09-08 20:04:10 +02:00
Christoph M. Becker 8bea911f79 Update UPGRADING wrt. [RFC]: Add Argon2 to password_* 2016-09-08 19:59:21 +02:00
Christoph M. Becker 6cd06d34d8 Fix skip messages 2016-09-08 18:55:40 +02:00
Anatol Belski a5c2940fe3 Merge branch 'master' of git.php.net:php-src 2016-09-08 17:53:21 +02:00
Anatol Belski bb89f75f07 Merge branch 'PHP-7.1'
* PHP-7.1:
  backport 59444347 and 3d7343f6
2016-09-08 17:51:24 +02:00
Christoph M. Becker 1305fdaa3b Merge branch 'pull-request/1997' 2016-09-08 17:00:07 +02:00
Yasuo Ohgaki a85024ff91 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug26639.phpt
2016-09-08 14:11:37 +09:00
Yasuo Ohgaki 8c26b0a6d2 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix Bug #72992 mbstring.internal_encoding doesn't inherit default_charset
2016-09-08 13:33:07 +09:00
Dmitry Stogov 8cce8172af Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed type inference bug
2016-09-07 11:36:44 +03:00
Nikita Popov 5fccf64956 Merge branch 'PHP-7.1' 2016-09-06 22:20:25 +02:00
Christoph M. Becker fcc6f2df59 Merge branch 'PHP-7.1' 2016-09-06 14:15:05 +02:00
Nikita Popov 2b71c98b3b Merge branch 'PHP-7.1' 2016-09-06 13:00:39 +02:00
Christoph M. Becker dec8c7e9d8 Merge branch 'PHP-7.1' 2016-09-06 12:20:20 +02:00
Yasuo Ohgaki 98bc11b0cd Fix memleak. 2016-09-06 18:34:52 +09:00
Oleg Efimov ba65b37b26 Allow to configure php-fpm slow log trace callers limit 2016-09-06 12:27:57 +03:00
Yasuo Ohgaki 96e59a200e Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed Bug #66964 mb_convert_variables() cannot detect recursion
2016-09-06 18:22:04 +09:00
Yasuo Ohgaki 2605ceeaca Added array parameter support to mb_convert_encoding() 2016-09-06 18:20:24 +09:00
Stanislav Malyshev ddce37b199 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #72785 - allowed_classes only applies to outermost unserialize()
2016-09-05 19:57:49 -07:00
Christoph M. Becker b15de5c0dc Merge branch 'PHP-7.1' 2016-09-06 01:28:59 +02:00
Andrea Faulds 642526cc4e Merge branch 'PHP-7.1' 2016-09-05 22:13:42 +01:00
Julien Pauli d4beaea4a9 Merge branch 'PHP-7.1'
* PHP-7.1:
  Updated NEWS
  Fixes #72590: Opcache restart with kill_all_lockers does not work
2016-09-05 17:04:31 +02:00
Nikita Popov daa2b75c76 Fix some sizeof(zend_long) > sizeof(size_t) issues
Fix a couple of mistakes that are only relevant if
sizeof(zend_long) > sizeof(size_t).

* Fix cast order in string offset check: Negation should happen
  after the (zend_long) cast, otherwise sign extension does not
  occur.
* Use Z_UL in zend_inference.
* Use aligned size for HT_USED_SIZE in zend_persist: The issue is
  that on x86-32 uint64_t is considered to be 4-aligned, so the
  alignment assumption does not hold.
2016-09-05 15:33:02 +02:00
David Walker 750f3d3f65 Improve getaddrinfo implementation
* Fix some leaks
* Improve some comparisons and casts
* Raise a notice when an unknown hint is provided
2016-09-05 14:27:31 +02:00
Nikita Popov b8b47ed49c Merge branch 'PHP-7.1'
[ci skip]
2016-09-05 14:23:54 +02:00
Christoph M. Becker cc8691cc4b Update UPGRADING wrt. commit c4fe264b 2016-09-05 11:27:46 +02:00
Julien Pauli 345a032769 Merge branch 'PHP-7.1'
* PHP-7.1:
  Updated NEWS
  Updated NEWS
  Updated NEWS
2016-09-05 10:19:29 +02:00
Julien Pauli 2fff8196a4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix #72972, Bad filter for the flags FILTER_FLAG_NO_RES_RANGE and FILTER_FLAG_NO_PRIV_RANGE
2016-09-05 10:13:31 +02:00
Stanislav Malyshev 9470cdd4c3 Merge branch 'pull-request/1864'
* pull-request/1864:
  Tiny tweak for `$header` initialization, it should always be an array
  Minor tweaks
2016-09-05 00:51:01 -07:00
Stanislav Malyshev 28bc2d797e Merge branch 'pull-request/2025'
* pull-request/2025:
  Change the name of the second parameter of image writer functions
2016-09-05 00:44:01 -07:00
Stanislav Malyshev 6e7d4fdde4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Change the name of the second parameter of image writer functions
2016-09-05 00:43:52 -07:00
Stanislav Malyshev bd81216768 Merge branch 'pull-request/1958'
* pull-request/1958:
  Added editorconfig file
2016-09-05 00:41:57 -07:00
Stanislav Malyshev 3e69fa2ad1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Added editorconfig file
2016-09-05 00:41:29 -07:00
Stanislav Malyshev 7abd0cada0 Merge branch 'pull-request/2018'
* pull-request/2018:
  Implement #47456: Missing PCRE option 'J'
2016-09-05 00:39:46 -07:00
Stanislav Malyshev 2213c43e17 Merge branch 'PHP-7.1'
* PHP-7.1:
  Implement #47456: Missing PCRE option 'J'
2016-09-05 00:39:06 -07:00
Stanislav Malyshev 20edfee907 Merge branch 'PHP-7.1'
* PHP-7.1:
  Recognize TDS versions 7.3 and 7.4
2016-09-05 00:29:24 -07:00
Stanislav Malyshev a482739cc0 Merge branch 'pull-request/2095'
* pull-request/2095:
  Use integer placeholders, since values can vary with the TDS version
2016-09-05 00:19:59 -07:00
Stanislav Malyshev c9b7d0d65b Merge branch 'PHP-7.1'
* PHP-7.1:
  Use integer placeholders, since values can vary with the TDS version
2016-09-05 00:19:39 -07:00
Stanislav Malyshev 013425fa37 Merge branch 'PHP-7.1'
* PHP-7.1:
  phpdbg: couple of network function return checks. Possible overflow when copy the socket_path configuration.
2016-09-04 23:24:36 -07:00
Stanislav Malyshev f856cdb32b Merge branch 'PHP-7.1'
* PHP-7.1:
  Same issue as #72926 in another place.
2016-09-04 20:59:00 -07:00
Stanislav Malyshev fca8c2772b Merge branch 'PHP-7.1'
* PHP-7.1:
  Sync fix for bug #72910 with current upstream
2016-09-04 19:16:05 -07:00
Christoph M. Becker 880c13cd03 Merge branch 'PHP-7.1' 2016-09-04 16:53:45 +02:00
Nikita Popov c0e9ecd558 Merge branch 'PHP-7.1' 2016-09-04 14:28:47 +02:00
Nikita Popov e0e5063173 Drop some pieces of commented-out code 2016-09-04 12:56:06 +02:00
Nikita Popov bbdff7ea24 Sync convert_to_null with VM cast behavior
Do not call cast_object, this is useless and we haven't been doing
it in the VM as of 7.0.
2016-09-04 12:36:16 +02:00
Nikita Popov bbe0cca221 Drop SXE_ELEMENT_BY_NAME
Effectively commented out code
2016-09-04 12:31:06 +02:00
Nikita Popov f1fc531e74 Drop unnecessary macro redefinition 2016-09-04 12:28:00 +02:00
Nikita Popov 57180cd306 Merge branch 'PHP-7.1' 2016-09-03 23:31:20 +02:00
Christoph M. Becker 5b011b0d8a Remove support for ORIGINAL_LIB_JPEG
This had already been removed in GD 2.1.0, and wouldn't compile anyway.
2016-09-03 21:33:40 +02:00
Christoph M. Becker ee86b5c254 Merge branch 'PHP-7.1' 2016-09-03 20:11:15 +02:00
Anatol Belski 950a4ef0e9 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix leak and error check order
2016-09-03 17:05:28 +02:00
Christoph M. Becker af69021f67 Merge branch 'PHP-7.1' 2016-09-03 14:01:39 +02:00
Christoph M. Becker 2f6d3e914e Merge branch 'PHP-7.1' 2016-09-03 12:01:15 +02:00
Christoph M. Becker 2c91684394 Replace dirname(__FILE__) with __DIR__ in tests 2016-09-03 00:56:09 +02:00
Christoph M. Becker f2ee4dec99 Merge branch 'PHP-7.1' 2016-09-03 00:41:33 +02:00
Anatol Belski 54ef995ed6 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix double free
2016-09-03 00:06:36 +02:00
Anatol Belski 5a0b45ab10 Merge branch 'PHP-7.1'
* PHP-7.1:
  improve fix
  fix leak
  fix leak
2016-09-02 23:55:22 +02:00
Christoph M. Becker 272ba2b738 Update UPGRADING wrt. RFC: Implement socket_getaddrinfo() 2016-09-02 20:19:09 +02:00
Christoph M. Becker 3a2286422e Merge branch 'pull-request/2078' 2016-09-02 20:12:55 +02:00
Anatol Belski 8bf4eb461a Merge branch 'PHP-7.1'
* PHP-7.1:
  Add skipifs to some mb path tests
  fix leak
  fix mem leak
2016-09-02 19:47:08 +02:00
Christoph M. Becker 0bf11d1e71 Implement FAST_ZPP support for imagecolorat() and imagesetpixel()
These functions may be used in tight loops to do image manipulation in
userland. Using FAST_ZPP is supposed to bring considerable performance
improvements in this case; we've been able to measure up to 25%.
2016-09-02 19:06:26 +02:00
Christoph M. Becker a565f06d89 Merge branch 'PHP-7.1' 2016-09-02 18:00:06 +02:00
Julien Pauli 94ed034827 Revert "Fixes #52384: Adds parameter value to dumped output. Also adds output flag indicating presence of PDO::PARAM_INPUT_OUTPUT."
This reverts commit 04115b4e3f.
2016-09-02 17:57:17 +02:00
Julien Pauli 0dbcdceb28 Revert "PHP 7 compat"
This reverts commit 24a57ee03b.
2016-09-02 17:57:09 +02:00
Christoph M. Becker 67153d644d Fix typo 2016-09-02 17:34:11 +02:00
Julien Pauli 85ff5f9572 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix warning about sign-mismatch comparisons
2016-09-02 17:02:43 +02:00
Julien Pauli 24a57ee03b PHP 7 compat 2016-09-02 17:02:39 +02:00
Bishop Bettini 04115b4e3f Fixes #52384: Adds parameter value to dumped output. Also adds output flag indicating presence of PDO::PARAM_INPUT_OUTPUT.
Conflicts:
	ext/pdo/pdo_stmt.c
2016-09-02 17:02:39 +02:00
Stanislav Malyshev 3a53194da9 Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Fix closure tests using ReflectionType::__toString()"
  Revert "Append \ to class name returned from ReflectionType::__toString()"
2016-09-01 23:29:45 -07:00
Stanislav Malyshev 9ca79ad832 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix bug #72910
  5.6.27 will be next
2016-09-01 23:29:34 -07:00
Yasuo Ohgaki b651b96738 Allow array input for mb_check_encoding() 2016-09-02 14:18:34 +09:00
Anatol Belski edc4de58b7 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix useless assignment
  avoid needless function call
  remove useless assignment
  remove unused assignment
  rewrite the getcwd part
  fix leak
  fix unused assignment
  remove duplicated symbol
2016-09-01 23:54:33 +02:00
Remi Collet 72ac143f9f Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert 	39587c4817 	8b7f594a2b Because of 	24fdffdacb
2016-09-01 15:23:35 +02:00
Nikita Popov b25d6b3c8a Merge branch 'PHP-7.1' 2016-09-01 13:01:58 +02:00
Nikita Popov 0ac3b46212 Merge branch 'PHP-7.1'
[skip ci]
2016-09-01 12:58:41 +02:00
Xinchen Hui 4b1bc2bd29 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #72982 (Memory leak in zend_accel_blacklist_update_regexp() function)
  Update NEWS and UPGRADING
  Revert "Revert "Implement RFC Add session_gc() https://wiki.php.net/rfc/session-gc""
  Revert "Revert "Merge RFC https://wiki.php.net/rfc/session-create-id""
  Revert "Revert "Add tests""
  Revert "Fix NEWS"
2016-09-01 12:11:39 +08:00
Yasuo Ohgaki a3c162665d Revert "Update UPGRADING"
This reverts commit 567f19dd89.
2016-09-01 10:42:03 +09:00
Yasuo Ohgaki 991d66052b Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #72940 properly. Reduce needless branches
2016-09-01 08:10:35 +09:00
Yasuo Ohgaki 567f19dd89 Update UPGRADING 2016-09-01 05:56:09 +09:00
Davey Shafik 6b16e8f3c1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS for 7.1.0RC2
2016-08-31 10:41:10 -07:00
Christoph M. Becker b51dca5eb4 Merge branch 'PHP-7.1' 2016-08-31 16:52:37 +02:00
Christoph M. Becker 3877e127f9 Merge branch 'PHP-7.1' 2016-08-31 14:55:58 +02:00
Christoph M. Becker b0eeb33f73 Merge branch 'PHP-7.1' 2016-08-31 14:33:43 +02:00
Yasuo Ohgaki 61769e275b Merge branch 'PHP-7.1'
* PHP-7.1:
  Add tests
2016-08-31 21:03:38 +09:00
Yasuo Ohgaki ef8004db3d Merge branch 'PHP-7.1'
* PHP-7.1:
  Merge RFC https://wiki.php.net/rfc/session-create-id
2016-08-31 20:34:43 +09:00
Anatol Belski 1dac6c7b96 Merge branch 'PHP-7.1'
* PHP-7.1:
  sync tests
2016-08-31 12:27:14 +02:00
Anatol Belski 40b49a7f9e Merge branch 'PHP-7.1'
* PHP-7.1:
  add more defs for resource alloc/dealloc
  add yet one define
2016-08-31 12:11:19 +02:00
Anatol Belski c563db6b44 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Implement \ArgumentCountError exception
2016-08-31 12:07:38 +02:00
Nikita Popov abe3ce511f Merge branch 'PHP-7.1' 2016-08-30 18:07:28 +02:00
Nikita Popov 358c9e545f Merge branch 'PHP-7.1' 2016-08-30 17:21:42 +02:00
Christoph M. Becker 4c75b00025 Merge branch 'PHP-7.1' 2016-08-30 15:13:30 +02:00
Anatol Belski 4562ace9d6 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix typo
  prepare for next
2016-08-30 14:16:56 +02:00
Nikita Popov 10ca6884da Merge branch 'PHP-7.1' 2016-08-30 13:45:58 +02:00
Nikita Popov 7782fd1717 Merge branch 'PHP-7.1' 2016-08-30 13:06:38 +02:00
Nikita Popov f90f1f9cf1 Merge branch 'PHP-7.1' 2016-08-30 10:56:25 +02:00
Yasuo Ohgaki 60ec8dcc11 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72940 SID always return "name=ID", even if session cookie exist
2016-08-30 15:59:53 +09:00
Christoph M. Becker 2d72fcc5cd Merge branch 'PHP-7.1' 2016-08-30 02:28:37 +02:00
Christoph M. Becker af9cde0f71 Merge branch 'PHP-7.1' 2016-08-30 01:19:54 +02:00
Anatol Belski 41b502c8c7 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix HANDLE leak
2016-08-29 21:49:28 +02:00
Anatol Belski 9a7976526b Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
  update NEWS
2016-08-29 21:26:36 +02:00
Anatol Belski 2a71140d54 Merge branch 'PHP-7.1'
* PHP-7.1:
  ensure null termination
2016-08-29 21:16:24 +02:00
Anatol Belski dc8be198cf Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72703 Out of bounds global memory read in BF_crypt triggered by password_verify
2016-08-29 20:35:16 +02:00
Dmitry Stogov 73d497a865 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  fix double free
2016-08-29 20:37:15 +03:00
Dmitry Stogov 8d533934e3 Merge branch 'PHP-7.1'
* PHP-7.1:
  Allow optional splitting of basic blocks at RECV/RECV_INIT opcodes.
2016-08-29 20:36:08 +03:00
Anatol Belski 7632610926 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix double free
2016-08-29 19:34:43 +02:00
Anatol Belski d3321e0370 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix double free
2016-08-29 18:58:15 +02:00
Anatol Belski f04687da84 Merge branch 'PHP-7.1'
* PHP-7.1:
  add note to UPGRADING.INTERNALS
2016-08-29 18:38:23 +02:00
Anatol Belski 5101bd026c Merge branch 'PHP-7.1'
* PHP-7.1:
  extend help message
2016-08-29 18:25:38 +02:00
Anatol Belski 8bb2dd8027 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix leak
2016-08-29 18:08:31 +02:00
Anatol Belski 90c38299fd Merge branch 'PHP-7.1'
* PHP-7.1:
  fix search path
  support also cppcheck for static analyze
2016-08-29 17:47:21 +02:00
Anatol Belski 646d3f66a3 Merge branch 'PHP-7.1'
* PHP-7.1:
  add error check and fix leak
  fix leak
2016-08-29 17:26:41 +02:00
Jakub Zelenka 9580f5da56 Merge branch 'PHP-7.1' 2016-08-29 15:19:10 +01:00
Jakub Zelenka a2a0c0de69 Merge branch 'PHP-7.1' 2016-08-29 15:03:14 +01:00
Anatol Belski 1e3012281f Merge branch 'PHP-7.1'
* PHP-7.1:
  fix leak
2016-08-29 15:44:59 +02:00
Anatol Belski 1ac5564c65 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix possible memory leak
2016-08-29 15:30:49 +02:00
Anatol Belski 3e938cd8a9 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix dealloc mismatch
2016-08-29 13:49:20 +02:00
Dmitry Stogov 6318c80347 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72944 (Null pointer deref in zval_delref_p).
2016-08-29 12:15:37 +03:00
George Wang 698b88fb17 Merge branch 'PHP-7.1' 2016-08-28 22:32:42 -04:00
Yasuo Ohgaki 07d1f0c912 Merge branch 'PHP-7.1'
* PHP-7.1:
  Implement RFC Add session_gc() https://wiki.php.net/rfc/session-gc
2016-08-29 05:58:33 +09:00
Anatol Belski d2ac2cd40d Merge branch 'PHP-7.1'
* PHP-7.1:
  extend help msg
  fix leak
  extend clang vs compat options
  fix leak
  integrate clang analyzer
2016-08-28 21:20:31 +02:00
Xinchen Hui 727571c630 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72936 (Zend API's zend_symtable_str_update() asserts key should end with '\0')
2016-08-29 00:11:09 +08:00
Charles R. Portwood II 35a74b9e4a Fixing typo in tests 2016-08-27 21:57:09 -05:00
Anatol Belski f407707bd6 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix leak
  add parentheses
  fix clang compat
  fix leak
2016-08-27 22:30:06 +02:00
Christoph M. Becker 534598894c Merge branch 'PHP-7.1' 2016-08-27 01:32:23 +02:00
Anatol Belski e6b9446301 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix leak
2016-08-26 22:05:50 +02:00
Christoph M. Becker 22a88d5e9a Merge branch 'PHP-7.1' 2016-08-26 18:52:37 +02:00
Xinchen Hui 5ac49731cf Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72943 (assign_dim on string doesn't reset hval)
2016-08-26 18:33:10 +08:00
Anatol Belski 9950485d32 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
  pdo_dblib: stringify uniqidentifier field
2016-08-25 19:46:16 +02:00
Christoph M. Becker f2ed298506 Merge branch 'PHP-7.1' 2016-08-25 18:48:05 +02:00
Anatol Belski 8adddabbeb Merge branch 'PHP-7.1'
* PHP-7.1:
  fix check for args by ref
2016-08-25 18:10:18 +02:00
Christoph M. Becker fe13ee05bd Merge branch 'PHP-7.1' 2016-08-25 16:55:46 +02:00
Anatol Belski 7b44d60dd6 Merge branch 'PHP-7.1'
* PHP-7.1:
  backport relevant part from bug #72858 patch in 7.0
2016-08-25 12:54:05 +02:00
Anatol Belski 36f2c8249b Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  Fixed bug #72922 COM called from PHP does not return out parameters
2016-08-25 12:14:54 +02:00
Xinchen Hui aefd3e4d8b Merge branch 'PHP-7.1'
* PHP-7.1:
  Remove redundant \t
2016-08-25 13:29:55 +08:00
Christoph M. Becker 502fe5d0e5 Merge branch 'pull-request/2094' 2016-08-25 01:44:38 +02:00
Adam Baratz 037ddd0541 Use integer placeholders, since values can vary with the TDS version 2016-08-24 18:44:55 -04:00
Adam Baratz 0785a5e6dc Fix message typos in PDO tests 2016-08-24 18:39:37 -04:00
David Walker d59af68fd9 Make sure to copy the right amount of mem over. IPv6 can be larger than struct sockaddr 2016-08-24 11:22:05 -06:00
Aaron Piotrowski 6dccadaac6 Remove accidental NEWS and UPGRADING entries
Merge mistake from PHP-7.1.
2016-08-23 11:49:57 -05:00
Bob Weinand 600bf56d88 Merge branch 'PHP-7.1' 2016-08-23 18:44:08 +02:00
Dmitry Stogov 7edaed6fba Merge branch 'PHP-7.1'
* PHP-7.1:
  op_arrays may be optimized independetly and "script" might be NULL
2016-08-23 13:18:51 +03:00
Dmitry Stogov 6e7c37228f Merge branch 'PHP-7.1'
* PHP-7.1:
  Don't keep dangling pointers.
2016-08-23 12:59:23 +03:00
Dmitry Stogov 0e3e3ec7b6 Merge branch 'PHP-7.1'
* PHP-7.1:
  Added tests and NEWS entry Fixed bug #72598 (Reference is lost after array_slice())
2016-08-23 12:16:36 +03:00
Dmitry Stogov c1e0c665f5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Run ext/opcache/tests/*.phpt by default
2016-08-23 11:51:52 +03:00
Dmitry Stogov 93b8592092 Merge branch 'PHP-7.1'
* PHP-7.1:
  call_user_func(_array): Don't abort on reference warning
2016-08-23 10:56:55 +03:00
Xinchen Hui f2dd85606b Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  sync shm* implementation signatures with POSIX
2016-08-23 11:33:12 +08:00
Xinchen Hui 7d079253b8 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed tests
2016-08-23 11:32:30 +08:00
Anatol Belski becc5cd11b sync shm* implementation signatures with POSIX 2016-08-23 00:27:17 +02:00
Xinchen Hui 6790932eaa Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72920 (Accessing a private constant using constant() creates an exception AND warning)
2016-08-22 23:44:50 +08:00
Dmitry Stogov d79492c218 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed CFG construction for stackless execution (split basic blocks after calls)
2016-08-22 16:49:31 +03:00
Yasuo Ohgaki 7cb784fcca Merge branch 'PHP-7.1'
* PHP-7.1:
  Adjust test so that it passes on more restrictive filesystems
2016-08-22 17:01:40 +09:00
Sara Golemon fd8e203fa2 Add .gitignore for fpm generated files 2016-08-21 12:53:01 -07:00
Jakub Zelenka 745bf979cd Merge branch 'PHP-7.1' 2016-08-21 20:29:55 +01:00
Christoph M. Becker 2c74a5282e Merge branch 'PHP-7.1' 2016-08-21 20:04:18 +02:00
Anatol Belski e8ae2ba122 Merge branch 'PHP-7.1'
* PHP-7.1:
  extend readdir utf-8 name test
2016-08-21 18:22:49 +02:00
Christoph M. Becker f2d26f917c Merge branch 'PHP-7.1' 2016-08-21 17:52:16 +02:00
Christoph M. Becker 222cf29921 Merge branch 'PHP-7.1' 2016-08-21 16:21:44 +02:00
Xinchen Hui 9121c872e9 Merge branch 'PHP-7.1'
* PHP-7.1:
  This is unecessary for 7.1 (IS_ERROR is an internal type)
  Fixed bug  #72911 (Memleak in zend_binary_assign_op_obj_helper)
  Fixed bug #72907 (null pointer deref, segfault in gc_remove_zval_from_buffer (zend_gc.c:260))
2016-08-21 17:40:45 +08:00
Aaron Piotrowski 83bdcf075b Merge branch 'PHP-7.1'
# Conflicts:
#	NEWS
#	UPGRADING
2016-08-21 00:34:00 -05:00
Anatol Belski 0eac646ad1 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix TS issues with url rewrite globals
2016-08-20 22:47:40 +02:00
Nikita Popov 329435611f Merge branch 'PHP-7.1' 2016-08-20 19:00:50 +02:00
Christoph M. Becker 70e6b9cc3f Merge branch 'PHP-7.1' 2016-08-20 13:01:16 +02:00
Christoph M. Becker 9cb560f158 Merge branch 'PHP-7.1' 2016-08-20 03:17:14 +02:00
Christoph M. Becker 754a3defb8 Merge branch 'PHP-7.1' 2016-08-20 02:28:57 +02:00
Anatol Belski 14987f2423 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
  update NEWS
  Fixed bug #72852 imap_mail null dereference
2016-08-20 01:39:14 +02:00
Christoph M. Becker 2c6f88aab0 Fix dba configuration for Windows
To be able to build the dba extension on Windows, libdb was required. This
is contrary to *nix where each handler can be configured individually. We
only do minimal modifications, instead of adjusting the Windows configuration
to match the *nix configuration, for now.
2016-08-19 16:45:37 +02:00
Christoph M. Becker 62896a89a5 Merge branch 'PHP-7.1' 2016-08-19 16:40:50 +02:00
Anatol Belski f9b3faa783 Merge branch 'PHP-7.1'
* PHP-7.1:
  Improve fix for bug #72837
2016-08-19 12:52:51 +02:00
Christoph M. Becker c8495062cf Merge branch 'PHP-7.1' 2016-08-19 11:51:25 +02:00
Xinchen Hui 1c187f6e0a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72888 (Segfault on clone on splFileObject)
  Sync NEWS
2016-08-19 11:28:48 +08:00
Nikita Popov 6416312f9b Merge branch 'PHP-7.1' 2016-08-19 00:34:38 +02:00
Christoph M. Becker 235e7001f0 Merge branch 'PHP-7.1' 2016-08-18 18:12:50 +02:00
Anatol Belski e0866b1374 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2016-08-18 17:54:04 +02:00
Anatol Belski 6b12c6a417 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix format
2016-08-18 16:31:09 +02:00
Anatol Belski de570f5017 Merge branch 'PHP-7.1'
* PHP-7.1:
  avoid other efforts if memory mapping fails
2016-08-18 16:02:22 +02:00
Julien Pauli 3bb3ca339e Merge branch 'PHP-7.1'
* PHP-7.1:
  Updated UPGRADING about function call args
2016-08-18 15:46:26 +02:00
Anatol Belski 4016c1973f Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
2016-08-18 15:36:38 +02:00
Anatol Belski 61bc6618b7 Merge branch 'PHP-7.1'
* PHP-7.1:
  map ell the err code
2016-08-18 15:31:36 +02:00
Anatol Belski 634b382e47 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72858 shm_attach null dereference
2016-08-18 14:41:08 +02:00
Ferenc Kovacs 4fa7e875be Merge branch 'PHP-7.1' 2016-08-18 13:05:28 +02:00
Nikita Popov 59edefa5dc Update GIT-RULES release list
[ci skip]
2016-08-18 12:31:09 +02:00
Xinchen Hui dd16fea06a Merge branch 'PHP-7.1'
* PHP-7.1:
  Remove leftover of previous change
2016-08-18 15:45:50 +08:00
Xinchen Hui eefe3ec786 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed segfault introduced in 447e57a1e1
  Remove outdate checks

Conflicts:
	ext/opcache/Optimizer/zend_inference.c
2016-08-18 15:39:23 +08:00
Stanislav Malyshev 9468016a5b Update support - Stefan is no longer maintaining FTP 2016-08-18 00:03:23 -07:00
Christopher Jones ab3ec73311 Merge branch 'PHP-7.1' 2016-08-18 15:47:55 +10:00
Christopher Jones 00d683cef2 Merge branch 'PHP-7.1' 2016-08-18 13:54:40 +10:00
Anatol Belski b97dc0bab4 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
2016-08-18 00:20:48 +02:00
Anatol Belski 2198b1c985 Merge branch 'PHP-7.1'
* PHP-7.1:
  sync NEWS
2016-08-18 00:17:13 +02:00
Kalle Sommer Nielsen fea6d5d18f Make this inline like the many other variants we got of this function (win32/time.c, Zend/zend_virtual_cwd.c, ...) 2016-08-17 23:52:44 +02:00
Christoph M. Becker 2eaf6ce5d8 Merge branch 'PHP-7.1' 2016-08-17 22:14:33 +02:00
Kalle Sommer Nielsen 24d0fcf8bc Merge branch 'PHP-7.1' 2016-08-17 21:09:46 +02:00
Kalle Sommer Nielsen af8283dd50 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Further fix bug #72627 from Stas
2016-08-17 21:01:05 +02:00
Kalle Sommer Nielsen 15b7b1a510 Further fix bug #72627 from Stas
There is another code path with almost the same identical code that also leaks memory in case of invalid reads, fix this as well
2016-08-17 20:51:50 +02:00
Charles R. Portwood II 0e3b3b031f Changing m_cost and t_cost to memory_cost and time_cost
- Updating tests
- Adjusting cost factors:
 - memory_cost = 1 MiB
 - time_cost = 2
 - threads = 2
2016-08-17 13:45:06 -05:00
Kalle Sommer Nielsen 5b30f08809 Fixed master build, decls first please! 2016-08-17 20:33:07 +02:00
Christoph M. Becker bb904f3e31 Merge branch 'PHP-7.1' 2016-08-17 19:10:13 +02:00
Christoph M. Becker 3a1fb790ac Merge branch 'PHP-7.1' 2016-08-17 18:37:55 +02:00
Anatol Belski cec9fb1717 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix char * vs zend_string *
2016-08-17 13:24:07 +02:00
Christoph M. Becker 505dd776be Merge branch 'PHP-7.1' 2016-08-17 12:50:16 +02:00
Anatol Belski f89dd84f12 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix tests
2016-08-17 12:41:54 +02:00
Xinchen Hui 3051a6a7f8 Merge branch 'PHP-7.1'
* PHP-7.1:
  Avoid duplicating string
2016-08-17 18:20:07 +08:00
Anatol Belski d1fb4f9bb1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "fix tests"
2016-08-17 12:08:19 +02:00
Anatol Belski b2cbcf1fa8 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix leak
2016-08-17 11:53:14 +02:00
Xinchen Hui 660d8f1622 Merge branch 'PHP-7.1'
* PHP-7.1: (49 commits)
  Update NEWs
  Update NEWs
  Unused label
  Fixed bug #72853 (stream_set_blocking doesn't work)
  fix test
  Bug #72663 - part 3
  Bug #72663 - part 2
  Bug #72663 - part 1
  Update NEWS
  BLock test with memory leak
  fix tests
  Fix TSRM build
  Fix bug #72850 - integer overflow in uuencode
  Fixed bug #72849 - integer overflow in urlencode
  Fix bug #72848 - integer overflow in quoted_printable_encode caused heap corruption
  Fix bug #72838 - 	Integer overflow lead to heap corruption in sql_regcase
  Fix bug #72837 - integer overflow in bzdecompress caused heap corruption
  Fix bug #72836 - integer overflow in base64_decode caused heap corruption
  Fix for bug #72807 - do not produce strings with negative length
  Fix for bug #72790 and bug #72799
  ...
2016-08-17 17:15:11 +08:00
Xinchen Hui 63380a7b9c Merge branch 'PHP-7.1'
* PHP-7.1:
  Unused var
2016-08-17 11:18:57 +08:00
Anatol Belski cf3a798cf5 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2016-08-17 01:44:58 +02:00
Christoph M. Becker f659b1a14e Merge branch 'PHP-7.1' 2016-08-17 01:23:45 +02:00
Anatol Belski 8666d185cd Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
  fix blocking pipe stream option value
2016-08-17 00:59:25 +02:00
Anatol Belski 9a2f2a6412 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test cleanup
2016-08-16 22:56:05 +02:00
Anatol Belski 86dab127dc Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed #72857 stream_socket_recvfrom read access violation
2016-08-16 22:51:36 +02:00
Nikita Popov 339cafa035 Merge branch 'PHP-7.1' 2016-08-16 21:07:46 +02:00
Aaron Piotrowski 40dcc1b57c Merge branch 'PHP-7.1' 2016-08-16 13:06:06 -05:00
Aaron Piotrowski 4e36c01adb Merge branch 'PHP-7.1' 2016-08-16 11:28:44 -05:00
Nikita Popov 70eeafa326 Merge branch 'PHP-7.1' 2016-08-16 15:51:32 +02:00
Nikita Popov befca6a283 Merge branch 'PHP-7.1' 2016-08-16 12:43:46 +02:00
Dmitry Stogov 0980017ff4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed use after free
2016-08-16 11:45:13 +03:00
Christopher Jones d7604090b7 Merge branch 'PHP-7.1' 2016-08-16 17:00:06 +10:00
Nikita Popov 89f6377971 Return true for is_object() on Incomplete_Class 2016-08-15 23:13:09 +02:00
Nikita Popov 34824b70f8 gettype(): Use "resource (closed)" instead of "unknown type" 2016-08-15 23:12:24 +02:00
Nikita Popov 0374a98e14 Scrub UPGRADING and UPGRADING.INTERNALS
There were already some master-only entries in there -- I hope I
didn't remove anything that was supposed to be there.

[skip ci]
2016-08-15 23:01:19 +02:00
Nikita Popov 777d11a8cc Merge branch 'PHP-7.1' 2016-08-15 22:50:46 +02:00
Nikita Popov 4219626ac5 Merge branch 'PHP-7.1' 2016-08-15 22:43:33 +02:00
Xinchen Hui ad1fda3dc9 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72846 (getConstant for a array constant with constant values returns NULL/NFC/UKNOWN)
2016-08-15 23:25:19 +08:00
Anatol Belski 7cca39e18b Merge branch 'PHP-7.1'
* PHP-7.1:
  put missing prototype and fix ts build
2016-08-14 22:40:51 +02:00
Jakub Zelenka f13fd9e72a Merge branch 'PHP-7.1' 2016-08-14 20:44:08 +01:00
Anatol Belski 42906d3211 Merge branch 'master' of git.php.net:php-src 2016-08-14 21:01:21 +02:00
Anatol Belski 2379e96657 Merge branch 'PHP-7.1'
* PHP-7.1:
  update UPGRADING
  update NEWS
  update NEWS
2016-08-14 20:56:10 +02:00
Jakub Zelenka fba632e6d0 Merge branch 'PHP-7.1' 2016-08-14 19:37:29 +01:00
Anatol Belski 004cb3cdfe Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72759 Regression in pgo_pgsql
2016-08-14 20:07:07 +02:00
Jakub Zelenka 6dbe436244 Merge branch 'PHP-7.1' 2016-08-14 14:03:08 +01:00
Masaki Kagaya c28a6f44bb add declaration of functions 2016-08-14 08:09:14 +09:00
Danack beb1190996 Fixed ext/standard test that calls get_class() 2016-08-13 22:53:03 +01:00
Masaki Kagaya f49a5a67cf delete duplicate functions 2016-08-14 06:29:23 +09:00
Danack 0fbaf3c820 Add test. 2016-08-13 21:59:31 +01:00
Nikita Popov 84a94ca62f Merge branch 'PHP-7.1' 2016-08-13 21:44:00 +02:00
Christoph M. Becker e47f21bb0f Merge branch 'PHP-7.1' 2016-08-13 16:36:06 +02:00
Christoph M. Becker b8f528f78e Merge branch 'PHP-7.1' 2016-08-13 12:13:45 +02:00
Christoph M. Becker abfe712f1a Merge branch 'PHP-7.1' 2016-08-13 01:34:33 +02:00
David Walker 7373ce9149 Fix #72733: Expose getaddrinfo C function, and supporting connect/bind
Feature request was to expose getaddrinfo().  I accomplish this
by having an array of resources that are the addrinfo structures.
The resources can be used in new functions to connect/bind, and
one function to examine the contents of the resource.
2016-08-12 11:29:34 -06:00
Christoph M. Becker 0254417082 Merge branch 'PHP-7.1' 2016-08-12 12:56:49 +02:00
Xinchen Hui 7ec53e8ff2 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWs
  Fixed bug #72813 (Segfault with __get returned by ref)
  Fix URL rewriter partially
2016-08-12 16:37:14 +08:00
Yasuo Ohgaki 66f0694c4a Merge branch 'PHP-7.1'
* PHP-7.1:
  Merge RFC: Session ID without hashing https://wiki.php.net/rfc/session-id-without-hashing
2016-08-12 12:31:45 +09:00
Danack 86aa1c784d Require parameter to be an object if passed. 2016-08-11 23:21:04 +01:00
Nikita Popov d4bbbc4aa6 Merge branch 'PHP-7.1' 2016-08-11 18:45:42 +02:00
Nikita Popov b6a69f239d Merge branch 'PHP-7.1' 2016-08-11 18:30:18 +02:00
Nikita Popov f6824ca400 Merge branch 'PHP-7.1' 2016-08-11 18:26:38 +02:00
Nikita Popov 852a5ff23c Fix typos 2016-08-11 17:57:58 +02:00
Anatol Belski 4a08836d47 fix borked interbase patch 2016-08-11 15:08:26 +02:00
Anatol Belski ddfbe07e28 Merge branch 'PHP-7.1'
* PHP-7.1:
  add missing chunk to support mb path in symlink()
  pull ps_title behind the logic to support the current codepage
  fix typo
  add missing mb path support chunk
2016-08-11 14:49:18 +02:00
Xinchen Hui a6090dc593 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  ReflectionType improvements
  Fix #72810. Add check for SKIP_ONLINE_TESTS
  msql > mysqli, use a better extension name as an example in php.ini, as we do not have msql support anymore (Sorry Rasmus!)
  Remove sql.safe_mode
2016-08-11 19:58:02 +08:00
Xinchen Hui 75017520c3 Check them in autoconf 2016-08-11 19:57:30 +08:00
Nikita Popov 0fdf28bbf4 Merge branch 'PHP-7.1' 2016-08-11 12:20:02 +02:00
Nikita Popov df9378d3e1 Merge branch 'PHP-7.1' 2016-08-11 12:01:55 +02:00
Xinchen Hui afd11643c3 Merge branch 'intrinsics_backport' of https://github.com/TazeTSchnitzel/php-src
* 'intrinsics_backport' of https://github.com/TazeTSchnitzel/php-src:
  Use checked add/sub intrinsics instead of asm for ++ and --
  Use checked arithmetic intrinsics instead of asm, when possible
2016-08-11 11:34:56 +08:00
Kalle Sommer Nielsen 9fc0a5e049 msql > mysqli, use a better extension name as an example in php.ini, as we do not have msql support anymore (Sorry Rasmus!) 2016-08-11 05:11:17 +02:00
Kalle Sommer Nielsen 197051f3ab Remove sql.safe_mode
This is one of the last old and odd deprecated settings we still have in PHP, it was never fully implemented in all the database extensions and should probably have been gone back in 5.4, along with safe_mode. Although if my memory strikes me right, mysql was also supporting it back then, but not mysqli.

So far only interbase was supporting this feature, and the removal of it causes two effects for interbase:
 - CREATE DATABASE is now allowed no matter
 - The default database set by php.ini (ibase.default_db) is no longer forced

http://php.net/ini.core#ini.sql.safe-mode
2016-08-11 05:06:55 +02:00
Kalle Sommer Nielsen 13e076f446 We do not need to check the return value of php_win32_init_gettimeofday() anymore, as the symbol is always going to be available to us 2016-08-11 04:35:51 +02:00
Kalle Sommer Nielsen 0baab6c051 Merge branch 'master' of git.php.net:php-src 2016-08-11 04:14:01 +02:00
Kalle Sommer Nielsen ff1a3cecae The call to FreeLibrary() should be within the if, so we don't pass INVALID_HANDLE_VALUE to it, in case LoadLibrary() fails 2016-08-11 04:13:34 +02:00
Yasuo Ohgaki 052e69e50a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix URL rewriter issues
2016-08-11 09:17:57 +09:00
Kalle Sommer Nielsen 36b050c2c5 Get rid of these slow calls to LoadLibrary()/GetProcAddress() calls on Windows, we require Windows Vista as bare minimum for PHP anyway, so it does not make any sense to do this slow emulation anyway.
GD:
 - PrintWindow() is available as of Windows XP, it requires linking to User32.lib, which config.w32 for ext/gd already.

CLI:
 - The borrowed functions from PostgreSQL to set the titles of the console window uses SetConsoleTitle() and GetConsoleTitle(), both are available as of Windows 2000 from Kernel32.lib which we already are linking against.

Standard:
 - The disk space utility functions uses GetDiskFreeSpaceExA() which is available as of Windows XP, again links to Kernel32.lib.
 - The symlink() PHP function uses CreateSymbolicLinkA() which is available from Windows Vista, again from Kernel32.lib.
 - php_get_windows_name() in info.c uses GetNativeSystemInfo() which is available as of Windows XP and GetProductInfo() which is available as of Windows Vista, both are again from Kernel32.lib.

Notes:
 - ext/interbase & ext/pdo_firebird uses GetProcAddress(), I'm not entirely sure how to handle this one.
 - ext/sqlite3, this is apart of the bundled libsqlite3, I don't really wanna play around with our bundled libs and make it a bigger issue for those who maintain and upgrade them.
 - ext/readline, the call to GetProcAddress() here does not do any system calls, so it is left as is.
 - win32/ioutil.c uses GetProcAddress(), but the function it attempts to load (PathCchCanonicalizeEx()) is only available from Windows 8 and greater (Pathcch.lib linkage).
 - win32/time.c uses GetSystemTimePreciseAsFileTime() which is available from Windows 8 and greater to get the current system date and time which the highest possible precision and falls back to GetSystemTimeAsFileTime() (available as of Windows 2000), again Kernel32.lib, the GetSystemTimePreciseAsFileTime() is left in a GetProcAddress().
2016-08-11 02:09:50 +02:00
Yasuo Ohgaki ec2dd0217d Merge branch 'PHP-7.1'
* PHP-7.1:
  Support "git worktree"
2016-08-11 08:10:08 +09:00
Leigh 42cf1a83fe Merge branch 'PHP-7.1' 2016-08-10 23:34:14 +01:00
Christoph M. Becker faea487eff Merge branch 'PHP-7.1' 2016-08-10 18:11:11 +02:00
Yasuo Ohgaki 3fcd8ac255 Fixed typo 2016-08-10 15:20:45 +09:00
Yasuo Ohgaki ee797e7ecc Update NEWS and UPGRADING 2016-08-10 14:53:27 +09:00
Yasuo Ohgaki 850a0b5fb6 Merge pull request #1098
Fix bug #69086 enhancement for mb_convert_encoding
2016-08-10 14:39:23 +09:00
Yasuo Ohgaki 8ad4ef98b6 pull-request/1099
Request #65081 - implemeting mb_scrub
2016-08-10 14:09:48 +09:00
Yasuo Ohgaki 087dcd9381 pull-request/1100
Request #65081 mb_chr() and mb_ord()

Added test cases and little optimization.
2016-08-10 11:32:10 +09:00
Yasuo Ohgaki 4a3188f093 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src: (1423 commits)
  Add NEWS
  Fix ASSERT logic
  Bugfix 72791: fix memory leak in PDO persistent connections
  Don't copy mime types in CLI server
  Class constant visibility modifiers are now supported
  Remove obsolete Id tags
  Bump version in OCI8 test
  Update NEWS
  Fixed bug #72788 (Invalid memory access when using persistent PDO connection)
  Remove typo'd commit
  Fix bug 72788: Invalid memory access when database_object_handle is undefined. Also fix memory leak in dbh_free when using persistent PDO connections.
  Swap min/max if min > max
  Allow min > max for mt_rand(). Bug #72784
  Replace dead branch with ZEND_ASSERT()
  Fix array_column() packed hash initialization
  Add test for bug #69107: finfo no longer detects PHP files
  check malloc result
  Implement #38992: invoke() and invokeArgs() static method calls should match
  Fix bug #55451
  Fix stream_socket_enable_crypto() test
  ...
2016-08-10 09:39:17 +09:00
Andrea Faulds 9bbbb1bd80 Use checked add/sub intrinsics instead of asm for ++ and -- 2016-08-10 00:46:05 +01:00
Andrea Faulds 0987737397 Use checked arithmetic intrinsics instead of asm, when possible 2016-08-10 00:46:05 +01:00
Keyur f41b69e814 Add NEWS 2016-08-09 18:18:32 +00:00
Keyur c7f0613666 Fix ASSERT logic 2016-08-09 18:16:58 +00:00
Keyur 1aca1771ff Bugfix 72791: fix memory leak in PDO persistent connections 2016-08-09 18:16:58 +00:00
Nikita Popov bf7d7ec48a Merge branch 'PHP-7.1' 2016-08-09 15:35:22 +02:00
Christoph M. Becker a55ea4f519 Merge branch 'PHP-7.1' 2016-08-09 11:55:30 +02:00
Christopher Jones e2e723b3f4 Merge branch 'PHP-7.1' 2016-08-09 16:14:53 +10:00
Christopher Jones 8a6a470a89 Merge branch 'PHP-7.1' 2016-08-09 16:01:46 +10:00
Xinchen Hui d13c3b1ee4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #72788 (Invalid memory access when using persistent PDO connection)
  Remove typo'd commit
  Fix bug 72788: Invalid memory access when database_object_handle is undefined. Also fix memory leak in dbh_free when using persistent PDO connections.
2016-08-09 11:33:38 +08:00
Leigh a5bec3a240 Merge branch 'PHP-7.1' 2016-08-08 22:33:18 +01:00
Leigh e78795e842 Merge branch 'PHP-7.1' 2016-08-08 22:18:08 +01:00
Andrea Faulds 863cdf627e Merge branch 'PHP-7.1' 2016-08-08 21:01:28 +01:00
Christoph M. Becker 5f6081e310 Merge branch 'PHP-7.1' 2016-08-08 18:57:14 +02:00
Nikita Popov cc13a56356 Merge branch 'PHP-7.1' 2016-08-08 18:48:32 +02:00
Anatol Belski e20e9c6998 Merge branch 'PHP-7.1'
* PHP-7.1:
  check malloc result
2016-08-08 12:18:57 +02:00
Christoph M. Becker dbf63cb98d Merge branch 'PHP-7.1' 2016-08-08 01:47:05 +02:00
Nikita Popov 61fb4f40aa Merge branch 'PHP-7.1' 2016-08-07 18:50:34 +02:00
Nikita Popov 38955e9e81 Merge branch 'PHP-7.1' 2016-08-07 18:38:49 +02:00
Nikita Popov 3dbb834993 Update php_version.h 2016-08-07 17:52:37 +02:00
Nikita Popov 1392e07cfc Merge branch 'PHP-7.1' 2016-08-07 17:47:17 +02:00
Kalle Sommer Nielsen 7cce4496e5 Note about the recent change to the WSA version check on Windows 2016-08-07 05:40:56 +02:00
Kalle Sommer Nielsen af56fed73b Fixed bug #71534 (Type confusion in exif_read_data() leading to heap overflow in debug mode)
Unlike the original patch, this does not return an unknown format in case an unsigned compatible type cannot be found (cases for SINGLE and DOUBLE removed), as these seems rare cases according to the inline comments.

Note, the test does not test if PHP is in debug mode, although the report originally states it only occurs there only.

The fix is based on a patch by hlt99 at blinkenshell dot org
2016-08-07 05:35:46 +02:00
Kalle Sommer Nielsen b0263db457 Added some extended info about ext/exif to phpinfo() 2016-08-07 05:11:40 +02:00
Kalle Sommer Nielsen 94cc0c8919 Remove void comment 2016-08-07 04:58:29 +02:00
Kalle Sommer Nielsen 8ac784ff13 Fix tests, although I was not able to reproduce these failures on an x86 build/Windows, this should hopefully make travis happy 2016-08-07 04:22:27 +02:00
Christopher Jones 5f0be8a3a5 Merge branch 'PHP-7.1' 2016-08-07 10:25:41 +10:00
Christopher Jones 2b79a75615 Merge branch 'PHP-7.1' 2016-08-07 10:21:46 +10:00
Christopher Jones 6daa9dec67 Merge branch 'PHP-7.1' 2016-08-07 10:02:53 +10:00
Sara Golemon 9c3865eb6a [ast] Fix exporting **= in expansion of assign op 2016-08-06 15:35:45 -07:00
Kalle Sommer Nielsen aabe1e0b1a Merge branch 'master' of git.php.net:php-src 2016-08-06 12:40:12 +02:00
Kalle Sommer Nielsen b944a7a549 NEWS + UPGRADING for recent EXIF additions 2016-08-06 12:39:05 +02:00
Kalle Sommer Nielsen 8fd640f957 Added support for Sigma/Foveon EXIF tags
Note, the tag_info_array is re-used for both SIGMA and FOVEON, as their IFD headers can differ
2016-08-06 12:37:10 +02:00
Kalle Sommer Nielsen 57faafeb89 Added support for Minolta EXIF tags 2016-08-06 12:31:01 +02:00
Kalle Sommer Nielsen 1456f6a447 Added support for PENTAX EXIF tags 2016-08-06 12:24:19 +02:00
Kalle Sommer Nielsen b147ef2bec Remove this redundant entry for Canon 2016-08-06 12:18:12 +02:00
Leigh 8def3ec6fc Merge branch 'PHP-7.1' 2016-08-06 11:17:10 +01:00
Kalle Sommer Nielsen a402d0bdab Added a warning in case --with-mp is combined with --enable-debug
This causes a D9030 since we specify a minimal build using /Gm in case we make a debug build
2016-08-06 11:00:22 +02:00
Kalle Sommer Nielsen 7813e9de11 Fixed bug #5453 (WSA cleanup executes before MSHUTDOWN)
This moves the WSACleanup() call to after zend_shutdown() in main.c, I did some testing and I could not find any issues with this. I don't expect this to cause any issues on Netware either, although untested as I do not have such an env available (do we even support Netware anymore? Last release was in 2009 and it is now discontinued)

Besides the movie, then this commit also contains a fix to the check of WSAStartup() where we don't actually confirm we get the desired version of the winsock.dll (We use 2.0).
2016-08-06 04:06:50 +02:00
Kalle Sommer Nielsen 25437255d7 Merge branch 'master' of git.php.net:php-src 2016-08-06 03:39:10 +02:00
Nikita Popov 324da6f765 Merge branch 'PHP-7.1' 2016-08-05 23:10:32 +02:00
Nikita Popov da2c2fb22f Merge branch 'PHP-7.1' 2016-08-05 19:56:48 +02:00
Nikita Popov f29149b419 Merge branch 'PHP-7.1' 2016-08-05 16:32:25 +02:00
Christoph M. Becker 67786d343a Merge branch 'PHP-7.1' 2016-08-05 13:25:30 +02:00
Kalle Sommer Nielsen 5db7f1ea7e pefree() these (with persistent=0), as internally in zend_multibyte.c they do the same, and at the same time also cast them to void pointers to silence the compiler warnings. 2016-08-05 11:17:26 +02:00
Kalle Sommer Nielsen b3124dbe12 Fix line endings, getting a little annoyed with VS' warning about mismatch 2016-08-05 11:12:51 +02:00
Kalle Sommer Nielsen 1740823864 Fixed bug #68547 (Exif Header component value check error) (Patch by sjh21a at gmail dot com)
This patch changes processing a little and causes some crafted tags to not be parsed and generate a warning.

This is a slight BC break from earlier versions, since it will no longer return the tags of that it was mismatching (see bug68799.phpt), namely the "WINXP" section and the "Author" tag is no longer returned due to this. Although this BC break is merely only for crafted tags, this can also have some real life effects on pictures re-saved from editors that can cause bad exif data writes, so lets keep it here.
2016-08-05 10:03:14 +02:00
Kalle Sommer Nielsen d9e4d5116b NEWS and UPGRADING for recent fixes and additions to ext/exif 2016-08-05 07:54:36 +02:00
Kalle Sommer Nielsen aaa136e25d Added support for Sony pictures in EXIF as per requested in bug #72735
Sony is a little more interesting, as it is have a large range of tags it support in different models. For now I have added all the tags found within the Exif.Sony1 namespace.
2016-08-05 07:45:02 +02:00
Kalle Sommer Nielsen 93c0e97602 Split this test up to a 64bit version for more coverage
The 32bit version does not have the 64bit float values here, we already have 3 float tests which I guess will do for now at least
2016-08-05 07:15:34 +02:00
Nikita Popov 65b6f2013b Fix exif_imagetype() test after zpp change 2016-08-04 22:27:42 +02:00
Nikita Popov 919d208626 Merge branch 'PHP-7.1' 2016-08-04 14:23:16 +02:00
Xinchen Hui 1ff8856d03 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72743 (Out-of-bound read in php_stream_filter_create)
2016-08-04 19:10:56 +08:00
Christoph M. Becker ddc9a44b09 Merge branch 'PHP-7.1' 2016-08-04 12:11:02 +02:00
Matteo Beccati 3e5dbdc3e8 Merge branch 'PHP-7.1'
* PHP-7.1:
  Clean up FR #72633
  Fixed invalid handle error with Implicit Result Sets and bump OCI8 version.
2016-08-04 09:38:10 +02:00
Christopher Jones eec630d068 Merge branch 'PHP-7.1' 2016-08-04 17:02:44 +10:00
Christopher Jones 6aeb9ba447 Merge branch 'PHP-7.0' into PHP-7.1 2016-08-04 17:02:08 +10:00
Christopher Jones b15f4aea02 Merge branch 'master' of https://git.php.net/repository/php-src 2016-08-04 16:45:31 +10:00
Stanislav Malyshev 2eb182b35d Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix bug #72716 - initialize buffer before read
2016-08-03 23:04:07 -07:00
Ferenc Kovacs 69a72df936 Merge branch 'PHP-7.1' 2016-08-04 01:44:18 +02:00
Kalle Sommer Nielsen 4d90b1b5ea Use 'p' to validate a path in exif_imagetype() (like the other exif function already does) 2016-08-03 23:57:51 +02:00
Nikita Popov 372d0457b5 Merge branch 'PHP-7.1' 2016-08-03 23:10:29 +02:00
Jakub Zelenka 9ed2a70757 Merge branch 'PHP-7.1' 2016-08-03 20:07:57 +01:00
Remi Collet 456e10eb9b - add a test for makernote (#72682)
- reduce image size
- add panasonic.jpg sample
2016-08-03 18:33:26 +02:00
Anatol Belski be8f1580cf Merge branch 'PHP-7.1'
* PHP-7.1:
  improve the check, avoid strlen on NULL
2016-08-03 18:30:18 +02:00
Anatol Belski 7740a54ce5 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
  update NEWS
  Changed the way MAKERNOTE is handled in case we do not have a matching signature (Remi).
2016-08-03 17:45:43 +02:00
Anatol Belski 77d1fbdf64 update NEWS
Fix for 72735 is now merged in 5.6 up
2016-08-03 17:44:50 +02:00
Kalle Sommer Nielsen c6bd054b86 Fixed bug #72682 (exif_read_data() fails to read all data for some images)
This is fixed by adding DJI signatures to the MAKERNOTE and its supported tags, list is credits to ExifTool documentation.
2016-08-03 17:33:18 +02:00
Kalle Sommer Nielsen d40e5e7cbd NEWS 2016-08-03 17:06:39 +02:00
Kalle Sommer Nielsen aabcb5481d Changed the way MAKERNOTE is handled in case we do not have a matching signature (Remi).
Before this patch, exif_process_IFD_in_MAKERNOTE() would return false, then causing the rest of the EXIF parsing to be interrupted. This is a regression from earlier which was most likely a part of a security fix for MAKERNOTE.

The new behavior is to instead of stopping to parse, to continue so we can still fetch data like thumbnail and GPS, thrus allowing yet unsupported formats to parse. If EXIF's debugging mode is enabled, a notice will display in case we do not match against a valid MAKERNOTE signature.

This should temporarily fix bug #72682 (exif_read_data() fails to read all data for some images) until I get around to debug it further.
2016-08-03 17:05:31 +02:00
Kalle Sommer Nielsen 7c1b3842f6 Merge branch 'master' of git.php.net:php-src 2016-08-03 16:42:01 +02:00
Anatol Belski ff71137bef Merge branch 'PHP-7.1'
* PHP-7.1:
  update libs_versions.txt
  update libs_versions.txt
2016-08-03 15:07:10 +02:00
Remi Collet ada7ef6a11 Merge branch 'PHP-7.1'
* PHP-7.1:
  Minor revert of be3640150c
2016-08-03 14:28:45 +02:00
Remi Collet 9c728981ca Merge branch 'PHP-7.1'
* PHP-7.1:
  fix paths in tests
2016-08-03 14:24:46 +02:00
Remi Collet 593c1542e8 Merge branch 'PHP-7.1'
* PHP-7.1:
  clean removed functions (since they are alias)
2016-08-03 12:59:21 +02:00
Remi Collet 90ceb6ebf8 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fix 32bits tests
2016-08-03 12:56:52 +02:00
Kalle Sommer Nielsen 544f0dab1f NEWS 2016-08-03 12:29:09 +02:00
Anatol Belski 9ebfc28c7a Merge branch 'PHP-7.1'
* PHP-7.1:
  fix ts build
2016-08-03 12:20:52 +02:00
Kalle Sommer Nielsen de3be17703 Merge branch 'master' of git.php.net:php-src 2016-08-03 11:59:58 +02:00
Kalle Sommer Nielsen fbb1690198 Fixed Redhat bug #1362571 (PHP not returning full results for exif_read_data function)
There are two factors for this bug fix:
 - First of all, the maximum nesting level has been increased to 150 (previously 100), I'm not sure how much an impact this will have, but increasing this value also seems to resolve PHP bug #66443 (Corrupt EXIF header: maximum directory nesting level reached for some cameras.)
  - Second, this adds support for most common Panasonic EXIF tags, again this list is based off the Exiv2 website

Note about Panasonic's format:
From what I could find, then the offset was always 12 bytes for such, the signature always had the 'P' capitalized, and the rest lower cased, followed by 3 NULL bytes

@Remi, can you review this? I'm gonna look into Sony (which is huge btw!) and your patch next
2016-08-03 11:59:30 +02:00
Remi Collet 0c94a93057 Merge branch 'PHP-7.1'
* PHP-7.1:
  add skipif (needs json)
2016-08-03 11:03:35 +02:00
Kalle Sommer Nielsen 71ad192c1f NEWS 2016-08-03 10:05:33 +02:00
Kalle Sommer Nielsen d9613a850f Merge branch 'master' of git.php.net:php-src 2016-08-03 10:02:54 +02:00
Kalle Sommer Nielsen 9c8c37854e Fixed bug #72735 (Samsung picture thumb not read (zero size))
It seems like there is no maker data for "Samsung", this causes the IDF tag parsing to fail, and it bails early on, despite there still is valid remaining data in image, such as the thumbnail data as reported in the bug.

I used the Exiv2 website as a reference guide for tags that's specific to Samsung's EXIF data, which should also mean that we will be able to name some of those tags more specifically now.

I have chosen again not to commit this to other branches, simply because I'm not 100% sure on the byte order and offsets for Samsung, I did some research and it seems like there are many variants, but this (very copy/pasted), entry works for this particular image and does not break any other tests. This does add a new feature I suppose, while also fixing a bug, but I will leave it to the other branch RMs to decide on how far down they will want to merge this.
2016-08-03 10:02:22 +02:00
Xinchen Hui bd9858ead2 Merge branch 'PHP-7.1'
* PHP-7.1:
  It's packed array
2016-08-03 12:37:42 +08:00
Xinchen Hui f451a2358d Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Fixed compiler warning (Sorry Anatol, but this one was killing me)
  Revert "Fixed bug #72735 (Samsung picture thumb not read (zero size))"
  Fixed bug #72735 (Samsung picture thumb not read (zero size))
  Minor touches to the exif build script on Windows; ADD_EXTENSION_DEP() will already ERROR() out, so the WARNING() statement would never be returned anyway.
2016-08-03 12:17:35 +08:00
Kalle Sommer Nielsen 1e02e52859 Fixed compiler warning (Sorry Anatol, but this one was killing me) 2016-08-03 06:16:48 +02:00
Kalle Sommer Nielsen aa821d8cad Revert "Fixed bug #72735 (Samsung picture thumb not read (zero size))"
This reverts commit 406dff2a02.

This seems to break more than expected and other tests seems to fail:
 - bug60150.phpt
 - bug62523_2.phpt
 - bug72603.phpt
 - bug72618.phpt

I'm gonna go do around of thinking and see if I can come up with a better fix
2016-08-03 06:10:56 +02:00
Xinchen Hui 33a30691b2 Merge branch 'PHP-7.1'
* PHP-7.1:
  Optmized array_rand
  Optimized array_pad
  Update NEWS for 7.1.0beta3
2016-08-03 12:06:38 +08:00
Kalle Sommer Nielsen 406dff2a02 Fixed bug #72735 (Samsung picture thumb not read (zero size))
This fix is only committed to master for now. I'm no exif expert on this matter, so someone else might want to take a look over this and merge as wanted in case this will break something.

In exif_process_IFD_in_JPEG() we loop over the tag entries and try to process the IFD tag, this is fine and all, however in case one fail to process correctly, the entire routine is aborted, which means that other possible data, such as the thumbnail data as reported in #72735 may not be read, despite it is there, perfectly valid.

Also, big props to whoever added EXIF_DEBUG, this rocks!
2016-08-03 05:39:39 +02:00
Kalle Sommer Nielsen 3e921aa9df Minor touches to the exif build script on Windows; ADD_EXTENSION_DEP() will already ERROR() out, so the WARNING() statement would never be returned anyway.
There are probably other similar cases around ext/, however the main reason for fixing this was for the typo (libxml > mbstring).
2016-08-03 04:24:17 +02:00
Nikita Popov 6a748c2f4b Merge branch 'PHP-7.1' 2016-08-03 00:35:16 +02:00
Christoph M. Becker a970da0890 Merge branch 'PHP-7.1' 2016-08-02 18:59:48 +02:00
Anatol Belski 09e4116810 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  cleanup table after test
  - lastInsertId using Postgres Lastval() function
2016-08-02 14:43:44 +02:00
Xinchen Hui ced184a870 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed warning: "operation on ‘s’ may be undefined"
2016-08-02 20:29:05 +08:00
Xinchen Hui 1cd9b1a34e Merge branch 'PHP-7.1'
* PHP-7.1:
  Folder marks
2016-08-02 20:08:25 +08:00
Xinchen Hui ff6a14a907 Merge branch 'PHP-7.1'
* PHP-7.1:
  Optimized array_merge and cleanup
2016-08-02 20:02:49 +08:00
Xinchen Hui a006363aea Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  increase versions for 7.2
2016-08-02 17:45:22 +08:00
Xinchen Hui 4bb4b13c5c Merge branch 'PHP-7.1'
* PHP-7.1:
  Optimized array_merge
  prepare next
  fix php_version.h
2016-08-02 17:40:47 +08:00
Anatol Belski 7fb529bf10 Merge branch 'PHP-7.1'
* PHP-7.1:
  prepare next
2016-08-02 11:15:28 +02:00
Anatol Belski 7868b5caaf Merge branch 'PHP-7.1'
* PHP-7.1:
  fix php_version.h
2016-08-02 11:08:51 +02:00
Anatol Belski 845f66ba64 increase versions for 7.2 2016-08-02 11:01:57 +02:00
Xinchen Hui 5047a119b0 Merge branch 'PHP-7.1'
* PHP-7.1:
  Optimized array_column (thanks to Benjamin Coutu)
2016-08-02 12:42:06 +08:00
Xinchen Hui b5313160c6 Merge branch 'PHP-7.1'
* PHP-7.1:
  fixed IS_REFERENCE handling
2016-08-02 11:05:59 +08:00
Charles R. Portwood II d883f65d31 Fixing issue with config.m4 script not correctly checking for PHP_PASSWORD_ARGON2 2016-08-01 19:03:34 -05:00
Charles R. Portwood II 0d4d8eab53 Removing Argon2d, changing config arg to --with-password-argon2
Argon2d is not suitable for password_hashing. To ensure best practices
within password_*, Argon2d was removed.

--with-argon2 implies the full feature set of Argon2, whereas this
feature only implements Argon2i within password_*. Consequently
the feature flag was renamed to --with-password-argon2
2016-08-01 18:53:24 -05:00
Xinchen Hui 7b4157d2c4 Merge branch 'PHP-7.1'
* PHP-7.1:
  Make the expression more reasonble (by nikic)
2016-08-01 20:20:27 +08:00
Xinchen Hui d4ac54b791 Merge branch 'PHP-7.1'
* PHP-7.1:
  Optimized array_reverse
2016-08-01 20:11:28 +08:00
Anatol Belski b6f3efd396 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
  Revert "upgraded to PCRE 8.39"
2016-07-31 15:02:44 +02:00
Nikita Popov d938cefa7b Merge branch 'PHP-7.1' 2016-07-30 18:36:15 +02:00
Nikita Popov be8b19bb48 Merge branch 'PHP-7.1' 2016-07-30 18:25:09 +02:00
Kalle Sommer Nielsen 59a7da7b49 Fix opcache build 2016-07-30 17:55:20 +02:00
Kalle Sommer Nielsen 040331c364 Fix ext/standard build with the recent fixes to array.c
This solution might not be canon, but it works by re-using _php_math_round() from math.c, since round() is not available
in the C++98 Standard Library on Windows at least. At the same
time it seems like the symbol export for it was missing from
php_math.h.
2016-07-30 17:52:57 +02:00
Kalle Sommer Nielsen c192bdecd5 Also fix TSRM on Windows 2016-07-30 17:32:53 +02:00
Kalle Sommer Nielsen bfba840e42 Fix build on Windows 2016-07-30 17:30:49 +02:00
Nikita Popov 6b55e7324e Merge branch 'PHP-7.1' 2016-07-30 16:29:41 +02:00
Nikita Popov 0a0c3174fd Merge branch 'PHP-7.1' 2016-07-30 16:08:44 +02:00
Nikita Popov f7ff0a1ff6 Merge branch 'PHP-7.1' 2016-07-30 15:55:10 +02:00
Christoph M. Becker 3de6441bf5 Merge branch 'PHP-7.1' 2016-07-30 12:16:49 +02:00
Nikita Popov e4daba6b29 Merge branch 'PHP-7.1' 2016-07-30 00:38:10 +02:00
Nikita Popov 3ce2bc1138 Merge branch 'PHP-7.1' 2016-07-30 00:15:50 +02:00
Nikita Popov 2b9194f7b9 Merge branch 'PHP-7.1' 2016-07-29 19:08:23 +02:00
Anatol Belski a849dad687 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  add test for bug #72701
2016-07-29 17:34:20 +02:00
Anatol Belski 64feff88f1 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72701 mysqli_get_host_info() wrong output
  fix typo
  add more errno handling
  set errno in ioutil access routine
2016-07-29 17:02:24 +02:00
Anatol Belski 364575b813 Merge branch 'PHP-7.1'
* PHP-7.1:
  move error check to right place
2016-07-29 14:02:04 +02:00
Anatol Belski 22620a63e7 Merge branch 'PHP-7.1'
* PHP-7.1:
  document file cache fallback ini directive
2016-07-29 13:08:10 +02:00
Anatol Belski bcc40a7e85 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix and improve the ioutil cwd routine for nts
2016-07-29 02:41:30 +02:00
Christoph M. Becker 608a35d7c3 Merge branch 'PHP-7.1' 2016-07-29 01:29:31 +02:00
Christoph M. Becker 7114185295 Merge branch 'PHP-7.1' 2016-07-28 20:15:19 +02:00
Christoph M. Becker 3535d7656d Merge branch 'PHP-7.1' 2016-07-28 19:30:48 +02:00
Nikita Popov 4dbea1adb4 Merge branch 'PHP-7.1' 2016-07-28 18:52:19 +02:00
Christoph M. Becker ba3e93ce86 Merge branch 'PHP-7.1' 2016-07-28 18:26:06 +02:00
Christoph M. Becker 5bb2925608 Merge branch 'PHP-7.1' 2016-07-28 17:31:35 +02:00
Christoph M. Becker fc56f369a4 Merge branch 'PHP-7.1' 2016-07-28 17:08:51 +02:00
Christoph M. Becker a5adee4648 Merge branch 'PHP-7.1' 2016-07-28 16:41:22 +02:00
Christoph M. Becker cc23792fa1 Merge branch 'PHP-7.1' 2016-07-28 15:52:30 +02:00
Christoph M. Becker b43957e2ac Merge branch 'PHP-7.1' 2016-07-28 14:19:48 +02:00
Christoph M. Becker b00bf7aecc Merge branch 'PHP-7.1' 2016-07-28 13:27:36 +02:00
Christoph M. Becker 3ec37f8ebb Merge branch 'PHP-7.1' 2016-07-28 12:30:35 +02:00
Pierrick Charron f7df40f45a Merge branch 'PHP-7.1' 2016-07-27 23:40:12 -04:00
Pierrick Charron a05b56051e Merge branch 'PHP-7.1' 2016-07-27 18:26:19 -04:00
Anatol Belski 5de5cbb8b9 Merge branch 'PHP-7.1'
* PHP-7.1:
  cleanup the table after the test run
2016-07-27 23:53:40 +02:00
Anatol Belski af2a507c0b Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  update NEWS
2016-07-27 23:32:57 +02:00
Anatol Belski 13a1811380 Merge branch 'PHP-7.1'
* PHP-7.1:
  Implemented FR #72633 Postgres PDO lastInsertId() should work without specifying a sequence
2016-07-27 23:03:53 +02:00
Anatol Belski 421d3f77d9 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  Fixed bug #72683 getmxrr broken
2016-07-27 20:50:02 +02:00
Anatol Belski d02e923912 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
2016-07-27 20:42:26 +02:00
Christoph M. Becker 20940dd358 Merge branch 'PHP-7.1' 2016-07-27 19:10:28 +02:00
Bob Weinand 94c32a5fbe Merge branch 'PHP-7.1' 2016-07-27 18:19:18 +02:00
Christoph M. Becker c5c56639a2 Merge branch 'PHP-7.1' 2016-07-27 16:58:19 +02:00
Nikita Popov 30d46c4739 Merge branch 'PHP-7.1' 2016-07-27 15:59:44 +02:00
Sara Golemon 665050787c Bugfix#70896 gmp_fact() silently ignores non-integer inputs
Factorials only make sense for integer inputs.
To do something factorial-like, the Gamma Function
should be used instead.
However, at this point it's no longer a factorial.

For PHP/GMP, we'll raise a warning on trying to use
a non-integer input, but carry on returning the truncated
value as we used to (avoiding BC breakage).
2016-07-26 22:04:18 -07:00
Pierrick Charron 256d69cf8a Merge branch 'PHP-7.1' 2016-07-27 00:40:23 -04:00
Pierrick Charron 687f983613 Merge branch 'PHP-7.1' 2016-07-26 20:38:26 -04:00
Pierrick Charron 28faebd87a Merge branch 'PHP-7.1' 2016-07-26 19:24:04 -04:00
Anatol Belski 495e586482 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix broken proto doc
2016-07-26 16:29:54 +02:00
Anatol Belski 22f7124a5f Merge branch 'PHP-7.1'
* PHP-7.1:
  upgraded to PCRE 8.39
2016-07-26 15:12:47 +02:00
Anatol Belski 0b9146e17f Merge branch 'PHP-7.1'
* PHP-7.1:
  fix missing header and conflicting symbol
  fix compiler warning
  fix data type
2016-07-26 14:59:58 +02:00
Nikita Popov 91f22a2088 Merge branch 'PHP-7.1' 2016-07-25 23:04:25 +02:00
Nikita Popov 5d0ae32c35 Cleanup gmp_sqrtrem() test 2016-07-25 22:07:56 +02:00
Nikita Popov a166d9677b Merge branch 'PHP-7.1' 2016-07-25 22:00:11 +02:00
Christoph M. Becker ac026a8130 Merge branch 'PHP-7.1' 2016-07-25 17:21:42 +02:00
Anatol Belski 5374acd1d5 Merge branch 'PHP-7.1'
* PHP-7.1:
  use more suitable types here, too
  change to more suitable datatypes
2016-07-25 14:49:07 +02:00
Xinchen Hui be72694d3d Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWs
  Fixed bug #72668 (Spurious warning when exception is thrown in user defined function)
2016-07-25 20:29:37 +08:00
Anatol Belski c086333d6b Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  Fixed bug #72658 Locale::lookup() / locale_lookup() hangs if no match found
2016-07-25 12:51:04 +02:00
Christoph M. Becker f081922eb8 Merge branch 'PHP-7.1' 2016-07-25 10:28:21 +02:00
Anatol Belski 8f189e8bc8 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NEWS
  Make phpize use PHP_PREFIX as the default location (windows)
  Enable 'nmake test' on building extensions
2016-07-25 10:18:19 +02:00
Anatol Belski b4a358b152 Merge branch 'PHP-7.1'
* PHP-7.1:
  update NeWS
  update NEWS
  Enable 'nmake test' on building extensions
  Make phpize use PHP_PREFIX as the default location (windows)
2016-07-25 09:52:58 +02:00
Christoph M. Becker abb228e589 Merge branch 'PHP-7.1' 2016-07-25 02:04:29 +02:00
Christoph M. Becker b1070033be Merge branch 'PHP-7.1' 2016-07-25 00:31:20 +02:00
Xinchen Hui e70f9fa01a Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #72660 (NULL Pointer dereference in zend_virtual_cwd)
2016-07-24 23:59:22 +08:00
Anatol Belski 39ac632a8a Merge branch 'PHP-7.1'
* PHP-7.1:
  regenerate date parser with re2c 0.15.3
  regenerate date parser with re2c 0.15.3
2016-07-24 14:55:42 +02:00
Jakub Zelenka dc6ea028b5 Fix indent in opnenssl_decrypt tests 2016-07-24 13:40:54 +01:00
Xinchen Hui e06331931d Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72661 (ReflectionType::__toString crashes with iterable)
2016-07-24 11:01:34 +08:00
Anatol Belski 59381e2083 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix compiler warning
  rework long path normalization stuf
2016-07-24 04:03:54 +02:00
Nikita Popov 8af431a790 Merge branch 'PHP-7.1' 2016-07-24 00:18:57 +02:00
Nikita Popov ade99115ca Merge branch 'PHP-7.1' 2016-07-24 00:08:42 +02:00
Anatol Belski 05f8d1f8d0 Merge branch 'PHP-7.1'
* PHP-7.1:
  add folds
  improve typedef and fix the fake function
  add missing cast
2016-07-23 23:25:22 +02:00
Nikita Popov 307e4bfca1 Merge branch 'PHP-7.1' 2016-07-23 23:14:40 +02:00
Anatol Belski 7964c5c060 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72625 realpath() fails on non canonical long path
  correct comment
  don't return long path prefix to script
2016-07-23 21:31:36 +02:00
Anatol Belski 99bc1407c8 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
  fix test
2016-07-23 21:06:46 +02:00
Christoph M. Becker cbb4e424e8 Merge branch 'PHP-7.1' 2016-07-23 19:46:19 +02:00
Christoph M. Becker 95a87c3f82 Merge branch 'PHP-7.1' 2016-07-23 18:13:59 +02:00
Christoph M. Becker e13abc1fd7 Merge branch 'PHP-7.1' 2016-07-23 17:05:30 +02:00
Bob Weinand 72d1d416fe Merge branch 'PHP-7.1' 2016-07-23 16:40:29 +02:00
Christoph M. Becker d795a6bf97 Implement #52857: Access to gdImageSetClip() and gdImageGetClip()
We add the necessary PHP bindings for both functions which are available
as of GD_2_0_12 (released 2006-04-05). The API of imagegetclip() is modelled
according to imageftbbox().
2016-07-23 16:14:36 +02:00
Mark Jones e63ceacfca Remove unused DEFAULT_KEY_LENGTH define 2016-07-23 16:04:55 +02:00
Christoph M. Becker f294a82ccb Change the name of the second parameter of image writer functions
As of PHP 5.4.0 the second parameter of all image writer functions (except
imagexbm) accepts also a stream resource. Therefore the parameter name
`filename` is inappropriate. We change it to `to` according to what it's
already called in _php_image_output_ctx().

We consider the reflection only related BC break acceptable for a minor version.
2016-07-23 15:38:54 +02:00
Nikita Popov 3bfea88ad8 Merge branch 'PHP-7.1' 2016-07-23 13:31:04 +02:00
Nikita Popov 50b485d94b Merge branch 'PHP-7.1' 2016-07-23 00:12:39 +02:00
Nikita Popov 54414dab33 Merge branch 'PHP-7.1' 2016-07-23 00:05:25 +02:00
Andrey Hristov 49d0478549 Merge branch 'PHP-7.1' 2016-07-23 00:30:35 +03:00
Andrey Hristov 671d22f5de Fix for bug #71863 Segfault when EXPLAIN with "Unknown column" error
The reason was that after the big refactoring of mysqlnd at the end of
last year code that is initializing the error_info structure in the
result set was not added. It existed already for connections and PS.
The code that segfaults is hit only with MariaDB because MariaDB sends
full metadata about the EXPLAIN query + EOF packet and only then it sends
an error packet. MySQL doesn't do that but sends directly an error which
is caught (by different code path). As errors during execution (which means
after sending meta) are pretty rare there was no test case of MySQL to
catch it.
2016-07-23 00:26:26 +03:00
Nikita Popov 7527658a4d Merge branch 'PHP-7.1' 2016-07-22 18:30:48 +02:00
Nikita Popov 5af5ef8538 Merge branch 'PHP-7.1' 2016-07-22 18:21:10 +02:00
Nikita Popov a41c91d32e Merge branch 'PHP-7.1' 2016-07-22 18:09:35 +02:00
Nikita Popov 43d2decabc Merge branch 'PHP-7.1' 2016-07-22 17:22:50 +02:00
Xinchen Hui 43d45e8d38 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #72647 (xmlrpc_encode() unexpected output after referencing array elements)
  Update NEWs
  Fixed bug #72647 (xmlrpc_encode() unexpected output after referencing array elements)
2016-07-22 23:15:36 +08:00
Christoph M. Becker c82e3c1c8e Merge branch 'PHP-7.1' 2016-07-22 15:29:50 +02:00
Remi Collet 67d1aec92b Merge branch 'PHP-7.1'
* PHP-7.1:
  FPM: add test for CVE-2016-5385
2016-07-22 09:37:15 +02:00
Páll Haraldsson 98d8c70a91 Typo..
[skip ci]
2016-07-21 20:56:18 +00:00
Christoph M. Becker 49ddd0331e Merge branch 'PHP-7.1' 2016-07-21 19:03:44 +02:00
Christoph M. Becker 434e9e1589 Merge branch 'PHP-7.1' 2016-07-21 16:51:49 +02:00
Christoph M. Becker 05d57d743f Merge branch 'PHP-7.1' 2016-07-21 16:33:42 +02:00
Christoph M. Becker c4fe264b40 Implement #47456: Missing PCRE option 'J'
While it is possible to force the same behavior by setting the internal
option (?J), having a dedicated modifier appears to be useful. After all,
J is even listed on the "Pattern Modifiers" man page[1], but the description
referrs to (?J).

[1] <http://php.net/manual/en/reference.pcre.pattern.modifiers.php>
2016-07-21 15:36:42 +02:00
Davey Shafik 09b4ab4bb6 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS for 7.1.0beta1
2016-07-21 02:39:55 -07:00
Remi Collet 9c9bb2e1b1 Merge branch 'PHP-7.1'
* PHP-7.1:
  bump zip extension version
2016-07-21 08:43:58 +02:00
Xinchen Hui b5317b7b71 Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWS
  Fixed bug #72639 (Segfault when instantiating class that extends IntlCalendar and adds a property)
  Prepare NEWS for beta2
2016-07-21 14:26:05 +08:00
Davey Shafik 1495455d14 Prepare NEWS for 7.2 2016-07-20 20:09:52 -07:00
Anatol Belski 6c6567f79f Merge branch 'PHP-7.1'
* PHP-7.1:
  update libs_version.txt
  update libs_versions.txt
2016-07-21 01:57:23 +02:00
Ferenc Kovacs 4b07662cfa Merge branch 'PHP-7.1' 2016-07-21 00:42:05 +02:00
Charles R. Portwood II ab837a6a0a Fixing potential memory leak with encoded in password_hash
Using zend_string_alloc instead of char* for out and encoded
variables
2016-07-18 13:15:29 -05:00
Charles R. Portwood II 98722089a0 Updating config.w32 to correctly add Argon2RefLib to LIBS flag 2016-07-13 07:59:33 -05:00
Charles R. Portwood II 1c954c9549 Untouching old tests 2016-07-12 16:38:49 -05:00
Charles R. Portwood II 9bedcb7a61 Adding to PHP library includes 2016-07-12 10:24:11 -05:00
Charles R. Portwood II f4aa3a465b Fixing linker issue on linux when DIR is specified on --with-argon2 2016-07-11 23:13:07 -05:00
Charles R. Portwood II d3986572a9 Adding Windows build flag for --with-argon2 2016-07-11 22:12:27 -05:00
Charles R. Portwood II 9f37be5c43 Fixing failing tests for Argon2
- Added "Skipped:" flag so argon2 tests would be skipped when
  PHP is compiled without Argon2 support
2016-07-11 18:39:04 -05:00
Charles R. Portwood II bcfccdd9f4 Removing argon2 library files in favor of --with-argon2[=DIR]
- Configure flag now accepts --with-argon2 for dynamic linking with
  libargon2. Argon2 will be enabled in password_* only if this
  flag is passed.
- --with-argon2 config flag allows user passed directory for linking
- Added Argon2 specific tests to ensure existing tests do not fail
  when argon2 is disable
2016-07-11 16:44:40 -05:00
Charles R. Portwood II 1bc381848a Reverting PASSWORD_DEFAULT to PASSWORD_BCRYPT
Indicating constants as defaults
Minor coding standards change
2016-07-10 08:16:55 -05:00
Charles R. Portwood II deba2b4572 Fixing spacing in php_password.h 2016-07-09 13:23:58 -05:00
Charles R. Portwood II 0a1274f2b1 Adding test cases for Argon2i and Argon2d
Added Windows config.w32 changes
Updated constants in php_password.h
2016-07-09 13:18:45 -05:00
Charles R. Portwood II c2551a74d4 Working implementation with password_hash, password_verify 2016-07-08 23:45:19 -05:00
Charles R. Portwood II 3c7fb71a90 Introducing Argon2 memory, time, and lanes constants
PASSWORD_ARGON2_MEMORY_COST
PASSWORD_ARGON2_TIME_COST
PASSWORD_ARGON2_LANES
2016-07-08 15:31:30 -05:00
Charles R. Portwood II de85c2e526 Implementing password_verify and password_get_info for Argon2 2016-07-08 15:27:20 -05:00
Richard Fussenegger 3b43b829c4 Added editorconfig file 2016-06-26 17:51:44 +02:00
Nazar Mokrynskyi ddf1c0891b Tiny tweak for $header initialization, it should always be an array 2016-06-22 22:01:34 +03:00
sskaje 788a2d0226 Add entry to UPGRADING 2016-06-01 09:28:20 +08:00
sskaje b1e9515d8b Merge remote-tracking branch 'upstream/master' 2016-05-31 20:08:13 +08:00
sskaje cb2bae018f better but longer way processing float/double and memory 2016-05-31 20:08:09 +08:00
sskaje b56352aa1d PR#1905: directly copy to target memory 2016-05-13 17:41:59 +08:00
sskaje 267ddb3abd missing efree() 2016-05-13 15:55:41 +08:00
sskaje aa850a533b Changed invalid pack format in unpack_error.phpt 2016-05-13 15:11:17 +08:00
sskaje a273b7307d Changed invalid pack format in unpack_error.phpt 2016-05-13 15:02:57 +08:00
sskaje 92bcc10e10 comments for e,E,g,G 2016-05-12 19:16:29 +08:00
sskaje 540f4b5cf6 pack()/unpack() for Big Endian float/double and Little Endian float/double 2016-05-12 19:13:21 +08:00
Nazar Mokrynskyi d69fd5d41a Minor tweaks
Few unused variables removed.
One ambiguous situation resolved.
`join(...)` > `implode(...)`.
One case of 2 `isset()` statements combined together.
2016-04-15 10:14:47 +03:00
Andrea Faulds 1c1e20d771 Deduplicate NAN/INF portability, move to Zend 2016-03-20 01:32:44 +00:00
marcosptf 38b21fc2fa Update curl_multi_info_read.phpt 2016-03-17 10:45:54 -03:00
marcosptf c66161d061 Update curl_multi_info_read.phpt 2016-03-16 18:18:04 -03:00
marcosptf 547118e2f1 test to function hash_update_file();
was added new test to uncoverage function from hash module
2016-03-13 14:14:03 -03:00
marcosptf e609b05d5b Update hash_update_stream.phpt 2016-03-13 14:00:01 -03:00
marcosptf 1b683c34ae test to function hash_update_stream();
was added a new function to module hash
2016-03-13 12:46:48 -03:00
marcosptf 5cd9c3bd71 test to function openssl_free_key($loaded_key);
was added a new test to openssl module to coverage openssl_free_key($loaded_key); function
2016-03-13 10:53:34 -03:00
marcosptf 252cfa5720 Update curl_multi_info_read.phpt 2016-03-13 10:26:48 -03:00
marcosptf 190ec3651f Update curl_multi_info_read.phpt 2016-03-13 05:10:59 -03:00
marcosptf 4e07a0eef9 test to function curl_multi_info_read();
was added a new function to module curl
2016-03-13 02:47:41 -03:00
marcosptf 651f3cf23a test to function dns_get_mx();
was added a new function to standard module a network function dns_get_mx();
2016-03-13 01:55:27 -03:00
Rob Thomas 2854f3292d Fix patch to work against PHP7
This also updates the testcases so they now return correct data
with the extra return value.
2016-02-05 10:19:02 +10:00
Rob Thomas 73bae6b065 Add 'serialNumberHex' variable to openssl_x509_parse
Currently, openssl_x509_parse returns an integer. This can be
unexpected, as the common way of handling serial numbers is with
a hex string.

This is compounded as  php's dechex() function cannot handle >32
bit numbers which will leave people trying to handle large serial
numbers frustrated.

By adding this extra return variable to openssl_x509_parse, the
consumer of the variable is certain that the serialNumberHex that
is returned is the exact Hex Serial number as OpenSSL returns
everywhere else.
2016-02-05 08:21:47 +10:00
Christoph M. Becker 5ca664abbf added test to clearly show distinction between unset (aka unmatched) subpattern and an empty match 2015-05-23 20:34:06 +02:00
Christoph M. Becker 303b3655e6 adjusted other tests to cater to changed behavior 2015-05-23 19:47:47 +02:00
Christoph M. Becker 6f33594978 changed preg_*() to yield NULL instead of '' for unset substrings 2015-05-23 19:44:42 +02:00
Christoph M. Becker 911366eb5f added failing tests for bug #61780 2015-05-23 19:28:14 +02:00
Masaki Kagaya 15e32fdc58 generate utf-8 string directly instead of using php_mb_convert_encoding 2015-03-08 02:17:17 +09:00
Masaki Kagaya b8468adad6 introduce fast zpp 2015-03-08 02:03:47 +09:00
Masaki Kagaya d24dacc594 replace AND operator with OR operator 2015-03-08 02:03:47 +09:00
Masaki Kagaya 905dfb9179 add argument for output_len 2015-03-08 02:03:47 +09:00
Masaki Kagaya 70e241f1a3 replace zend_string_alloc with safe_emalloc 2015-03-08 02:03:46 +09:00
Masaki Kagaya 29d09b7d97 update the functions for checking the names of encodings 2015-03-08 02:03:46 +09:00
Masaki Kagaya 84100270fb fix memory leak in php_mb_check_encoding 2015-03-08 02:03:46 +09:00
Masaki Kagaya bdb7a59a4b fix memory leak 2015-03-08 02:03:46 +09:00
Masaki Kagaya 2a3c08b834 fix php_mb_ord for better handling the value of MBSTRG(current_filter_illegal_substchar) 2015-03-08 02:03:45 +09:00
Masaki Kagaya 1033bad01e add php_mb_check_unicode_encoding 2015-03-08 02:03:45 +09:00
Masaki Kagaya 00324a379c add test for mb_chr and mb_ord 2015-03-08 02:03:45 +09:00
Masaki Kagaya 325faea56f rename php_mb_check_forbidden_encoding to php_mb_check_unsupported_encoding 2015-03-08 02:03:45 +09:00
Masaki Kagaya 2e97d7be3b changed the position of calling php_mb_check_forbidden_encoding 2015-03-08 02:03:44 +09:00
Masaki Kagaya 08443b2bab use php_mb_convert_encoding instead of php_mb_check_encoding 2015-03-08 02:03:44 +09:00
Masaki Kagaya ae838e6e4c added various encoding support other than unicode 2015-03-08 02:03:44 +09:00
Masaki Kagaya 09b5bfc71a added check by php_mb_check_forbidden_encoding 2015-03-08 02:03:44 +09:00
Masaki Kagaya 32383114d5 added mb_chr 2015-03-08 02:03:44 +09:00
Masaki Kagaya 421f7fcfa8 added php_mb_check_forbidden_encoding 2015-03-08 02:03:43 +09:00
Masaki Kagaya 1c1c64a591 added support for various encodings other than unicode 2015-03-08 02:03:43 +09:00
Masaki Kagaya 590e6f0cda added utf16 and ucs2 for supported encodings 2015-03-08 02:03:43 +09:00
Masaki Kagaya c55dea018f added check for forbidden encodings 2015-03-08 02:03:43 +09:00
Masaki Kagaya f008db6f4c added utf32 and ucs4 for available encodings 2015-03-08 02:03:42 +09:00
Masaki Kagaya f6be936e10 added mb_ord 2015-03-08 02:03:42 +09:00
Masaki Kagaya 5f41bff45b added php_mb_check_encoding 2015-03-08 02:03:42 +09:00
Masaki Kagaya a22d27df4c replace emalloc with safe_emalloc 2015-03-01 16:07:18 +09:00
Masaki Kagaya 45a8a9c685 update the functions for checking the names of encodings 2015-02-27 19:31:34 +09:00
Masaki Kagaya 32de1cf57a delete unnecessary functions 2015-02-22 19:55:13 +09:00
Masaki Kagaya 6be0f8dc9a fix return type 2015-02-22 16:58:22 +09:00
Masaki Kagaya 99d90f1358 fix memory leak 2015-02-22 16:13:32 +09:00
Masaki Kagaya aa7eceb3a5 added php_mb_check_code_point for mb_substitute_character 2015-02-19 22:49:13 +09:00
Masaki Kagaya f303f59813 changed the position of calling php_mb_check_forbidden_encoding 2015-02-19 19:16:14 +09:00
Masaki Kagaya 89e9746f74 use php_mb_convert_encoding instead of php_mb_check_encoding 2015-02-19 19:08:50 +09:00
Masaki Kagaya f10a182674 added various encoding support other than unicode 2015-02-19 18:59:13 +09:00
Masaki Kagaya a8ef8a25e5 added check by php_mb_check_forbidden_encoding 2015-02-19 18:43:55 +09:00
Masaki Kagaya c6e94bfb4c added mb_chr 2015-02-19 16:01:47 +09:00
Masaki Kagaya a0890c7c59 added php_mb_check_forbidden_encoding 2015-02-19 15:13:17 +09:00
Masaki Kagaya b9b47c84a0 added support for various encodings other than unicode 2015-02-19 15:03:35 +09:00
Masaki Kagaya 674b67ce0c added utf16 and ucs2 for supported encodings 2015-02-19 14:45:33 +09:00
Masaki Kagaya ec4f74b296 added check for forbidden encodings 2015-02-19 14:37:12 +09:00
Masaki Kagaya b065956754 added utf32 and ucs4 for available encodings 2015-02-19 14:32:54 +09:00
Masaki Kagaya c948e44807 added mb_ord 2015-02-19 13:18:39 +09:00
Masaki Kagaya cb02838147 added php_mb_check_encoding 2015-02-19 12:42:19 +09:00
Chris Wright 1e3435b289 Return old scale value from bcscale()
Fix for #67855
2014-08-18 13:56:02 +01:00
13626 changed files with 601691 additions and 465469 deletions

No files matched your search

+9 -4
View File
@@ -1,6 +1,7 @@
version: "{branch}.build.{build}"
image: Visual Studio 2015
image: Visual Studio 2017
branches:
except:
@@ -13,10 +14,11 @@ cache:
- c:\build-cache
environment:
PHP_BUILD_CACHE_BASE_DIR: c:\build-cache
PHP_BUILD_CACHE_BASE_DIR: c:\build-cache
PHP_BUILD_OBJ_DIR: c:\obj
PHP_BUILD_CACHE_SDK_DIR: c:\build-cache\sdk
PHP_BUILD_SDK_BRANCH: php-sdk-2.1.9beta1
PHP_BUILD_SDK_BRANCH: php-sdk-2.1.7
PHP_BUILD_CRT: vc15
# ext and env setup for tests
#MYSQL_TEST_PASSWD: Password12!
#MYSQL_TEST_USER: root
@@ -31,11 +33,13 @@ environment:
OPCACHE: 0
- THREAD_SAFE: 1
OPCACHE: 1
INTRINSICS: AVX
services:
# the setup scripts have to be touched, once some other db version is used
- mysql
- postgresql96
- postgresql101
- mssql2017
platform:
- x64
@@ -46,3 +50,4 @@ build_script:
test_script:
- appveyor\test.bat
+10 -10
View File
@@ -5,7 +5,7 @@ end
document set_ts
set the ts resource, it is impossible for gdb to
call ts_resource_ex while no process is running,
but we could get the resource from the argument
but we could get the resource from the argument
of frame info.
end
@@ -153,7 +153,7 @@ end
define printzv
set $ind = 1
____printzv $arg0 0
____printzv $arg0 0
end
document printzv
@@ -190,7 +190,7 @@ define ____printzv_contents
if $type == 6
printf "string: %s", $zvalue->value.str->val
end
if $type == 7
if $type == 7
printf "array: "
if ! $arg1
set $ind = $ind + 1
@@ -287,7 +287,7 @@ define ____printzv
if $arg1
____printzv_contents $zcontents $arg1
else
____printzv_contents $zcontents 0
____printzv_contents $zcontents 0
end
end
@@ -340,7 +340,7 @@ define ____print_ht
set $n = $n - 1
end
printf "[%d] ", $i
if $p->key
if $p->key
printf "%s => ", $p->key->val
else
printf "%d => ", $p->h
@@ -389,7 +389,7 @@ document print_htptr
end
define print_htstr
set $ind = 0
set $ind = 0
____print_ht $arg0 2
end
@@ -543,10 +543,10 @@ define printzn
if $znode->op_type == 1
set $optype = "IS_CONST"
end
if $znode->op_type == 2
if $znode->op_type == 2
set $optype = "IS_TMP_VAR"
end
if $znode->op_type == 4
if $znode->op_type == 4
set $optype = "IS_VAR"
end
if $znode->op_type == 8
@@ -576,11 +576,11 @@ end
document printzn
print type and content of znode.
usage: printzn &opline->op1
usage: printzn &opline->op1
end
define printzops
printf "op1 => "
printf "op1 => "
printzn &execute_data->opline.op1
printf "op2 => "
printzn &execute_data->opline.op2
+1 -18
View File
@@ -1,28 +1,11 @@
ext/mysqlnd/mysqlnd.h ident
ext/simplexml/simplexml.c ident
ext/iconv/php_iconv.h ident
ext/posix/posix.c ident
ext/recode/recode.c ident
ext/skeleton/create_stubs ident
ext/ext_skel.php ident
ext/phar/phar/pharcommand.inc ident
ext/phar/phar.c ident
ext/sysvmsg/sysvmsg.c ident
ext/enchant/enchant.c ident
ext/reflection/php_reflection.c ident
ext/oci8/oci8.c ident
ext/dba/libinifile/inifile.c ident
ext/dba/libflatfile/flatfile.c ident
ext/dba/libcdb/cdb_make.c ident
ext/dba/libcdb/cdb.c ident
ext/filter/filter.c ident
README.input_filter ident
run-tests.php ident
Zend/RFCs/002.txt ident
Zend/RFCs/003.txt ident
ext/exif/exif.c ident
ext/ldap/ldap.c ident
ext/pdo_pgsql/pdo_pgsql.c ident
ext/tidy/tidy.c ident
NEWS merge=NEWS
UPGRADING merge=NEWS
UPGRADING.INTERNALS merge=NEWS
+93 -167
View File
@@ -1,4 +1,4 @@
# General Ignores
# General ignores
*~
.#*
*.
@@ -26,21 +26,14 @@
*.tar.xz.asc
.FBCIndex
.FBCLockFolder
.deps
.libs
phpt.*
core
dynlib.m4
Debug
Debug_TS
Makefile
Makefile.fragments
Makefile.objects
Release
Release_TS
Release_TSDbg
Release_TS_inline
Release_inline
ZendEngine1
_libs
acconfig.h
aclocal.m4
@@ -55,7 +48,6 @@ config.cache
config.h.in
config.log
config.nice
config.nice.bat
config.status
config.sub
config_vars.mk
@@ -64,8 +56,6 @@ configuration-parser.h
configuration-parser.output
configuration-scanner.c
configure
configure.bat
configure.js
conftest
conftest.c
debug.log
@@ -84,7 +74,6 @@ missing
mkinstalldirs
modules
php
php-*.tar.gz
php7.spec
php_lcov.info
php_test_results_*.txt
@@ -94,169 +83,17 @@ shlibtool
stamp-h
test.php3
tmp-php.ini
want_dependencies
x64
stamp-h.in
scan_makefile_in.awk
TSRM/tsrm_config.h
Zend/zend_config.h
Zend/zend_dtrace_gen.h
Zend/zend_dtrace_gen.hbak
Zend/zend_ini_parser.c
Zend/zend_ini_parser.h
Zend/zend_ini_parser.output
Zend/zend_language_parser.c
Zend/zend_language_parser.h
Zend/zend_language_parser.output
ext/date/lib/timelib_config.h
ext/iconv/php_iconv_aliased_libiconv.h
ext/phar/phar.php
main/php_config.h
main/php_config.h.in
# Test specific Ignores
tests/*/*.diff
tests/*/*.out
tests/*/*.php
tests/*/*.exp
tests/*/*.log
tests/*/*.sh
tests/*/*/*.diff
tests/*/*/*.out
tests/*/*/*.php
tests/*/*/*.exp
tests/*/*/*.log
tests/*/*/*.sh
*/tests/*.diff
*/tests/*.out
*/tests/*.php
*/tests/*.exp
*/tests/*.log
*/tests/*.sh
*/tests/*/*.diff
*/tests/*/*.out
*/tests/*/*.php
*/tests/*/*.exp
*/tests/*/*.log
*/tests/*/*.sh
*/tests/*/*/*.diff
*/tests/*/*/*.out
*/tests/*/*/*.php
*/tests/*/*/*.exp
*/tests/*/*/*.log
*/tests/*/*/*.sh
*/*/tests/*.diff
*/*/tests/*.out
*/*/tests/*.out.png
*/*/tests/*.php
*/*/tests/*.exp
*/*/tests/*.log
*/*/tests/*.sh
*/*/tests/*/*.diff
*/*/tests/*/*.out
*/*/tests/*/*.php
*/*/tests/*/*.exp
*/*/tests/*/*.log
*/*/tests/*/*.sh
*/*/tests/*/*/*.diff
*/*/tests/*/*/*.out
*/*/tests/*/*/*.php
*/*/tests/*/*/*.exp
*/*/tests/*/*/*.log
*/*/tests/*/*/*.sh
*/*/tests/*/*/*/*.diff
*/*/tests/*/*/*/*.out
*/*/tests/*/*/*/*.php
*/*/tests/*/*/*/*.exp
*/*/tests/*/*/*/*.log
*/*/tests/*/*/*/*.sh
# Extension specifc ignores
ext/*/configure.in
ext/*/ltmain.sh
ext/*/libs.mk
ext/*/build
ext/*/scan_makefile_in.awk
ext/*/Makefile.global
ext/*/acinclude.m4
ext/*/config.sub
# Extension specific
ext/iconv/scan_makefile_in.awk
ext/iconv/php_have_bsd_iconv.h
ext/iconv/php_have_ibm_iconv.h
ext/iconv/php_have_libiconv.h
ext/iconv/php_php_iconv_h_path.h
ext/iconv/php_have_glibc_iconv.h
ext/iconv/php_php_iconv_impl.h
ext/iconv/php_have_iconv.h
ext/iconv/php_iconv_supports_errno.h
ext/iconv/php_iconv_broken_ignore.h
ext/mbstring/libmbfl/Makefile.in
ext/mbstring/libmbfl/autoscan.log
ext/mbstring/libmbfl/config.sub
ext/mbstring/libmbfl/depcomp
ext/mbstring/libmbfl/ltmain.sh
ext/mbstring/libmbfl/stamp-h1
ext/mbstring/libmbfl/*.dll
ext/mbstring/libmbfl/*.lib
ext/mbstring/libmbfl/*.RES
ext/mbstring/libmbfl/*.res
ext/mbstring/libmbfl/*.obj
ext/mbstring/libmbfl/*.tds
ext/mbstring/libmbfl/filters/Makefile.in
ext/mbstring/libmbfl/mbfl/Makefile.in
ext/mbstring/libmbfl/mbfl/EastAsianWidth.txt
ext/mbstring/libmbfl/nls/Makefile.in
ext/mssql/#*#
ext/mssql/Makefile.global
ext/mssql/acinclude.m4
ext/mssql/config.sub
ext/mssql/configure.in
ext/mssql/ltmain.sh
ext/mysql/weztest.sqlite
ext/oci8/tests/*.tmp
ext/oci8/tests/*.vglog
ext/pdo/conftest*
ext/pdo/tests/*.db
ext/pdo/tests/*.tmp
ext/pdo_firebird/conftest*
ext/pdo_mysql/conftest*
ext/pdo_mysql/tests/*.db
ext/pdo_mysql/tests/*.tmp
ext/pdo_oci/conftest*
ext/pdo_odbc/tests/*.db
ext/pdo_odbc/tests/*.tmp
ext/pdo_odbc/tests/*.mdb
ext/pdo_pgsql/conftest*
ext/pdo_pgsql/tests/*.db
ext/pdo_pgsql/tests/*.tmp
ext/pdo_sqlite/conftest*
ext/pdo_sqlite/sqlite3.h
ext/pdo_sqlite/tests/*.db
ext/pdo_sqlite/tests/*.tmp
ext/phar/phar.phar
ext/phar/phar.1
ext/phar/phar.phar.1
ext/pspell/tests/*.tmp
ext/reflection/xml
ext/reflection/html
ext/reflection/spl.chm
ext/simplexml/examples/security.new.xml
ext/spl/examples/.htaccess
ext/spl/examples/*.phps
ext/sqlite3/tests/phpsql*
ext/sqlite3/tests/*.db
ext/sqlite3/tests/*.tmp
ext/standard/tests/misc/*.txt
ext/standard/tests/strings/*.txt
main/build-defs.h
main/internal_functions_cli.c
main/config.w32.h
main/stamp-h1
main/streams/build-defs.h
main/streams/stamp-h1
#pear/install-pear-nozlib.phar
pear/install-pear-nozlib.phar
pear/phpize
pear/run-tests
pear/php-config
@@ -270,16 +107,105 @@ sapi/fpm/php-fpm.1
sapi/fpm/init.d.php-fpm
sapi/fpm/php-fpm.conf
sapi/fpm/fpm/php-cgi
sapi/fpm/php-fpm.8
sapi/fpm/php-fpm.service
sapi/fpm/status.html
sapi/fpm/www.conf
sapi/phpdbg/phpdbg_parser.c
sapi/phpdbg/phpdbg_parser.h
sapi/phpdbg/phpdbg
sapi/phpdbg/phpdbg.1
sapi/phpdbg/build
sapi/phpdbg/*.output
scripts/php-config
scripts/phpize
scripts/man1/*.1
TSRM/tsrm_config.h
win32/*.suo
win32/*.aps
win32/*.positions
win32/ext
win32/phpts.def
win32/wsyslog.h
Zend/zend_config.h
Zend/zend_dtrace_gen.h
Zend/zend_dtrace_gen.hbak
Zend/zend_ini_parser.c
Zend/zend_ini_parser.h
Zend/zend_ini_parser.output
Zend/zend_language_parser.c
Zend/zend_language_parser.h
Zend/zend_language_parser.output
# Extension specific ignores
ext/*/configure.ac
ext/*/ltmain.sh
ext/*/libs.mk
ext/*/build
ext/*/scan_makefile_in.awk
ext/*/Makefile.global
ext/*/acinclude.m4
ext/*/config.sub
ext/date/lib/timelib_config.h
ext/iconv/php_have_bsd_iconv.h
ext/iconv/php_have_ibm_iconv.h
ext/iconv/php_have_libiconv.h
ext/iconv/php_php_iconv_h_path.h
ext/iconv/php_have_glibc_iconv.h
ext/iconv/php_php_iconv_impl.h
ext/iconv/php_have_iconv.h
ext/iconv/php_iconv_supports_errno.h
ext/iconv/php_iconv_broken_ignore.h
ext/iconv/php_iconv_aliased_libiconv.h
ext/mbstring/oniguruma/oniguruma.h
ext/oci8/tests/*.vglog
ext/pdo/conftest*
ext/pdo_firebird/conftest*
ext/pdo_mysql/conftest*
ext/pdo_oci/conftest*
ext/pdo_odbc/tests/*.mdb
ext/pdo_pgsql/conftest*
ext/pdo_sqlite/conftest*
ext/pdo_sqlite/sqlite3.h
ext/phar/phar.phar
ext/phar/phar.1
ext/phar/phar.phar.1
ext/phar/phar.php
ext/reflection/xml
ext/reflection/html
ext/reflection/spl.chm
ext/spl/examples/.htaccess
ext/spl/examples/*.phps
ext/sqlite3/tests/phpsql*
# ------------------------------------------------------------------------------ Windows
# Generated by `/buildconf.bat`
/configure.bat
/configure.js
# Generated by `/configure.(bat|js)` (architecture dependend)
/config.nice.bat
/Debug/
/Debug_TS/
/Release/
/Release_TS/
/x64/
# ------------------------------------------------------------------------------ Tests
# Generated by `/run-tests.php` upon failure
**/tests/**/*.diff
**/tests/**/*.out*
**/tests/**/*.php
**/tests/**/*.exp
**/tests/**/*.log
**/tests/**/*.sh
# Used by some test cases.
**/tests/**/*.db
**/tests/**/*.txt
**/tests/**/*.tmp
# Special cases to invert previous ignore rules
!ext/fileinfo/libmagic.patch
!ext/mbstring/oniguruma.patch
!scripts/dev/generate-phpt/tests/*.php
!ext/pcre/pcre2lib/config.h
+12 -8
View File
@@ -1,6 +1,3 @@
git:
quiet: true
dist: trusty
language: c
sudo: required
@@ -12,7 +9,6 @@ addons:
- re2c
- libgmp-dev
- libicu-dev
- libmcrypt-dev
- libtidy-dev
- libenchant-dev
- libaspell-dev
@@ -21,9 +17,10 @@ addons:
- libsasl2-dev
- libxpm-dev
- libt1-dev
- libzip-dev
notifications:
email:
email:
on_failure: change
irc:
template:
@@ -34,7 +31,8 @@ notifications:
on_failure: always
cache:
- apt
apt: true
ccache: true
env:
global:
@@ -50,6 +48,9 @@ env:
- ENABLE_MAINTAINER_ZTS=1 ENABLE_DEBUG=1
before_script:
- ccache --version
- ccache --zero-stats
- export USE_CCACHE=1
# Enable IPv6
- sudo sh -c 'echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6'
# Compile PHP
@@ -61,6 +62,9 @@ before_script:
- . ./travis/ext/pgsql/setup.sh
- . ./travis/ext/pdo_pgsql/setup.sh
# Run PHPs run-tests.php
# Run PHPs run-tests.php
script:
- ./sapi/cli/php run-tests.php -p `pwd`/sapi/cli/php $(if [ $ENABLE_DEBUG == 0 ]; then echo "-d opcache.enable_cli=1 -d zend_extension=`pwd`/modules/opcache.so"; fi) -g "FAIL,XFAIL,BORK,WARN,LEAK,SKIP" --offline --show-diff --set-timeout 120
- ./sapi/cli/php run-tests.php -p `pwd`/sapi/cli/php $(if [ $ENABLE_DEBUG == 0 ]; then echo "-d opcache.enable_cli=1 -d zend_extension=`pwd`/modules/opcache.so"; fi) -g "FAIL,XFAIL,BORK,WARN,LEAK,SKIP" --offline --show-diff --show-slow 1000 --set-timeout 120
after_success:
- ccache --show-stats
+11 -11
View File
@@ -4,10 +4,9 @@
This file lists several standards that any programmer adding or changing
code in PHP should follow. Since this file was added at a very late
stage of the development of PHP v3.0, the code base does not (yet) fully
follow it, but it's going in that general direction. Since we are now
well into version 5 releases, many sections have been recoded to use
these rules.
stage of the development of PHP v3.0, the code base does not fully
follow it, but new features are going in that general direction. Many
sections have been recoded to use these rules.
Code Implementation
-------------------
@@ -93,12 +92,12 @@ User Functions/Methods Naming Conventions
readability of the function name itself::
Good:
'mcrypt_enc_self_test'
'mysql_list_fields'
'str_word_count'
'array_key_exists'
Ok:
'mcrypt_module_get_algo_supported_key_sizes'
(could be 'mcrypt_mod_get_algo_sup_key_sizes'?)
'date_interval_create_from_date_string'
(could be 'date_intvl_create_from_date_str'?)
'get_html_translation_table'
(could be 'html_get_trans_table'?)
@@ -113,7 +112,7 @@ User Functions/Methods Naming Conventions
of ``parent_*``::
A family of 'foo' functions, for example:
Good:
'foo_select_bar'
'foo_insert_baz'
@@ -298,5 +297,6 @@ highlight_file and show_source), will be separately documented. The
proto should still be included, describing which function is aliased.
Backwards compatible functions and names should be maintained as long
as the code can be reasonably be kept as part of the codebase. See
/phpdoc/README for more information on documentation.
as the code can be reasonably be kept as part of the codebase. See the
README in the PHP documentation repository for more information on
documentation.
+13 -8
View File
@@ -11,15 +11,20 @@ co-ordination.
PHP welcomes pull requests to [add tests](#writing-tests), fix bugs and to
implement RFCs. Please be sure to include tests as appropriate!
If you are fixing a bug, then please submit your PR against the lowest branch
of PHP that the bug affects, or the oldest fully supported version (the first
green branch on
[the supported version page](http://php.net/supported-versions.php). For
example, at the time of writing in mid-2015, this is PHP 5.5, which corresponds
to the `PHP-5.5` branch in Git. Please also make sure you add a link to the PR
in the bug on [the bug tracker](https://bugs.php.net/).
If you are fixing a bug, then please submit your PR against the lowest actively
supported branch of PHP that the bug affects (only green branches on
[the supported version page](http://php.net/supported-versions.php) are supported).
For example, at the time of writing in early-2018, the lowest supported version is
PHP 7.1, which corresponds to the `PHP-7.1` branch in Git. Please also make sure you
add a link to the PR in the bug on [the bug tracker](https://bugs.php.net/).
Pull requests to implement RFCs should be submitted against `master`.
Pull requests implementing RFCs should be submitted against `master`.
Pull requests should *never* be submitted against `PHP-x.y.z` branches, as
these are only used for release management.
If your pull request exhibits conflicts with the base branch, please resolve them
by using `git rebase` instead of `git merge`.
## Filing bugs
+2 -1
View File
@@ -1,2 +1,3 @@
For the list of people who've put work into PHP, please see
http://www.php.net/credits.php
https://www.php.net/credits.php
+119 -69
View File
@@ -3,7 +3,6 @@
Maintenance legend
------------------
Supported: Someone is actually paid to look after this.
Maintained: Someone actually looks after it.
Odd Fixes: It has a maintainer but they don't have time to do
much other than throw the odd patch in. See below.
@@ -37,7 +36,7 @@ MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: cli
MAINTENANCE: Marcus Boerger <helly@php.net>, Edin Kadribasic <edink@php.net>
MAINTENANCE: Marcus Börger <helly@php.net>, Edin Kadribasic <edink@php.net>
STATUS: Working
SINCE: 4.3.0
-------------------------------------------------------------------------------
@@ -68,59 +67,71 @@ STATUS: 5.6
-------------------------------------------------------------------------------
EXTENSION: dba
PRIMARY MAINTAINER: Marcus Börger <helly@php.net>,Christopher Jones <sixd@php.net>, Pierre-Alain Joye <pajoye@php.net>
PRIMARY MAINTAINER: Marcus Börger <helly@php.net> (2002 - 2007)
Christopher Jones <sixd@php.net> (2008 - 2013)
Pierre-Alain Joye <pajoye@php.net> (2011 - 2011)
MAINTENANCE: Maintained
STATUS: Working
COMMENT: DBM abstraction for db2, db3, db4, dbm, ndbm, gdbm, ini
-------------------------------------------------------------------------------
EXTENSION: interbase
PRIMARY MAINTAINER: Ard Biesheuvel <ard@ard.nu>
PRIMARY MAINTAINER: Ard Biesheuvel <ard@ard.nu> (2003 - 2005)
MAINTENANCE: Odd fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mysqli
PRIMARY MAINTAINER: Georg Richter <georg@php.net>, Andrey Hristov <andrey@php.net>, Johannes Schlüter <johannes@php.net>, Ulf Wendel <uw@php.net>
PRIMARY MAINTAINER: Georg Richter <georg@php.net> (2003 - 2006)
Andrey Hristov <andrey@php.net> (2003 - 2016)
Johannes Schlüter <johannes@php.net> (2008 - 2014)
Ulf Wendel <uw@php.net> (2007 - 2013)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: mysqlnd
PRIMARY MAINTAINER: Andrey Hristov <andrey@php.net>, Johannes Schlüter <johannes@php.net>, Ulf Wendel <uw@php.net>
PRIMARY MAINTAINER: Andrey Hristov <andrey@php.net> (2007 - 2017)
Johannes Schlüter <johannes@php.net> (2008 - 2018)
Ulf Wendel <uw@php.net> (2009 - 2011)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
-------------------------------------------------------------------------------
EXTENSION: oci8
PRIMARY MAINTAINER: Christopher Jones <sixd@php.net>, Antony Dovgal <tony2001@php.net>
PRIMARY MAINTAINER: Christopher Jones <sixd@php.net> (2007 - 2017)
Antony Dovgal <tony2001@php.net> (2003 - 2009)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: odbc
PRIMARY MAINTAINER: Daniel R. Kalowsky <kalowsky@php.net>
PRIMARY MAINTAINER: Daniel R. Kalowsky <kalowsky@php.net> (2000 - 2004)
MAINTENANCE: Maintained
STATUS: Working
COMMENT: Working
-------------------------------------------------------------------------------
EXTENSION: pdo
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net>, Wez Furlong <wez@php.net>
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net> (2004 - 2011)
Wez Furlong <wez@php.net> (2004 - 2006)
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_dblib
PRIMARY MAINTAINER: Adam Baratz <adambaratz@php.net>
PRIMARY MAINTAINER: Adam Baratz <adambaratz@php.net> (2016 - 2017)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_firebird
PRIMARY MAINTAINER: Lars Westermann <lwe@php.net>
PRIMARY MAINTAINER: Lars Westermann <lwe@php.net> (2007 - 2007)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_mysql
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net>, Johannes Schlüter <johannes@php.net>, Andrey Hristov <andrey@php.net>, Ulf Wendel <uw@php.net>
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net> (2004 - 2010)
Johannes Schlüter <johannes@php.net> (2008 - 2014)
Andrey Hristov <andrey@php.net> (2005 - 2015)
Ulf Wendel <uw@php.net> (2008 - 2012)
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
@@ -132,31 +143,32 @@ STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_oci
PRIMARY MAINTAINER: Christopher Jones <sixd@php.net>
PRIMARY MAINTAINER: Christopher Jones <sixd@php.net> (2007 - 2017)
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_pgsql
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net>
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net> (2004 - 2011)
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pdo_sqlite
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net>
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net> (2005 - 2011)
MAINTENANCE: Odd fixes
STATUS: Working
SINCE: 5.1
-------------------------------------------------------------------------------
EXTENSION: pgsql
PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>, Yasuo Ohgaki <yohgaki@php.net>
PRIMARY MAINTAINER: Marcus Börger <helly@php.net> (2002 - 2007)
Yasuo Ohgaki <yohgaki@php.net> (2001 - 2015)
MAINTENANCE: Maintained
STATUS: Working
COMMENT: Use PostgreSQL 7.0.x or later. PostgreSQL 6.5.3 or less have fatal bug.
-------------------------------------------------------------------------------
EXTENSION: sqlite3
PRIMARY MAINTAINER: Scott MacVicar <scottmac@php.net>
PRIMARY MAINTAINER: Scott MacVicar <scottmac@php.net> (2008 - 2011)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
@@ -168,34 +180,38 @@ COMMENT: Integrates SQLite 3 embeddable SQL database engine.
-------------------------------------------------------------------------------
EXTENSION: dom
PRIMARY MAINTAINER: Christian Stocker <chregu@php.net>, Rob Richards <rrichards@php.net>, Marcus Boerger <helly@php.net>
PRIMARY MAINTAINER: Christian Stocker <chregu@php.net> (2003 - 2011)
Rob Richards <rrichards@php.net> (2003 - 2012)
Marcus Börger <helly@php.net> (2003 - 2006)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: simplexml
PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>
PRIMARY MAINTAINER: Marcus Börger <helly@php.net> (2003 - 2008)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: soap
PRIMARY MAINTAINER: Dmitry Stogov <dmitry@zend.com>
PRIMARY MAINTAINER: Dmitry Stogov <dmitry@zend.com> (2004 - 2018)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: wddx
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net> (1999 - 2003)
MAINTENANCE: Orphaned
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xml
PRIMARY MAINTAINER: Thies C. Arntzen <thies@thieso.net>, Rob Richards <rrichards@php.net>
PRIMARY MAINTAINER: Thies C. Arntzen <thies@thieso.net> (1999 - 2002)
Rob Richards <rrichards@php.net> (2003 - 2013)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: libxml
PRIMARY MAINTAINER: Rob Richards <rrichards@php.net>, Christian Stocker <chregu@php.net>
PRIMARY MAINTAINER: Rob Richards <rrichards@php.net> (2003 - 2009)
Christian Stocker <chregu@php.net> (2004 - 2011)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -205,17 +221,19 @@ MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xmlrpc
PRIMARY MAINTAINER: Dan Libby
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Orphaned
STATUS: Experimental
-------------------------------------------------------------------------------
EXTENSION: xmlwriter
PRIMARY MAINTAINER: Rob Richards <rrichards@php.net>, Pierre-Alain Joye <pajoye@php.net>
PRIMARY MAINTAINER: Rob Richards <rrichards@php.net> (2004 - 2010)
Christian Stocker <chregu@php.net> (2004 - 2004)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xsl
PRIMARY MAINTAINER: Christian Stocker <chregu@php.net>, Rob Richards <rrichards@php.net>
PRIMARY MAINTAINER: Christian Stocker <chregu@php.net> (2003 - 2011)
Rob Richards <rrichards@php.net> (2003 - 2010)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0
@@ -226,67 +244,78 @@ SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: bcmath
MAINTENANCE: Andi Gutmans <andi@zend.com>
MAINTENANCE: Andi Gutmans <andi@zend.com> (2000 - 2004)
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: bz2
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net> (2004 - 2004)
MAINTENANCE: Odd Fixes
STATUS: Working
SINCE: 4.0.3
-------------------------------------------------------------------------------
EXTENSION: calendar
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net> (2000 - 2004)
MAINTENANCE: Odd Fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: com_dotnet
PRIMARY MAINTAINER: Wez Furlong <wez@php.net>
PRIMARY MAINTAINER: Wez Furlong <wez@php.net> (2003 - 2005)
MAINTENANCE: Maintained
STATUS: Windows
SINCE: 5.0
-------------------------------------------------------------------------------
EXTENSION: ctype
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net>
PRIMARY MAINTAINER: Hartmut Holzgraefe <hholzgra@php.net> (2000 - 2004)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: curl
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net>, Ilia Alshanetsky <iliaa@php.net>, Pierrick Charron <pierrick@php.net>
PRIMARY MAINTAINER: Sterling Hughes <sterling@php.net> (2000 - 2004)
Ilia Alshanetsky <iliaa@php.net> (2002 - 2011)
Pierrick Charron <pierrick@php.net> (2010 - 2016)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: date
PRIMARY MAINTAINER: Derick Rethans <derick@php.net>
PRIMARY MAINTAINER: Derick Rethans <derick@php.net> (2005 - 2018)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: enchant
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
-------------------------------------------------------------------------------
EXTENSION: exif
PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>
PRIMARY MAINTAINER: Kalle Sommer Nielsen <kalle@php.net> (2010 - 2018)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.2
-------------------------------------------------------------------------------
EXTENSION: fileinfo
PRIMARY MAINTAINER: Derick Rethans <derick@php.net>
PRIMARY MAINTAINER: Derick Rethans <derick@php.net> (2004 - 2008)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
-------------------------------------------------------------------------------
EXTENSION: filter
PRIMARY MAINTAINER: Derick Rethans <derick@php.net>, Pierre-Alain Joye <pajoye@php.net>, Ilia Alshanetsky <iliaa@php.net>
PRIMARY MAINTAINER: Derick Rethans <derick@php.net> (2006 - 2006)
Pierre-Alain Joye <pajoye@php.net> (2006 - 2011)
Ilia Alshanetsky <iliaa@php.net> (2006 - 2011)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.2
-------------------------------------------------------------------------------
EXTENSION: ftp
PRIMARY MAINTAINER: Stefan Esser <sesser@php.net>
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: gd
PRIMARY MAINTAINER: Pierre-Alain Joye <pajoye@php.net>, Christoph M. Becker <cmb@php.net>
PRIMARY MAINTAINER: Pierre-Alain Joye <pajoye@php.net> (2002 - 2016)
Christoph M. Becker <cmb@php.net> (2015 - 2018)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
@@ -295,89 +324,97 @@ MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: gmp
PRIMARY MAINTAINER: Stanislav Malyshev <stas@php.net>, Antony Dovgal <tony2001@php.net>
PRIMARY MAINTAINER: Stanislav Malyshev <stas@php.net> (2000 - 2018)
Antony Dovgal <tony2001@php.net> (2005 - 2010)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.4
-------------------------------------------------------------------------------
EXTENSION: hash
PRIMARY MAINTAINER: Sara Golemon <pollita@php.net>, Mike Wallner <mike@php.net>, Anatol Belski <ab@php.net>
PRIMARY MAINTAINER: Sara Golemon <pollita@php.net> (2005 - 2017)
Mike Wallner <mike@php.net> (2005 - 2013)
Anatol Belski <ab@php.net> (2014 - 2018)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.1.2
-------------------------------------------------------------------------------
EXTENSION: iconv
PRIMARY MAINTAINER: Moriyoshi Koizumi <moriyoshi@php.net>
PRIMARY MAINTAINER: Moriyoshi Koizumi <moriyoshi@php.net> (2002 - 2010)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: intl
PRIMARY MAINTAINER: Stanislav Malyshev <stas@php.net>
PRIMARY MAINTAINER: Stanislav Malyshev <stas@php.net> (2008 - 2018)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
-------------------------------------------------------------------------------
EXTENSION: imap
PRIMARY MAINTAINER: Chuck Hagenbuch <chuck@horde.org>, Ilia Alshanetsky <iliaa@php.net>, Pierre-Alain Joye <pajoye@php.net>
PRIMARY MAINTAINER: Chuck Hagenbuch <chuck@horde.org> (1999 - 2004)
Ilia Alshanetsky <iliaa@php.net> (2002 - 2010)
Pierre-Alain Joye <pajoye@php.net> (2008 - 2010)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: json
PRIMARY MAINTAINER: Jakub Zelenka <bukka@php.net>
PRIMARY MAINTAINER: Jakub Zelenka <bukka@php.net> (2014 - 2018)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.2
-------------------------------------------------------------------------------
EXTENSION: ldap
PRIMARY MAINTAINER: Stig Venaas <venaas@php.net>, Douglas Goldstein <cardoe@php.net>, Pierre-Alain Joye <pajoye@php.net>, Côme Bernigaud <mcmic@php.net>
PRIMARY MAINTAINER: Stig Venaas <venaas@php.net> (2000 - 2002)
Douglas Goldstein <cardoe@php.net> (2007 - 2007)
Pierre-Alain Joye <pajoye@php.net> (2008 - 2010)
Côme Bernigaud <mcmic@php.net> (2015 - 2017)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mbstring
PRIMARY MAINTAINER: Rui Hirokawa <hirokawa@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mcrypt
PRIMARY MAINTAINER: Derick Rethans <derick@derickrethans.nl>
PRIMARY MAINTAINER: Rui Hirokawa <hirokawa@php.net> (2001 - 2013)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: opcache
PRIMARY MAINTAINER: Dmitry Stogov <dmitry@zend.com>, Xinchen Hui <laruence@php.net>
PRIMARY MAINTAINER: Dmitry Stogov <dmitry@zend.com> (2013 - 2018)
Xinchen Hui <laruence@php.net> (2013 - 2018)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.5.0
-------------------------------------------------------------------------------
EXTENSION: openssl
PRIMARY MAINTAINER: Wez Furlong <wez@php.net>, Pierre-Alain Joye <pajoye@php.net>
PRIMARY MAINTAINER: Wez Furlong <wez@php.net> (2001 - 2006)
Pierre-Alain Joye <pajoye@php.net> (2006 - 2011)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.4
-------------------------------------------------------------------------------
EXTENSION: pcntl
PRIMARY MAINTAINER: Arnaud Le Blanc <lbarnaud@php.net>
PRIMARY MAINTAINER: Arnaud Le Blanc <lbarnaud@php.net> (2008 - 2010)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: pcre
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>, Nuno Lopes <nlopess@php.net>
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net> (1999 - 2006)
Nuno Lopes <nlopess@php.net> (2006 - 2009)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: phar
PRIMARY MAINTAINER: Greg Beaver <cellog@php.net>, Marcus Börger <helly@php.net>, Steph Fox <sfox@php.net>
PRIMARY MAINTAINER: Greg Beaver <cellog@php.net> (2008 - 2009)
Marcus Börger <helly@php.net> (2008 - 2008)
Steph Fox <sfox@php.net> (2008 - 2008)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.3
-------------------------------------------------------------------------------
EXTENSION: posix
PRIMARY MAINTAINER: Kristian Köhntopp <kris@koehntopp.de>
PRIMARY MAINTAINER: Kristian Köhntopp <kris@koehntopp.de> (2000 - 2000)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: pspell
PRIMARY MAINTAINER: Vlad Krupin <phpdevel@echospace.com>
PRIMARY MAINTAINER: Vlad Krupin <phpdevel@echospace.com> (2000 - 2004)
MAINTENANCE: Unknown
STATUS: Working
SINCE: 4.0.2
@@ -387,39 +424,50 @@ MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: recode
PRIMARY MAINTAINER: Kristian Köhntopp <kris@koehntopp.de>
PRIMARY MAINTAINER: Kristian Köhntopp <kris@koehntopp.de> (2000 - 2000)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: reflection
PRIMARY MAINTAINER: Marcus Börger <helly@php.net>, Johannes Schlüter <johannes@php.net>
PRIMARY MAINTAINER: Marcus Börger <helly@php.net> (2003 - 2009)
Johannes Schlüter <johannes@php.net> (2006 - 2014)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: session
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx>, Ilia Alshanetsky <iliaa@php.net>
PRIMARY MAINTAINER: Sascha Schumann <sascha@schumann.cx> (1999 - 2004)
Ilia Alshanetsky <iliaa@php.net> (2002 - 2012)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: shmop
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net>
PRIMARY MAINTAINER: Ilia Alshanetsky <iliaa@php.net> (2002 - 2008)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.3
-------------------------------------------------------------------------------
EXTENSION: snmp
PRIMARY MAINTAINER: Boris Lytochkin <lytboris@php.net>, Rasmus Lerdorf <rasmus@php.net>, Pierre-Alain Joye <pajoye@php.net>
PRIMARY MAINTAINER: Boris Lytochkin <lytboris@php.net> (2011 - 2013)
Rasmus Lerdorf <rasmus@php.net> (1999 - 2002)
Pierre-Alain Joye <pajoye@php.net> (2010 - 2011)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: sockets
PRIMARY MAINTAINER: Chris Vandomelen <chrisv@b0rked.dhs.org>
PRIMARY MAINTAINER: Chris Vandomelen <chrisv@b0rked.dhs.org> (2000 - 2000)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 4.0.2
-------------------------------------------------------------------------------
EXTENSION: sodium
PRIMARY MAINTAINER: Frank Denis <jedisct1@php.net> (2017 - 2017)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 7.2.0
-------------------------------------------------------------------------------
EXTENSION: spl
PRIMARY MAINTAINER: Marcus Boerger <helly@php.net>, Etienne Kneuss <colder@php.net>
PRIMARY MAINTAINER: Marcus Börger <helly@php.net> (2003 - 2009)
Etienne Kneuss <colder@php.net> (2008 - 2014)
MAINTENANCE: Maintained
STATUS: Working
SINCE: 5.0.0
@@ -437,22 +485,24 @@ MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: tidy
PRIMARY MAINTAINER: John Coggeshall <john@php.net>, Ilia Alshanetsky <iliaa@php.net>, Nuno Lopes <nlopess@php.net>
PRIMARY MAINTAINER: John Coggeshall <john@php.net> (2003 - 2006)
Ilia Alshanetsky <iliaa@php.net> (2003 - 2009)
Nuno Lopes <nlopess@php.net> (2006 - 2012)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: tokenizer
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net>
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net> (2002 - 2002)
MAINTENANCE: Unknown
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: zip
PRIMARY MAINTAINER: Pierre-Alain Joye <pajoye@php.net>
PRIMARY MAINTAINER: Pierre-Alain Joye <pajoye@php.net> (2006 - 2011)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: zlib
PRIMARY MAINTAINER: Stefan Roehrich <sr@linux.de>
PRIMARY MAINTAINER: Stefan Roehrich <sr@linux.de> (1999 - 2003)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
+2 -1915
View File
File diff suppressed because it is too large. Load diff
+13 -13
View File
@@ -1,7 +1,7 @@
--------------------------------------------------------------------
--------------------------------------------------------------------
The PHP License, version 3.01
Copyright (c) 1999 - 2018 The PHP Group. All rights reserved.
--------------------------------------------------------------------
--------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
modification, is permitted provided that the following conditions
@@ -9,22 +9,22 @@ are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. The name "PHP" must not be used to endorse or promote products
derived from this software without prior written permission. For
written permission, please contact group@php.net.
4. Products derived from this software may not be called "PHP", nor
may "PHP" appear in their name, without prior written permission
from group@php.net. You may indicate that your software works in
conjunction with PHP by saying "Foo for PHP" instead of calling
it "PHP Foo" or "phpfoo"
5. The PHP Group may publish revised and/or new versions of the
license from time to time. Each version will be given a
distinguishing version number.
@@ -41,27 +41,27 @@ are met:
"This product includes PHP software, freely available from
<http://www.php.net/software/>".
THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND
THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND
ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP
DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------
--------------------------------------------------------------------
This software consists of voluntary contributions made by many
individuals on behalf of the PHP Group.
The PHP Group can be contacted via Email at group@php.net.
For more information on the PHP Group and the PHP project,
For more information on the PHP Group and the PHP project,
please see <http://www.php.net>.
PHP includes the Zend Engine, freely available at
+1
View File
@@ -1,3 +1,4 @@
#
# Zend
#
+2 -1
View File
@@ -1,3 +1,4 @@
#
# LCOV
#
@@ -61,7 +62,7 @@ php_lcov.info: lcov-test
rm -rf lcov_data/$$dir ; \
fi; \
done
@echo
@echo
@echo "Generating $@"
@$(LTP) --directory lcov_data/ --capture --base-directory=lcov_data --output-file $@
+3 -3
View File
@@ -115,13 +115,13 @@ clean:
find . -name \*.la -o -name \*.a | xargs rm -f
find . -name \*.so | xargs rm -f
find . -name .libs -a -type d|xargs rm -rf
rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(SAPI_CGI_PATH) $(SAPI_MILTER_PATH) $(SAPI_LITESPEED_PATH) $(SAPI_FPM_PATH) $(OVERALL_TARGET) modules/* libs/*
rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(SAPI_CGI_PATH) $(SAPI_LITESPEED_PATH) $(SAPI_FPM_PATH) $(OVERALL_TARGET) modules/* libs/*
distclean: clean
rm -f Makefile config.cache config.log config.status Makefile.objects Makefile.fragments libtool main/php_config.h main/internal_functions_cli.c main/internal_functions.c stamp-h buildmk.stamp Zend/zend_dtrace_gen.h Zend/zend_dtrace_gen.h.bak Zend/zend_config.h TSRM/tsrm_config.h
rm -f php7.spec main/build-defs.h scripts/phpize
rm -f ext/date/lib/timelib_config.h ext/mbstring/oniguruma/config.h ext/mbstring/libmbfl/config.h ext/oci8/oci8_dtrace_gen.h ext/oci8/oci8_dtrace_gen.h.bak
rm -f scripts/man1/phpize.1 scripts/php-config scripts/man1/php-config.1 sapi/cli/php.1 sapi/cgi/php-cgi.1 sapi/phpdbg/phpdbg.1 ext/phar/phar.1 ext/phar/phar.phar.1
rm -f scripts/man1/phpize.1 scripts/php-config scripts/man1/php-config.1 sapi/cli/php.1 sapi/cgi/php-cgi.1 ext/phar/phar.1 ext/phar/phar.phar.1
rm -f sapi/fpm/php-fpm.conf sapi/fpm/init.d.php-fpm sapi/fpm/php-fpm.service sapi/fpm/php-fpm.8 sapi/fpm/status.html
rm -f ext/iconv/php_have_bsd_iconv.h ext/iconv/php_have_glibc_iconv.h ext/iconv/php_have_ibm_iconv.h ext/iconv/php_have_iconv.h ext/iconv/php_have_libiconv.h ext/iconv/php_iconv_aliased_libiconv.h ext/iconv/php_iconv_supports_errno.h ext/iconv/php_php_iconv_h_path.h ext/iconv/php_php_iconv_impl.h
rm -f ext/phar/phar.phar ext/phar/phar.php
@@ -137,7 +137,7 @@ prof-clean:
find . -name \*.lo -o -name \*.o | xargs rm -f
find . -name \*.la -o -name \*.a | xargs rm -f
find . -name \*.so | xargs rm -f
rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(SAPI_CGI_PATH) $(SAPI_MILTER_PATH) $(SAPI_LITESPEED_PATH) $(SAPI_FPM_PATH) $(OVERALL_TARGET) modules/* libs/*
rm -f libphp$(PHP_MAJOR_VERSION).la $(SAPI_CLI_PATH) $(SAPI_CGI_PATH) $(SAPI_LITESPEED_PATH) $(SAPI_FPM_PATH) $(OVERALL_TARGET) modules/* libs/*
prof-use:
CCACHE_DISABLE=1 $(MAKE) PROF_FLAGS=-fprofile-use all
+276 -3974
View File
File diff suppressed because it is too large. Load diff
+18 -161
View File
@@ -1,187 +1,44 @@
(NOTE: you may also want to take a look at the pear package
PECL_Gen, a PHP-only alternative for this script that
supports way more extension writing tasks and is
supposed to replace ext_skel completely in the long run ...)
WHAT IT IS
It's a tool for automatically creating the basic framework for a PHP module
and writing C code handling arguments passed to your functions from a simple
configuration file. See an example at the end of this file.
It's a tool for automatically creating the basic framework for a PHP extension.
HOW TO USE IT
Very simple. First, change to the ext/ directory of the PHP 4 sources. If
you just need the basic framework and will be writing all the code in your
functions yourself, you can now do
Very simple. First, change to the ext/ directory of the PHP sources. Then
run the following
./ext_skel --extname=module_name
php ext_skel.php --ext extension_name
and everything you need is placed in directory module_name.
and everything you need will be placed in directory ext/extension_name.
[ Note that GNU awk is likely required for this script to work. Debian
systems seem to default to using mawk, so you may need to change the
#! line in skeleton/create_stubs and the cat $proto | awk line in
ext_skel to use gawk explicitly. ]
If you don't need to test the existence of any external header files,
libraries or functions in them, the extension is ready to be compiled in
PHP. To compile the extension, run the following:
If you don't need to test the existence of any external header files,
libraries or functions in them, the module is already almost ready to be
compiled in PHP. Just remove 3 comments in your_module_name/config.m4,
change back up to PHP sources top directory, and do
./buildconf; ./configure --enable-extension_name; make
./buildconf; ./configure --enable-module_name; make
The definition of PHP_MODULE_NAME_VERSION will be present in the
php_module_name.h and injected into the zend_module_entry definition. This
The definition of PHP_extension_NAME_VERSION will be present in the
php_extension_name.h and injected into the zend_extension_entry definition. This
is required by the PECL website for the version string conformity checks
against package.xml
But if you already have planned the overall scheme of your module, what
functions it will contain, their return types and the arguments they take
(a very good idea) and don't want to bother yourself with creating function
definitions and handling arguments passed yourself, it's time to create a
function definitions file, which you will give as an argument to ext_skel
with option
--proto=filename.
SOURCE AND HEADER FILE NAME
./ext_skel generates 'module_name.c' and 'php_module_name.h' as main source
and header files. Keep these names.
The ext_skel.php script generates 'extension_name.c' and 'php_extension_name.h'
as the main source and header files. Keep these names.
Module functions (User functions) must be named
extension functions (User functions) must be named
module_name_function()
extension_name_function()
When you need to expose module functions to other modules, expose functions
When you need to expose extension functions to other extensions, expose functions
strictly needed by others. Exposed internal function must be named
php_module_name_function()
php_extension_name_function()
See also CODING_STANDARDS.
FORMAT OF FUNCTION DEFINITIONS FILE
All the definitions must be on one line. In it's simplest form, it's just
the function name, e.g.
module_name_function
but then you'll be left with an almost empty function body without any
argument handling.
Arguments are given in parenthesis after the function name, and are of
the form 'argument_type argument_name'. Arguments are separated from each
other with a comma and optional space. Argument_type can be one of int,
bool, double, float, string, array, object or mixed.
An optional argument is separated from the previous by an optional space,
then '[' and of course comma and optional space, like all the other
arguments. You should close a row of optional arguments with same amount of
']'s as there where '['s. Currently, it does not harm if you forget to do it
or there is a wrong amount of ']'s, but this may change in the future.
An additional short description may be added after the parameters.
If present it will be filled into the 'proto' header comments in the stubs
code and the <refpurpose> tag in the XML documentation.
An example:
module_name_function(int arg1, int arg2 [, int arg3 [, int arg4]])
Arguments arg1 and arg2 are required.
Arguments arg3 and arg4 are optional.
If possible, the function definition should also contain it's return type
in front of the definition. It's not actually used for any C code generating
purposes but PHP in-source documentation instead, and as such, very useful.
It can be any of int, double, string, bool, array, object, resource, mixed
or void.
The file must contain nothing else but function definitions, no comments or
empty lines.
OTHER OPTIONS
--no-help
Run php ext_skel.php --help to see the available options.
By default, ext_skel creates both comments in the source code and a test
function to help first time module writers to get started and testing
configuring and compiling their module. This option turns off all such things
which may just annoy experienced PHP module coders. Especially useful with
--stubs=file
which will leave out also all module specific stuff and write just function
stubs with function value declarations and passed argument handling, and
function entries and definitions at the end of the file, for copying and
pasting into an already existing module.
--xml[=file]
Creates the basics for phpdoc .xml file.
--full-xml
Not implemented yet. When or if there will ever be created a framework for
self-contained extensions to use phpdoc system for their documentation, this
option enables it on the created xml file.
CURRENT LIMITATIONS, BUGS AND OTHER ODDITIES
Only arguments of types int, bool, double, float, string and array are
handled. For other types you must write the code yourself. And for type
mixed, it wouldn't even be possible to write anything, because only you
know what to expect.
It can't handle correctly, and probably never will, variable list of
of arguments. (void foo(int bar [, ...])
Don't trust the generated code too much. It tries to be useful in most of
the situations you might encounter, but automatic code generation will never
beat a programmer who knows the real situation at hand. ext_skel is generally
best suited for quickly generating a wrapper for c-library functions you
might want to have available in PHP too.
This program doesn't have a --help option. It has --no-help instead.
EXAMPLE
The following _one_ line
bool module_name_drawtext(resource image, string text, resource font, int x, int y [, int color])
will create this function definition for you (note that there are a few
question marks to be replaced by you, and you must of course add your own
value definitions too):
/* {{{ proto bool module_name_drawtext(resource image, string text, resource font, int x, int y [, int color])
*/
PHP_FUNCTION(module_name_drawtext)
{
char *text = NULL;
int argc = ZEND_NUM_ARGS();
int image_id = -1;
size_t text_len;
int font_id = -1;
zend_long x;
zend_long y;
zend_long color;
zval *image = NULL;
zval *font = NULL;
if (zend_parse_parameters(argc, "rsrll|l", &image, &text, &text_len, &font, &x, &y, &color) == FAILURE)
return;
if (image) {
ZEND_FETCH_RESOURCE(???, ???, image, image_id, "???", ???_rsrc_id);
}
if (font) {
ZEND_FETCH_RESOURCE(???, ???, font, font_id, "???", ???_rsrc_id);
}
php_error(E_WARNING, "module_name_drawtext: not yet implemented");
}
/* }}} */
+14 -6
View File
@@ -38,22 +38,30 @@ Having said that, here are the organizational rules::
6. Test your changes before committing them. We mean it. Really.
To do so use "make test".
7. For development use the --enable-maintainer-zts switch to ensure your
code handles TSRM correctly and doesn't break for those who need that.
7. For development use the --enable-debug switch to avoid memory leaks
and the --enable-maintainer-zts switch to ensure your code handles
TSRM correctly and doesn't break for those who need that.
Currently we have the following branches in use::
master The active development branch.
PHP-5.6 Is used to release the PHP 5.6.x series. This is a current
PHP-7.2 Is used to release the PHP 7.2.x series. This is a current
stable version and is open for bugfixes only.
PHP-5.5 Is used to release the PHP 5.5.x series. This is an old
PHP-7.1 Is used to release the PHP 7.1.x series. This is a current
stable version and is open for bugfixes only.
PHP-7.0 Is used to release the PHP 7.0.x series. This is an old
stable version and is open for security fixes only.
PHP-5.4 Is used to release the PHP 5.4.x series. This is an old
PHP-5.6 Is used to release the PHP 5.6.x series. This is an old
stable version and is open for security fixes only.
PHP-5.5 This branch is closed.
PHP-5.4 This branch is closed.
PHP-5.3 This branch is closed.
PHP-5.2 This branch is closed.
@@ -69,7 +77,7 @@ The next few rules are more of a technical nature::
1. All changes should first go to the lowest branch (i.e. 5.6) and then
get merged up to all other branches. If a change is not needed for
later branches (i.e. fixes for features which where dropped from later
later branches (i.e. fixes for features which were dropped from later
branches) an empty merge should be done.
2. All news updates intended for public viewing, such as new features,
+3 -6
View File
@@ -1,9 +1,6 @@
$Id: README.NEW-OUTPUT-API 219039 2006-08-30 07:39:09Z mike $
API adjustment to the old output control code:
Everything now resides beneath the php_output namespace,
Everything now resides beneath the php_output namespace,
and there's an API call for every output handler op.
Checking output control layers status:
@@ -18,7 +15,7 @@ API adjustment to the old output control code:
// php_start_ob_buffer(zhandler, chunk_size, erase);
php_output_start_user(zhandler, chunk_size, flags);
Starting an internal handler whithout context:
Starting an internal handler without context:
// php_ob_set_internal_handler(my_php_output_handler_func_t, buffer_size, "output handler name", erase);
php_output_start_internal(handler_name, handler_name_len, my_php_output_handler_func_t, chunk_size, flags);
@@ -134,7 +131,7 @@ Output handler hooks
Open questions
Should the userland API be adjusted and unified?
Many bits of the manual (and very first implementation) do not comply
with the behaviour of the current (to be obsoleted) code, thus should
the manual or the behaviour be adjusted?
+21 -9
View File
@@ -28,6 +28,13 @@ Both functions return SUCCESS or FAILURE depending on the result.
The auto-conversions are performed as necessary. Arrays, objects, and
resources cannot be auto-converted.
PHP 5.3 includes a new function (actually implemented as macro):
int zend_parse_parameters_none();
This returns SUCCESS if no argument has been passed to the function,
FAILURE otherwise.
PHP 5.5 includes a new function:
int zend_parse_parameter(int flags, int arg_num, zval **arg, const char *spec, ...);
@@ -42,11 +49,11 @@ See also https://wiki.php.net/rfc/zpp_improv#expose_zend_parse_arg_as_zend_parse
Type specifiers
---------------
The following list shows the type specifier, its meaning and the parameter
The following list shows the type specifier, its meaning and the parameter
types that need to be passed by address. All passed parameters are set
if the PHP parameter is non optional and untouched if optional and the
if the PHP parameter is non optional and untouched if optional and the
parameter is not present. The only exception is O where the zend_class_entry*
has to be provided on input and is used to verify the PHP parameter is an
has to be provided on input and is used to verify the PHP parameter is an
instance of that class.
a - array (zval*)
@@ -54,7 +61,7 @@ Type specifiers
b - boolean (zend_bool)
C - class (zend_class_entry*)
d - double (double)
f - function or array containing php method call info (returned as
f - function or array containing php method call info (returned as
zend_fcall_info and zend_fcall_info_cache)
h - array (returned as HashTable*)
H - array or HASH_OF(object) (returned as HashTable*)
@@ -88,9 +95,9 @@ Type specifiers
Note on 64bit compatibility
---------------------------
Please note that since version 7 PHP uses zend_long as integer type and
zend_string with size_t as length, so make sure you pass zend_longs to "l"
and size_t to strings length (i.e. for "s" you need to pass char * and size_t),
Please note that since version 7 PHP uses zend_long as integer type and
zend_string with size_t as length, so make sure you pass zend_longs to "l"
and size_t to strings length (i.e. for "s" you need to pass char * and size_t),
not the other way round!
Both mistakes might cause memory corruptions and segfaults:
@@ -103,7 +110,7 @@ Both mistakes might cause memory corruptions and segfaults:
int num; /* XXX THIS IS WRONG!! Use zend_long instead. */
zend_parse_parameters(ZEND_NUM_ARGS(), "l", &num)
If you're in doubt, use check_parameters.php script to the parameters
If you're in doubt, use check_parameters.php script to the parameters
and their types (it can be found in ./scripts/dev/ directory of PHP sources):
# php ./scripts/dev/check_parameters.php /path/to/your/sources/
@@ -152,7 +159,7 @@ if (zend_parse_parameters(ZEND_NUM_ARGS(), "a/!",
/* Get either a set of 3 longs or a string. */
zend_long l1, l2, l3;
char *s;
/*
/*
* The function expects a pointer to a size_t in this case, not a long
* or any other type. If you specify a type which is larger
* than a 'size_t', the upper bits might not be initialized
@@ -221,3 +228,8 @@ if (zend_parse_parameters(ZEND_NUM_ARGS(), "a*l", &array, &varargs, &num_varargs
for (i = 0; i < num_varargs; i++) {
/* do something with varargs[i] */
}
/* Function that doesn't accept any arguments */
if (zend_parse_parameters_none() == FAILURE) {
return;
}
+130 -1
View File
@@ -1,7 +1,7 @@
1. libmagic (ext/fileinfo) see ext/fileinfo/libmagic/LICENSE
2. Oniguruma (ext/mbstring) see ext/mbstring/oniguruma/COPYING
3. libmbfl (ext/mbstring) see ext/mbstring/libmbfl/LICENSE
4. pcrelib (ext/pcre) see ext/pcre/pcrelib/LICENCE
4. pcre2lib (ext/pcre)
5. ext/standard crypt
6. ext/standard crypt's blowfish implementation
7. Sqlite/Sqlite3 ext/sqlite3 ext/sqlite
@@ -15,6 +15,107 @@
15. main/strlcat
16. main/strlcpy
17. libgd see ext/gd/libgd/COPYING
18. ext/phar portions of tar implementations
19. libbcmath (ext/bcmath) see ext/bcmath/libbcmath/COPYING.LIB
4. pcre2lib (ext/pcre)
PCRE2 LICENCE
-------------
PCRE2 is a library of functions to support regular expressions whose syntax
and semantics are as close as possible to those of the Perl 5 language.
Release 10 of PCRE2 is distributed under the terms of the "BSD" licence, as
specified below, with one exemption for certain binary redistributions. The
documentation for PCRE2, supplied in the "doc" directory, is distributed under
the same terms as the software itself. The data in the testdata directory is
not copyrighted and is in the public domain.
The basic library functions are written in C and are freestanding. Also
included in the distribution is a just-in-time compiler that can be used to
optimize pattern matching. This is an optional feature that can be omitted when
the library is built.
THE BASIC LIBRARY FUNCTIONS
---------------------------
Written by: Philip Hazel
Email local part: ph10
Email domain: cam.ac.uk
University of Cambridge Computing Service,
Cambridge, England.
Copyright (c) 1997-2018 University of Cambridge
All rights reserved.
PCRE2 JUST-IN-TIME COMPILATION SUPPORT
--------------------------------------
Written by: Zoltan Herczeg
Email local part: hzmester
Emain domain: freemail.hu
Copyright(c) 2010-2018 Zoltan Herczeg
All rights reserved.
STACK-LESS JUST-IN-TIME COMPILER
--------------------------------
Written by: Zoltan Herczeg
Email local part: hzmester
Emain domain: freemail.hu
Copyright(c) 2009-2018 Zoltan Herczeg
All rights reserved.
THE "BSD" LICENCE
-----------------
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notices,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notices, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the University of Cambridge nor the names of any
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
EXEMPTION FOR BINARY LIBRARY-LIKE PACKAGES
------------------------------------------
The second condition in the BSD licence (covering binary redistributions) does
not apply all the way down a chain of software. If binary package A includes
PCRE2, it must respect the condition, but if package B is software that
includes package A, the condition is not imposed on package B unless it uses
PCRE2 independently.
End
5. ext/standard crypt
@@ -414,3 +515,31 @@ OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
18. ext/phar portions of tar implementations
portions of tar implementations in ext/phar - phar_tar_octal() are based on an
implementation by Tim Kientzle from libarchive, licensed with this license:
Copyright (c) 2003-2007 Tim Kientzle
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+98 -42
View File
@@ -32,12 +32,12 @@ team (Bjori) on hand.
6. Verify the tags to be extra sure everything was tagged properly.
7. Moving extensions from/to PECL requires write access to the destination.
Most developers should have this.
Most developers should have this.
Moving extensions from php-src to PECL
- Checkout the pecl directory, most likely you want a sparse-root checkout
svn co --depth=empty https://svn.php.net/repository/pecl
- Create an directory for the extension incl. branch and tag structure,
- Create a directory for the extension incl. branch and tag structure,
no trunk at this point and commit this to svn
cd pecl; mkdir foo foo/tags foo/branches; svn add foo; svn commit
- Move the extension from php-src to the new location
@@ -50,7 +50,7 @@ maintainers if any:
- create the package.xml, commit
- release the package
For Moving extensions from PECL to php-src the svn mv has to be tone the other
For Moving extensions from PECL to php-src the svn mv has to be done the other
way round.
Rolling a non stable release (alpha/beta/RC)
@@ -65,7 +65,7 @@ credits files in ext/standard.
4. Checkout the release branch for this release (e.g., PHP-5.4.2) from the main branch.
5. Bump the version numbers in ``main/php_version.h``, ``configure.in`` and possibly ``NEWS``.
5. Bump the version numbers in ``main/php_version.h``, ``configure.ac`` and possibly ``NEWS``.
Do not use abbreviations for alpha and beta. Do not use dashes, you should
``#define PHP_VERSION "5.4.22RC1"`` and not ``#define PHP_VERSION "5.4.22-RC1"``
@@ -79,7 +79,7 @@ Do not use abbreviations for alpha and beta. Do not use dashes, you should
9. Tag the repository release branch with the version, e.g.:
``git tag -u YOURKEYID php-5.4.2RC2``
10. Bump the version numbers in ``main/php_version.h``, ``configure.in`` and ``NEWS``
10. Bump the version numbers in ``main/php_version.h``, ``configure.ac`` and ``NEWS``
in the *main* branch (PHP-5.4 for example) to prepare for the **next** version.
F.e. if the RC is "5.4.1RC1" then the new one should be "5.4.2-dev" - regardless if we get
a new RC or not. This is to make sure ``version_compare()`` can correctly work.
@@ -97,27 +97,57 @@ and build three tarballs (gz, bz2 and xz).
and output verification information to be included in announcement email
14. Copy those tarballs (scp, rsync) to downloads.php.net, in your homedir there should be a
directory "downloads/". Copy them into there, so that the system can generate
MD5 sums. If you do not have this directory, talk to Derick or Dan.
directory "public_html/". Copy them into there, so that the system can generate
MD5 sums. If you do not have this directory, create it.
15. Now the RC can be found on http://downloads.php.net/yourname,
f.e. http://downloads.php.net/derick/
15. Now the RC can be found on http://downloads.php.net/~yourname,
f.e. http://downloads.php.net/~derick/
16. Once the release has been tagged, contact the PHP Windows development team
(internals-win@lists.php.net) so that Windows binaries can be created. Once
those are made, they should be placed into the same directory as the source snapshots.
16. Once the release has been tagged, contact the release-managers@ distribution list
so that Windows binaries can be created. Once those are made, they can be found at
http://windows.php.net/download
Getting the non stable release (alpha/beta/RC) announced
--------------------------------------------------------
1. Send an email **To** ``internals@lists.php.net`` and ``php-general@lists.php.net``
1. Update ``qa.git/include/release-qa.php`` with the appropriate information.
See the documentation within release-qa.php for more information, but all releases
and RCs are configured here. Only $QA_RELEASES needs to be edited.
Example: When rolling an RC, set the 'rc' with appropriate information for the
given version.
Note: Remember to update the MD5 and sha256 checksum information.
2. Update ``web/php.git/include/version.inc`` (x=major version number)
a. ``$PHP_x_RC`` = "5.4.0RC1" (should be set to "false" before)
b. ``$PHP_x_RC_DATE`` = "06 September 2007"
3. Add a short notice to phpweb stating that there is a new release, and
highlight the major important things (security fixes) and when it is important
to upgrade.
a. Call php bin/createNewsEntry in your local phpweb checkout
Use category "releases" for all stable releases.
Use category "frontpage" for X.Y.0 non-stable releases only (news only).
b. Add the content for the news entry. Be sure to include the text:
"THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION!"
4. Commit and push changes to qa and web
*Wait for web and qa sites to update with new information before sending announce*
5. Send **separate** emails **To** ``internals@lists.php.net`` and ``php-general@lists.php.net``
lists pointing out "the location of the release" and "the possible release date of
either the next RC, or the final release". Include in this information the verification
information output by ``gen_verify_stub``.
2. Send an email (see example here http://news.php.net/php.pear.qa/5201) **To**
6. Send **separate** emails (see example here http://news.php.net/php.pear.qa/5201) **To**
``php-qa@lists.php.net`` and ``primary-qa-tester@lists.php.net``.
This email is to notify the selected projects about a new release so that they
These emails are to notify the selected projects about a new release so that they
can make sure their projects keep working. Make sure that you have been setup
as a moderator for ``primary-qa-tester@lists.php.net`` by having someone (Hannes, Dan,
Derick) run the following commands for you:
@@ -126,33 +156,11 @@ Derick) run the following commands for you:
``sudo -u ezmlm ezmlm-sub ~ezmlm/primary-qa-tester/mod moderator-email-address``
3. Update ``qa.git/include/release-qa.php`` with the appropriate information.
See the documentation within release-qa.php for more information, but all releases
and RCs are configured here. Only $QA_RELEASES needs to be edited.
Example: When rolling an RC, set the 'rc' with appropriate information for the
given version.
Note: Remember to update the MD5 checksum information.
4. Update ``web/php.git/include/version.inc`` (x=major version number)
a. ``$PHP_x_RC`` = "5.4.0RC1" (should be set to "false" before)
b. ``$PHP_x_RC_DATE`` = "06 September 2007"
5. Commit and push those changes:
a. ``git commit -a && git push origin master``
6. For the first RC, write the doc team (phpdoc@lists.php.net) about updating the
INSTALL and win32/install.txt files which are generated from the PHP manual sources.
Rolling a stable release
------------------------
1. Checkout your release branch, you should have created when releasing previous RC
and bump the version numbers in ``main/php_version.h``, ``configure.in`` and possibly ``NEWS``.
and bump the version numbers in ``main/php_version.h``, ``configure.ac`` and possibly ``NEWS``.
2. If a CVE commit needs to be merged to the release, then have it committed to
the base branches and merged upwards as usual (f.e commit the CVE fix to 5.3,
@@ -176,17 +184,22 @@ credits files in ext/standard.
9. run: ``PHPROOT=. ./makedist php 5.4.1``, this will export the tag, create configure
and build three tarballs (gz, bz2 and xz).
Check if the pear files are updated (phar).
Check if the pear files are updated (phar).
On some systems the behavior of GNU tar can default to produce POSIX compliant archives
with PAX headers. As not every application is compatible with that format, creation of
archives with PAX headers should be avoided. When packaging on such a system, the GNU tar
can be influenced by defining the environment variable TAR_OPTIONS='--format=gnu'.
10. Generate the GPG signature files for the archives.
``gpg -u YOUREMAIL --armor --detach-sign php-X.Y.Z.tar.xxx``
11. Commit and push all the tarballs and signature files to web/php-distributions.git,
then update the git submodule reference in web/php.git:
then update the git submodule reference in web/php.git:
``git submodule init;
git submodule update;
cd distributions;
git pull origin master;
git fetch;
git pull --rebase origin master;
cd ..;
git commit distributions;
git push;``
@@ -252,7 +265,7 @@ f.e. ``ChangeLog-5.php`` from the NEWS file
IV. ``s/Fixed PECL bug #\([0-9]\+\)/<?php peclbugfix(\1); ?>/``
V. ``s/FR #\([0-9]\+\)/FR <?php bugl(\1); ?>/``
e. You may want to try php-web/bin/news2html to automate this task
6. Add a short notice to phpweb stating that there is a new release, and
@@ -315,3 +328,46 @@ the news entry.
Please make sure that the mail to php-announce@ is its own completely separate email.
This is to make sure that replies to the announcement on php-general@ or internals@
will not accidentally hit the php-announce@ mailinglist.
Forking a new release branch
----------------------------
1. One week prior to cutting X.Y.0beta1, warn internals@ that your version's branch
is about to be cut, and that PHP-X.Y will be moving into feature freeze.
Try to be specific about when the branch will be cut.
Example: http://news.php.net/php.internals/99864
2. Just prior to cutting X.Y.0beta1, create the new branch locally.
Add a commit on master after the branch point clearing the NEWS file, and updating
main/php_versions.h and Zend/zend.h to update versions.
Example: https://github.com/php/php-src/commit/5230541ef59e0637d5522293a7d099bf18ce6af3
Push the new branch and the commit just added to master.
3. Immediately notify internals@ of the branch cut and advise the new merging order:
Example: http://news.php.net/php.internals/99903
4. Update php-web:git.php and wiki.php.net/vcs/gitworkflow to reflect the new branch:
Example: https://github.com/php/web-php/commit/74bcad4c770d95f21b7fbeeedbd76d943bb83f23
5. Notify nlopess@ to add PHP_X_Y tag to gcov.php.net
New Release Manager Checklist
-----------------------------
1. Email systems@ to get setup for access to downloads.php.net and to be added to the
release-managers@ distribution list.
2. Create a GPG key for your @php.net address and publish it by editing `include/gpg-keys.inc`
in the `web-php` repository, adding the output of `gpg --fingerprint "$USER@php.net"`. Let
one or more of the previous RMs sign your key. Publish your public key to pgp.mit.edu with:
`gpg --keyserver pgp.mit.edu --send-keys $KEYID`
3. Request karma to edit main/php_version.h. Possibly karma for other restricted parts of
php-src might come in question.
4. Request karma for web/qa.git and web/php.git for publishing release announcements.
5. Request moderation access to announce@php.net and primary-qa-tester@lists.php.net lists, to
be able to moderate your release announcements. All the announcements should be sent from
the @php.net alias.
+9 -11
View File
@@ -1,6 +1,3 @@
$Id$
=============================================================================
HOW TO CREATE A SELF-CONTAINED PHP EXTENSION
A self-contained extension can be distributed independently of
@@ -23,7 +20,7 @@ PREPARING YOUR SYSTEM
GNU libtool
GNU m4
All of these are available from
All of these are available from
ftp://ftp.gnu.org/pub/gnu/
@@ -33,7 +30,7 @@ CONVERTING AN EXISTING EXTENSION
extension, we will convert an embedded extension into a
self-contained one. Install PHP and execute the following
commands.
$ mkdir /tmp/newext
$ cd /tmp/newext
@@ -56,7 +53,7 @@ CONVERTING AN EXISTING EXTENSION
[--with-mysql=MYSQL-DIR]
$ make install
The MySQL module will either use the embedded MySQL client
The MySQL module will either use the embedded MySQL client
library or the MySQL installation in MYSQL-DIR.
@@ -67,8 +64,8 @@ DEFINING THE NEW EXTENSION
It consists of two source files "foo.c" and "bar.c"
(and any arbitrary amount of header files, but that is not
important here).
The demo extension does not reference any external
The demo extension does not reference any external
libraries (that is important, because the user does not
need to specify anything).
@@ -78,7 +75,7 @@ DEFINING THE NEW EXTENSION
CREATING THE M4 CONFIGURATION FILE
The m4 configuration can perform additional checks. For a
The m4 configuration can perform additional checks. For a
self-contained extension, you do not need more than a few
macro calls.
@@ -97,7 +94,7 @@ fi
The first argument of PHP_NEW_EXTENSION describes the name of the
extension. The second names the source-code files. The third passes
$ext_shared which is set by PHP_ARG_ENABLE/WITH to PHP_NEW_EXTENSION.
Please use always PHP_ARG_ENABLE or PHP_ARG_WITH. Even if you do not
plan to distribute your module with PHP, these facilities allow you
to integrate your module easily into the main PHP module framework.
@@ -138,7 +135,7 @@ INSTALLING A SELF-CONTAINED EXTENSION
ADDING SHARED MODULE SUPPORT TO A MODULE
In order to be useful, a self-contained extension must be loadable
as a shared module. I will explain now how you can add shared module
as a shared module. I will explain now how you can add shared module
support to an existing module called foo.
1. In config.m4, use PHP_ARG_WITH/PHP_ARG_ENABLE. Then you will
@@ -167,3 +164,4 @@ PECL SITE CONFORMITY
This macros has to be used within your foo_module_entry to indicate the
extension version.
+5 -6
View File
@@ -1,6 +1,5 @@
An Overview of the PHP Streams abstraction
==========================================
$Id$
WARNING: some prototypes in this file are out of date.
The information contained here is being integrated into
@@ -28,7 +27,7 @@ The main functions are:
PHPAPI size_t php_stream_read(php_stream * stream, char * buf, size_t count);
PHPAPI size_t php_stream_write(php_stream * stream, const char * buf, size_t
count);
PHPAPI size_t php_stream_printf(php_stream * stream,
PHPAPI size_t php_stream_printf(php_stream * stream,
const char * fmt, ...);
PHPAPI int php_stream_eof(php_stream * stream);
PHPAPI int php_stream_getc(php_stream * stream);
@@ -63,7 +62,7 @@ Where:
file/URL, use this option to arrange for the stream
to be copied (if needed) into a stream that can
be seek()ed.
opened_path is used to return the path of the actual file opened,
but if you used STREAM_MUST_SEEK, may not be valid. You are
responsible for efree()ing opened_path. opened_path may be (and usually
@@ -95,7 +94,7 @@ PHPAPI php_stream *php_stream_sock_open_host(const char *host, unsigned short po
PHPAPI php_stream *php_stream_sock_open_unix(const char *path, int persistent,
struct timeval *timeout);
Open a UNIX domain socket.
Stream Utilities
================
@@ -246,7 +245,7 @@ PHPAPI php_stream * php_stream_fopen(const char * filename, const char * mode)
{
FILE * fp = fopen(filename, mode);
php_stream * ret;
if (fp) {
ret = php_stream_alloc(&php_stream_stdio_ops, fp, 0, 0, mode);
if (ret)
@@ -347,7 +346,7 @@ static size_t php_mysqlop_read(php_stream * stream, char * buf, size_t count)
else
return 0;
}
/* pull out some data from the stream and put it in buf */
... mysql_fetch_row(state->result) ...
/* we could do something strange, like format the data as XML here,
+1 -1
View File
@@ -128,7 +128,7 @@ How to create your PHP, PHP Documentation or PECL patch
-------------------------------------------------------
PHP and most PECL packages use Git for revision control. Some PECL
packages use Subversion (SVN) Read http://www.php.net/git.php for help
on using Git to get and build PHP source code. We recommend to look
on using Git to get and build PHP source code. We recommend to look
at our workflow on https://wiki.php.net/vcs/gitworkflow and our FAQ
https://wiki.php.net/vcs/gitfaq.
+136 -1
View File
@@ -61,7 +61,7 @@ test scripts by extracting all directories named "tests"
from the source root and any subdirectories below. If there are files,
which have a "phpt" extension, "run-tests.php" looks at the sections
in these files, determines whether it should run it, by evaluating
the 'SKIP' section. If the test is eligible for execution, the 'FILE'
the 'SKIPIF' section. If the test is eligible for execution, the 'FILE'
section is extracted into a ".php" file (with the same name besides
the extension) and gets executed.
When an argument is given or TESTS environment variable is set, the
@@ -179,3 +179,138 @@ $str = "XYZABCD";
echo substr($str,3,7);
?>
[IMPORTANT NOTICE]
------------------
This is an addendum to README.TESTING with additional information
specific to server-tests.php.
server-tests.php is backward compatible with tests developed for
the original run-tests.php script. server-tests is *not* used by
'make test'. server-tests was developed to provide support for
testing PHP under it's primary environment, HTTP, and can run the
PHP tests under any of the SAPI modules that are direct executables,
or are accessible via HTTP.
[New features]
----------------
* Command line interface:
You can run 'php server-tests.php -h' to get all the possible options.
* Configuration file:
the -c argument will allow you to use a configuration file. This is
handy if you are testing multiple environments and need various options
depending on the environment.
see server-tests-config.php for details.
* CGI Emulation:
Will emulate a CGI environment when testing with the cgi sapi executable.
* HTTP testing:
can be configured to run test scripts through an HTTP server running
on localhost. localhost is required since either the web server must
alias a directory to the php source directory, or the test scripts
must be copied to a directory under the web server
(see config options TEST_WEB_BASE_URL, TEST_BASE_PATH, and TEST_WEB_EXT)
* New sections supported for test files (see below)
When running tests over http, tests that require ini settings different that what
the web server runs under will be skipped. Since the test harness defines a number
of ini settings by default, the web server may require special configuration to
make testing work.
[Example Usage]
----------------
Some (but not all!) examples of usage:
1. run tests from the php source directory
php server-tests.php -p /path/to/php-cli
2. run tests using cgi emulation
php server-tests.php -p /path/to/php-cgi
3. run tests over http, copying test files into document root
php server-tests.php -w -u http://localhost/test -m /path/to/htdocs/test
4. run tests over http, php sources have been aliased in web server
php server-tests.php -w -u http://localhost/test
5. run tests using configuration file
php server-tests.php -c /path/to/server-tests-config.php
6. run tests using configuration file, but overriding some settings:
(config file must be first)
php server-tests.php -c /path/to/server-tests-config.php -w -t 3 -d /path/to/testdir
NOTE: configuration as described in README.TESTING still works.
[New Test Sections]
----------------
In addition to the traditional test sections
(see http://qa.php.net/write-test.php), several new sections are available
under server-tests.
--POST--
This is not a new section, but not multipart posts are supported for testing
file uploads, or other types of POST data.
--CGI--
This section takes no value. It merely provides a simple marker for tests
that MUST be run as CGI, even if there is no --POST-- or --GET-- sections
in the test file.
--DESCRIPTION--
Not used for anything, just a section for documenting the test
--ENV--
This section get's eval()'d to help build an environment for the
execution of the test. This can be used to change environment
vars that are used for CGI emulation, or simply to set env vars
for cli testing. A full example looks like:
--ENV--
return <<<END
PATH_TRANSLATED=$filename
PATH_INFO=$scriptname
SCRIPT_NAME=$scriptname
END;
Some variables are made easily available for use in this section, they
include:
$filename full native path to file, will become PATH_TRANSLATED
$filepath =dirname($filename)
$scriptname this is what will become SCRIPT_NAME unless you override it
$docroot the equivalent of DOCUMENT_ROOT under Apache
$cwd the directory that the test is being initiated from
$this->conf all server-tests configuration vars
$this->env all environment variables that will get passed to the test
--REQUEST--
This section is also eval'd, and is similar in nature to --ENV--. However,
this section is used to build the url used in an HTTP request. Valid values
to set in this section would include:
SCRIPT_NAME The initial part of the request url
PATH_INFO The pathinfo part of a request url
FRAGMENT The fragment section of a url (after #)
QUERY_STRING The query part of a url (after ?)
--REQUEST--
return <<<END
PATH_INFO=/path/info
END;
--HEADERS--
This section is also eval'd. It is used to provide additional headers sent
in an HTTP request, such as content type for multipart posts, cookies, etc.
--HEADERS--
return <<<END
Content-Type=multipart/form-data; boundary=---------------------------240723202011929
Content-Length=100
END;
--EXPECTHEADERS--
This section can be used to define what headers are required to be
received back from a request, and is checked in addition to the
regular expect sections. For example:
--EXPECTHEADERS--
Status: 404
-134
View File
@@ -1,134 +0,0 @@
[IMPORTANT NOTICE]
------------------
This is an addendum to README.TESTING with additional information
specific to server-tests.php.
server-tests.php is backward compatible with tests developed for
the original run-tests.php script. server-tests is *not* used by
'make test'. server-tests was developed to provide support for
testing PHP under it's primary environment, HTTP, and can run the
PHP tests under any of the SAPI modules that are direct executables,
or are accessible via HTTP.
[New features]
----------------
* Command line interface:
You can run 'php server-tests.php -h' to get all the possible options.
* Configuration file:
the -c argument will allow you to use a configuration file. This is
handy if you are testing multiple environments and need various options
depending on the environment.
see server-tests-config.php for details.
* CGI Emulation:
Will emulate a CGI environment when testing with the cgi sapi executable.
* HTTP testing:
can be configured to run test scripts through an HTTP server running
on localhost. localhost is required since either the web server must
alias a directory to the php source directory, or the test scripts
must be copied to a directory under the web server
(see config options TEST_WEB_BASE_URL, TEST_BASE_PATH, and TEST_WEB_EXT)
* New sections supported for test files (see below)
When running tests over http, tests that require ini settings different that what
the web server runs under will be skipped. Since the test harness defines a number
of ini settings by default, the web server may require special configuration to
make testing work.
[Example Usage]
----------------
Some (but not all!) examples of usage:
1. run tests from the php source directory
php server-tests.php -p /path/to/php-cli
2. run tests using cgi emulation
php server-tests.php -p /path/to/php-cgi
3. run tests over http, copying test files into document root
php server-tests.php -w -u http://localhost/test -m /path/to/htdocs/test
4. run tests over http, php sources have been aliased in web server
php server-tests.php -w -u http://localhost/test
5. run tests using configuration file
php server-tests.php -c /path/to/server-tests-config.php
6. run tests using configuration file, but overriding some settings:
(config file must be first)
php server-tests.php -c /path/to/server-tests-config.php -w -t 3 -d /path/to/testdir
NOTE: configuration as described in README.TESTING still works.
[New Test Sections]
----------------
In addition to the traditional test sections
(see http://qa.php.net/write-test.php), several new sections are available
under server-tests.
--POST--
This is not a new section, but not multipart posts are supported for testing
file uploads, or other types of POST data.
--CGI--
This section takes no value. It merely provides a simple marker for tests
that MUST be run as CGI, even if there is no --POST-- or --GET-- sections
in the test file.
--DESCRIPTION--
Not used for anything, just a section for documenting the test
--ENV--
This section get's eval()'d to help build an environment for the
execution of the test. This can be used to change environment
vars that are used for CGI emulation, or simply to set env vars
for cli testing. A full example looks like:
--ENV--
return <<<END
PATH_TRANSLATED=$filename
PATH_INFO=$scriptname
SCRIPT_NAME=$scriptname
END;
Some variables are made easily available for use in this section, they
include:
$filename full native path to file, will become PATH_TRANSLATED
$filepath =dirname($filename)
$scriptname this is what will become SCRIPT_NAME unless you override it
$docroot the equivalent of DOCUMENT_ROOT under Apache
$cwd the directory that the test is being initiated from
$this->conf all server-tests configuration vars
$this->env all environment variables that will get passed to the test
--REQUEST--
This section is also eval'd, and is similar in nature to --ENV--. However,
this section is used to build the url used in an HTTP request. Valid values
to set in this section would include:
SCRIPT_NAME The initial part of the request url
PATH_INFO The pathinfo part of a request url
FRAGMENT The fragment section of a url (after #)
QUERY_STRING The query part of a url (after ?)
--REQUEST--
return <<<END
PATH_INFO=/path/info
END;
--HEADERS--
This section is also eval'd. It is used to provide additional headers sent
in an HTTP request, such as content type for multipart posts, cookies, etc.
--HEADERS--
return <<<END
Content-Type=multipart/form-data; boundary=---------------------------240723202011929
Content-Length=100
END;
--EXPECTHEADERS--
This section can be used to define what headers are required to be
received back from a request, and is checked in addition to the
regular expect sections. For example:
--EXPECTHEADERS--
Status: 404
+2 -1
View File
@@ -1,5 +1,6 @@
The Win32 Build System.
See http://wiki.php.net/internals/windows/stepbystepbuild
See https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2
vim:tw=78:sw=1:ts=1:et
+1 -2
View File
@@ -12,7 +12,7 @@ enforced. It is implemented as a SAPI hook and is called from the
treat_data and post handler functions. To implement your own security
policy you will need to write a standard PHP extension. There is also
a powerful standard implementation in ext/filter that should suit most
peoples' needs. However, if you want to implement your own security
peoples' needs. However, if you want to implement your own security
policy, read on.
A simple implementation might look like the following. This stores the
@@ -86,7 +86,6 @@ PHP_MINFO_FUNCTION(my_input_filter)
{
php_info_print_table_start();
php_info_print_table_row( 2, "My Input Filter Support", "enabled" );
php_info_print_table_row( 2, "Revision", "$Id$");
php_info_print_table_end();
}
+3 -2
View File
@@ -2,7 +2,7 @@ The PHP Interpreter
===================
This is the github mirror of the official PHP repository located at
http://git.php.net.
https://git.php.net.
[![Build Status](https://secure.travis-ci.org/php/php-src.svg?branch=master)](http://travis-ci.org/php/php-src)
[![Build status](https://ci.appveyor.com/api/projects/status/meyur6fviaxgdwdy?svg=true)](https://ci.appveyor.com/project/php/php-src)
@@ -28,7 +28,7 @@ open a ticket at https://bugs.php.net and reference the bug id using #NNNNNN.
time. The patch removes this warning
We do not merge pull requests directly on github. All PRs will be
pulled and pushed through http://git.php.net.
pulled and pushed through https://git.php.net.
Guidelines for contributors
@@ -37,3 +37,4 @@ Guidelines for contributors
- [README.GIT-RULES](/README.GIT-RULES)
- [README.MAILINGLIST_RULES](/README.MAILINGLIST_RULES)
- [README.RELEASE_PROCESS](/README.RELEASE_PROCESS)
-173
View File
@@ -1,173 +0,0 @@
Design
======
Main assumption of the model is that the problem that we are to solve is the
problem of the very long class names in PHP libraries. We would not attempt
to take autoloader's job or create packaging model - only make names
manageable.
Namespaces are defined the following way:
Zend/DB/Connection.php:
<?php
namespace Zend\DB;
class Connection {
}
function connect() {
}
?>
Namespace definition does the following:
All class and function names inside are automatically prefixed with
namespace name. Inside namespace, local name always takes precedence over
global name. Several files may be using the same namespace.
The namespace declaration statement must be the very first statement in
the file. The only exception is "declare" statement that can be used before.
Every class and function in a namespace can be referred to by the full name
- e.g. Zend\DB\Connection or Zend\DB\connect - at any time.
<?php
require 'Zend/Db/Connection.php';
$x = new Zend\DB\Connection;
Zend\DB\connect();
?>
Namespace or class name can be imported:
<?php
require 'Zend/Db/Connection.php';
use Zend\DB;
use Zend\DB\Connection as DbConnection;
$x = new Zend\DB\Connection();
$y = new DB\connection();
$z = new DbConnection();
DB\connect();
?>
The use statement only defines name aliasing. It may create name alias for
namespace or class. The simple form of statement "use A\B\C\D;" is
equivalent to "use A\B\C\D as D;". The use statement can be used at any
time in the global scope (not inside function/class) and takes effect from
the point of definition down to the end of file. It is recommended however to
place the use statements at the beginning of the file. The use statements have
effect only on the file where they appear.
The special "empty" namespace (\ prefix) is useful as explicit global
namespace qualification. All class and function names started from \
interpreted as global.
<?php
namespace A\B\C;
$con = \mysql_connect(...);
?>
A special constant __NAMESPACE__ contains the name of the current namespace.
It can be used to construct fully-qualified names to pass them as callbacks.
<?php
namespace A\B\C;
function foo() {
}
set_error_handler(__NAMESPACE__ . "\foo");
?>
In global namespace __NAMESPACE__ constant has the value of empty string.
Names inside namespace are resolved according to the following rules:
1) all qualified names are translated during compilation according to
current import rules. So if we have "use A\B\C" and then "C\D\e()"
it is translated to "A\B\C\D\e()".
2) unqualified class names translated during compilation according to
current import rules. So if we have "use A\B\C" and then "new C()" it
is translated to "new A\B\C()".
3) inside namespace, calls to unqualified functions that are defined in
current namespace (and are known at the time the call is parsed) are
interpreted as calls to these namespace functions.
4) inside namespace, calls to unqualified functions that are not defined
in current namespace are resolved at run-time. The call to function foo()
inside namespace (A\B) first tries to find and call function from current
namespace A\B\foo() and if it doesn't exist PHP tries to call internal
function foo(). Note that using foo() inside namespace you can call only
internal PHP functions, however using \foo() you are able to call any
function from the global namespace.
5) unqualified class names are resolved at run-time. E.q. "new Exception()"
first tries to use (and autoload) class from current namespace and in case
of failure uses internal PHP class. Note that using "new A" in namespace
you can only create class from this namespace or internal PHP class, however
using "new \A" you are able to create any class from the global namespace.
6) Calls to qualified functions are resolved at run-time. Call to
A\B\foo() first tries to call function foo() from namespace A\B, then
it tries to find class A\B (__autoload() it if necessary) and call its
static method foo()
7) qualified class names are interpreted as class from corresponding
namespace. So "new A\B\C()" refers to class C from namespace A\B.
Examples
--------
<?php
namespace A;
foo(); // first tries to call "foo" defined in namespace "A"
// then calls internal function "foo"
\foo(); // calls function "foo" defined in global scope
?>
<?php
namespace A;
new B(); // first tries to create object of class "B" defined in namespace "A"
// then creates object of internal class "B"
new \B(); // creates object of class "B" defined in global scope
?>
<?php
namespace A;
new A(); // first tries to create object of class "A" from namespace "A" (A\A)
// then creates object of internal class "A"
?>
<?php
namespace A;
B\foo(); // first tries to call function "foo" from namespace "A\B"
// then calls method "foo" of internal class "B"
\B\foo(); // first tries to call function "foo" from namespace "B"
// then calls method "foo" of class "B" from global scope
?>
The worst case if class name conflicts with namespace name
<?php
namespace A;
A\foo(); // first tries to call function "foo" from namespace "A\A"
// then tries to call method "foo" of class "A" from namespace "A"
// then tries to call function "foo" from namespace "A"
// then calls method "foo" of internal class "A"
\A\foo(); // first tries to call function "foo" from namespace "A"
// then calls method "foo" of class "A" from global scope
?>
TODO
====
* Support for namespace constants?
* performance problems
- calls to internal functions in namespaces are slower, because PHP first
looks for such function in current namespace
- calls to static methods are slower, because PHP first tries to look
for corresponding function in namespace
* Extend the Reflection API?
* Add ReflectionNamespace class
+ getName()
+ getClasses()
+ getFunctions()
+ getFiles()
* Add getNamespace() methods to ReflectionClass and ReflectionFunction
* Rename namespaces to packages?
-2
View File
@@ -1,2 +0,0 @@
- Improve the lock in ts_resource_ex() in order to cover less code.
This can probably be done by more careful hash table access
+104 -108
View File
@@ -55,8 +55,9 @@ static int resource_types_table_size;
static MUTEX_T tsmm_mutex; /* thread-safe memory manager mutex */
/* New thread handlers */
static tsrm_thread_begin_func_t tsrm_new_thread_begin_handler;
static tsrm_thread_end_func_t tsrm_new_thread_end_handler;
static tsrm_thread_begin_func_t tsrm_new_thread_begin_handler = NULL;
static tsrm_thread_end_func_t tsrm_new_thread_end_handler = NULL;
static tsrm_shutdown_func_t tsrm_shutdown_handler = NULL;
/* Debug support */
int tsrm_error(int level, const char *format, ...);
@@ -114,20 +115,17 @@ static DWORD tls_key;
# define tsrm_tls_set(what) TlsSetValue(tls_key, (void*)(what))
# define tsrm_tls_get() TlsGetValue(tls_key)
#elif defined(BETHREADS)
static int32 tls_key;
# define tsrm_tls_set(what) tls_set(tls_key, (void*)(what))
# define tsrm_tls_get() (tsrm_tls_entry*)tls_get(tls_key)
#else
# define tsrm_tls_set(what)
# define tsrm_tls_get() NULL
# warning tsrm_set_interpreter_context is probably broken on this platform
#endif
TSRM_TLS uint8_t in_main_thread = 0;
/* Startup TSRM (call once for the entire process) */
TSRM_API int tsrm_startup(int expected_threads, int expected_resources, int debug_level, char *debug_filename)
{
{/*{{{*/
#if defined(GNUPTH)
pth_init();
pth_key_create(&tls_key, 0);
@@ -138,10 +136,11 @@ TSRM_API int tsrm_startup(int expected_threads, int expected_resources, int debu
st_key_create(&tls_key, 0);
#elif defined(TSRM_WIN32)
tls_key = TlsAlloc();
#elif defined(BETHREADS)
tls_key = tls_allocate();
#endif
/* ensure singleton */
in_main_thread = 1;
tsrm_error_file = stderr;
tsrm_error_set(debug_level, debug_filename);
tsrm_tls_table_size = expected_threads;
@@ -164,18 +163,21 @@ TSRM_API int tsrm_startup(int expected_threads, int expected_resources, int debu
tsmm_mutex = tsrm_mutex_alloc();
tsrm_new_thread_begin_handler = tsrm_new_thread_end_handler = NULL;
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Started up TSRM, %d expected threads, %d expected resources", expected_threads, expected_resources));
return 1;
}
}/*}}}*/
/* Shutdown TSRM (call once for the entire process) */
TSRM_API void tsrm_shutdown(void)
{
{/*{{{*/
int i;
if (!in_main_thread) {
/* ensure singleton */
return;
}
if (tsrm_tls_table) {
for (i=0; i<tsrm_tls_table_size; i++) {
tsrm_tls_entry *p = tsrm_tls_table[i], *next_p;
@@ -218,12 +220,18 @@ TSRM_API void tsrm_shutdown(void)
#elif defined(TSRM_WIN32)
TlsFree(tls_key);
#endif
}
if (tsrm_shutdown_handler) {
tsrm_shutdown_handler();
}
tsrm_new_thread_begin_handler = NULL;
tsrm_new_thread_end_handler = NULL;
tsrm_shutdown_handler = NULL;
}/*}}}*/
/* allocates a new thread-safe-resource id */
TSRM_API ts_rsrc_id ts_allocate_id(ts_rsrc_id *rsrc_id, size_t size, ts_allocate_ctor ctor, ts_allocate_dtor dtor)
{
{/*{{{*/
int i;
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Obtaining a new resource id, %d bytes", size));
@@ -236,13 +244,15 @@ TSRM_API ts_rsrc_id ts_allocate_id(ts_rsrc_id *rsrc_id, size_t size, ts_allocate
/* store the new resource type in the resource sizes table */
if (resource_types_table_size < id_count) {
resource_types_table = (tsrm_resource_type *) realloc(resource_types_table, sizeof(tsrm_resource_type)*id_count);
if (!resource_types_table) {
tsrm_resource_type *_tmp;
_tmp = (tsrm_resource_type *) realloc(resource_types_table, sizeof(tsrm_resource_type)*id_count);
if (!_tmp) {
tsrm_mutex_unlock(tsmm_mutex);
TSRM_ERROR((TSRM_ERROR_LEVEL_ERROR, "Unable to allocate storage for resource"));
*rsrc_id = 0;
return 0;
}
resource_types_table = _tmp;
resource_types_table_size = id_count;
}
resource_types_table[TSRM_UNSHUFFLE_RSRC_ID(*rsrc_id)].size = size;
@@ -274,11 +284,11 @@ TSRM_API ts_rsrc_id ts_allocate_id(ts_rsrc_id *rsrc_id, size_t size, ts_allocate
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Successfully allocated new resource id %d", *rsrc_id));
return *rsrc_id;
}
}/*}}}*/
static void allocate_new_resource(tsrm_tls_entry **thread_resources_ptr, THREAD_T thread_id)
{
{/*{{{*/
int i;
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Creating data structures for thread %x", thread_id));
@@ -314,25 +324,16 @@ static void allocate_new_resource(tsrm_tls_entry **thread_resources_ptr, THREAD_
}
tsrm_mutex_unlock(tsmm_mutex);
}
}/*}}}*/
/* fetches the requested resource for the current thread */
TSRM_API void *ts_resource_ex(ts_rsrc_id id, THREAD_T *th_id)
{
{/*{{{*/
THREAD_T thread_id;
int hash_value;
tsrm_tls_entry *thread_resources;
#ifdef NETWARE
/* The below if loop is added for NetWare to fix an abend while unloading PHP
* when an Apache unload command is issued on the system console.
* While exiting from PHP, at the end for some reason, this function is called
* with tsrm_tls_table = NULL. When this happened, the server abends when
* tsrm_tls_table is accessed since it is NULL.
*/
if(tsrm_tls_table) {
#endif
if (!th_id) {
/* Fast path for looking up the resources for the current
* thread. Its used by just about every call to
@@ -386,15 +387,12 @@ TSRM_API void *ts_resource_ex(ts_rsrc_id id, THREAD_T *th_id)
* changes to the structure as we read it.
*/
TSRM_SAFE_RETURN_RSRC(thread_resources->storage, id, thread_resources->count);
#ifdef NETWARE
} /* if(tsrm_tls_table) */
#endif
}
}/*}}}*/
/* frees an interpreter context. You are responsible for making sure that
* it is not linked into the TSRM hash, and not marked as the current interpreter */
void tsrm_free_interpreter_context(void *context)
{
{/*{{{*/
tsrm_tls_entry *next, *thread_resources = (tsrm_tls_entry*)context;
int i;
@@ -413,10 +411,10 @@ void tsrm_free_interpreter_context(void *context)
free(thread_resources);
thread_resources = next;
}
}
}/*}}}*/
void *tsrm_set_interpreter_context(void *new_ctx)
{
{/*{{{*/
tsrm_tls_entry *current;
current = tsrm_tls_get();
@@ -429,12 +427,12 @@ void *tsrm_set_interpreter_context(void *new_ctx)
/* return old context, so caller can restore it when they're done */
return current;
}
}/*}}}*/
/* allocates a new interpreter context */
void *tsrm_new_interpreter_context(void)
{
{/*{{{*/
tsrm_tls_entry *new_ctx, *current;
THREAD_T thread_id;
@@ -448,12 +446,12 @@ void *tsrm_new_interpreter_context(void)
/* switch back to the context that was in use prior to our creation
* of the new one */
return tsrm_set_interpreter_context(current);
}
}/*}}}*/
/* frees all resources allocated for the current thread */
void ts_free_thread(void)
{
{/*{{{*/
tsrm_tls_entry *thread_resources;
int i;
THREAD_T thread_id = tsrm_thread_id();
@@ -490,12 +488,12 @@ void ts_free_thread(void)
thread_resources = thread_resources->next;
}
tsrm_mutex_unlock(tsmm_mutex);
}
}/*}}}*/
/* frees all resources allocated for all threads except current */
void ts_free_worker_threads(void)
{
{/*{{{*/
tsrm_tls_entry *thread_resources;
int i;
THREAD_T thread_id = tsrm_thread_id();
@@ -536,12 +534,12 @@ void ts_free_worker_threads(void)
}
}
tsrm_mutex_unlock(tsmm_mutex);
}
}/*}}}*/
/* deallocates all occurrences of a given id */
void ts_free_id(ts_rsrc_id id)
{
{/*{{{*/
int i;
int j = TSRM_UNSHUFFLE_RSRC_ID(id);
@@ -570,7 +568,7 @@ void ts_free_id(ts_rsrc_id id)
tsrm_mutex_unlock(tsmm_mutex);
TSRM_ERROR((TSRM_ERROR_LEVEL_CORE, "Successfully freed resource id %d", id));
}
}/*}}}*/
@@ -581,28 +579,22 @@ void ts_free_id(ts_rsrc_id id)
/* Obtain the current thread id */
TSRM_API THREAD_T tsrm_thread_id(void)
{
{/*{{{*/
#ifdef TSRM_WIN32
return GetCurrentThreadId();
#elif defined(GNUPTH)
return pth_self();
#elif defined(PTHREADS)
return pthread_self();
#elif defined(NSAPI)
return systhread_current();
#elif defined(PI3WEB)
return PIThread_getCurrent();
#elif defined(TSRM_ST)
return st_thread_self();
#elif defined(BETHREADS)
return find_thread(NULL);
#endif
}
}/*}}}*/
/* Allocate a mutex */
TSRM_API MUTEX_T tsrm_mutex_alloc(void)
{
{/*{{{*/
MUTEX_T mutexp;
#ifdef TSRM_WIN32
mutexp = malloc(sizeof(CRITICAL_SECTION));
@@ -613,27 +605,19 @@ TSRM_API MUTEX_T tsrm_mutex_alloc(void)
#elif defined(PTHREADS)
mutexp = (pthread_mutex_t *)malloc(sizeof(pthread_mutex_t));
pthread_mutex_init(mutexp,NULL);
#elif defined(NSAPI)
mutexp = crit_init();
#elif defined(PI3WEB)
mutexp = PIPlatform_allocLocalMutex();
#elif defined(TSRM_ST)
mutexp = st_mutex_new();
#elif defined(BETHREADS)
mutexp = (beos_ben*)malloc(sizeof(beos_ben));
mutexp->ben = 0;
mutexp->sem = create_sem(1, "PHP sempahore");
#endif
#ifdef THR_DEBUG
printf("Mutex created thread: %d\n",mythreadid());
#endif
return( mutexp );
}
}/*}}}*/
/* Free a mutex */
TSRM_API void tsrm_mutex_free(MUTEX_T mutexp)
{
{/*{{{*/
if (mutexp) {
#ifdef TSRM_WIN32
DeleteCriticalSection(mutexp);
@@ -643,21 +627,14 @@ TSRM_API void tsrm_mutex_free(MUTEX_T mutexp)
#elif defined(PTHREADS)
pthread_mutex_destroy(mutexp);
free(mutexp);
#elif defined(NSAPI)
crit_terminate(mutexp);
#elif defined(PI3WEB)
PISync_delete(mutexp);
#elif defined(TSRM_ST)
st_mutex_destroy(mutexp);
#elif defined(BETHREADS)
delete_sem(mutexp->sem);
free(mutexp);
#endif
}
#ifdef THR_DEBUG
printf("Mutex freed thread: %d\n",mythreadid());
#endif
}
}/*}}}*/
/*
@@ -665,7 +642,7 @@ TSRM_API void tsrm_mutex_free(MUTEX_T mutexp)
A return value of 0 indicates success
*/
TSRM_API int tsrm_mutex_lock(MUTEX_T mutexp)
{
{/*{{{*/
TSRM_ERROR((TSRM_ERROR_LEVEL_INFO, "Mutex locked thread: %ld", tsrm_thread_id()));
#ifdef TSRM_WIN32
EnterCriticalSection(mutexp);
@@ -677,19 +654,10 @@ TSRM_API int tsrm_mutex_lock(MUTEX_T mutexp)
return -1;
#elif defined(PTHREADS)
return pthread_mutex_lock(mutexp);
#elif defined(NSAPI)
crit_enter(mutexp);
return 0;
#elif defined(PI3WEB)
return PISync_lock(mutexp);
#elif defined(TSRM_ST)
return st_mutex_lock(mutexp);
#elif defined(BETHREADS)
if (atomic_add(&mutexp->ben, 1) != 0)
return acquire_sem(mutexp->sem);
return 0;
#endif
}
}/*}}}*/
/*
@@ -697,7 +665,7 @@ TSRM_API int tsrm_mutex_lock(MUTEX_T mutexp)
A return value of 0 indicates success
*/
TSRM_API int tsrm_mutex_unlock(MUTEX_T mutexp)
{
{/*{{{*/
TSRM_ERROR((TSRM_ERROR_LEVEL_INFO, "Mutex unlocked thread: %ld", tsrm_thread_id()));
#ifdef TSRM_WIN32
LeaveCriticalSection(mutexp);
@@ -709,26 +677,17 @@ TSRM_API int tsrm_mutex_unlock(MUTEX_T mutexp)
return -1;
#elif defined(PTHREADS)
return pthread_mutex_unlock(mutexp);
#elif defined(NSAPI)
crit_exit(mutexp);
return 0;
#elif defined(PI3WEB)
return PISync_unlock(mutexp);
#elif defined(TSRM_ST)
return st_mutex_unlock(mutexp);
#elif defined(BETHREADS)
if (atomic_add(&mutexp->ben, -1) != 1)
return release_sem(mutexp->sem);
return 0;
#endif
}
}/*}}}*/
/*
Changes the signal mask of the calling thread
*/
#ifdef HAVE_SIGPROCMASK
TSRM_API int tsrm_sigmask(int how, const sigset_t *set, sigset_t *oldset)
{
{/*{{{*/
TSRM_ERROR((TSRM_ERROR_LEVEL_INFO, "Changed sigmask in thread: %ld", tsrm_thread_id()));
/* TODO: add support for other APIs */
#ifdef PTHREADS
@@ -736,28 +695,36 @@ TSRM_API int tsrm_sigmask(int how, const sigset_t *set, sigset_t *oldset)
#else
return sigprocmask(how, set, oldset);
#endif
}
}/*}}}*/
#endif
TSRM_API void *tsrm_set_new_thread_begin_handler(tsrm_thread_begin_func_t new_thread_begin_handler)
{
{/*{{{*/
void *retval = (void *) tsrm_new_thread_begin_handler;
tsrm_new_thread_begin_handler = new_thread_begin_handler;
return retval;
}
}/*}}}*/
TSRM_API void *tsrm_set_new_thread_end_handler(tsrm_thread_end_func_t new_thread_end_handler)
{
{/*{{{*/
void *retval = (void *) tsrm_new_thread_end_handler;
tsrm_new_thread_end_handler = new_thread_end_handler;
return retval;
}
}/*}}}*/
TSRM_API void *tsrm_set_shutdown_handler(tsrm_shutdown_func_t shutdown_handler)
{/*{{{*/
void *retval = (void *) tsrm_shutdown_handler;
tsrm_shutdown_handler = shutdown_handler;
return retval;
}/*}}}*/
/*
* Debug support
@@ -765,7 +732,7 @@ TSRM_API void *tsrm_set_new_thread_end_handler(tsrm_thread_end_func_t new_thread
#if TSRM_DEBUG
int tsrm_error(int level, const char *format, ...)
{
{/*{{{*/
if (level<=tsrm_error_level) {
va_list args;
int size;
@@ -780,12 +747,12 @@ int tsrm_error(int level, const char *format, ...)
} else {
return 0;
}
}
}/*}}}*/
#endif
void tsrm_error_set(int level, char *debug_filename)
{
{/*{{{*/
tsrm_error_level = level;
#if TSRM_DEBUG
@@ -802,11 +769,40 @@ void tsrm_error_set(int level, char *debug_filename)
tsrm_error_file = stderr;
}
#endif
}
}/*}}}*/
TSRM_API void *tsrm_get_ls_cache(void)
{
{/*{{{*/
return tsrm_tls_get();
}
}/*}}}*/
TSRM_API uint8_t tsrm_is_main_thread(void)
{/*{{{*/
return in_main_thread;
}/*}}}*/
TSRM_API const char *tsrm_api_name(void)
{/*{{{*/
#if defined(GNUPTH)
return "GNU Pth";
#elif defined(PTHREADS)
return "POSIX Threads";
#elif defined(TSRM_ST)
return "State Threads";
#elif defined(TSRM_WIN32)
return "Windows Threads";
#else
return "Unknown";
#endif
}/*}}}*/
#endif /* ZTS */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: sw=4 ts=4 fdm=marker
* vim<600: sw=4 ts=4
*/
+20 -16
View File
@@ -69,22 +69,9 @@ typedef int ts_rsrc_id;
#elif defined(PTHREADS)
# define THREAD_T pthread_t
# define MUTEX_T pthread_mutex_t *
#elif defined(NSAPI)
# define THREAD_T SYS_THREAD
# define MUTEX_T CRITICAL
#elif defined(PI3WEB)
# define THREAD_T PIThread *
# define MUTEX_T PISync *
#elif defined(TSRM_ST)
# define THREAD_T st_thread_t
# define MUTEX_T st_mutex_t
#elif defined(BETHREADS)
# define THREAD_T thread_id
typedef struct {
sem_id sem;
int32 ben;
} beos_ben;
# define MUTEX_T beos_ben *
#endif
#ifdef HAVE_SIGNAL_H
@@ -128,6 +115,7 @@ TSRM_API void ts_free_id(ts_rsrc_id id);
typedef void (*tsrm_thread_begin_func_t)(THREAD_T thread_id);
typedef void (*tsrm_thread_end_func_t)(THREAD_T thread_id);
typedef void (*tsrm_shutdown_func_t)(void);
TSRM_API int tsrm_error(int level, const char *format, ...);
@@ -145,6 +133,7 @@ TSRM_API int tsrm_sigmask(int how, const sigset_t *set, sigset_t *oldset);
TSRM_API void *tsrm_set_new_thread_begin_handler(tsrm_thread_begin_func_t new_thread_begin_handler);
TSRM_API void *tsrm_set_new_thread_end_handler(tsrm_thread_end_func_t new_thread_end_handler);
TSRM_API void *tsrm_set_shutdown_handler(tsrm_shutdown_func_t shutdown_handler);
/* these 3 APIs should only be used by people that fully understand the threading model
* used by PHP/Zend and the selected SAPI. */
@@ -153,11 +142,17 @@ TSRM_API void *tsrm_set_interpreter_context(void *new_ctx);
TSRM_API void tsrm_free_interpreter_context(void *context);
TSRM_API void *tsrm_get_ls_cache(void);
TSRM_API uint8_t tsrm_is_main_thread(void);
TSRM_API const char *tsrm_api_name(void);
#ifdef TSRM_WIN32
# define TSRM_TLS __declspec(thread)
#if defined(__cplusplus) && __cplusplus > 199711L
# define TSRM_TLS thread_local
#else
# define TSRM_TLS __thread
# ifdef TSRM_WIN32
# define TSRM_TLS __declspec(thread)
# else
# define TSRM_TLS __thread
# endif
#endif
#define TSRM_SHUFFLE_RSRC_ID(rsrc_id) ((rsrc_id)+1)
@@ -215,3 +210,12 @@ TSRM_API void *tsrm_get_ls_cache(void);
#endif /* ZTS */
#endif /* TSRM_H */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: sw=4 ts=4 fdm=marker
* vim<600: sw=4 ts=4
*/
+2
View File
@@ -1,3 +1,5 @@
AC_DEFUN([AM_SET_LIBTOOL_VARIABLE],[
LIBTOOL='$(SHELL) $(top_builddir)/libtool $1'
])
+4 -7
View File
@@ -4,9 +4,6 @@
# make -f build.mk
#
# Written by Sascha Schumann
#
# $Id$
LT_TARGETS = ltmain.sh ltconfig
@@ -30,14 +27,14 @@ $(LT_TARGETS):
$(makefile_in_files): $(makefile_am_files)
automake -a -i $(AMFLAGS) $(makefile_files)
aclocal.m4: configure.in acinclude.m4
aclocal.m4: configure.ac acinclude.m4
aclocal
$(config_h_in): configure.in
# explicitly remove target since autoheader does not seem to work
$(config_h_in): configure.ac
# explicitly remove target since autoheader does not seem to work
# correctly otherwise (timestamps are not updated)
@rm -f $@
autoheader
configure: aclocal.m4 configure.in
configure: aclocal.m4 configure.ac
autoconf
+1 -1
View File
@@ -1,5 +1,5 @@
// vim:ft=javascript
// $Id$
ADD_SOURCES("TSRM", "TSRM.c tsrm_strtok_r.c tsrm_win32.c");
ADD_FLAG("CFLAGS_BD_TSRM", "/D ZEND_ENABLE_STATIC_TSRMLS_CACHE=1");
+3 -3
View File
@@ -1,6 +1,5 @@
dnl $Id$
dnl
dnl Minimalistic configure.in for TSRM.
dnl Minimalistic configure.ac for TSRM.
dnl
AC_INIT(TSRM.c)
@@ -32,4 +31,5 @@ unistd.h \
limits.h
)
AC_OUTPUT(Makefile)
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
@@ -1,6 +1,6 @@
# =================================================================================
# http://www.gnu.org/software/autoconf-archive/ax_func_which_gethostbyname_r.html
# =================================================================================
# ==================================================================================
# https://www.gnu.org/software/autoconf-archive/ax_func_which_gethostbyname_r.html
# ==================================================================================
#
# SYNOPSIS
#
@@ -46,7 +46,7 @@
# Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program. If not, see <http://www.gnu.org/licenses/>.
# with this program. If not, see <https://www.gnu.org/licenses/>.
#
# As a special exception, the respective Autoconf Macro's copyright owner
# gives unlimited permission to copy, distribute and modify the configure
@@ -61,7 +61,7 @@
# modified version of the Autoconf Macro, you may extend this special
# exception to the GPL to apply to your modified version as well.
#serial 7
#serial 8
AC_DEFUN([AX_FUNC_WHICH_GETHOSTBYNAME_R], [
+3 -45
View File
@@ -1,45 +1,3 @@
#ifndef READDIR_H
#define READDIR_H
/*
* Structures and types used to implement opendir/readdir/closedir
* on Windows 95/NT.
*/
#include <windows.h>
#include <io.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <direct.h>
/* struct dirent - same as Unix */
struct dirent {
long d_ino; /* inode (always 1 in WIN32) */
off_t d_off; /* offset to this dirent */
unsigned short d_reclen; /* length of d_name */
char d_name[_MAX_FNAME + 1]; /* filename (null terminated) */
};
/* typedef DIR - not the same as Unix */
typedef struct {
HANDLE handle; /* _findfirst/_findnext handle */
short offset; /* offset into directory */
short finished; /* 1 if there are not more files */
WIN32_FIND_DATA fileinfo; /* from _findfirst/_findnext */
char *dir; /* the dir we are reading */
struct dirent dent; /* the dirent to return */
} DIR;
/* Function prototypes */
DIR *opendir(const char *);
struct dirent *readdir(DIR *);
int readdir_r(DIR *, struct dirent *, struct dirent **);
int closedir(DIR *);
int rewinddir(DIR *);
#endif /* READDIR_H */
/* Keep this header for compatibility with external code, it's currently not
used anywhere in the core and there are no implementations in TSRM. */
#include "win32/readdir.h"
+45 -50
View File
@@ -1,17 +1,17 @@
dnl Copyright (c) 1999, 2000 Sascha Schumann. All rights reserved.
dnl
dnl
dnl Redistribution and use in source and binary forms, with or without
dnl modification, are permitted provided that the following conditions
dnl are met:
dnl
dnl
dnl 1. Redistributions of source code must retain the above copyright
dnl notice, this list of conditions and the following disclaimer.
dnl
dnl
dnl 2. Redistributions in binary form must reproduce the above copyright
dnl notice, this list of conditions and the following disclaimer in
dnl the documentation and/or other materials provided with the
dnl distribution.
dnl
dnl
dnl THIS SOFTWARE IS PROVIDED BY SASCHA SCHUMANN ``AS IS'' AND ANY
dnl EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
dnl IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
@@ -97,58 +97,53 @@ dnl -Kthread UDK cc (UnixWare)
dnl -mt WorkShop cc (Solaris)
dnl -mthreads gcc (AIX)
dnl -pthread gcc (Linux, FreeBSD, NetBSD, OpenBSD)
dnl -pthreads gcc (Solaris)
dnl -pthreads gcc (Solaris)
dnl -qthreaded AIX cc V5
dnl -threads gcc (HP-UX)
dnl
AC_DEFUN([PTHREADS_CHECK],[
if test "$beos_threads" = "1"; then
save_CFLAGS=$CFLAGS
save_LIBS=$LIBS
PTHREADS_ASSIGN_VARS
PTHREADS_CHECK_COMPILE
LIBS=$save_LIBS
CFLAGS=$save_CFLAGS
AC_CACHE_CHECK(for pthreads_cflags,ac_cv_pthreads_cflags,[
ac_cv_pthreads_cflags=
if test "$pthreads_working" != "yes"; then
for flag in -kthread -pthread -pthreads -mthreads -Kthread -threads -mt -qthreaded; do
ac_save=$CFLAGS
CFLAGS="$CFLAGS $flag"
PTHREADS_CHECK_COMPILE
CFLAGS=$ac_save
if test "$pthreads_checked" = "yes"; then
ac_cv_pthreads_cflags=$flag
break
fi
done
fi
])
AC_CACHE_CHECK(for pthreads_lib, ac_cv_pthreads_lib,[
ac_cv_pthreads_lib=
if test "$pthreads_working" != "yes"; then
for lib in pthread pthreads c_r; do
ac_save=$LIBS
LIBS="$LIBS -l$lib"
PTHREADS_CHECK_COMPILE
LIBS=$ac_save
if test "$pthreads_checked" = "yes"; then
ac_cv_pthreads_lib=$lib
break
fi
done
fi
])
if test "x$ac_cv_pthreads_cflags" != "x" -o "x$ac_cv_pthreads_lib" != "x"; then
pthreads_working="yes"
ac_cv_pthreads_cflags=""
else
save_CFLAGS=$CFLAGS
save_LIBS=$LIBS
PTHREADS_ASSIGN_VARS
PTHREADS_CHECK_COMPILE
LIBS=$save_LIBS
CFLAGS=$save_CFLAGS
AC_CACHE_CHECK(for pthreads_cflags,ac_cv_pthreads_cflags,[
ac_cv_pthreads_cflags=
if test "$pthreads_working" != "yes"; then
for flag in -kthread -pthread -pthreads -mthreads -Kthread -threads -mt -qthreaded; do
ac_save=$CFLAGS
CFLAGS="$CFLAGS $flag"
PTHREADS_CHECK_COMPILE
CFLAGS=$ac_save
if test "$pthreads_checked" = "yes"; then
ac_cv_pthreads_cflags=$flag
break
fi
done
fi
])
AC_CACHE_CHECK(for pthreads_lib, ac_cv_pthreads_lib,[
ac_cv_pthreads_lib=
if test "$pthreads_working" != "yes"; then
for lib in pthread pthreads c_r; do
ac_save=$LIBS
LIBS="$LIBS -l$lib"
PTHREADS_CHECK_COMPILE
LIBS=$ac_save
if test "$pthreads_checked" = "yes"; then
ac_cv_pthreads_lib=$lib
break
fi
done
fi
])
if test "x$ac_cv_pthreads_cflags" != "x" -o "x$ac_cv_pthreads_lib" != "x"; then
pthreads_working="yes"
fi
fi
if test "$pthreads_working" = "yes"; then
+8 -34
View File
@@ -1,26 +1,4 @@
m4_include([TSRM/m4/gethostbyname.m4])
dnl TSRM_CHECK_GCC_ARG(ARG, ACTION-IF-FOUND, ACTION-IF-NOT_FOUND)
AC_DEFUN([TSRM_CHECK_GCC_ARG],[
gcc_arg_name=[ac_cv_gcc_arg]translit($1,A-Z-,a-z_)
AC_CACHE_CHECK([whether $CC supports $1], [ac_cv_gcc_arg]translit($1,A-Z-,a-z_), [
echo 'void somefunc() { };' > conftest.c
cmd='$CC $1 -c conftest.c'
if eval $cmd 2>&1 | egrep -e $1 >/dev/null ; then
ac_result=no
else
ac_result=yes
fi
eval $gcc_arg_name=$ac_result
rm -f conftest.*
])
if eval test "\$$gcc_arg_name" = "yes"; then
$2
else
:
$3
fi
])
m4_include([TSRM/m4/ax_func_which_gethostbyname_r.m4])
AC_DEFUN([TSRM_BASIC_CHECKS],[
@@ -78,18 +56,14 @@ AC_DEFUN([TSRM_CHECK_PTHREADS],[
PTHREADS_CHECK
if test "$beos_threads" = "1"; then
AC_DEFINE(BETHREADS, 1, Whether to use native BeOS threads)
else
if test "$pthreads_working" != "yes"; then
AC_MSG_ERROR(Your system seems to lack POSIX threads.)
fi
AC_DEFINE(PTHREADS, 1, Whether to use Pthreads)
AC_MSG_CHECKING(for POSIX threads)
AC_MSG_RESULT(yes)
if test "$pthreads_working" != "yes"; then
AC_MSG_ERROR(Your system seems to lack POSIX threads.)
fi
AC_DEFINE(PTHREADS, 1, Whether to use Pthreads)
AC_MSG_CHECKING(for POSIX threads)
AC_MSG_RESULT(yes)
])
AC_DEFUN([TSRM_THREADS_CHECKS],[
+9 -1
View File
@@ -6,10 +6,18 @@
#define HAVE_UTIME 1
#define HAVE_ALLOCA 1
#define HAVE_REALPATH 1
#include <malloc.h>
#include <stdlib.h>
#include <crtdbg.h>
#endif
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: sw=4 ts=4 fdm=marker
* vim<600: sw=4 ts=4
*/
+9 -2
View File
@@ -25,9 +25,7 @@
#pragma alloca
# else
# ifndef alloca /* predefined by HP cc +Olibcalls */
# ifndef NETWARE
char *alloca ();
# endif
# endif
# endif
# endif
@@ -71,3 +69,12 @@ char *alloca ();
#endif
#endif /* TSRM_CONFIG_COMMON_H */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: sw=4 ts=4 fdm=marker
* vim<600: sw=4 ts=4
*/
-240
View File
@@ -1,240 +0,0 @@
/*
+----------------------------------------------------------------------+
| PHP Version 7 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2018 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Venkat Raghavan S <rvenkat@novell.com> |
| Anantha Kesari H Y <hyanantha@novell.com> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include "TSRM.h"
#ifdef NETWARE
#ifdef USE_MKFIFO
#include <sys/stat.h>
#elif !defined(USE_PIPE_OPEN) /* NXFifoOpen */
#include <nks/fsio.h>
#endif
#include <nks/vm.h>
#include <nks/memory.h>
#include <string.h>
#include "mktemp.h"
/* strtok() call in LibC is abending when used in a different address space
* -- hence using PHP's version itself for now
*/
#include "tsrm_strtok_r.h"
#define tsrm_strtok_r(a,b,c) strtok((a),(b))
#define WHITESPACE " \t"
#define MAX_ARGS 10
TSRM_API FILE* popen(const char *commandline, const char *type)
{
char *command = NULL, *argv[MAX_ARGS] = {'\0'}, **env = NULL;
char *tempName = "sys:/php/temp/phpXXXXXX.tmp";
char *filePath = NULL;
char *ptr = NULL;
int ptrLen = 0, argc = 0, i = 0, envCount = 0, err = 0;
FILE *stream = NULL;
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
int pipe_handle;
int mode = O_RDONLY;
#else
NXHandle_t pipe_handle;
NXMode_t mode = NX_O_RDONLY;
#endif
NXExecEnvSpec_t envSpec;
NXNameSpec_t nameSpec;
NXVmId_t newVM = 0;
/* Check for validity of input parameters */
if (!commandline || !type)
return NULL;
/* Get temporary file name */
filePath = mktemp(tempName);
if (!filePath)
return NULL;
/* Set pipe mode according to type -- for now allow only "r" or "w" */
if (strcmp(type, "r") == 0)
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
mode = O_RDONLY;
#else
mode = NX_O_RDONLY;
#endif
else if (strcmp(type, "w") == 0)
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
mode = O_WRONLY;
#else
mode = NX_O_WRONLY;
#endif
else
return NULL;
#ifdef USE_PIPE_OPEN
pipe_handle = pipe_open(filePath, mode);
if (pipe_handle == -1)
return NULL;
#elif defined(USE_MKFIFO)
pipe_handle = mkfifo(filePath, mode);
if (pipe_handle == -1)
return NULL;
#else
/* - NetWare doesn't require first parameter
* - Allowing LibC to choose the buffer size for now
*/
err = NXFifoOpen(0, filePath, mode, 0, &pipe_handle);
if (err)
return NULL;
#endif
/* Copy the environment variables in preparation for the spawn call */
envCount = NXGetEnvCount() + 1; /* add one for NULL */
env = (char **) NXMemAlloc(sizeof(char *) * envCount, 0);
if (!env)
return NULL;
err = NXCopyEnv(env, envCount);
if (err) {
NXMemFree (env);
return NULL;
}
/* Separate commandline string into words */
ptr = tsrm_strtok_r((char*)commandline, WHITESPACE, NULL);
ptrLen = strlen(ptr);
command = (char*)malloc(ptrLen + 1);
if (!command) {
NXMemFree (env);
return NULL;
}
strcpy (command, ptr);
ptr = tsrm_strtok_r(NULL, WHITESPACE, NULL);
while (ptr && (argc < MAX_ARGS)) {
ptrLen = strlen(ptr);
argv[argc] = (char*)malloc(ptrLen + 1);
if (!argv[argc]) {
NXMemFree (env);
if (command)
free (command);
for (i = 0; i < argc; i++) {
if (argv[i])
free (argv[i]);
}
return NULL;
}
strcpy (argv[argc], ptr);
argc++;
ptr = tsrm_strtok_r(NULL, WHITESPACE, NULL);
}
/* Setup the execution environment and spawn new process */
envSpec.esFlags = 0; /* Not used */
envSpec.esArgc = argc;
envSpec.esArgv = (void **) argv;
envSpec.esEnv = (void **) env;
/* envSpec.esStdin.ssType = */
envSpec.esStdout.ssType = NX_OBJ_FIFO;
envSpec.esStderr.ssType = NX_OBJ_FILE;
/* 'ssHandle' is not a struct/union/class member */
/*
envSpec.esStdin.ssHandle =
envSpec.esStdout.ssHandle =
envSpec.esStderr.ssHandle = -1;
*/
envSpec.esStdin.ssPathCtx = NULL;
envSpec.esStdout.ssPathCtx = NULL;
envSpec.esStderr.ssPathCtx = NULL;
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
if (mode == O_RDONLY) {
#else
if (mode == NX_O_RDONLY) {
#endif
envSpec.esStdin.ssPath = filePath;
envSpec.esStdout.ssPath = stdout;
} else { /* Write Only */
envSpec.esStdin.ssPath = stdin;
envSpec.esStdout.ssPath = filePath;
}
envSpec.esStderr.ssPath = stdout;
nameSpec.ssType = NX_OBJ_FIFO;
/* nameSpec.ssHandle = 0; */ /* 'ssHandle' is not a struct/union/class member */
nameSpec.ssPathCtx = NULL; /* Not used */
nameSpec.ssPath = argv[0];
err = NXVmSpawn(&nameSpec, &envSpec, 0, &newVM);
if (!err)
/* Get file pointer corresponding to the pipe (file) opened */
stream = fdopen(pipe_handle, type);
/* Clean-up */
if (env)
NXMemFree (env);
if (pipe_handle)
#if defined(USE_PIPE_OPEN) || defined(USE_MKFIFO)
close(pipe_handle);
#else
NXClose(pipe_handle);
#endif
if (command)
free (command);
for (i = 0; i < argc; i++) {
if (argv[i])
free (argv[i]);
}
return stream;
}
TSRM_API int pclose(FILE* stream)
{
int err = 0;
NXHandle_t fd = 0;
/* Get the process associated with this pipe (file) handle and terminate it */
fd = fileno(stream);
NXClose (fd);
err = fclose(stream);
return err;
}
#endif /* NETWARE */
+13 -4
View File
@@ -4,7 +4,7 @@
#include "tsrm_strtok_r.h"
static inline int in_character_class(char ch, const char *delim)
{
{/*{{{*/
while (*delim) {
if (*delim == ch) {
return 1;
@@ -12,10 +12,10 @@ static inline int in_character_class(char ch, const char *delim)
delim++;
}
return 0;
}
}/*}}}*/
TSRM_API char *tsrm_strtok_r(char *s, const char *delim, char **last)
{
{/*{{{*/
char *token;
if (s == NULL) {
@@ -41,7 +41,7 @@ TSRM_API char *tsrm_strtok_r(char *s, const char *delim, char **last)
*last = s + 1;
}
return token;
}
}/*}}}*/
#if 0
@@ -61,3 +61,12 @@ main()
}
#endif
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: sw=4 ts=4 fdm=marker
* vim<600: sw=4 ts=4
*/
+216 -238
View File
@@ -16,8 +16,6 @@
+----------------------------------------------------------------------+
*/
/* $Id$ */
#include <stdio.h>
#include <fcntl.h>
#include <io.h>
@@ -42,7 +40,7 @@ static tsrm_win32_globals win32_globals;
#endif
static void tsrm_win32_ctor(tsrm_win32_globals *globals)
{
{/*{{{*/
#ifdef ZTS
TSRMLS_CACHE_UPDATE();
#endif
@@ -61,10 +59,10 @@ TSRMLS_CACHE_UPDATE();
*/
globals->impersonation_token = INVALID_HANDLE_VALUE;
globals->impersonation_token_sid = NULL;
}
}/*}}}*/
static void tsrm_win32_dtor(tsrm_win32_globals *globals)
{
{/*{{{*/
shm_pair *ptr;
if (globals->process) {
@@ -89,51 +87,48 @@ static void tsrm_win32_dtor(tsrm_win32_globals *globals)
if (globals->impersonation_token_sid) {
free(globals->impersonation_token_sid);
}
}
}/*}}}*/
TSRM_API void tsrm_win32_startup(void)
{
{/*{{{*/
#ifdef ZTS
ts_allocate_id(&win32_globals_id, sizeof(tsrm_win32_globals), (ts_allocate_ctor)tsrm_win32_ctor, (ts_allocate_ctor)tsrm_win32_dtor);
#else
tsrm_win32_ctor(&win32_globals);
#endif
}
}/*}}}*/
TSRM_API void tsrm_win32_shutdown(void)
{
{/*{{{*/
#ifndef ZTS
tsrm_win32_dtor(&win32_globals);
#endif
}
}/*}}}*/
char * tsrm_win32_get_path_sid_key(const char *pathname)
{
char * tsrm_win32_get_path_sid_key(const char *pathname, size_t pathname_len, size_t *key_len)
{/*{{{*/
PSID pSid = TWG(impersonation_token_sid);
TCHAR *ptcSid = NULL;
char *ptcSid = NULL;
char *bucket_key = NULL;
size_t ptc_sid_len, pathname_len;
pathname_len = strlen(pathname);
size_t ptc_sid_len;
if (!pSid) {
bucket_key = (char *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, pathname_len + 1);
if (!bucket_key) {
return NULL;
}
memcpy(bucket_key, pathname, pathname_len);
return bucket_key;
*key_len = pathname_len;
return pathname;
}
if (!ConvertSidToStringSid(pSid, &ptcSid)) {
*key_len = 0;
return NULL;
}
ptc_sid_len = strlen(ptcSid);
bucket_key = (char *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, pathname_len + ptc_sid_len + 1);
*key_len = pathname_len + ptc_sid_len;
bucket_key = (char *)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, *key_len + 1);
if (!bucket_key) {
LocalFree(ptcSid);
*key_len = 0;
return NULL;
}
@@ -142,11 +137,11 @@ char * tsrm_win32_get_path_sid_key(const char *pathname)
LocalFree(ptcSid);
return bucket_key;
}
}/*}}}*/
PSID tsrm_win32_get_token_sid(HANDLE hToken)
{
{/*{{{*/
DWORD dwLength = 0;
PTOKEN_USER pTokenUser = NULL;
DWORD sid_len;
@@ -193,10 +188,10 @@ Finished:
HeapFree(GetProcessHeap(), 0, (LPVOID)pTokenUser);
}
return NULL;
}
}/*}}}*/
TSRM_API int tsrm_win32_access(const char *pathname, int mode)
{
{/*{{{*/
time_t t;
HANDLE thread_token = NULL;
PSID token_sid;
@@ -208,199 +203,177 @@ TSRM_API int tsrm_win32_access(const char *pathname, int mode)
DWORD sec_desc_length = 0, desired_access = 0, granted_access = 0;
BYTE * psec_desc = NULL;
BOOL fAccess = FALSE;
realpath_cache_bucket * bucket = NULL;
char * real_path = NULL;
char real_path[MAXPATHLEN] = {0};
if(!IS_ABSOLUTE_PATH(pathname, strlen(pathname)+1)) {
if(tsrm_realpath(pathname, real_path) == NULL) {
SET_ERRNO_FROM_WIN32_CODE(ERROR_FILE_NOT_FOUND);
return -1;
}
pathname = real_path;
}
PHP_WIN32_IOUTIL_INIT_W(pathname)
if (!pathw) {
return -1;
}
if (mode == 1 /*X_OK*/) {
DWORD type;
int ret;
ret = GetBinaryTypeW(pathw, &type) ? 0 : -1;
/* Either access call failed, or the mode was asking for a specific check.*/
int ret = php_win32_ioutil_access_w(pathw, mode);
if (0 > ret || X_OK == mode || F_OK == mode) {
PHP_WIN32_IOUTIL_CLEANUP_W()
return ret;
} else {
if(!IS_ABSOLUTE_PATH(pathname, strlen(pathname)+1)) {
real_path = (char *)malloc(MAXPATHLEN);
if(tsrm_realpath(pathname, real_path) == NULL) {
goto Finished;
}
pathname = real_path;
PHP_WIN32_IOUTIL_REINIT_W(pathname);
}
if(php_win32_ioutil_access(pathname, mode)) {
PHP_WIN32_IOUTIL_CLEANUP_W()
free(real_path);
return errno;
}
/* If only existence check is made, return now */
if (mode == 0) {
PHP_WIN32_IOUTIL_CLEANUP_W()
free(real_path);
return 0;
}
}
/* Only in NTS when impersonate==1 (aka FastCGI) */
/*
AccessCheck() requires an impersonation token. We first get a primary
token and then create a duplicate impersonation token. The
impersonation token is not actually assigned to the thread, but is
used in the call to AccessCheck. Thus, this function itself never
impersonates, but does use the identity of the thread. If the thread
was impersonating already, this function uses that impersonation context.
*/
if(!OpenThreadToken(GetCurrentThread(), TOKEN_ALL_ACCESS, TRUE, &thread_token)) {
if (GetLastError() == ERROR_NO_TOKEN) {
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ALL_ACCESS, &thread_token)) {
TWG(impersonation_token) = NULL;
goto Finished;
}
}
}
/* token_sid will be freed in tsrmwin32_dtor */
token_sid = tsrm_win32_get_token_sid(thread_token);
if (!token_sid) {
if (TWG(impersonation_token_sid)) {
free(TWG(impersonation_token_sid));
}
TWG(impersonation_token_sid) = NULL;
goto Finished;
}
/* Different identity, we need a new impersontated token as well */
if (!TWG(impersonation_token_sid) || !EqualSid(token_sid, TWG(impersonation_token_sid))) {
if (TWG(impersonation_token_sid)) {
free(TWG(impersonation_token_sid));
}
TWG(impersonation_token_sid) = token_sid;
/* Duplicate the token as impersonated token */
if (!DuplicateToken(thread_token, SecurityImpersonation, &TWG(impersonation_token))) {
goto Finished;
}
} else {
/* we already have it, free it then */
free(token_sid);
}
if (CWDG(realpath_cache_size_limit)) {
t = time(0);
bucket = realpath_cache_lookup(pathname, (int)strlen(pathname), t);
if(bucket == NULL && real_path == NULL) {
/* We used the pathname directly. Call tsrm_realpath */
/* so that entry is created in realpath cache */
real_path = (char *)malloc(MAXPATHLEN);
if(tsrm_realpath(pathname, real_path) != NULL) {
pathname = real_path;
bucket = realpath_cache_lookup(pathname, (int)strlen(pathname), t);
PHP_WIN32_IOUTIL_REINIT_W(pathname);
}
}
}
/* Do a full access check because access() will only check read-only attribute */
if(mode == 0 || mode > 6) {
if(bucket != NULL && bucket->is_rvalid) {
fAccess = bucket->is_readable;
goto Finished;
}
desired_access = FILE_GENERIC_READ;
} else if(mode <= 2) {
if(bucket != NULL && bucket->is_wvalid) {
fAccess = bucket->is_writable;
goto Finished;
}
desired_access = FILE_GENERIC_WRITE;
} else if(mode <= 4) {
if(bucket != NULL && bucket->is_rvalid) {
fAccess = bucket->is_readable;
goto Finished;
}
desired_access = FILE_GENERIC_READ|FILE_FLAG_BACKUP_SEMANTICS;
} else { // if(mode <= 6)
if(bucket != NULL && bucket->is_rvalid && bucket->is_wvalid) {
fAccess = bucket->is_readable & bucket->is_writable;
goto Finished;
}
desired_access = FILE_GENERIC_READ | FILE_GENERIC_WRITE;
}
if(TWG(impersonation_token) == NULL) {
goto Finished;
}
/* Get size of security buffer. Call is expected to fail */
if(GetFileSecurityW(pathw, sec_info, NULL, 0, &sec_desc_length)) {
goto Finished;
}
psec_desc = (BYTE *)malloc(sec_desc_length);
if(psec_desc == NULL ||
!GetFileSecurityW(pathw, sec_info, (PSECURITY_DESCRIPTOR)psec_desc, sec_desc_length, &sec_desc_length)) {
goto Finished;
}
MapGenericMask(&desired_access, &gen_map);
if(!AccessCheck((PSECURITY_DESCRIPTOR)psec_desc, TWG(impersonation_token), desired_access, &gen_map, &privilege_set, &priv_set_length, &granted_access, &fAccess)) {
goto Finished_Impersonate;
}
/* Keep the result in realpath_cache */
if(bucket != NULL) {
if(desired_access == (FILE_GENERIC_READ|FILE_FLAG_BACKUP_SEMANTICS)) {
bucket->is_rvalid = 1;
bucket->is_readable = fAccess;
}
else if(desired_access == FILE_GENERIC_WRITE) {
bucket->is_wvalid = 1;
bucket->is_writable = fAccess;
} else if (desired_access == (FILE_GENERIC_READ | FILE_GENERIC_WRITE)) {
bucket->is_rvalid = 1;
bucket->is_readable = fAccess;
bucket->is_wvalid = 1;
bucket->is_writable = fAccess;
}
}
Finished_Impersonate:
if(psec_desc != NULL) {
free(psec_desc);
psec_desc = NULL;
}
Finished:
if(thread_token != NULL) {
CloseHandle(thread_token);
}
if(real_path != NULL) {
free(real_path);
real_path = NULL;
}
PHP_WIN32_IOUTIL_CLEANUP_W()
if(fAccess == FALSE) {
errno = EACCES;
return errno;
} else {
return 0;
/*
AccessCheck() requires an impersonation token. We first get a primary
token and then create a duplicate impersonation token. The
impersonation token is not actually assigned to the thread, but is
used in the call to AccessCheck. Thus, this function itself never
impersonates, but does use the identity of the thread. If the thread
was impersonating already, this function uses that impersonation context.
*/
if(!OpenThreadToken(GetCurrentThread(), TOKEN_ALL_ACCESS, TRUE, &thread_token)) {
if (GetLastError() == ERROR_NO_TOKEN) {
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ALL_ACCESS, &thread_token)) {
TWG(impersonation_token) = NULL;
goto Finished;
}
}
}
}
/* token_sid will be freed in tsrmwin32_dtor */
token_sid = tsrm_win32_get_token_sid(thread_token);
if (!token_sid) {
if (TWG(impersonation_token_sid)) {
free(TWG(impersonation_token_sid));
}
TWG(impersonation_token_sid) = NULL;
goto Finished;
}
/* Different identity, we need a new impersontated token as well */
if (!TWG(impersonation_token_sid) || !EqualSid(token_sid, TWG(impersonation_token_sid))) {
if (TWG(impersonation_token_sid)) {
free(TWG(impersonation_token_sid));
}
TWG(impersonation_token_sid) = token_sid;
/* Duplicate the token as impersonated token */
if (!DuplicateToken(thread_token, SecurityImpersonation, &TWG(impersonation_token))) {
goto Finished;
}
} else {
/* we already have it, free it then */
free(token_sid);
}
if (CWDG(realpath_cache_size_limit)) {
t = time(0);
bucket = realpath_cache_lookup(pathname, strlen(pathname), t);
if(bucket == NULL && !real_path[0]) {
/* We used the pathname directly. Call tsrm_realpath */
/* so that entry is created in realpath cache */
if(tsrm_realpath(pathname, real_path) != NULL) {
pathname = real_path;
bucket = realpath_cache_lookup(pathname, strlen(pathname), t);
PHP_WIN32_IOUTIL_REINIT_W(pathname);
}
}
}
/* Do a full access check because access() will only check read-only attribute */
if(mode == 0 || mode > 6) {
if(bucket != NULL && bucket->is_rvalid) {
fAccess = bucket->is_readable;
goto Finished;
}
desired_access = FILE_GENERIC_READ;
} else if(mode <= 2) {
if(bucket != NULL && bucket->is_wvalid) {
fAccess = bucket->is_writable;
goto Finished;
}
desired_access = FILE_GENERIC_WRITE;
} else if(mode <= 4) {
if(bucket != NULL && bucket->is_rvalid) {
fAccess = bucket->is_readable;
goto Finished;
}
desired_access = FILE_GENERIC_READ|FILE_FLAG_BACKUP_SEMANTICS;
} else { // if(mode <= 6)
if(bucket != NULL && bucket->is_rvalid && bucket->is_wvalid) {
fAccess = bucket->is_readable & bucket->is_writable;
goto Finished;
}
desired_access = FILE_GENERIC_READ | FILE_GENERIC_WRITE;
}
if(TWG(impersonation_token) == NULL) {
goto Finished;
}
/* Get size of security buffer. Call is expected to fail */
if(GetFileSecurityW(pathw, sec_info, NULL, 0, &sec_desc_length)) {
goto Finished;
}
psec_desc = (BYTE *)malloc(sec_desc_length);
if(psec_desc == NULL ||
!GetFileSecurityW(pathw, sec_info, (PSECURITY_DESCRIPTOR)psec_desc, sec_desc_length, &sec_desc_length)) {
goto Finished;
}
MapGenericMask(&desired_access, &gen_map);
if(!AccessCheck((PSECURITY_DESCRIPTOR)psec_desc, TWG(impersonation_token), desired_access, &gen_map, &privilege_set, &priv_set_length, &granted_access, &fAccess)) {
goto Finished_Impersonate;
}
/* Keep the result in realpath_cache */
if(bucket != NULL) {
if(desired_access == (FILE_GENERIC_READ|FILE_FLAG_BACKUP_SEMANTICS)) {
bucket->is_rvalid = 1;
bucket->is_readable = fAccess;
}
else if(desired_access == FILE_GENERIC_WRITE) {
bucket->is_wvalid = 1;
bucket->is_writable = fAccess;
} else if (desired_access == (FILE_GENERIC_READ | FILE_GENERIC_WRITE)) {
bucket->is_rvalid = 1;
bucket->is_readable = fAccess;
bucket->is_wvalid = 1;
bucket->is_writable = fAccess;
}
}
Finished_Impersonate:
if(psec_desc != NULL) {
free(psec_desc);
psec_desc = NULL;
}
Finished:
if(thread_token != NULL) {
CloseHandle(thread_token);
}
PHP_WIN32_IOUTIL_CLEANUP_W()
if(fAccess == FALSE) {
errno = EACCES;
return errno;
} else {
return 0;
}
}/*}}}*/
static process_pair *process_get(FILE *stream)
{
{/*{{{*/
process_pair *ptr;
process_pair *newptr;
@@ -423,10 +396,10 @@ static process_pair *process_get(FILE *stream)
ptr = newptr + TWG(process_size);
TWG(process_size)++;
return ptr;
}
}/*}}}*/
static shm_pair *shm_get(int key, void *addr)
{
static shm_pair *shm_get(key_t key, void *addr)
{/*{{{*/
shm_pair *ptr;
shm_pair *newptr;
@@ -455,24 +428,25 @@ static shm_pair *shm_get(int key, void *addr)
TWG(shm_size)++;
memset(ptr, 0, sizeof(*ptr));
return ptr;
}
}/*}}}*/
static HANDLE dupHandle(HANDLE fh, BOOL inherit) {
static HANDLE dupHandle(HANDLE fh, BOOL inherit)
{/*{{{*/
HANDLE copy, self = GetCurrentProcess();
if (!DuplicateHandle(self, fh, self, &copy, 0, inherit, DUPLICATE_SAME_ACCESS|DUPLICATE_CLOSE_SOURCE)) {
return NULL;
}
return copy;
}
}/*}}}*/
TSRM_API FILE *popen(const char *command, const char *type)
{
{/*{{{*/
return popen_ex(command, type, NULL, NULL);
}
}/*}}}*/
TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd, char *env)
{
{/*{{{*/
FILE *stream = NULL;
int fno, type_len, read, mode;
STARTUPINFOW startup;
@@ -616,10 +590,10 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd,
proc->prochnd = process.hProcess;
proc->stream = stream;
return stream;
}
}/*}}}*/
TSRM_API int pclose(FILE *stream)
{
{/*{{{*/
DWORD termstat = 0;
process_pair *process;
@@ -636,19 +610,15 @@ TSRM_API int pclose(FILE *stream)
CloseHandle(process->prochnd);
return termstat;
}
}/*}}}*/
TSRM_API int shmget(int key, int size, int flags)
{
TSRM_API int shmget(key_t key, size_t size, int flags)
{/*{{{*/
shm_pair *shm;
char shm_segment[26], shm_info[29];
HANDLE shm_handle, info_handle;
BOOL created = FALSE;
if (size < 0) {
return -1;
}
snprintf(shm_segment, sizeof(shm_segment), "TSRM_SHM_SEGMENT:%d", key);
snprintf(shm_info, sizeof(shm_info), "TSRM_SHM_DESCRIPTOR:%d", key);
@@ -657,7 +627,14 @@ TSRM_API int shmget(int key, int size, int flags)
if (!shm_handle && !info_handle) {
if (flags & IPC_CREAT) {
shm_handle = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, size, shm_segment);
#if SIZEOF_SIZE_T == 8
DWORD high = size >> 32;
DWORD low = (DWORD)size;
#else
DWORD high = 0;
DWORD low = size;
#endif
shm_handle = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, high, low, shm_segment);
info_handle = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, sizeof(shm->descriptor), shm_info);
created = TRUE;
}
@@ -716,10 +693,10 @@ TSRM_API int shmget(int key, int size, int flags)
}
return key;
}
}/*}}}*/
TSRM_API void *shmat(int key, const void *shmaddr, int flags)
{
{/*{{{*/
shm_pair *shm = shm_get(key, NULL);
if (!shm->segment) {
@@ -739,10 +716,10 @@ TSRM_API void *shmat(int key, const void *shmaddr, int flags)
shm->descriptor->shm_nattch++;
return shm->addr;
}
}/*}}}*/
TSRM_API int shmdt(const void *shmaddr)
{
{/*{{{*/
shm_pair *shm = shm_get(0, (void*)shmaddr);
if (!shm->segment) {
@@ -754,9 +731,10 @@ TSRM_API int shmdt(const void *shmaddr)
shm->descriptor->shm_nattch--;
return UnmapViewOfFile(shm->addr) ? 0 : -1;
}
}/*}}}*/
TSRM_API int shmctl(int key, int cmd, struct shmid_ds *buf) {
TSRM_API int shmctl(int key, int cmd, struct shmid_ds *buf)
{/*{{{*/
shm_pair *shm = shm_get(key, NULL);
if (!shm->segment) {
@@ -784,16 +762,7 @@ TSRM_API int shmctl(int key, int cmd, struct shmid_ds *buf) {
default:
return -1;
}
}
TSRM_API char *realpath(char *orig_path, char *buffer)
{
int ret = GetFullPathName(orig_path, _MAX_PATH, buffer, NULL);
if(!ret || ret > _MAX_PATH) {
return NULL;
}
return buffer;
}
}/*}}}*/
#if HAVE_UTIME
static zend_always_inline void UnixTimeToFileTime(time_t t, LPFILETIME pft) /* {{{ */
@@ -851,3 +820,12 @@ TSRM_API int win32_utime(const char *filename, struct utimbuf *buf) /* {{{ */
/* }}} */
#endif
#endif
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: sw=4 ts=4 fdm=marker
* vim<600: sw=4 ts=4
*/
+14 -8
View File
@@ -16,8 +16,6 @@
+----------------------------------------------------------------------+
*/
/* $Id$ */
#ifndef TSRM_WIN32_H
#define TSRM_WIN32_H
@@ -26,9 +24,10 @@
#if HAVE_UTIME
# include <sys/utime.h>
#endif
#include "win32/ipc.h"
struct ipc_perm {
int key;
key_t key;
unsigned short uid;
unsigned short gid;
unsigned short cuid;
@@ -39,7 +38,7 @@ struct ipc_perm {
struct shmid_ds {
struct ipc_perm shm_perm;
int shm_segsz;
size_t shm_segsz;
time_t shm_atime;
time_t shm_dtime;
time_t shm_ctime;
@@ -94,7 +93,7 @@ TSRMLS_CACHE_EXTERN()
#define SHM_RND FILE_MAP_WRITE
#define SHM_REMAP FILE_MAP_COPY
char * tsrm_win32_get_path_sid_key(const char *pathname );
char * tsrm_win32_get_path_sid_key(const char *pathname, size_t pathname_len, size_t *key_len);
TSRM_API void tsrm_win32_startup(void);
TSRM_API void tsrm_win32_shutdown(void);
@@ -105,10 +104,17 @@ TSRM_API int pclose(FILE *stream);
TSRM_API int tsrm_win32_access(const char *pathname, int mode);
TSRM_API int win32_utime(const char *filename, struct utimbuf *buf);
TSRM_API int shmget(int key, int size, int flags);
TSRM_API int shmget(key_t key, size_t size, int flags);
TSRM_API void *shmat(int key, const void *shmaddr, int flags);
TSRM_API int shmdt(const void *shmaddr);
TSRM_API int shmctl(int key, int cmd, struct shmid_ds *buf);
TSRM_API char *realpath(char *orig_path, char *buffer);
#endif
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: sw=4 ts=4 fdm=marker
* vim<600: sw=4 ts=4
*/
+517 -495
View File
File diff suppressed because it is too large. Load diff
+165 -54
View File
@@ -1,90 +1,201 @@
PHP 7.1 INTERNALS UPGRADE NOTES
PHP 7.3 INTERNALS UPGRADE NOTES
0. Wiki Examples
1. Internal API changes
e. Codepage handling on Windows
f. Path handling on Windows
g. SAPI logging
a. array_init() and array_init_size()
b. Run-time constant operand addressing
c. Array/Object recursion protection
d. HASH_FLAG_PERSISTENT
e. AST and IS_CONSTANT
f. GC_REFCOUNT()
g. zend_get_parameters()
h. zend_register_persistent_resource()
i. RAND_RANGE()
j. cast_object() with _IS_NUMBER
k. zend_fcall_info_cache.initialized
l. php_hrtime_current()
m. zend_cpu_supports()
n. IS_TYPE_COPYABLE
o. IS_UNUSED
p. VM instruction operands (FETCH_CLASS, FETCH_CONSTANT, CATCH)
q. sapi_cli_single_write()
r. php_url
s. zend_function.reserved[]
t. zif_handler
u. GC_G
v. php_add[c]slashes
w. zend_class_entry.iterator_funcs
x. Class declaration opcodes (DECLARE_INHERITED_CLASS ...)
y. zend_constant
z. HAVE_ST_BLKSIZE and HAVE_ST_RDEV
aa. RETSIGTYPE
2. Build system changes
a. Unix build system changes
b. Windows build system changes
3. Module changes
================
0. Wiki Examples
================
The wiki contains multiple examples and further explanations of the internal
changes. See: https://wiki.php.net/phpng-upgrading
========================
1. Internal API changes
========================
e. Codepage handling on Windows
a. array_init() and array_init_size() are not functions anymore.
They don't return any values.
A set of new APIs was introduced, which allows to handle codepage
conversions. The corresponding prototypes and macros are contained
in win32/codepage.h.
b. In 64-bit builds PHP-7.2 and below used relative run-time constant operand
addressing. E.g. opline->op1.constant kept an offset from start of literals
table - op_array->literals. To speedup access op_array->literals was cached
in execute_data->literals. So the resulting address calculated as
EX(literals) + opline->op1.constant.
Functions with php_win32_cp_* signatures provide handling for various
codepage aspects. Primarily they are in use at various places in the
I/O utils code and directly in the core where necessary, providing
conversions to/from UTF-16. Arbitrary conversions between codepages
are possible as well, whereby UTF-16 will be always an intermediate
state in this case.
Now at run-time literals allocated close to opcodes, and addressed
relatively from current opline. This eliminates load of EX(literals) on
each constant access as well as EX(literals) initialization on each call.
For input length arguments, the macro PHP_WIN32_CP_IGNORE_LEN can be
passed, then the API will calculate the length. For output length
arguments, the macro PHP_WIN32_CP_IGNORE_LEN_P can be passed, then
the API won't set the output length.
As result some related macros were removed (ZEND_EX_USE_LITERALS,
EX_LOAD_LITERALS, EX_LITERALS, RT_CONSTANT_EX, EX_CONSTANT) or changed
(RT_CONSTANT, ZEND_PASS_TWO_UPDATE_CONSTANT, ZEND_PASS_TWO_UNDO_CONSTANT).
This change may affect only some "system" extensions. EX_LITERALS,
RT_CONSTANT_EX, EX_CONSTANT should be substituted by RT_CONSTANT, and now
use "opline" (instead of "op_array") as first argument.
The mapping between encodings and codepages is provided by the predefined
array of data contained in win32/cp_enc_map.c. To change the data,
a generator win32/cp_enc_map_gen.c needs to be edited and run.
c. Protection from recursion during processing circular data structures was
refactored. HashTable.nApplyCount and IS_OBJ_APPLY_COUNT are replaced by
single flag GC_PROTECTED. Corresponding macros Z_OBJ_APPLY_COUNT,
Z_OBJ_INC_APPLY_COUNT, Z_OBJ_DEC_APPLY_COUNT, ZEND_HASH_GET_APPLY_COUNT,
ZEND_HASH_INC_APPLY_COUNT, ZEND_HASH_DEC_APPLY_COUNT are replaced with
GC_IS_RECURSIVE, GC_PROTECT_RECURSION, GC_UNPROTECT_RECURSION,
Z_IS_RECURSIVE, Z_PROTECT_RECURSION, Z_UNPROTECT_RECURSION.
f. Path handling on Windows
HASH_FLAG_APPLY_PROTECTION flag and ZEND_HASH_APPLY_PROTECTION() macro
are removed. All mutable arrays should use recursion protection.
Corresponding checks should be replaced by Z_REFCOUNTED() or
!(GC_GLAGS(p) & GC_IMMUTABLE).
A set of new APIs was introduced, which allows to handle UTF-8 paths. The
corresponding prototypes and macros are contained in win32/ioutil.h.
d. HASH_FLAG_PERSISTENT renamed into IS_ARRAY_PERSISTENT and moved into
GC_FLAGS (to be consistent with IS_STR_PERSISTENT).
Functions with php_win32_ioutil_* signatures provide POSIX I/O analogues.
These functions are integrated in various places across the code base to
support Unicode filenames. While accepting char * arguments, internally
the conversion to wchar_t * happens. Internally almost no ANSI APIs are
used, but directly their wide equivalents. The string conversion rules
correspond to those already present in the core and depend on the current
encoding settings. Doing so allows to move away from the ANSI Windows API
with its dependency on the system OEM/ANSI codepage.
e. zend_ast_ref structure is changed to use only one allocation.
zend_ast_copy() now returns zend_ast_ref (instead of zend_asr).
zend_ast_destroy_and_free() is removed. ZVAL_NEW_AST() is replaced
by ZVAL_AST().
Thanks to the wide API usage, the long paths are now supported as well. The
PHP_WIN32_IOUTIL_MAXPATHLEN macro is defined to 2048 bytes and will override
the MAXPATHLEN in files where the header is included.
IS_CONSTANT type and Z_CONST_FLAGS() are removed. Now constants are always
represented using IS_CONSTANT_AST (ZEND_AST_CONSTANT kind). AST node
attributes are used instead of constant flags. IS_TYPE_CONSTANT flag is
removed, but Z_CONSTANT() macro is kept for compatibility.
The most optimal use case for scripts is utilizing UTF-8 for any I/O
related functions. UTF-8 filenames are supported on any system disregarding
the system OEM/ANSI codepage.
f. GC_REFCOUNT() is turned into inline function and can't be modified direcly.
All reference-counting operations should be done through corresponding
macros GC_SET_REFCOUNT(), GC_ADDREF() and GC_DELREF().
g. SAPI logging
The log_message callback in the SAPI struct was extended with the severity
argument. This allows SAPI modules to implement mapping between PHP and
corresponding server error levels. A reference mapping implementation
can be found in apache2handler.
GC_REFCOUNT(p)++ should be changed into GC_ADDREF(p),
GC_REFCOUNT(p)-- into GC_DELREF(p),
GC_REFCOUNT(p) = 1 into GC_SET_REFCOUNT(p, 1).
g. The zend_get_parameters() and zend_get_parameters_ex() functions were
removed. Instead zend_parse_parameters() should be used.
h. New functions zend_register_persistent_resource() or
zend_register_persistent_resource_ex() should beused to register
persistent resources, instead of manual insertion into EG(persistent_list).
i. The RAND_RANGE() macro has been removed. php_mt_rand_range() should be
used instead.
j. The cast_object() object handler now also accepts the _IS_NUMBER type. The
handler should return either an integer or float value in this case,
whichever is more appropriate.
k. zend_fcall_info_cache.initialized is removed. zend_fcall_info_cache is
initialized if zend_fcall_info_cache.function_handler is set.
l. php_hrtime_current() delivers the number of nanoseconds since an uncertain
point in the past.
m. zend_cpu_supports() determines if a feature is supported by current cpu.
Also serial inline zend_cpu_supports_xxx() are added, which is designed for
ifunc resolver function, as resolver function should not depend on any
external function.
n. IS_TYPE_COPYABLE flag is removed. IS_STRING zvals didn't need to be
duplication by zval_copy_ctor(), ZVAL_DUP() and SEPARATE_ZVAL*() macros.
Interned strings didn't set IS_TYPE_COPYALE, so they aren't affected at
all. Now instead of checking for IS_TYPE_COPYABLE, engine checks for
IS_ARRAY type (it may be IS_TYPE_REFCOUNTED or not). All the related
macros: Z_COPYABLE..., Z_IMMUTABLE... are kept for compatibility.
o. IS_UNUSED became zero and can't be used as a bitmask (there were no such
usages in PHP sources).
p. Operands of few VM instructions were changed
- FETCH_CLASS op1<fetch-flags>, op2<name>, result<var>
- FETCH_CONSTANT op1<fetch-flags>, op2<name>, result<tmp>
- CATCH ext<last-flag>, op1<name>, op2<jump_addr>, result<cv>
q. sapi_cli_single_write() now returns ssize_t instead of size_t.
r. fields of php_url struct change from char * to zend_string *
s. Special purpose zend_functions marked by ZEND_ACC_CALL_VIA_TRAMPOLINE or
ZEND_ACC_FAKE_CLOSURE flags use reserved[0] for internal purpose.
Third party extensions must not modify reserved[] fields of these functions.
t. For internal functions the typedef zif_handler has been introduced. It is
recommended to use this from now on, instead of defining own handler types.
u. The GC globals (GC_G) are now private. Use the new zend_gc_get_status() to
retrieve status information of the GC.
v. The should_free argument of the php_add[c]slashes functions has been
removed. It is now always the caller's responsibility to free the passed
string.
w. zend_class_entry.iterator_funcs have been replaced by iterator_funcs_ptr.
You don't have to set its value, setting parent.funcs in the get_iterator
function is enough.
x. Class declaration opcode formats were changed
- DECLARE_INHERITED_CLASS and DECLARE_ANON_INHERITED_CLASS now encode parent
class name in second operand directly (as IS_CONST operand). Previously,
parent class was fetched by the prior FETCH_CLASS opcode.
- ADD_INTERFACE and ADD_TRAIT don't use run-time cache to keep interface or
trait. These instructions are executed once, and caching is useless.
y. zend_constant.flags and zend_constant.module_number are packed into
reserved space inside zend_constant.value. They should be accessed using
ZEND_CONTANT_FLAGS(), ZEND_CONSTANTS_MODULE_NUMBER() and
ZEND_CONTANT_SET_FLAGS() macros.
z. HAVE_ST_BLKSIZE must be replaced with HAVE_STRUCT_STAT_ST_BLKSIZE and
HAVE_ST_RDEV must be replaced with HAVE_STRUCT_STAT_ST_RDEV.
aa. RETSIGTYPE has been removed from the generated php_config.h and should be
replaced with void.
========================
2. Build system changes
========================
a. Unix build system changes
- PHP_PROG_LEX, TSRM_CHECK_GCC_ARG, and LIBZEND_CPLUSPLUS_CHECKS Autoconf
macros have been removed.
b. Windows build system changes
Static analysis with clang and Cppcheck is supported by passing "clang" or
"cppcheck" keyword to the --with-analyzer configure option.
- ZEND_WIN32_FORCE_INLINE doesn't affect C++ anymore. zend_always_inline is
still usable in C++, but anything else inlining related is up to
compiler.
- ZEND_WIN32_KEEP_INLINE was removed, it was only needed for C++
convenience and is now default behavior with C++.
- New configure option --enable-native-intrinsics accepts a list of the
intrinsic optimizations to enable. It affects both the code generation
and the explicit optimizations guarded by preprocessor macros.
- The configure option --with-codegen-arch accepts only ia32 as a value.
Use it, to produce builds suitable for older processors without SSE2 or
even SSE support.
========================
3. Module changes
========================
+12 -12
View File
@@ -1,25 +1,25 @@
--------------------------------------------------------------------
--------------------------------------------------------------------
The Zend Engine License, Version 2.00
Copyright (c) 1999-2006 Zend Technologies Ltd. All rights reserved.
--------------------------------------------------------------------
--------------------------------------------------------------------
Redistribution and use in source and binary forms, with or without
modification, is permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
3. The names "Zend" and "Zend Engine" must not be used to endorse
or promote products derived from this software without prior
permission from Zend Technologies Ltd. For written permission,
please contact license@zend.com.
please contact license@zend.com.
4. Zend Technologies Ltd. may publish revised and/or new versions
of the license from time to time. Each version will be given a
distinguishing version number.
@@ -40,9 +40,9 @@ are met:
software must display the following acknowledgment:
"The Zend Engine is freely available at http://www.zend.com"
THIS SOFTWARE IS PROVIDED BY ZEND TECHNOLOGIES LTD. ``AS IS'' AND
THIS SOFTWARE IS PROVIDED BY ZEND TECHNOLOGIES LTD. ``AS IS'' AND
ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ZEND
TECHNOLOGIES LTD. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
@@ -53,4 +53,4 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
--------------------------------------------------------------------
--------------------------------------------------------------------
+2 -1
View File
@@ -18,7 +18,7 @@ libZend_la_SOURCES=\
zend_default_classes.c \
zend_iterators.c zend_interfaces.c zend_exceptions.c \
zend_strtod.c zend_closures.c zend_float.c zend_string.c zend_signal.c \
zend_generators.c zend_virtual_cwd.c zend_ast.c zend_smart_str.c
zend_generators.c zend_virtual_cwd.c zend_ast.c zend_smart_str.c zend_cpuinfo.c
libZend_la_CFLAGS = -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1
libZend_la_LDFLAGS =
@@ -53,3 +53,4 @@ depend:
zend_execute.lo: $(srcdir)/zend_execute.c
$(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(CPPFLAGS) $(INLINE_CFLAGS) -c $(srcdir)/zend_execute.c
-195
View File
@@ -1,195 +0,0 @@
Creating an object
------------------
Object can be created in the following ways:
1. As a result of a function call. E.g.:
$foo = create_new_foo("parameter");
$foo->run();
The function should create a new zval, create new object and get the
handle for it, set handle and handler table as needed. Note that the
handle is the only ID of the object, so it should be enough to
identify it.
2. Overriding create_object handler for class. E.g.:
$foo = new Java("some.Class.here", "parameter");
$foo->run();
The create_object handler function should create a new zval, create
new object and get the handle for it, set handle and handler table as
needed, and also provide constructor method that would handle
constructor call. The get_constructor handler table entry should be
used for that. Do not rely class entry's constructor, unless you refer
to it from get_constructor handler.
Object maintenance
------------------
The handlers add_ref and del_ref are called when a new zval referring
to the object is created. This does not create a new object - both
zvals still refer to the same object.
clone_obj handler should create a new object, identical to an old one,
but being a separate entity.
delete_obj should destroy an object, all references to it become
invalid.
Object access - read
--------------------
read_property is used to read object's property. This value is not
meant to be changed. The handler returns zval * with the value.
Object access - write
---------------------
write_property is used to directly write object's property by
name. This handler is used to assign property variables or to change them
in operations like += or ++ (unless get_property_zval_ptr is also set).
get_property_zval_ptr is used to obtain pointer to modifiable zval for
operations like += or ++. This should be used only if your object model
stores properties as real zval's that can be modified from outside.
Otherwise this handler should be NULL and the engine will use
read_property and write_property instead.
get_property_ptr is used to obtain zval ** for future writing to
it. If your object properties are stored as zval*, return real place
where the property is stored. If the aren't, the best way is to create
proxy object and handle it via get and set methods (see below).
This method is meant to be used for send-by-reference and assign-by-reference
use of object properties. If you don;t want to implement property
referencing for your objects, you can set this handler to NULL.
get and set handlers are used when engine needs to access the object
as a value. E.g., in the following situation:
$foo =& $obj->bar;
$foo = 1;
if $foo is an object (e.g., proxy object from get_property_ptr) it
would be accessed using write handler.
Object access - method call
---------------------------
get_method handler is used to find method description by name. It
should set right type, function name and parameter mask for the
method. If the type is ZEND_OVERLOADED_FUNCTION, the method would be
called via call_method handler, otherwise it would be called with
standard Zend means.
get_constructor performs the same function as get_method, but for the
object constructor.
call_method handler is used to perform method call. Parameters are
passed like to any other Zend internal function.
Object - comparison
-------------------
Objects can be compared via compare_objects handler. This is used with
== operation, === compares objects by handles, i.e., return true if
and only if it's really the same object. Note that objects from
different object types (i.e., having different handlers) can not be
compared.
Objects - reflection
--------------------
get_class_name is used to retrieve class name of the object.
get_class_entry returns class entry (zend_class_entry) for the object,
in case there exists PHP class for it.
No other reflection functions are currently implemented.
Objects - data structures and handlers
---------------------------------------
The object is represented by the following structure:
struct _zend_object_value {
zend_object_handle handle;
zend_object_handlers *handlers;
};
handle is an ID of the object among the objects of the same type (not
class!). The type of the object and how it behaves is determined by
the handler table.
typedef struct _zend_object_handlers {
zend_object_add_ref_t add_ref;
zend_object_del_ref_t del_ref;
zend_object_delete_obj_t delete_obj;
zend_object_clone_obj_t clone_obj;
zend_object_read_property_t read_property;
zend_object_write_property_t write_property;
zend_object_get_property_ptr_t get_property_ptr;
zend_object_get_property_zval_ptr_t get_property_zval_ptr;
zend_object_get_t get;
zend_object_set_t set;
zend_object_has_property_t has_property;
zend_object_unset_property_t unset_property;
zend_object_get_properties_t get_properties;
zend_object_get_method_t get_method;
zend_object_call_method_t call_method;
zend_object_get_constructor_t get_constructor;
zend_object_get_class_entry_t get_class_entry;
zend_object_get_class_name_t get_class_name;
zend_object_compare_t compare_objects;
} zend_object_handlers;
See zend_object_handlers.h for prototypes. All objects are passed as zval's.
Handlers explained:
add_ref - called when a copy of the object handle is created.
del_ref - called when a copy of the object handle is destroyed.
delete_obj - called when an object needs to be destroyed.
clone_obj - called when a new object identical to an old one should be
created (unlike Zend Engine 1, this never happens unless explicitly
asked for).
read_property - returns zval *, containing the value of the
property. Is used when value of the property should be retrieved for
reading.
write_property - assigns value to certain property of the object.
get_property_zval_ptr - retrieves zval** for being directly modified by
the engine. If your properties are not zval's, don't define it.
get_property_ptr - retrieves zval** for the property of the value, to
be used for read and write. If object properties are not zval's
natively, this method should create and return proxy object for use
with get and set methods.
get - retrieves zval* for object contents. To be used mainly with
proxy objects from get_property_ptr, but also may be used for
convert_to_* functions.
set - sets value for object contents. To be used mainly with
proxy objects from get_property_ptr.
has_property - checks if the object has certain property set.
unset_property - removes value for the property of the object
get_method - retrieves description of the method
call_method - calls the method (parameters should be put on stack like
for any other PHP internal function).
get_constructor - get description for the object constructor method
get_class_entry - should return the class entry for the object
get_class_name - get the name of the class the object belongs to
compare_objects - compares if two objects are equal
+8 -13
View File
@@ -21,7 +21,7 @@ ZEND_VM_HANDLER(<OPCODE-NUMBER>, <OPCODE>, <OP1_TYPES>, <OP2_TYPES>)
<OPCODE-NUMBER> is a opcode number (0, 1, ...)
<OPCODE> is an opcode name (ZEN_NOP, ZEND_ADD, :)
<OP1_TYPES> & <OP2_TYPES> are masks for allowed operand op_types. Specializer
will generate code only for defined combination of types. You can use any
will generate code only for defined combination of types. You can use any
combination of the following op_types UNUSED, CONST, VAR, TMP and CV also
you can use ANY mask to disable specialization according operand's op_type.
<HANDLER'S CODE> is a handler's code itself. For most handlers it stills the
@@ -34,9 +34,9 @@ EXECUTE_DATA
execute_data
ZEND_VM_DISPATCH_TO_HANDLER(<OP>)
return <OP>_helper(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)
ZEND_VM_DISPATCH_TO_HELPER(<NAME>)
ZEND_VM_DISPATCH_TO_HELPER(<NAME>)
return <NAME>(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)
ZEND_VM_DISPATCH_TO_HELPER_EX(<NAME>,<PARAM>,<VAL>)
ZEND_VM_DISPATCH_TO_HELPER_EX(<NAME>,<PARAM>,<VAL>)
return <NAME>(<VAL>, ZEND_OPCODE_HANDLER_ARGS_PASSTHRU)
ZEND_VM_CONTINUE()
return 0
@@ -72,7 +72,7 @@ FREE_OP<X>_VAR_PTR()
FREE_VAR_PTR(free_op<X>)
Executor's helpers can be defined without parameters or with one parameter.
Executor's helpers can be defined without parameters or with one parameter.
This is done with the following constructs:
ZEND_VM_HELPER(<HELPER-NAME>, <OP1_TYPES>, <OP2_TYPES>)
@@ -86,13 +86,13 @@ ZEND_VM_HELPER_EX(<HELPER-NAME>, <OP1_TYPES>, <OP2_TYPES>, <PARAM_SPEC>)
}
Executor's code is generated by PHP script zend_vm_gen.php it uses zend_vm_def.h
and zend_vm_execute.skl as input and produces zend_vm_opcodes.h and
zend_vm_execute.h. The first file is a list of opcode definitions. It is
and zend_vm_execute.skl as input and produces zend_vm_opcodes.h and
zend_vm_execute.h. The first file is a list of opcode definitions. It is
included from zend_compile.h. The second one is an executor code itself. It is
included from zend_execute.c.
zend_vm_gen.php can produce different kind of executors. You can select
different opcode threading model using --with-vm-kind=CALL|SWITCH|GOTO. You can
zend_vm_gen.php can produce different kind of executors. You can select
different opcode threading model using --with-vm-kind=CALL|SWITCH|GOTO. You can
disable opcode specialization using --without-specializer. You can include or
exclude old executor together with specialized one using --without-old-executor.
At last you can debug executor using original zend_vm_def.h or generated file
@@ -100,8 +100,3 @@ zend_vm_execute.h. Debugging with original file requires --with-lines
option. By default ZE2 uses the following command to generate executor:
$ php zend_vm_gen.php --with-vm-kind=CALL
Zend Engine II currently includes two executors during the build process, one
is the specialized version and the other is the old one non-specialized with
function handlers. By default Zend Engine II uses the specialized one but you
can switch to the old executor at runtime by calling zend_vm_use_old_executor().
-135
View File
@@ -1,135 +0,0 @@
Revamped object model using object handles
===========================================
Background
----------
In the Zend Engine 1.0 (and its predecessor the PHP 3 scripting
engine) the object model's design is that instantiated objects are
language values. This means that when programmers are performing
operations, such variable assignment and passing parameters to
functions, objects are handled very similarly to the way other
primitive types are handled such as integers and strings.
Semantically this means that the whole object is being copied. The
approach Java takes is different where one refers to objects by handle
and not by value (one can think of a handle as an objects' ID).
Need
----
Unfortunately, the approach taken up to now has severely limited the
Zend Engine's object oriented model, both feature and simplicity
wise. One of the main problems with the former approach is that object
instantiation and duplication is very hard to control, a problem which
can not only lead to inefficient development but also often to strange
run-time behavior. Changing the object model to a handle oriented
model will allow the addressing of many needs such as destructors,
de-referencing method return values, tight control of object
duplication and more.
Overview
--------
The proposed object model is very much influenced by the Java
model. In general, when you create a new object you will be getting a
handle to the object instead of the object itself. When this handle is
sent to functions, assigned and copied it is only the handle which is
copied/sent/assigned. The object itself is never copied nor
duplicated. This results in all handles of this object to always point
at the same object making it a very consistent solution and saving
unnecessary duplication and confusing behavior.
Functionality
-------------
After this change the basic use of objects will be almost identical to
previous versions of the scripting engine. However, you won't bump
into awkward and confusing copying & destructing of objects. In order
to create and use a new object instance you will do the following:
$object = new MyClass(); $object->method();
The previous code will assign $object the handle of a new instance of
the class MyClass and call one of its methods.
Consider the following code:
1 class MyClass
2 {
3 function setMember($value)
4 {
5 $this->member = $value;
6 }
7
8 function getMember()
9 {
10 return $this->member;
11 }
12 }
13
14 function foo($obj)
15 {
16 $obj->setMember("foo");
17 }
18
19 $object = new MyClass();
20 $object->setMember("bar");
21 foo($object);
22 print $object->getMember();
Without the new Java-like handles, at line 20 the objects' data member
member is set to the string value of "bar". Because of the internal
representation of objects in the Zend Engine 1.0, the object is marked
as a reference, and when it is sent by value to the function foo, it
is duplicated (!). Therefore, the call to foo() on line 21 will
result in the $obj->setMember("foo") call being called on a duplicate
of $object. Line 22 will then result in "bar" being printed.
This is how the scripting engine has worked until today. Most
developers are probably unaware of the fact that they aren't always
talking to the same object but often duplicates; others may have
realized this can usually be solved by always passing objects by
reference (unless a replica is actually desired, which is uncommon).
The new object model will allow for a much more intuitive
implementation of the code. On line 21, the object's handle (ID) is
passed to foo() by value. Inside foo(), the object is fetched
according to this handle and, therefore, the setMember() method is
called on the originally instantiated object and not a copy. Line 22
will therefore result in "foo" being printed. This approach gives
developers tighter control of when objects are created and duplicated.
An additional not-as-important benefit is that the object handle will
be passed to foo() by value, which most probably will also save
unnecessary duplication of the value containing the ID itself and thus
additionally improving run-time performance.
This was just a simple description of why the new object model solves
awkward behavior and makes object handling much easier, intuitive and
efficient. The importance of this change goes far beyond what is
mentioned in this section as you will see in further sections which
describe new features with a majority of them being based on this
change.
Compatibility Notes
--------------------
Many PHP programmers aren't even aware of the copying quirks of the
current object model and, therefore, there is a relatively good chance
that the amount of PHP applications that will work out of the box or
after a very small amount of modifications would be high.
To simplify migration, version 2.0 will support an optional
'auto-clone' feature, which will perform a cloning of the object
whenever it would have been copied in version 1.0. Optionally, it
will also be possible to request that the engine will emit an E_NOTICE
message whenever such an automatic clone occurs, in order to allow
developers to gradually migrate to the version 2.0-style behavior
(without automatic clones).
Dependencies
------------
The new object model is not dependent on other features. Many of the
other Zend Engine 2.0 features, such as the $foo->bar()->barbara()
syntax, destructors and others completely rely on this new object
model.
-169
View File
@@ -1,169 +0,0 @@
Title: Zend 2.0 Namespaces
Version: $Id$
Status: declined
Maintainer: Stig S. Bakken <ssb@php.net>
Created: 2001-09-08
Modified: 2001-09-08
1. Background/Need
==================
PHP and Zend 1.0 have come to a point where a lot of reusable code is
being written; from simple functions and classes to entire application
frameworks. It is becoming increasingly difficult to avoid symbol
name collisions with the current scoping methods.
The symbol scopes available in Zend 1.0 are the global scope, the
class scope and the function scope. All scopes but classes may
contain variables, only the class and global scopes may contain
functions, while only the global scope may contain constants and
classes. This means that all of Zend 1.0's scoping methods are
inherently limited for solving symbol name collision problems.
2. Overview
===========
Namespaces in Zend 2.0 provide a way to manage the symbol collision
problem by making it possible to define multiple symbol tables able to
contain all types of symbols. Zend will get the notion of a current
namespace, defaulting to the current global one. The current name
space may be changed on a file-by-file basis. Symbols in other name
spaces than the current one may be referenced using a new namespace
operator. It will be possible to "import" symbols from one namespace
into another.
3. Functionality
================
3.1. Namespace Syntax
=====================
The namespace operator ":" is used to refer to symbols in other
namespaces than the current one:
Class: Namespace:class
Function: Namespace:function
Static method: Namespace:class::method
Variable: $Namespace:variable
Constant: Namespace:CONSTANT
Class variable: $Namespace:class::variable
To refer to symbols in the global namespace, symbols are prefixed with
only the namespace operator:
Class: :class
Function: :function
Static method: :class::method
Variable: $:variable
Constant: :CONSTANT
Class variable: $:class::variable
Note: $:variable will effectively be just another syntax for
$GLOBALS['variable'].
A namespace may have a name containing a ":", it is always the last
":" character in the symbol qualifier that is the actual namespace
operator:
Class: Name:Space:class
Function: Name:Space:function
Static method: Name:Space:class::method
Variable: $Name:Space:variable
Constant: Name:Space:CONSTANT
Class variable: $Name:Space:class::variable
(Here, the ":" between "Name" and "Space" is part of the name, it is
the one after "Space" that is the namespace operator.)
3.2. Defining Namespaces
========================
Individual files may define a namespace that will apply to the entire
file. If no "namespace" operator occurs in the file, it will be in
the global namespace:
1 namespace HTML;
2
3 class Form {
4 function Form() {
5 // constructor
6 }
7 // ...
8 }
Or with the "nested" name syntax:
1 namespace HTML:Form;
2
3 class Image {
4 var $src;
5 function Image($src) {
6 $this->src = $src;
7 }
8 // ...
9 }
Code executed within the "HTML" namespace may refer to the Form class
as just "Form". Code executed from within other namespaces has to
refer to it as "HTML:Form". The "namespace" statement must occur
before any other statements in the file.
# [ssb 2001-09-08]:
# Should it be possible to "add" symbols to a namespace by including a
# second file with the same namespace statement?
3.3. Importing Symbols
======================
It is possible to import symbols from another namespace into the
current one with the "import" statement:
import * from HTML; // all symbols
import Form from HTML; // single symbols
import Form,Table from HTML; // multiple symbols
There is a potential for name clashes between symols of different
types that have the same qualifier syntax. These are resolved in this
order: class, function, constant.
Optionally, the symbol type may be explicitly given to import (as
"class", "function", "variable" or "constant"):
import class Form from HTML;
And finally, you may import all symbols of a given type:
import constant * from HTML:Table;
The namespace with its symbols must already be defined before using
"import".
4. Compatibility Notes
======================
Old code that does not take advantage of namespaces will run without
modifications.
5. Dependencies
===============
The class variable syntax depends on this class variables being
implemented in the new ZE2 object model.
6. Acknowledgements
===================
Andi Gutmans <andi@zend.com> and Zeev Suraski <zeev@zend.com> for
initial ZE2 namespaces proposal
Dean Hall <php@apt7.com> for the initial symbol qualification syntax
-68
View File
@@ -1,68 +0,0 @@
Title: Loose type requirements for functions
Version: $Id$
Status: draft
Maintainer: Brian Moon <brianm@dealnews.com>
Created: 2001-09-17
Modified: 2001-09-17
1. Background/Need
==================
Many internal functions of PHP will reject parameters because of their
type (the array and variable function come to mind). For userland
this is not an easy task as there is no uniform way to do it. An
addition to the engine for requiring loose types would allow
developers to know that the data passed to their functions are of the
correct type and reduce the need for duplicating the same code in
every function to check for the type of data.
2. Overview
===========
Loose typing mostly means evaluating the contents of the variable and
not the type of the variable itself. The requirements for this would
and should work much like several of the is_* functions do now.
The typing of parameters would be optional and those not typed would
simply continue to be treated as they are now.
3. Functionality
================
3.1. Allowed Types
==================
Only loose types should be needed to ensure the data is usable by the
function. Duplicating the functionallity of is_scalar, is_resource,
is_array and is_object should give developers all the information they
need to use a variable correctly.
3.2. Syntax
===========
The current function syntax should be expanded to allow typing of
variables inline in a C style.
function foo ($var){
}
could be changed to require an array such as:
function foo (array $var){
}
3.3. Errors
===========
Mis-matches in type should be reported as fatal errors and should halt
the execution of a script as that function cannot be run and code
following could not reliably run.
4. Compatibility Notes
======================
Old code that does not take advantage of this will run without
modifications.
-1166
View File
File diff suppressed because it is too large. Load diff
+154 -25
View File
@@ -1,12 +1,10 @@
dnl
dnl $Id$
dnl
dnl This file contains Zend specific autoconf functions.
dnl
AC_DEFUN([LIBZEND_CHECK_INT_TYPE],[
AC_MSG_CHECKING(for $1)
AC_TRY_COMPILE([
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#if HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
@@ -14,16 +12,16 @@ AC_TRY_COMPILE([
#include <inttypes.h>
#elif HAVE_STDINT_H
#include <stdint.h>
#endif],
[if (($1 *) 0)
#endif]],
[[if (($1 *) 0)
return 0;
if (sizeof ($1))
return 0;
],[
]])],[
AC_DEFINE_UNQUOTED([HAVE_]translit($1,a-z_-,A-Z__), 1,[Define if $1 type is present. ])
AC_MSG_RESULT(yes)
], AC_MSG_RESULT(no)
)dnl
], [AC_MSG_RESULT(no)
])dnl
])
AC_DEFUN([LIBZEND_BASIC_CHECKS],[
@@ -63,7 +61,6 @@ stdlib.h \
dlfcn.h)
AC_TYPE_SIZE_T
AC_TYPE_SIGNAL
AC_DEFUN([LIBZEND_LIBDL_CHECKS],[
AC_CHECK_LIB(dl, dlopen, [LIBS="-ldl $LIBS"])
@@ -109,7 +106,7 @@ ZEND_CHECK_FLOAT_PRECISION
dnl test whether double cast to long preserves least significant bits
AC_MSG_CHECKING(whether double cast to long preserves least significant bits)
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <limits.h>
int main()
@@ -129,7 +126,7 @@ int main()
}
exit(1);
}
], [
]])], [
AC_DEFINE([ZEND_DVAL_TO_LVAL_CAST_OK], 1, [Define if double cast to long preserves least significant bits])
AC_MSG_RESULT(yes)
], [
@@ -195,7 +192,6 @@ test -n "$DEBUG_CFLAGS" && CFLAGS="$CFLAGS $DEBUG_CFLAGS"
if test "$ZEND_MAINTAINER_ZTS" = "yes"; then
AC_DEFINE(ZTS,1,[ ])
CFLAGS="$CFLAGS -DZTS"
LIBZEND_CPLUSPLUS_CHECKS
fi
changequote({,})
@@ -222,7 +218,7 @@ dnl test and set the alignment define for ZEND_MM
dnl this also does the logarithmic test for ZEND_MM.
AC_MSG_CHECKING(for MM alignment and log values)
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <stdio.h>
typedef union _mm_align_test {
@@ -254,7 +250,7 @@ int main()
exit(0);
}
], [
]])], [
LIBZEND_MM_ALIGN=`cat conftest.zend | cut -d ' ' -f 1`
LIBZEND_MM_ALIGN_LOG2=`cat conftest.zend | cut -d ' ' -f 2`
AC_DEFINE_UNQUOTED(ZEND_MM_ALIGNMENT, $LIBZEND_MM_ALIGN, [ ])
@@ -269,7 +265,7 @@ AC_MSG_RESULT(done)
dnl test for memory allocation using mmap(MAP_ANON)
AC_MSG_CHECKING(for memory allocation using mmap(MAP_ANON))
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
@@ -301,7 +297,7 @@ int main()
}
return 0;
}
], [
]])], [
AC_DEFINE([HAVE_MEM_MMAP_ANON], 1, [Define if the target system has support for memory allocation using mmap(MAP_ANON)])
AC_MSG_RESULT(yes)
], [
@@ -314,7 +310,7 @@ int main()
dnl test for memory allocation using mmap("/dev/zero")
AC_MSG_CHECKING(for memory allocation using mmap("/dev/zero"))
AC_TRY_RUN([
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
@@ -356,7 +352,7 @@ int main()
}
return 0;
}
], [
]])], [
AC_DEFINE([HAVE_MEM_MMAP_ZERO], 1, [Define if the target system has support for memory allocation using mmap("/dev/zero")])
AC_MSG_RESULT(yes)
], [
@@ -391,10 +387,6 @@ AC_MSG_RESULT($ZEND_SIGNALS)
])
AC_DEFUN([LIBZEND_CPLUSPLUS_CHECKS],[
])
AC_MSG_CHECKING(whether /dev/urandom exists)
if test -r "/dev/urandom" && test -c "/dev/urandom"; then
AC_DEFINE([HAVE_DEV_URANDOM], 1, [Define if the target system has /dev/urandom device])
@@ -420,7 +412,7 @@ AC_ARG_ENABLE(gcc-global-regs,
])
AC_MSG_CHECKING(for global register variables support)
if test "$ZEND_GCC_GLOBAL_REGS" != "no"; then
AC_TRY_COMPILE([
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#if defined(__GNUC__)
# define ZEND_GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__)
#else
@@ -453,8 +445,8 @@ int emu(const opcode_handler_t *ip, void *fp) {
FP = orig_fp;
IP = orig_ip;
}
], [
], [
]], [[
]])], [
ZEND_GCC_GLOBAL_REGS=yes
], [
ZEND_GCC_GLOBAL_REGS=no
@@ -466,3 +458,140 @@ else
HAVE_GCC_GLOBAL_REGS=no
fi
AC_MSG_RESULT($ZEND_GCC_GLOBAL_REGS)
dnl
dnl Check if atof() accepts NAN
dnl
AC_CACHE_CHECK(whether atof() accepts NAN, ac_cv_atof_accept_nan,[
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <math.h>
#include <stdlib.h>
#ifdef HAVE_ISNAN
#define zend_isnan(a) isnan(a)
#elif defined(HAVE_FPCLASS)
#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
#else
#define zend_isnan(a) 0
#endif
int main(int argc, char** argv)
{
return zend_isnan(atof("NAN")) ? 0 : 1;
}
]])],[
ac_cv_atof_accept_nan=yes
],[
ac_cv_atof_accept_nan=no
],[
ac_cv_atof_accept_nan=no
])])
if test "$ac_cv_atof_accept_nan" = "yes"; then
AC_DEFINE([HAVE_ATOF_ACCEPTS_NAN], 1, [whether atof() accepts NAN])
fi
dnl
dnl Check if atof() accepts INF
dnl
AC_CACHE_CHECK(whether atof() accepts INF, ac_cv_atof_accept_inf,[
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <math.h>
#include <stdlib.h>
#ifdef HAVE_ISINF
#define zend_isinf(a) isinf(a)
#elif defined(INFINITY)
/* Might not work, but is required by ISO C99 */
#define zend_isinf(a) (((a)==INFINITY)?1:0)
#elif defined(HAVE_FPCLASS)
#define zend_isinf(a) ((fpclass(a) == FP_PINF) || (fpclass(a) == FP_NINF))
#else
#define zend_isinf(a) 0
#endif
int main(int argc, char** argv)
{
return zend_isinf(atof("INF")) && zend_isinf(atof("-INF")) ? 0 : 1;
}
]])],[
ac_cv_atof_accept_inf=yes
],[
ac_cv_atof_accept_inf=no
],[
ac_cv_atof_accept_inf=no
])])
if test "$ac_cv_atof_accept_inf" = "yes"; then
AC_DEFINE([HAVE_ATOF_ACCEPTS_INF], 1, [whether atof() accepts INF])
fi
dnl
dnl Check if HUGE_VAL == INF
dnl
AC_CACHE_CHECK(whether HUGE_VAL == INF, ac_cv_huge_val_inf,[
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <math.h>
#include <stdlib.h>
#ifdef HAVE_ISINF
#define zend_isinf(a) isinf(a)
#elif defined(INFINITY)
/* Might not work, but is required by ISO C99 */
#define zend_isinf(a) (((a)==INFINITY)?1:0)
#elif defined(HAVE_FPCLASS)
#define zend_isinf(a) ((fpclass(a) == FP_PINF) || (fpclass(a) == FP_NINF))
#else
#define zend_isinf(a) 0
#endif
int main(int argc, char** argv)
{
return zend_isinf(HUGE_VAL) ? 0 : 1;
}
]])],[
ac_cv_huge_val_inf=yes
],[
ac_cv_huge_val_inf=no
],[
ac_cv_huge_val_inf=yes
])])
dnl This is the most probable fallback so we assume yes in case of cross compile.
if test "$ac_cv_huge_val_inf" = "yes"; then
AC_DEFINE([HAVE_HUGE_VAL_INF], 1, [whether HUGE_VAL == INF])
fi
dnl
dnl Check if HUGE_VAL + -HUGEVAL == NAN
dnl
AC_CACHE_CHECK(whether HUGE_VAL + -HUGEVAL == NAN, ac_cv_huge_val_nan,[
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include <math.h>
#include <stdlib.h>
#ifdef HAVE_ISNAN
#define zend_isnan(a) isnan(a)
#elif defined(HAVE_FPCLASS)
#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
#else
#define zend_isnan(a) 0
#endif
int main(int argc, char** argv)
{
#if defined(__sparc__) && !(__GNUC__ >= 3)
/* prevent bug #27830 */
return 1;
#else
return zend_isnan(HUGE_VAL + -HUGE_VAL) ? 0 : 1;
#endif
}
]])],[
ac_cv_huge_val_nan=yes
],[
ac_cv_huge_val_nan=no
],[
ac_cv_huge_val_nan=yes
])])
dnl This is the most probable fallback so we assume yes in case of cross compile.
if test "$ac_cv_huge_val_nan" = "yes"; then
AC_DEFINE([HAVE_HUGE_VAL_NAN], 1, [whether HUGE_VAL + -HUGEVAL == NAN])
fi
-258
View File
@@ -1,258 +0,0 @@
# Microsoft Developer Studio Generated Dependency File, included by ZendCore.mak
.\zend_alloc.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_compile.h"\
".\zend_config.w32.h"\
".\zend_execute.h"\
".\zend_llist.h"\
".\zend_ptr_stack.h"\
".\zend_stack.h"\
".\zend.h"\
".\zend_errors.h"\
".\zend_globals.h"\
".\zend_hash.h"\
.\alloca.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_config.w32.h"\
".\zend.h"\
".\zend_errors.h"\
".\zend_hash.h"\
.\zend_compile.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_compile.h"\
".\zend_config.w32.h"\
".\zend_execute.h"\
".\zend_llist.h"\
".\zend_modules.h"\
".\zend_operators.h"\
".\zend_ptr_stack.h"\
".\zend_stack.h"\
".\zend_variables.h"\
".\zend.h"\
".\zend_API.h"\
".\zend_errors.h"\
".\zend_globals.h"\
".\zend_hash.h"\
".\zend_ini.h"\
.\zend_constants.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_config.w32.h"\
".\zend_constants.h"\
".\zend_operators.h"\
".\zend_variables.h"\
".\zend.h"\
".\zend_errors.h"\
".\zend_hash.h"\
.\zend_execute.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_compile.h"\
".\zend_config.w32.h"\
".\zend_constants.h"\
".\zend_execute.h"\
".\zend_llist.h"\
".\zend_modules.h"\
".\zend_operators.h"\
".\zend_ptr_stack.h"\
".\zend_stack.h"\
".\zend_variables.h"\
".\zend.h"\
".\zend_API.h"\
".\zend_errors.h"\
".\zend_globals.h"\
".\zend_hash.h"\
".\zend_ini.h"\
.\zend_highlight.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_compile.h"\
".\zend_config.w32.h"\
".\zend_execute.h"\
".\zend_highlight.h"\
".\zend_llist.h"\
".\zend_ptr_stack.h"\
".\zend_stack.h"\
".\zend_language_parser.tab.h"\
".\zend.h"\
".\zend_errors.h"\
".\zend_globals.h"\
".\zend_hash.h"\
.\zend_llist.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_config.w32.h"\
".\zend_llist.h"\
".\zend.h"\
".\zend_errors.h"\
".\zend_hash.h"\
.\zend_opcode.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_compile.h"\
".\zend_config.w32.h"\
".\zend_execute.h"\
".\zend_llist.h"\
".\zend_modules.h"\
".\zend_operators.h"\
".\zend_ptr_stack.h"\
".\zend_stack.h"\
".\zend_variables.h"\
".\zend.h"\
".\zend_API.h"\
".\zend_errors.h"\
".\zend_globals.h"\
".\zend_hash.h"\
".\zend_ini.h"\
.\zend_operators.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_compile.h"\
".\zend_config.w32.h"\
".\zend_execute.h"\
".\zend_llist.h"\
".\zend_operators.h"\
".\zend_ptr_stack.h"\
".\zend_stack.h"\
".\zend_variables.h"\
".\zend.h"\
".\zend_errors.h"\
".\zend_globals.h"\
".\zend_hash.h"\
.\zend_ptr_stack.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_config.w32.h"\
".\zend_ptr_stack.h"\
".\zend.h"\
".\zend_errors.h"\
".\zend_hash.h"\
.\zend_stack.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_config.w32.h"\
".\zend_stack.h"\
".\zend.h"\
".\zend_errors.h"\
".\zend_hash.h"\
.\zend_variables.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_compile.h"\
".\zend_config.w32.h"\
".\zend_constants.h"\
".\zend_execute.h"\
".\zend_llist.h"\
".\zend_modules.h"\
".\zend_ptr_stack.h"\
".\zend_stack.h"\
".\zend_variables.h"\
".\zend.h"\
".\zend_API.h"\
".\zend_errors.h"\
".\zend_globals.h"\
".\zend_hash.h"\
".\zend_ini.h"\
".\zend_list.h"\
.\zend.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_config.w32.h"\
".\zend_operators.h"\
".\zend_variables.h"\
".\zend.h"\
".\zend_errors.h"\
".\zend_hash.h"\
.\zend_API.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_compile.h"\
".\zend_config.w32.h"\
".\zend_constants.h"\
".\zend_execute.h"\
".\zend_llist.h"\
".\zend_modules.h"\
".\zend_operators.h"\
".\zend_ptr_stack.h"\
".\zend_stack.h"\
".\zend_variables.h"\
".\zend.h"\
".\zend_API.h"\
".\zend_errors.h"\
".\zend_globals.h"\
".\zend_hash.h"\
".\zend_ini.h"\
".\zend_list.h"\
.\zend_hash.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_config.w32.h"\
".\zend.h"\
".\zend_errors.h"\
".\zend_hash.h"\
.\zend_ini.c : \
"..\..\..\program files\microsoft visual studio\vc98\include\basetsd.h"\
".\zend_alloc.h"\
".\zend_config.w32.h"\
".\zend.h"\
".\zend_errors.h"\
".\zend_hash.h"\
".\zend_ini.h"\
!IF "$(CFG)" == "ZendCore - Win32 Release"
!ELSEIF "$(CFG)" == "ZendCore - Win32 Debug"
!ENDIF
!IF "$(CFG)" == "ZendCore - Win32 Release"
!ELSEIF "$(CFG)" == "ZendCore - Win32 Debug"
!ENDIF
!IF "$(CFG)" == "ZendCore - Win32 Release"
!ELSEIF "$(CFG)" == "ZendCore - Win32 Debug"
!ENDIF
!IF "$(CFG)" == "ZendCore - Win32 Release"
!ELSEIF "$(CFG)" == "ZendCore - Win32 Debug"
!ENDIF
+22 -27
View File
@@ -1,5 +1,3 @@
dnl $Id$
dnl
dnl This file contains local autoconf functions.
AC_DEFUN([LIBZEND_BISON_CHECK],[
@@ -46,16 +44,14 @@ AC_DEFUN([LIBZEND_BISON_CHECK],[
AC_DEFUN([ZEND_FP_EXCEPT],[
AC_CACHE_CHECK(whether fp_except is defined, ac_cv_type_fp_except,[
AC_TRY_COMPILE([
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <floatingpoint.h>
],[
]],[[
fp_except x = (fp_except) 0;
],[
]])],[
ac_cv_type_fp_except=yes
],[
ac_cv_type_fp_except=no
],[
ac_cv_type_fp_except=no
])])
if test "$ac_cv_type_fp_except" = "yes"; then
AC_DEFINE(HAVE_FP_EXCEPT, 1, [whether floatingpoint.h defines fp_except])
@@ -67,7 +63,7 @@ dnl Check for broken sprintf()
dnl
AC_DEFUN([AC_ZEND_BROKEN_SPRINTF],[
AC_CACHE_CHECK(whether sprintf is broken, ac_cv_broken_sprintf,[
AC_TRY_RUN([main() {char buf[20];exit(sprintf(buf,"testing 123")!=11); }],[
AC_RUN_IFELSE([AC_LANG_SOURCE([[main() {char buf[20];exit(sprintf(buf,"testing 123")!=11); }]])],[
ac_cv_broken_sprintf=no
],[
ac_cv_broken_sprintf=yes
@@ -91,8 +87,7 @@ AC_DEFUN([AC_ZEND_C_BIGENDIAN],
[AC_CACHE_CHECK([whether byte ordering is bigendian], ac_cv_c_bigendian_php,
[
ac_cv_c_bigendian_php=unknown
AC_TRY_RUN(
[
AC_RUN_IFELSE([AC_LANG_SOURCE([[
int main(void)
{
short one = 1;
@@ -104,10 +99,10 @@ int main(void)
return(1);
}
}
], [ac_cv_c_bigendian_php=yes], [ac_cv_c_bigendian_php=no], [ac_cv_c_bigendian_php=unknown])
]])], [ac_cv_c_bigendian_php=yes], [ac_cv_c_bigendian_php=no], [ac_cv_c_bigendian_php=unknown])
])
if test $ac_cv_c_bigendian_php = yes; then
AC_DEFINE(WORDS_BIGENDIAN, [], [Define if processor uses big-endian word])
AC_DEFINE(WORDS_BIGENDIAN, 1, [Define if processor uses big-endian word])
fi
])
@@ -119,9 +114,9 @@ dnl x87 floating point internal precision control checks
dnl See: http://wiki.php.net/rfc/rounding
AC_DEFUN([ZEND_CHECK_FLOAT_PRECISION],[
AC_MSG_CHECKING([for usable _FPU_SETCW])
AC_TRY_LINK([
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <fpu_control.h>
],[
]],[[
fpu_control_t fpu_oldcw, fpu_cw;
volatile double result;
double a = 2877.0;
@@ -132,7 +127,7 @@ AC_DEFUN([ZEND_CHECK_FLOAT_PRECISION],[
_FPU_SETCW(fpu_cw);
result = a / b;
_FPU_SETCW(fpu_oldcw);
], [ac_cfp_have__fpu_setcw=yes], [ac_cfp_have__fpu_setcw=no])
]])],[ac_cfp_have__fpu_setcw=yes],[ac_cfp_have__fpu_setcw=no])
if test "$ac_cfp_have__fpu_setcw" = "yes" ; then
AC_DEFINE(HAVE__FPU_SETCW, 1, [whether _FPU_SETCW is present and usable])
AC_MSG_RESULT(yes)
@@ -141,9 +136,9 @@ AC_DEFUN([ZEND_CHECK_FLOAT_PRECISION],[
fi
AC_MSG_CHECKING([for usable fpsetprec])
AC_TRY_LINK([
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <machine/ieeefp.h>
],[
]],[[
fp_prec_t fpu_oldprec;
volatile double result;
double a = 2877.0;
@@ -153,7 +148,7 @@ AC_DEFUN([ZEND_CHECK_FLOAT_PRECISION],[
fpsetprec(FP_PD);
result = a / b;
fpsetprec(fpu_oldprec);
], [ac_cfp_have_fpsetprec=yes], [ac_cfp_have_fpsetprec=no])
]])], [ac_cfp_have_fpsetprec=yes], [ac_cfp_have_fpsetprec=no])
if test "$ac_cfp_have_fpsetprec" = "yes" ; then
AC_DEFINE(HAVE_FPSETPREC, 1, [whether fpsetprec is present and usable])
AC_MSG_RESULT(yes)
@@ -162,9 +157,9 @@ AC_DEFUN([ZEND_CHECK_FLOAT_PRECISION],[
fi
AC_MSG_CHECKING([for usable _controlfp])
AC_TRY_LINK([
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <float.h>
],[
]],[[
unsigned int fpu_oldcw;
volatile double result;
double a = 2877.0;
@@ -174,7 +169,7 @@ AC_DEFUN([ZEND_CHECK_FLOAT_PRECISION],[
_controlfp(_PC_53, _MCW_PC);
result = a / b;
_controlfp(fpu_oldcw, _MCW_PC);
], [ac_cfp_have__controlfp=yes], [ac_cfp_have__controlfp=no])
]])], [ac_cfp_have__controlfp=yes], [ac_cfp_have__controlfp=no])
if test "$ac_cfp_have__controlfp" = "yes" ; then
AC_DEFINE(HAVE__CONTROLFP, 1, [whether _controlfp is present usable])
AC_MSG_RESULT(yes)
@@ -183,9 +178,9 @@ AC_DEFUN([ZEND_CHECK_FLOAT_PRECISION],[
fi
AC_MSG_CHECKING([for usable _controlfp_s])
AC_TRY_LINK([
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include <float.h>
],[
]],[[
unsigned int fpu_oldcw, fpu_cw;
volatile double result;
double a = 2877.0;
@@ -196,7 +191,7 @@ AC_DEFUN([ZEND_CHECK_FLOAT_PRECISION],[
_controlfp_s(&fpu_cw, _PC_53, _MCW_PC);
result = a / b;
_controlfp_s(&fpu_cw, fpu_oldcw, _MCW_PC);
], [ac_cfp_have__controlfp_s=yes], [ac_cfp_have__controlfp_s=no])
]])], [ac_cfp_have__controlfp_s=yes], [ac_cfp_have__controlfp_s=no])
if test "$ac_cfp_have__controlfp_s" = "yes" ; then
AC_DEFINE(HAVE__CONTROLFP_S, 1, [whether _controlfp_s is present and usable])
AC_MSG_RESULT(yes)
@@ -205,9 +200,9 @@ AC_DEFUN([ZEND_CHECK_FLOAT_PRECISION],[
fi
AC_MSG_CHECKING([whether FPU control word can be manipulated by inline assembler])
AC_TRY_LINK([
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
/* nothing */
],[
]],[[
unsigned int oldcw, cw;
volatile double result;
double a = 2877.0;
@@ -220,7 +215,7 @@ AC_DEFUN([ZEND_CHECK_FLOAT_PRECISION],[
result = a / b;
__asm__ __volatile__ ("fldcw %0" : : "m" (*&oldcw));
], [ac_cfp_have_fpu_inline_asm_x86=yes], [ac_cfp_have_fpu_inline_asm_x86=no])
]])], [ac_cfp_have_fpu_inline_asm_x86=yes], [ac_cfp_have_fpu_inline_asm_x86=no])
if test "$ac_cfp_have_fpu_inline_asm_x86" = "yes" ; then
AC_DEFINE(HAVE_FPU_INLINE_ASM_X86, 1, [whether FPU control word can be manipulated by inline assembler])
AC_MSG_RESULT(yes)
+12 -12
View File
@@ -5,18 +5,18 @@ if (function_exists("date_default_timezone_set")) {
function simple() {
$a = 0;
for ($i = 0; $i < 1000000; $i++)
for ($i = 0; $i < 1000000; $i++)
$a++;
$thisisanotherlongname = 0;
for ($thisisalongname = 0; $thisisalongname < 1000000; $thisisalongname++)
for ($thisisalongname = 0; $thisisalongname < 1000000; $thisisalongname++)
$thisisanotherlongname++;
}
/****/
function simplecall() {
for ($i = 0; $i < 1000000; $i++)
for ($i = 0; $i < 1000000; $i++)
strlen("hallo");
}
@@ -26,14 +26,14 @@ function hallo($a) {
}
function simpleucall() {
for ($i = 0; $i < 1000000; $i++)
for ($i = 0; $i < 1000000; $i++)
hallo("hallo");
}
/****/
function simpleudcall() {
for ($i = 0; $i < 1000000; $i++)
for ($i = 0; $i < 1000000; $i++)
hallo2("hallo");
}
@@ -345,22 +345,22 @@ function strcat($n) {
/*****/
function getmicrotime()
function gethrtime()
{
$t = gettimeofday();
return ($t['sec'] + $t['usec'] / 1000000);
$hrtime = hrtime();
return (($hrtime[0]*1000000000 + $hrtime[1]) / 1000000000);
}
function start_test()
{
ob_start();
return getmicrotime();
return gethrtime();
}
function end_test($start, $name)
{
global $total;
$end = getmicrotime();
$end = gethrtime();
ob_end_clean();
$total += $end-$start;
$num = number_format($end-$start,3);
@@ -368,7 +368,7 @@ function end_test($start, $name)
echo $name.$pad.$num."\n";
ob_start();
return getmicrotime();
return gethrtime();
}
function total()
@@ -418,5 +418,5 @@ sieve(30);
$t = end_test($t, "sieve(30)");
strcat(200000);
$t = end_test($t, "strcat(200000)");
total($t0, "Total");
total();
?>
+4 -6
View File
@@ -4,8 +4,6 @@
# make -f build.mk
#
# Written by Sascha Schumann
#
# $Id$
LT_TARGETS = ltmain.sh ltconfig
@@ -30,14 +28,14 @@ $(LT_TARGETS):
$(makefile_in_files): $(makefile_am_files)
automake -a -i $(AMFLAGS) $(makefile_files)
aclocal.m4: configure.in acinclude.m4
aclocal.m4: configure.ac acinclude.m4
aclocal
$(config_h_in): configure.in
# explicitly remove target since autoheader does not seem to work
$(config_h_in): configure.ac
# explicitly remove target since autoheader does not seem to work
# correctly otherwise (timestamps are not updated)
@rm -f $@
autoheader
configure: aclocal.m4 configure.in
configure: aclocal.m4 configure.ac
autoconf
+1
View File
@@ -30,3 +30,4 @@ if cmp configure.old configure > /dev/null 2>&1; then
else
echo "buildconf: created or modified ${1}configure"
fi
+2 -18
View File
@@ -1,4 +1,3 @@
dnl $Id$
dnl Process this file with autoconf to produce a configure script.
AC_INIT(zend.c)
@@ -24,9 +23,6 @@ AH_TOP([
#undef uint
#undef ulong
/* Define if you want to enable memory limit support */
#define MEMORY_LIMIT 0
])
AH_BOTTOM([
@@ -62,13 +58,6 @@ int zend_sprintf(char *buffer, const char *format, ...);
#include <math.h>
/* To enable the is_nan, is_infinite and is_finite PHP functions */
#ifdef NETWARE
#define HAVE_DECL_ISNAN 1
#define HAVE_DECL_ISINF 1
#define HAVE_DECL_ISFINITE 1
#endif
#ifndef zend_isnan
#if HAVE_DECL_ISNAN && (!defined(__cplusplus) || __cplusplus < 201103L)
#define zend_isnan(a) isnan(a)
@@ -102,12 +91,6 @@ int zend_sprintf(char *buffer, const char *format, ...);
#endif /* ifndef ZEND_ACCONFIG_H_NO_C_PROTOS */
#ifdef NETWARE
#ifdef USE_WINSOCK
#/*This detection against winsock is of no use*/ undef HAVE_SOCKLEN_T
#/*This detection against winsock is of no use*/ undef HAVE_SYS_SOCKET_H
#endif
#endif
])
dnl We want this one before the checks, so the checks can modify CFLAGS.
@@ -142,7 +125,8 @@ LIBZEND_OTHER_CHECKS
ZEND_EXTRA_LIBS="$LIBS"
LIBS=""
AC_SUBST(ZEND_EXTRA_LIBS)
AC_OUTPUT(Makefile)
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
# Local Variables:
# tab-width: 4
-2
View File
@@ -15,5 +15,3 @@
| Authors: |
+----------------------------------------------------------------------+
*/
/* $Id$ */
+9 -9
View File
@@ -4,12 +4,12 @@ function hallo() {
}
function simpleucall($n) {
for ($i = 0; $i < $n; $i++)
for ($i = 0; $i < $n; $i++)
hallo();
}
function simpleudcall($n) {
for ($i = 0; $i < $n; $i++)
for ($i = 0; $i < $n; $i++)
hallo2();
}
@@ -17,7 +17,7 @@ function hallo2() {
}
function simpleicall($n) {
for ($i = 0; $i < $n; $i++)
for ($i = 0; $i < $n; $i++)
func_num_args();
}
@@ -238,23 +238,23 @@ function empty_loop($n) {
}
}
function getmicrotime()
function gethrtime()
{
$t = gettimeofday();
return ($t['sec'] + $t['usec'] / 1000000);
$hrtime = hrtime();
return (($hrtime[0]*1000000000 + $hrtime[1]) / 1000000000);
}
function start_test()
{
ob_start();
return getmicrotime();
return gethrtime();
}
function end_test($start, $name, $overhead = null)
{
global $total;
global $last_time;
$end = getmicrotime();
$end = gethrtime();
ob_end_clean();
$last_time = $end-$start;
$total += $last_time;
@@ -267,7 +267,7 @@ function end_test($start, $name, $overhead = null)
echo $name.$pad.$num." ".$num2."\n";
}
ob_start();
return getmicrotime();
return gethrtime();
}
function total()
+1 -1
View File
@@ -44,7 +44,7 @@ var_dump(func_num_args());
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
int(0)
int(1)
Exception: Too few arguments to function test2(), 0 passed in %s001.php on line 18 and exactly 1 expected
+1 -1
View File
@@ -50,7 +50,7 @@ var_dump(func_get_arg(1));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: func_get_arg(): The argument number should be >= 0 in %s on line %d
bool(false)
+1 -1
View File
@@ -44,7 +44,7 @@ var_dump(func_get_args());
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
array(0) {
}
array(1) {
+1 -1
View File
@@ -12,7 +12,7 @@ var_dump(strncmp("qwerty", "qwerty123", 7));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: strncmp() expects exactly 3 parameters, 2 given in %s on line %d
NULL
int(0)
+1 -1
View File
@@ -14,7 +14,7 @@ var_dump(strcasecmp("01", "01"));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: strcasecmp() expects exactly 2 parameters, 1 given in %s on line %d
NULL
int(0)
+1 -1
View File
@@ -15,7 +15,7 @@ var_dump(strncasecmp("01", "01", 1000));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: strncasecmp() expects exactly 3 parameters, 1 given in %s on line %d
NULL
+3 -1
View File
@@ -21,10 +21,12 @@ var_dump(each($a));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: each() expects exactly 1 parameter, 0 given in %s on line %d
NULL
Deprecated: The each() function is deprecated. This message will be suppressed on further calls in %s on line %d
Warning: Variable passed to each() is not an array or object in %s on line %d
NULL
+2 -2
View File
@@ -22,7 +22,7 @@ var_dump(constant("test const"));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: define() expects at least 2 parameters, 0 given in %s on line %d
NULL
@@ -30,7 +30,7 @@ Warning: define() expects at least 2 parameters, 1 given in %s on line %d
NULL
bool(true)
Warning: define() expects parameter 3 to be boolean, array given in %s on line %d
Warning: define() expects parameter 3 to be bool, array given in %s on line %d
NULL
Warning: define() expects parameter 1 to be string, array given in %s on line %d
+10 -1
View File
@@ -7,6 +7,10 @@ class foo {
function bar () {
var_dump(get_class());
}
function testNull ()
{
var_dump(get_class(null));
}
}
class foo2 extends foo {
@@ -27,9 +31,11 @@ var_dump(get_class("qwerty"));
var_dump(get_class($f1));
var_dump(get_class($f2));
$f1->testNull();
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Deprecated: Non-static method foo::bar() should not be called statically in %s on line %d
string(3) "foo"
@@ -45,4 +51,7 @@ Warning: get_class() expects parameter 1 to be object, string given in %s on lin
bool(false)
string(3) "foo"
string(4) "foo2"
Warning: get_class() expects parameter 1 to be object, null given in %s on line %d
bool(false)
Done
+1 -1
View File
@@ -41,7 +41,7 @@ var_dump(get_parent_class(1));
echo "Done\n";
?>
--EXPECTF--
--EXPECT--
bool(false)
bool(false)
string(3) "foo"
+1 -1
View File
@@ -52,7 +52,7 @@ $bar->test();
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: property_exists() expects exactly 2 parameters, 0 given in %s on line %d
NULL
+1 -1
View File
@@ -18,7 +18,7 @@ var_dump(class_exists("stdClass"));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: class_exists() expects at least 1 parameter, 0 given in %s on line %d
NULL
bool(false)
+1 -1
View File
@@ -18,7 +18,7 @@ var_dump(interface_exists("stdClass"));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: interface_exists() expects at least 1 parameter, 0 given in %s on line %d
NULL
bool(false)
+1 -1
View File
@@ -20,7 +20,7 @@ var_dump(get_included_files());
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
array(1) {
[0]=>
string(%d) "%s"
+1 -1
View File
@@ -13,7 +13,7 @@ var_dump(trigger_error("error", E_USER_DEPRECATED));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: trigger_error() expects at least 1 parameter, 0 given in %s on line %d
NULL
+2 -2
View File
@@ -3,10 +3,10 @@ isset() with object properties when operating on non-object
--FILE--
<?php
$foo = NULL;
$foo = NULL;
isset($foo->bar->bar);
echo "Done\n";
?>
--EXPECT--
--EXPECT--
Done
+1 -1
View File
@@ -43,7 +43,7 @@ var_dump(count(get_extension_funcs("zend")));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: get_resource_type() expects exactly 1 parameter, 0 given in %s on line %d
NULL
+1 -1
View File
@@ -17,7 +17,7 @@ var_dump(constant("TEST_CONST2"));
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: constant() expects exactly 1 parameter, 0 given in %s on line %d
NULL
+52 -52
View File
@@ -16,7 +16,7 @@ echo "*** Testing unset(), empty() & isset() with scalar variables ***\n";
// testing scalar variables
$scalar_variables = array(
0,
0,
1,
+1
-1,
@@ -52,23 +52,23 @@ foreach ($scalar_variables as $scalar_var) {
echo "-- Iteration $loop_counter --\n"; $loop_counter++;
// checking with isset before unsetting, expected: bool(true)
var_dump( isset($scalar_var) );
var_dump( isset($scalar_var, $set_var) );
var_dump( isset($scalar_var) );
var_dump( isset($scalar_var, $set_var) );
// checking if the var is empty, expected: bool(false) on most
// except "", 0, "0", NULL, FALSE
var_dump( empty($scalar_var) );
var_dump( empty($scalar_var) );
// destroy the variable using unset
unset( $scalar_var );
// dump and see if its destroyed, expcted: NULL
var_dump( $scalar_var );
unset( $scalar_var );
// dump and see if its destroyed, expcted: NULL
var_dump( $scalar_var );
// check using isset to see if unset, expected: bool(false)
var_dump( isset($scalar_var) );
var_dump( isset($scalar_var, $set_var) );
var_dump( isset($scalar_var) );
var_dump( isset($scalar_var, $set_var) );
// empty to check if empty, expecting bool(true)
var_dump( empty($scalar_var) );
var_dump( empty($scalar_var) );
// isset() with two args, one arg only unset, expected: bool(false)
var_dump( isset($scalar_var, $set_var) );
@@ -90,36 +90,36 @@ $array_variables = array(
array(1 => "One", 2 => "two"),
array("Name" => "Jack", "Age" => "30"),
array(1,2, "One" => "1", 2 => "two", ""=>"empty", "" => '')
);
);
$outer_loop_counter = 1;
foreach ($array_variables as $array_var) {
echo "--- Outerloop Iteration $outer_loop_counter ---\n";
// check the isset and unset on non existing key
$var = 1; // a var which is defined
// try to unset the element which is non-existent
unset($array_var['non_existent']);
unset($array_var['non_existent']);
// check using isset() & empty() on a non_existent element in the array
var_dump( isset($array_var['non_existent']) );
var_dump( isset($array_var['non_existent'], $var) );
var_dump( isset($array_var['non_existent'], $array_var['none']) );
var_dump( empty($array_var['non_existent']) );
// testing empty and isset on arrays
// testing empty and isset on arrays
var_dump( empty($array_var) ); // expecting bool(false), except: array(), which is considered empty
var_dump( isset($array_var) ); // expecting bool(true), except: array(), which is not set
// get the keys of the $array_var
// get the keys of the $array_var
$keys = array_keys($array_var);
// unset each element in the array and see the working of unset, isset & empty
$inner_loop_counter = 1;
foreach ($keys as $key_value) {
echo "-- Innerloop Iteration $inner_loop_counter of Outerloop Iteration $outer_loop_counter --\n";
echo "-- Innerloop Iteration $inner_loop_counter of Outerloop Iteration $outer_loop_counter --\n";
$inner_loop_counter++;
// unset the element
unset($array_var[$key_value]);
unset($array_var[$key_value]);
// dump the array after element was unset
var_dump($array_var);
// check using isset for the element that was unset
@@ -127,10 +127,10 @@ foreach ($array_variables as $array_var) {
// calling isset with more args
var_dump( isset($array_var[$key_val], $array_var) ); //expected: bool(false)
// calling empty, expected bool(true)
// calling empty, expected bool(true)
var_dump( empty($array_var[$key_val]) );
// dump the array to see that that array did not get modified
// dump the array to see that that array did not get modified
// because of using isset, empty and unset on its element
var_dump($array_var);
}
@@ -144,7 +144,7 @@ foreach ($array_variables as $array_var) {
// use isset to see that array is not set
var_dump( isset($array_var) ); //expected: bool(false)
var_dump( isset($array_var, $array_var[$key_val]) ); // expected: bool(false)
// empty() to see if the array is empty
var_dump( empty($array_var) ); // expected: bool(true)
}
@@ -183,12 +183,12 @@ foreach ($resources as $resource) {
unset($temp_var);
// now the isset() with both the args as unset
var_dump( isset($resource, $temp_var) ); // expected: bool(false);
// dump the resource to see if there any effect on it
// dump the resource to see if there any effect on it
var_dump($resource);
}
// unset and dump the array containing all the resources to see that
// unset works correctly
// unset works correctly
unset($resources);
var_dump($resources);
var_dump( isset($resources) ); //expected: bool(false)
@@ -200,12 +200,12 @@ class Point
var $x;
var $y;
var $lable;
function __construct($x, $y) {
$this->x = $x;
$this->y = $y;
}
function setLable($lable) {
$this->lable = $lable;
}
@@ -215,8 +215,8 @@ class Point
}
$point1 = new Point(30,40);
// use unset/empty/isset to check the object
var_dump($point1); // dump the object
// use unset/empty/isset to check the object
var_dump($point1); // dump the object
// check the object and member that is not set
var_dump( isset($point1) ); // expected: bool(true)
@@ -229,7 +229,7 @@ $point1->setLable("Point1");
var_dump( isset($point1->$lable) ); //expected: bool(true)
var_dump( empty($point1->$lable) ); //expected: bool(false)
// dump the object to see that obj was not harmed
// dump the object to see that obj was not harmed
// because of the usage of the isset & empty
var_dump($point1);
@@ -270,36 +270,36 @@ var_dump($point2);
/* testing variation in operation for isset(), empty() & unset().
Note: Most of the variation for function unset() is testing by a
set of testcases named "Zend/tests/unset_cv??.phpt", only
set of testcases named "Zend/tests/unset_cv??.phpt", only
variation not tested are attempted here */
echo "\n*** Testing possible variation in operation for isset(), empty() & unset() ***\n";
/* unset() variation1: checking unset on static variable inside a function.
/* unset() variation1: checking unset on static variable inside a function.
* unset() destroys the variable only in the context of the rest of a function
* Following calls will restore the previous value of a variable.
*/
echo "\n** Testing unset() variation 1: unset on static variable inside a function **\n";
function test_unset1() {
static $static_var;
// increment the value of the static. this change is in function context
$static_var ++;
echo "value of static_var before unset: $static_var\n";
// check using isset and empty
echo "value of static_var before unset: $static_var\n";
// check using isset and empty
var_dump( isset($static_var) );
var_dump( empty($static_var) );
// unset the static var
unset($static_var);
echo "value of static_var after unset: $static_var\n";
// check using isset and empty
echo "value of static_var after unset: $static_var\n";
// check using isset and empty
var_dump( isset($static_var) );
var_dump( empty($static_var) );
// assign a value to static var
$static_var = 20;
echo "value of static_var after new assignment: $static_var\n";
echo "value of static_var after new assignment: $static_var\n";
}
// call the functiont
test_unset1();
@@ -308,10 +308,10 @@ test_unset1();
echo "\n** Testing unset() variation 2: unset on a variable passed by ref. inside of a function **\n";
/* unset() variation2: Pass by reference
* If a variable that is PASSED BY REFERENCE is unset() inside of a function,
/* unset() variation2: Pass by reference
* If a variable that is PASSED BY REFERENCE is unset() inside of a function,
* only the local variable is destroyed. The variable in the calling environment
* will retain the same value as before unset() was called.
* will retain the same value as before unset() was called.
*/
function test_unset2( &$ref_val ) {
// unset the variable passed
@@ -329,7 +329,7 @@ var_dump($value);
test_unset2($value);
var_dump($value);
echo "\n** Testing unset() variation 3: unset on a global variable inside of a function **\n";
/* unset() variation2: unset on a global variable inside a function
* If a globalized variable is unset() inside of a function, only the
@@ -340,17 +340,17 @@ $global_var = 10;
function test_unset3() {
global $global_var;
// check the $global_var using isset and empty
var_dump( isset($global_var) );
var_dump( empty($global_var) );
// check the $global_var using isset and empty
var_dump( isset($global_var) );
var_dump( empty($global_var) );
// unset the global var
unset($global_var);
// check the $global_var using isset and empty
var_dump( isset($global_var) );
var_dump( empty($global_var) );
// check the $global_var using isset and empty
var_dump( isset($global_var) );
var_dump( empty($global_var) );
}
var_dump($global_var);
+1 -1
View File
@@ -19,7 +19,7 @@ foo(1,2);
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Warning: func_get_arg() expects exactly 1 parameter, 3 given in %s on line %d
NULL
+4 -4
View File
@@ -37,15 +37,15 @@ NULL
Notice: Undefined variable: b in %s on line %d
int(1)
Notice: Trying to get property of non-object in %s on line %d
Notice: Trying to get property '1' of non-object in %s on line %d
NULL
Notice: Trying to get property of non-object in %s on line %d
Notice: Trying to get property '1' of non-object in %s on line %d
NULL
Notice: Undefined variable: c in %s on line %d
Notice: Trying to get property of non-object in %s on line %d
Notice: Trying to get property '1' of non-object in %s on line %d
Notice: Trying to get property of non-object in %s on line %d
Notice: Trying to get property '' of non-object in %s on line %d
NULL
+1 -1
View File
@@ -18,7 +18,7 @@ print "ok\n";
?>
--EXPECTF--
Notice: Trying to get property of non-object in %s on line %d
Notice: Trying to get property 'a' of non-object in %s on line %d
ok
Warning: Creating default object from empty value in %s on line %d
+4 -4
View File
@@ -7,7 +7,7 @@ class foo {
public $test = 0;
private $test_2 = 1;
protected $test_3 = 2;
public function bar() {
try {
throw new Exception('foo');
@@ -15,13 +15,13 @@ class foo {
var_dump($this);
}
$this->baz();
$this->baz();
}
public function baz() {
foreach ($this as $k => $v) {
printf("'%s' => '%s'\n", $k, $v);
}
}
print "ok\n";
}
}
+1 -1
View File
@@ -1,7 +1,7 @@
--TEST--
Testing array with '[]' passed as argument by value
--FILE--
<?php
<?php
function test($var) { }
test($arr[]);
+1 -1
View File
@@ -1,7 +1,7 @@
--TEST--
Testing array with '[]' passed as argument by reference
--FILE--
<?php
<?php
function test(&$var) { }
test($arr[]);
+3 -2
View File
@@ -1,7 +1,7 @@
--TEST--
Using undefined multidimensional array
--FILE--
<?php
<?php
$arr[1][2][3][4][5];
@@ -17,13 +17,14 @@ $arr[][]->bar = 2;
?>
--EXPECTF--
Notice: Undefined variable: arr in %s on line %d
Notice: Undefined variable: arr in %s on line %d
Notice: Undefined variable: arr in %s on line %d
Notice: Trying to get property of non-object in %s on line %d
Notice: Trying to get property 'foo' of non-object in %s on line %d
Warning: Creating default object from empty value in %s on line %d
+1 -1
View File
@@ -1,7 +1,7 @@
--TEST--
Testing multiples 'default:' in switch
--FILE--
<?php
<?php
switch (1) {
case 2:
File diff suppressed because it is too large. Load diff
+2 -1
View File
@@ -8,5 +8,6 @@ abstract class TestClass
}
?>
===DONE===
--EXPECTF--
--EXPECT--
===DONE===
+12
View File
@@ -0,0 +1,12 @@
--TEST--
Allow abstract function override
--FILE--
<?php
abstract class A { abstract function bar($x); }
abstract class B extends A { abstract function bar($x); }
echo "DONE";
?>
--EXPECT--
DONE
+12
View File
@@ -0,0 +1,12 @@
--TEST--
Allow abstract function override
--FILE--
<?php
abstract class A { abstract function bar($x); }
abstract class B extends A { abstract function bar($x, $y = 0); }
echo "DONE";
?>
--EXPECT--
DONE
+12
View File
@@ -0,0 +1,12 @@
--TEST--
Allow abstract function override
--FILE--
<?php
abstract class A { abstract function bar($x, $y = 0); }
abstract class B extends A { abstract function bar($x); }
echo "DONE";
?>
--EXPECTF--
Fatal error: Declaration of B::bar($x) must be compatible with A::bar($x, $y = 0) in %s
+1 -1
View File
@@ -10,5 +10,5 @@ class test {
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Fatal error: Multiple access type modifiers are not allowed in %s on line %d
+1 -1
View File
@@ -9,5 +9,5 @@ class test {
echo "Done\n";
?>
--EXPECTF--
--EXPECTF--
Fatal error: Multiple access type modifiers are not allowed in %s on line %d
Loaded 100 of 13626 files, more files were not shown because too many files have changed in this diff. Show more