Compare commits

...
Author SHA1 Message Date
Sara Golemon e3a2fc1fe7 Update versions for PHP 7.2.0alpha1 2017-06-06 13:02:29 +00:00
Sara Golemon 5f4f0c73bd Update NEWS for PHP 7.2.0alpha1 2017-06-06 13:02:29 +00: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
Jakub Zelenka ff93f74f63 Merge branch 'PHP-7.0' into PHP-7.1 2017-06-04 18:11:49 +01:00
Jakub Zelenka 3704947696 Replace ASN1_STRING_data with ASN1_STRING_get0_data
This is a slightly modified version of the patch from Jelle van der Waa
( @jelly ) so full credit to him.
2017-06-04 18:08:51 +01:00
Nikita Popov d162147315 Merge branch 'PHP-7.1' 2017-06-03 15:09:04 +02:00
Nikita Popov 6af1d7ad01 Merge branch 'PHP-7.0' into PHP-7.1 2017-06-03 15:08:59 +02:00
Nikita Popov 585c9f3c4b Fix leak in WDDX serialization 2017-06-03 15:08:42 +02:00
Nikita Popov c94773124d Merge branch 'PHP-7.1' 2017-06-03 12:39:50 +02:00
Nikita Popov 6b511d124e Travis: Use opcache in release build
Our debug builds on Travis are often timing out recently. Opcache
causes quite a large performance hit on test run times, so move it
over to the release build, where it should have less impact.
2017-06-03 12:37:47 +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
Nikita Popov d9fd44366d Merge branch 'PHP-7.0' into PHP-7.1 2017-06-03 00:42:30 +02:00
Tim Toohey d027bc2add Fixed bug #69373
xmlNodeSetContentLen() calls xmlFreeNode() on node->children. This
causes problems if there are other references around to those children.
2017-06-03 00:40:58 +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 bfedff58e3 Merge branch 'PHP-7.0' into PHP-7.1 2017-06-03 00:05:52 +02:00
libnex 95c4564f93 Fixed bug #73473: Stack Buffer Overflow in msgfmt_parse_message 2017-06-03 00:05:16 +02:00
Nikita Popov c28406f611 Merge branch 'PHP-7.1' 2017-06-02 23:53:00 +02:00
Jelle van der Waa c742abb3ce openssl_pkcs12_read: add missing BIO_free
When filling the extracerts array with certificates bio_out is created
but not free'd leading to a small memory leak of 224 bytes (reported by
valgrind).
2017-06-02 23:52:43 +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
Jesper Hagström cea34425f3 Set timezone for intl/test/bug74298.phpt
Now sets UTC as default timezone for the DateTime which otherwise
uses the timezone defined in php.ini.
2017-06-02 23:40:48 +02:00
Nikita Popov e2a2e49063 Merge branch 'PHP-7.1' 2017-06-02 23:36:44 +02:00
Nikita Popov e9ff1fac85 Revert "merge PR #2290: enable opcache in CLI in 7.1+"
This reverts commit 71fe529afc.

Without the file cache (which is not enabled by default), this has
non-trivial impact on the startup time. It also significantly
increases the baseline memory usage of PHP on CLI.
2017-06-02 23:36:20 +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
andrewnester 48598a2302 Fixed #74639 - Added proper clone functionality for DatePeriod and DateInterval 2017-06-01 08:07:11 +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
Xinchen Hui 741769d933 Update NEWS 2017-05-31 13:09:38 +08:00
Xinchen Hui 9064dca58b Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #74673 (Segfault when cast Reflection object to string with undefined constant)

Conflicts:
	ext/reflection/php_reflection.c
2017-05-31 13:08:26 +08:00
Xinchen Hui 9c5717d0de Fixed bug #74673 (Segfault when cast Reflection object to string with undefined constant) 2017-05-31 12:39:26 +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 316aaca155 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed wrong condition
2017-05-31 00:40:57 +03:00
Dmitry Stogov 77cbf8a657 Fixed wrong condition 2017-05-31 00:40:33 +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
Côme Bernigaud 1bb295e659 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  ext/ldap/test: Test that ldap_connect() uses defaults from ldap.conf (openldap)
  ext/ldap: Allow default host from ldap.conf to work.

Conflicts:
	ext/ldap/ldap.c
2017-05-30 16:48:16 +02:00
Côme Bernigaud dc7e53690f Merge branch 'pull-request/2536' into PHP-7.0
* pull-request/2536:
  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-30 16:45:27 +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 b11393fccb NEWS 2017-05-30 15:46:15 +02:00
Remi Collet bee52f352f Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  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:45:52 +02:00
Remi Collet 46bb35a853 NEWS 2017-05-30 15:45:09 +02:00
Remi Collet 1c845d2950 Patch from the upstream git
https://github.com/kkos/oniguruma/issues/60 (CVE-2017-9228)

Thanks to Mamoru TASAKA <mtasaka@fedoraproject.org>
2017-05-30 15:40:32 +02:00
Remi Collet 5416deec66 Patch from the upstream git
https://github.com/kkos/oniguruma/issues/59 (CVE-2017-9229)
b690371bbf97794b4a1d3f295d4fb9a8b05d402d Modified for onig 5.9.6

Thanks to Mamoru TASAKA <mtasaka@fedoraproject.org>
2017-05-30 15:39:21 +02:00
Remi Collet 6a8ae7cf8d Patch from the upstream git
https://github.com/kkos/oniguruma/issues/58 (CVE-2017-9227)

Thanks to Mamoru TASAKA <mtasaka@fedoraproject.org>
2017-05-30 15:38:17 +02:00
Remi Collet 60b1829e1c Patch from the upstream git
https://github.com/kkos/oniguruma/issues/57 (CVE-2017-9224)

Thanks to Mamoru TASAKA <mtasaka@fedoraproject.org>
2017-05-30 15:37:11 +02:00
Remi Collet 1e0c4386ab 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

Thanks to Mamoru TASAKA <mtasaka@fedoraproject.org>
2017-05-30 15:35:42 +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
Fabien Villepinte d6922ef8e3 Fix Bug #74386Phar::__construct(): wrong number of parameters by reflection 2017-05-29 08:31:47 +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
Joe Watkins d351c199bb Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix Bug #74386 Phar::__construct(): wrong number of parameters by reflection
2017-05-29 08:29:58 +01:00
Fabien Villepinte 2dee44c74c Fix Bug #74386 Phar::__construct(): wrong number of parameters by reflection 2017-05-29 08:29:30 +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
Sara Golemon e628ee9e9d Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Bugfix #74556 stream_socket_get_name() returns empty string
  Fix abstract name handling to be binary safe
2017-05-28 08:49:25 -07:00
Sara Golemon 8dcfec9789 Bugfix #74556 stream_socket_get_name() returns empty string
The original bug report had it returning '\0',
but with a fix to abstract name handling (6d2d0bbda7)
it now actually returns ''.

Neither of these are good, as per unix(7)
an empty socket name indicates an unbound name
and "should not be inspected".
2017-05-28 08:48:18 -07:00
Sara Golemon 6d2d0bbda7 Fix abstract name handling to be binary safe
Per unix(7):
abstract: an abstract socket address is distinguished (from a
pathname socket) by the fact that sun_path[0] is a null byte
('\0').  The socket's address in this namespace is given by the
additional bytes in sun_path that are covered by the specified
length of the address structure.  (Null bytes in the name have no
special significance.)  The name has no connection with filesystem
pathnames.  When the address of an abstract socket is returned,
the returned addrlen is greater than sizeof(sa_family_t) (i.e.,
greater than 2), and the name of the socket is contained in the
first (addrlen - sizeof(sa_family_t)) bytes of sun_path.

The existing implementation was assuming significance in null bytes
contained in the abstract address identifier.
2017-05-28 08:45:44 -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
Sara Golemon d9458aac9d Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Bugfix #74598 ftp:// ignores context
2017-05-27 21:14:02 -07:00
Sara Golemon 05849a242a Bugfix #74598 ftp:// ignores context 2017-05-27 21:12:49 -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
Xinchen Hui 398efb087c Update NEWS 2017-05-27 22:43:30 +08:00
Xinchen Hui 19befb1ca2 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #74663 (Segfault with opcache.memory_protect and validate_timestamp)
2017-05-27 22:43:23 +08:00
Xinchen Hui 60912e66c8 Fixed bug #74663 (Segfault with opcache.memory_protect and validate_timestamp) 2017-05-27 22:42:27 +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 1838f965bc Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Correct the location
2017-05-27 12:12:12 +08:00
Xinchen Hui ece7d223e8 Correct the location 2017-05-27 12:11:53 +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
Xinchen Hui 63ca6f93a1 Added NEWs 2017-05-27 12:09:11 +08:00
Xinchen Hui cd3520c4d3 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #74657 (Undefined constants in array properties result in broken properties)
2017-05-27 12:08:48 +08:00
Xinchen Hui 5269c4cacb Fixed bug #74657 (Undefined constants in array properties result in broken properties) 2017-05-27 12:06:43 +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
David Caldwell 49d1cdc393 ext/ldap/test: Test that ldap_connect() uses defaults from ldap.conf (openldap) 2017-05-25 21:27:11 +00: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
Derick Rethans fc87715950 Added a test case for (docs) bug #74652 2017-05-25 10:57:09 -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
David Caldwell d51b8f915f 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-25 00:47:11 +00: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
Nikita Popov e7a7065024 Merge branch 'PHP-7.0' into PHP-7.1 2017-05-24 18:02:13 +02:00
jhdxr 872e43d6e5 Fixed bug #74478 2017-05-24 18:01:41 +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
Joe Watkins e535b80257 bump versions 2017-05-23 22:04:01 +01: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
Anatol Belski 056cb8c256 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  time to move next
2017-05-23 12:33:23 +02:00
Anatol Belski fff1cab367 time to move next 2017-05-23 12:31:03 +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
Anatol Belski 65bf0364b6 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  move to the next sdk version for AppVeyor
2017-05-20 13:51:18 +02:00
Anatol Belski c4ae856912 move to the next sdk version for AppVeyor 2017-05-20 13:48: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
Xinchen Hui 11b4f105bf Merge branch '74595-reflection-parameters' of https://github.com/andrewnester/php-src into PHP-7.1
* '74595-reflection-parameters' of https://github.com/andrewnester/php-src:
  Fixed #74595 - ReflectionMethod::getParameters returns incorrect number of parameters
2017-05-19 23:59:43 +08:00
Xinchen Hui 08293a960b Merge branch 'PHP-7.1' of git.php.net:/php-src into PHP-7.1
* 'PHP-7.1' of git.php.net:/php-src:
  follow up fix on bug #74022
  Fixed bug #74606 (Segfault within try/catch/finally nesting in Generators)
2017-05-19 23:56:31 +08:00
Xinchen Hui 459c382df5 Update news 2017-05-19 23:56:10 +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
Anatol Belski 26f217bf40 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  follow up fix on bug #74022
2017-05-18 12:07:09 +02:00
Anatol Belski 464c1639ae follow up fix on bug #74022 2017-05-18 12:03:13 +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
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
Bob Weinand 649494c0ee Fixed bug #74606 (Segfault within try/catch/finally nesting in Generators)
Thanks to Nikita for pointing out the error source.
2017-05-17 19:58:51 +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 78b10dd9d6 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Added cleanup
2017-05-17 23:25:17 +08:00
Xinchen Hui 0954ea8d6d Added cleanup 2017-05-17 23:24:58 +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 f38487a0e0 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Added test for bug #74600
2017-05-17 23:21:38 +08:00
Xinchen Hui ef09bc0645 Added test for bug #74600 2017-05-17 23:21:18 +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
Xinchen Hui d3e3bc611a Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Added test for bug #74596
2017-05-17 22:43:03 +08:00
Xinchen Hui e347b2ded6 Added test for bug #74596 2017-05-17 22:42:18 +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 02e9e59beb improve error handling 2017-05-17 13:35:42 +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
Anatol Belski 6e3d24bcf4 fix wrong error check 2017-05-17 12:50:41 +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 b73a73da25 fix test 2017-05-16 15:09:02 +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
Anatol Belski 71f8c4dcfd add test for bug #74589 2017-05-16 14:25:27 +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
Xinchen Hui c667bb94fa Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #74600 (crash (SIGSEGV) in _zend_hash_add_or_update_i)
2017-05-16 19:32:59 +08:00
Xinchen Hui 8a1713e39c Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0
* 'PHP-7.0' of git.php.net:/php-src:
  variation of icu libraries causes failure
2017-05-16 19:32:33 +08:00
Xinchen Hui 9f49ebb5ba Fixed bug #74600 (crash (SIGSEGV) in _zend_hash_add_or_update_i) 2017-05-16 19:32:13 +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
Anatol Belski 7d418430fd Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  variation of icu libraries causes failure
2017-05-16 12:47:24 +02:00
Steve Walk d74fbfb38f variation of icu libraries causes failure 2017-05-16 12:46:27 +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 7f051ac583 Update NEWs 2017-05-16 13:23:12 +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
Xinchen Hui e04b91e6e2 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #74596 (SIGSEGV with opcache.revalidate_path enabled)
2017-05-16 13:22:43 +08:00
Xinchen Hui 89dd7fb328 Fixed bug #74596 (SIGSEGV with opcache.revalidate_path enabled)
Yeah, no test script is provided.. I got some troubles to make a one
2017-05-16 13:22:08 +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
Anatol Belski 8ec91086ee Revert "fixing run-tests.php for variables_order="GPCS""
This reverts commit c1d5718697.

The commit seems to be inappropriate as it contains parts from master,
which have nothing to do with the variables order issue. Obviously patch
applied to wrong branch or alike.
2017-05-15 20:34:11 +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 b067bda4cd Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  switch to Postgres 9.6 for appveyor
2017-05-15 17:48:29 +02:00
Anatol Belski 777929b1ae switch to Postgres 9.6 for appveyor 2017-05-15 17:47:41 +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 42e5df141c [ci skip] update NEWS 2017-05-15 17:39:31 +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
Anatol Belski ae3f975c5d Fixed bug #74589 __DIR__ wrong for unicode character 2017-05-15 16:35:22 +02:00
andrewnester 2e5a747b59 Fixed #74595 - ReflectionMethod::getParameters returns incorrect number of parameters 2017-05-15 17:07:00 +03:00
Matt Ficken c1d5718697 fixing run-tests.php for variables_order="GPCS" 2017-05-15 02:21:55 -07: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 8cbfc882d2 [ci skip] update NEWS 2017-05-14 01:59:46 +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
Anatol Belski cfe577fb86 revert workaround for bug #74489 as it's fixed in the dependency lib 2017-05-14 01:47:40 +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
Sara Golemon 90bd4be3f9 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Remove typo from test header
2017-05-10 16:50:37 -07:00
Sara Golemon b8e0351978 Remove typo from test header 2017-05-10 16:50:19 -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 05c90e5994 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed tests when using cumstom php.ini(session.save_handler)
  Fix Bug #74541 Wrong reflection on session_start()
2017-05-09 11:14:40 +08:00
Xinchen Hui 1b22e9dc2e Fixed tests when using cumstom php.ini(session.save_handler) 2017-05-09 11:13:41 +08:00
Xinchen Hui d40a852919 Merge branch 'fix_74541' of https://github.com/villfa/php-src into PHP-7.0
* 'fix_74541' of https://github.com/villfa/php-src:
  Fix Bug #74541 Wrong reflection on session_start()
2017-05-09 11:04:39 +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
Xinchen Hui 15dbe775d1 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix typo: exectute => execute
2017-05-09 11:01:52 +08:00
Xinchen Hui 99549ce79c Merge branch 'patch-1' of https://github.com/ifdattic/php-src into PHP-7.0
* 'patch-1' of https://github.com/ifdattic/php-src:
  Fix typo: exectute => execute
2017-05-09 11:01:33 +08:00
Fabien Villepinte b39c70b4a7 Fix Bug #74541 Wrong reflection on session_start() 2017-05-08 22:42:09 +02: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 72073228ca Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  sync bin sdk version
2017-05-08 19:39:56 +02:00
Anatol Belski 1a06fae543 sync bin sdk version 2017-05-08 19:38:48 +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
Anatol Belski 83033f0b32 [ci skip] update libs_versions.txt 2017-05-08 13:11:12 +02:00
Anatol Belski bdd66e1492 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  [ci skip] update libs versions file
2017-05-08 13:10:48 +02:00
Anatol Belski ca870dfee7 [ci skip] update libs versions file 2017-05-08 13:10:13 +02:00
Andrew Marcinkevičius abad134681 Fix typo: exectute => execute 2017-05-08 13:59:05 +03: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 2d30bc96a1 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed another potential dangling pointer
2017-05-08 11:36:29 +08:00
Xinchen Hui b966a8b5fa Fixed another potential dangling pointer 2017-05-08 11:36:07 +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 62c1edf535 Update NEWS 2017-05-08 11:32:42 +08:00
Xinchen Hui 2c070847e7 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #74546 (SIGILL in ZEND_FETCH_CLASS_CONSTANT_SPEC_CONST_CONST_HANDLER())
2017-05-08 11:32:27 +08:00
Xinchen Hui 87d56a3d07 Fixed bug #74546 (SIGILL in ZEND_FETCH_CLASS_CONSTANT_SPEC_CONST_CONST_HANDLER()) 2017-05-08 11:32:08 +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 5dafb523fd [ci skip] update NEWS 2017-05-07 13:05:47 +02:00
Anatol Belski 6658b437ae Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  [ci skip] update NEWS
2017-05-07 13:05:10 +02:00
Anatol Belski 5c957b502e [ci skip] update NEWS 2017-05-07 13:04:21 +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
Anatol Belski 378f785515 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #74547 mysqli::change_user() doesn't accept null as $database argument w/strict_types
2017-05-06 15:10:16 +02:00
Anatol Belski 561f1afe6e Fixed bug #74547 mysqli::change_user() doesn't accept null as $database argument w/strict_types 2017-05-06 15:06:34 +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 4b3a11b329 [ci skip] update NEWS 2017-05-02 14:54:42 +02:00
Anatol Belski 476b7f1667 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  [ci skip] update NEWS
2017-05-02 14:54:17 +02:00
Anatol Belski 622dc2a611 [ci skip] update NEWS 2017-05-02 14:53:32 +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 64adba3b3f Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #51918 Phar::webPhar() does not handle requests sent through PUT and DELETE method
2017-05-02 14:46:15 +02:00
Christian Weiske c0c0871911 Fixed bug #51918 Phar::webPhar() does not handle requests sent through PUT and DELETE method
phar: Support DELETE, HEAD and PUT HTTP methods in Phar::webPhar

Up to now only GET and POST requests could be handled with Phar::webPhar(),
which is insufficient for today's REST APIs.
This patch expands the list of supported HTTP methods.
2017-05-02 14:44:47 +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 7431d6dda6 [ci skip] update NEWS 2017-05-02 12:39:10 +02:00
Anatol Belski f97607027a Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  [ci skip] update NEWS
2017-05-02 12:38:40 +02:00
Anatol Belski 36c53036e7 [ci skip] update NEWS 2017-05-02 12:38:04 +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
Anatol Belski 3d9563b8b2 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #74510 win32/sendmail.c anchors CC header but not BCC
2017-05-02 12:32:40 +02:00
Anatol Belski 20a608d9da Fixed bug #74510 win32/sendmail.c anchors CC header but not BCC 2017-05-02 12:31:00 +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 6bd30e8f1a Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix bug #74457 Wrong reflection on XMLReader::expand
2017-05-02 06:25:21 +01:00
Fabien Villepinte 4c0e50c88a Fix bug #74457 Wrong reflection on XMLReader::expand 2017-05-02 06:24:46 +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
Joe Watkins 2735318c7b Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix bug #74468 wrong reflection on Collator::sortWithSortKeys
2017-05-02 06:21:54 +01:00
Fabien Villepinte f50df1d0e3 Fix bug #74468 wrong reflection on Collator::sortWithSortKeys 2017-05-02 06:20:40 +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
Anatol Belski 023cbdb2ca Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Tests to ensure BC with undocumented behavior used in hacks
2017-05-01 18:06:09 +02:00
Anatol Belski a581e64199 Tests to ensure BC with undocumented behavior used in hacks
Should become obsolete, once behaviors change.
2017-05-01 18:01: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
Nikita Popov e3f411c9f7 Merge branch 'PHP-7.0' into PHP-7.1 2017-05-01 12:15:41 +02:00
Nikita Popov 1967950dc3 Fix typo in SplFixedArray has_dimension implementation 2017-05-01 12:15:26 +02:00
Jakub Zelenka 2bce80150f Merge branch 'PHP-7.1' 2017-04-30 20:28:38 +01:00
Jakub Zelenka 9622a3be43 Merge branch 'PHP-7.0' into PHP-7.1 2017-04-30 20:27:39 +01:00
Michael Heimpold d9dfac90bf Fix compiler warnings when compiled against musl libc
musl libc is complaining when <sys/poll.h> is used instead of <poll.h>
so change this.

This issue was reported for OpenWrt/LEDE where musl libc is the standard
C library instead of e.g. glibc, see the following link for the original PR:
https://github.com/openwrt/packages/pull/4263

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Signed-off-by: Michael Heimpold <mhei@heimpold.de>

--

v3: refined checks/fallback paths as suggested by @bukka

v2: rebased to resolve merge conflict in main/php_network.h

v1: initial PR
2017-04-30 20:24:56 +01:00
Jakub Zelenka dccf487b2d Merge branch 'PHP-7.1' 2017-04-30 19:47:23 +01:00
Jakub Zelenka 6028fe511e Fix bug #73808 (iv length warning too restrictive for aes-128-ccm) 2017-04-30 19:46:27 +01:00
Andrea Faulds a398e3e72d Merge branch 'PHP-7.1' 2017-04-29 16:12:55 +01:00
Andrea Faulds 9891b9ede2 Test ReflectionType support of iterable 2017-04-29 16:12:46 +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 c436fe2426 Merge branch 'PHP-7.0' into PHP-7.1 2017-04-27 15:45:31 +01:00
Jakub Zelenka a0b9554f94 Fix possible memory leak in openssl_encrypt and openssl_decrypt 2017-04-27 15:44:26 +01:00
Jakub Zelenka 2a6f0b8e61 Merge branch 'PHP-7.1' 2017-04-27 15:13:26 +01:00
Jakub Zelenka d83d5f4198 Merge branch 'PHP-7.0' into PHP-7.1 2017-04-27 15:11:52 +01:00
Jakub Zelenka 7b392c7154 Prefer using DIRECTORY_SEPARATOR in OpenSSL config path 2017-04-27 15:10:55 +01:00
Jakub Zelenka e7166ea9be Add oid_section to the testing openssl.cnf
It tests repeated OID addition
2017-04-27 15:09:58 +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 9a07e9e1f8 [ci skip] update NEWS 2017-04-27 11:43:13 +02:00
Anatol Belski 38a65d5ef9 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  [ci skip] update NEWS
2017-04-27 11:39:14 +02:00
Anatol Belski e67096dbbb [ci skip] update NEWS 2017-04-27 11:35:00 +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 392bcba58d Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Revert "Detect invalid port in xp_socket parse ip address"
  Revert "Follow up patch regarding bug #74216, see bug #74429"
2017-04-27 11:11:41 +02:00
Anatol Belski 09ef61e3ca Revert "Detect invalid port in xp_socket parse ip address"
This reverts commit bab0b99f37.
2017-04-27 02:49:12 +02:00
Anatol Belski bf3e2dce7b Revert "Follow up patch regarding bug #74216, see bug #74429"
This reverts commit cda7dcf4ca.
2017-04-27 02:49:01 +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
Anatol Belski 66dbeb81ba Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  sync bin sdk version
2017-04-26 17:05:56 +02:00
Anatol Belski 36301bd615 sync bin sdk version 2017-04-26 17:04:29 +02:00
Jakub Zelenka f29e90ff75 Merge branch 'PHP-7.1' 2017-04-26 15:01:27 +01:00
Jakub Zelenka a1e74a9e0e Merge branch 'PHP-7.0' into PHP-7.1 2017-04-26 15:00:49 +01:00
Jakub Zelenka c0203c0ceb Do not add already added object to the internal OpenSSL table
This fixes OpenSSL 1.1 where adding object with OID that has been
already added causes an error - preventing of duplication.
2017-04-26 14:59:15 +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 3f6d9fe9cc Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  rely on bundle config, instead of system one
2017-04-26 14:41:54 +02:00
Remi Collet f639b64dca rely on bundle config, instead of system one 2017-04-26 14:41:40 +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 7962185ded Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  skip the test on OpenSSL < 1.1 for now
2017-04-26 14:39:14 +02:00
Anatol Belski 8cfaea656c skip the test on OpenSSL < 1.1 for now 2017-04-26 14:39:03 +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
Joe Watkins 91a0d48675 bump version after release 2017-04-25 16:49:20 +01: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
2565 changed files with 325759 additions and 170537 deletions

No files matched your search

+4 -3
View File
@@ -1,7 +1,7 @@
version: "{branch}.build.{build}"
image: Visual Studio 2015
image: Visual Studio 2017
branches:
except:
@@ -24,7 +24,8 @@ environment:
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.0.1
PHP_BUILD_SDK_BRANCH: php-sdk-2.0.4
PHP_BUILD_CRT: vc15
# ext and env setup for tests
#MYSQL_TEST_PASSWD: Password12!
#MYSQL_TEST_USER: root
@@ -43,7 +44,7 @@ environment:
services:
# the setup scripts have to be touched, once some other db version is used
- mysql
- postgresql95
- postgresql96
platform:
- x64
+3 -1
View File
@@ -56,7 +56,6 @@ config.cache
config.h.in
config.log
config.nice
config.nice.bat
config.status
config.sub
config_vars.mk
@@ -174,6 +173,7 @@ tests/*/*/*.sh
# Extension specifc ignores
ext/*/configure.in
ext/*/configure.ac
ext/*/ltmain.sh
ext/*/libs.mk
ext/*/build
@@ -214,6 +214,7 @@ ext/mssql/Makefile.global
ext/mssql/acinclude.m4
ext/mssql/config.sub
ext/mssql/configure.in
ext/mssql/configure.ac
ext/mssql/ltmain.sh
ext/mysql/weztest.sqlite
ext/oci8/tests/*.tmp
@@ -285,3 +286,4 @@ win32/*.positions
win32/ext
win32/phpts.def
win32/wsyslog.h
config.*.bat
+11 -5
View File
@@ -8,7 +8,6 @@ addons:
- re2c
- libgmp-dev
- libicu-dev
- libmcrypt-dev
- libtidy-dev
- libenchant-dev
- libaspell-dev
@@ -29,8 +28,9 @@ notifications:
on_success: change
on_failure: always
cache:
- apt
cache:
apt: true
ccache: true
env:
global:
@@ -46,9 +46,12 @@ env:
- ENABLE_MAINTAINER_ZTS=1 ENABLE_DEBUG=1
before_script:
- ccache --version
- ccache --zero-stats
- export USE_CCACHE=1
# Compile PHP
- ./travis/compile.sh
# Setup Extensions
# Setup Extensions
- . ./travis/ext/mysql/setup.sh
- . ./travis/ext/mysqli/setup.sh
- . ./travis/ext/pdo_mysql/setup.sh
@@ -57,4 +60,7 @@ before_script:
# Run PHPs run-tests.php
script:
- ./sapi/cli/php run-tests.php -p `pwd`/sapi/cli/php $(if [ $ENABLE_DEBUG == 1 ]; 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
+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 mid-2017, the lowest supported version is
PHP 7.0, which corresponds to the `PHP-7.0` 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
+7 -6
View File
@@ -262,6 +262,12 @@ PRIMARY MAINTAINER: Derick Rethans <derick@php.net>
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>
MAINTENANCE: Maintained
@@ -281,7 +287,7 @@ STATUS: Working
SINCE: 5.2
-------------------------------------------------------------------------------
EXTENSION: ftp
PRIMARY MAINTAINER: Stefan Esser <sesser@php.net>
PRIMARY MAINTAINER: Unknown
MAINTENANCE: Odd fixes
STATUS: Working
-------------------------------------------------------------------------------
@@ -338,11 +344,6 @@ PRIMARY MAINTAINER: Rui Hirokawa <hirokawa@php.net>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: mcrypt
PRIMARY MAINTAINER: Derick Rethans <derick@derickrethans.nl>
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: opcache
PRIMARY MAINTAINER: Dmitry Stogov <dmitry@zend.com>, Xinchen Hui <laruence@php.net>
MAINTENANCE: Maintained
+178 -3079
View File
File diff suppressed because it is too large. Load diff
+11 -6
View File
@@ -38,21 +38,26 @@ 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-7.1 Is used to release the PHP 7.1.x series. This is a prerelease
version.
PHP-7.0 Is used to release the PHP 7.0.x series. This is a current
stable version and is open for bugfixes only.
PHP-5.6 Is used to release the PHP 5.6.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
stable version and is open for security fixes only.
PHP-5.5 This branch is closed.
PHP-5.4 Is used to release the PHP 5.4.x series. This is an old
stable version and is open for security fixes only.
PHP-5.4 This branch is closed.
PHP-5.3 This branch is closed.
+1 -1
View File
@@ -18,7 +18,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);
+48 -28
View File
@@ -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,11 +97,11 @@ 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
@@ -110,12 +110,31 @@ those are made, they should be placed into the same directory as the source snap
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. Commit and push changes to qa and web
*Wait for web and qa sites to update with new information before sending announce*
4. Send an email **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**
5. Send an email (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
can make sure their projects keep working. Make sure that you have been setup
@@ -126,25 +145,6 @@ 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.
@@ -152,7 +152,7 @@ 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,
@@ -315,3 +315,23 @@ 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.
New Release Manager Checklist
-----------------------------
1. Email systems@ to get setup for access to downloads.php.net
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 eding 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.
-174
View File
@@ -1,174 +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?
+32 -16
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, ...);
@@ -120,6 +121,8 @@ static int32 tls_key;
# 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)
{
@@ -136,6 +139,9 @@ TSRM_API int tsrm_startup(int expected_threads, int expected_resources, int debu
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;
@@ -158,8 +164,6 @@ 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;
}
@@ -170,6 +174,11 @@ 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;
@@ -212,6 +221,12 @@ 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;
}
@@ -318,15 +333,6 @@ TSRM_API void *ts_resource_ex(ts_rsrc_id id, THREAD_T *th_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
@@ -380,9 +386,6 @@ 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
@@ -752,6 +755,14 @@ TSRM_API void *tsrm_set_new_thread_end_handler(tsrm_thread_end_func_t new_thread
}
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
@@ -803,4 +814,9 @@ 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;
}
#endif /* ZTS */
+3
View File
@@ -128,6 +128,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 +146,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,6 +155,7 @@ 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);
#ifdef TSRM_WIN32
# define TSRM_TLS __declspec(thread)
+3 -3
View File
@@ -30,14 +30,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
$(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,6 +1,6 @@
dnl $Id$
dnl
dnl Minimalistic configure.in for TSRM.
dnl Minimalistic configure.ac for TSRM.
dnl
AC_INIT(TSRM.c)
+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"
-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
-240
View File
@@ -1,240 +0,0 @@
/*
+----------------------------------------------------------------------+
| PHP Version 7 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2017 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 */
+22 -21
View File
@@ -107,33 +107,30 @@ TSRM_API void tsrm_win32_shutdown(void)
#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;
}
@@ -208,6 +205,7 @@ 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;
@@ -295,14 +293,14 @@ TSRM_API int tsrm_win32_access(const char *pathname, int mode)
if (CWDG(realpath_cache_size_limit)) {
t = time(0);
bucket = realpath_cache_lookup(pathname, (int)strlen(pathname), t);
bucket = realpath_cache_lookup(pathname, 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);
bucket = realpath_cache_lookup(pathname, strlen(pathname), t);
PHP_WIN32_IOUTIL_REINIT_W(pathname);
}
}
@@ -425,7 +423,7 @@ static process_pair *process_get(FILE *stream)
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;
@@ -638,17 +636,13 @@ TSRM_API int pclose(FILE *stream)
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 +651,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;
}
+5 -4
View File
@@ -26,9 +26,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 +40,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 +95,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,7 +106,7 @@ 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);
+213 -427
View File
@@ -1,4 +1,4 @@
PHP 7.1 UPGRADE NOTES
PHP 7.2 UPGRADE NOTES
1. Backward Incompatible Changes
2. New Features
@@ -20,262 +20,201 @@ PHP 7.1 UPGRADE NOTES
========================================
- Core:
. 'void' can no longer be used as the name of a class, interface, or trait.
This applies to declarations, class_alias() and use statements.
. 'iterable' can no longer be used as the name of a class, interface, or
trait. This applies to declarations, class_alias() and use statements.
(RFC: https://wiki.php.net/rfc/iterable)
. (int), intval() where $base is 10 or unspecified, settype(), decbin(),
decoct(), dechex(), integer operators and other conversions now always
respect scientific notation in numeric strings.
(RFC: https://wiki.php.net/rfc/invalid_strings_in_arithmetic)
. The ASCII 0x7F Delete control character is no longer permitted in unquoted
identifiers in source code.
. The following functions may no longer be called dynamically using $func(),
call_user_func(), array_map() or similar:
. extract()
. compact()
. get_defined_vars()
. func_get_args()
. func_get_arg()
. func_num_args()
. parse_str() with one argument
. mb_parse_str() with one argument
. assert() with a string argument
(RFC: https://wiki.php.net/rfc/forbid_dynamic_scope_introspection)
. If the error_log is set to syslog, the PHP error levels are mapped to the
syslog error levels. This brings finer differentiation in the error logs
in contrary to the previous approach where all the errors are loggged with
the notice level only.
. Don't call destructors of incompletely constructed objects, even if they
are kept referenced. See bug #29368 and Zend/tests/bug29368_1.phpt.
. call_user_func() will now consistently throw a warning if a function with
reference arguments is called. However, call_user_func() will no longer
abort the call in this case.
. rand() and srand() are now aliases of mt_rand() and mt_srand().
Consequently the output of the following functions has changed:
. rand()
. shuffle()
. str_shuffle()
. array_rand()
. Fixes to random number generators mean that mt_rand() now produces a
different sequence of outputs to previous versions. If you relied on
mt_srand() to produce a deterministic sequence, it can be called using
mt_srand($seed, MT_RAND_PHP) to produce the old sequences.
. URL rewriter has been improved.
. Use dedicated buffer for Session module rewrite and User rewrite.
. Full path URL rewrite is supported. Allowed domain can be specified.
$_SERVER['HTTP_HOST'] is allowed by default when host whitelist is empty.
. Use session.trans_sid_tags and session.trans_sid_hosts to control
session rewrite.
. Use url_rewriter.tags and url_rewriter.hosts to control user rewrite.
. <form>'s "action" attribute is used to check if URL rewrite is allowed
and listed under hosts whitelist.
. <fieldset> is no longer considered as a special tag. <form> is the
only tag considered special.
. Calling a function with less arguments than mandatory declared ones in
signature now issues a Fatal Error (Error Exception) instead of a Warning.
(RFC https://wiki.php.net/rfc/too_few_args).
. The error message for E_RECOVERABLE errors has been changed from "Catchable
fatal error" to "Recoverable fatal error".
. The empty index operator (e.g. $str[] = $x) is not supported for strings
anymore, and throws a fatal error instead of silently converting to array.
. Array elements or object properties that are automatically created during
by-reference assignments will now result in a different order. For example
$array = [];
$array["a"] =& $array["b"];
$array["b"] = 1;
var_dump($array);
now results in the array ["b" => 1, "a" => 1], while for PHP 7.0 the result
was ["a" => 1, "b" => 1].
. The allowed_classes element of the $options parameter of unserialize() is
now strictly typed, i.e. if anything other than an array or a boolean is
given, unserialize() returns FALSE and issues an E_WARNING.
. $this, autoglobals, and variables with the same name as a parameter can no
longer be bound to a closure via the use construct.
. gettype() will now return "resource (closed)" instead of "unknown type" for
closed resources.
. is_object() will now return true for objects of class
__PHP_Incomplete_Class.
. Support for Netware operating systems have been removed.
. Casting arrays to objects (with (object) or settype()) will now covert
integer keys to string property names. This fixes the behaviour of previous
versions, where integer keys would become inaccessible properties with
integer names.
. Casting objects to arrays (with (array) or settype()), and retrieving
object properties in an array with get_object_vars(), will now convert
numeric string property names (that is, property names of the format
/^(0|(-?[1-9][0-9]*))$/ where PHP_INT_MIN <= n <= PHP_INT_MAX) to integer
keys. This fixes the behaviour of previous versions, where numeric string
property names would become inaccessible string keys.
. Unqualified references to undefined constants now generate a Warning instead
of a notice. They will generate an Error in a future version of PHP.
(https://wiki.php.net/rfc/deprecate-bareword-strings)
. Minimum supported Windows versions are Windows 7/Server 2008 R2.
. Initial trait property value compatibility check will no longer perform
any casts. (Bug #74269)
- JSON:
. The serialize_precision is used instead of precision when encoding double
values.
. An empty key is decoded as an empty property name instead of using _empty_
property name when decoding object to stdClass.
. When calling json_encode with JSON_UNESCAPED_UNICODE option, U+2028 and
U+2029 are escaped.
- BCMath:
. The bcmod() function no longer truncates fractional numbers to integers. As
such, its behavior now follows fmod() rather than the `%` operator. For
example `bcmod('4', '3.5')` now returns '0.5' instead of '1'.
- mbstring:
. mb_ereg() and mb_eregi() will now set the $regs argument to an empty array,
if nothing matched. Formerly, $regs was not modified in that case.
- Hash:
. The hash_hmac(), hash_hmac_file() and hash_pbkdf2() functions no longer
accept non-cryptographic hashes.
- OpenSSL:
. Dropped sslv2 stream.
- JSON
. The json_decode() option JSON_OBJECT_AS_ARRAY is used if the second
parameter (assoc) is null. Previously JSON_OBJECT_AS_ARRAY was always
ignored.
- Session:
. Session ID is generated from CSPRNG directly. As a result, Session ID length
could be any length between 22 and 256. Note: Max size of session ID depends
on save handler you are using.
. Following INIs are removed
. session.hash_function
. session.hash_bits_per_character
. session.entropy_file
. session.entropy_length
. New INIs and defaults
. session.sid_length (Number of session ID characters - 22 to 256.
php.ini-* default: 26 Compiled default: 32)
. session.sid_bits_per_character (Bits used per character - 4 to 6.
php.ini-* default: 5 Compiled default: 4)
. Length of old session ID string is determined as follows
. Used hash function's bits.
. session.hash_function=0 - MD5 128 bits (This was default)
. session.hash_function=1 - SHA1 160 bits
. Bits per character. (4, 5 or 6 bits per character)
. Examples
MD5 and 4 bits = 32 chars, ceil(128/4)=32
MD5 and 5 bits = 26 chars, ceil(128/5)=26
MD5 and 6 bits = 22 chars, ceil(128/6)=22
SHA1 and 4 bits = 40 chars, ceil(160/4)=40
SHA1 and 5 bits = 32 chars, ceil(160/5)=32
SHA1 and 6 bits = 27 chars, ceil(160/6)=27
and so on.
. session_start() returns FALSE and no longer initializes $_SESSION when
it failed to start session.
. Removed register_globals related code and "!" can be used as $_SESSION key name.
. Session is made to manage session status correctly and prevents invalid operations.
Only inappropriate codes are affected by this change. If you have problems with this,
it means you have problem in your code.
. Functions are made to set or return correct session status.
session_start(), session_status(), session_regenerate_id()
. Functions are made to return bool from null. These functions have void parameter
and void parameter is checked.
session_unset(), session_write_close()/session_commit(), session_abort(),
session_reset()
. Functions prohibit invalid operations with regard to session status and
HTTP header status, returns correct bool return value.
session_start(), session_set_cookie_params(), session_name(), session_module_name(),
session_set_save_handler(), session_regenerate_id(), session_cache_limiter(),
session_cache_expire(), session_unset(), session_destroy(),
session_write_close()/session_commit(), session_reset()
. INI value change by ini_set() returns update status correctly. Invalid INI modifications
are checked and made to fail.
session.name, session.save_path, session.cookie_lifetime, session.cookie_path,
session.cookie_domain, session.cookie_httponly, session.cookie_secure,
session.use_cookies, session.use_only_cookies, session.use_strict_mode,
session.referer_check, session.cache_limiter, session.cache_expire,
session.lazy_write, session.save_handler, session.serialize_handler,
session.gc_probability, session.gc_divior, session.gc_maxlifetime,
. Some E_ERRORs are changed to E_WARNING since session status is managed correctly.
session_start()
. Session no longer initialize $_SESSION for invalid and useless session.
session_start()
- Reflection:
. The behavior of ReflectionMethod::invoke() and ::invokeArgs() has been
aligned, which causes slightly different behavior than before for some
pathological cases.
========================================
2. New Features
========================================
- Core
. Added void return type, which requires that a function not return a value.
(RFC: https://wiki.php.net/rfc/void_return_type)
. Added iterable pseudo-type accepting any array or object implementing
Traversable.
(RFC: https://wiki.php.net/rfc/iterable)
. String offset access now supports negative references, which will be
counted from the end of the string.
(RFC: https://wiki.php.net/rfc/negative-string-offsets)
. Added a form of the list() construct where keys can be specified.
(RFC: https://wiki.php.net/rfc/list_keys)
. Added [] = as alternative construct to list() =.
(RFC: https://wiki.php.net/rfc/short_list_syntax)
. Number operators taking numeric strings now emit "A non well formed numeric
value encountered" E_NOTICEs for leading-numeric strings, and "A
non-numeric value encountered" E_WARNINGs for non-numeric strings.
This always applies to the +, -, *, /, **, %, << and >> operators, and
their assignment counterparts +=, -=, *=, /=, **=, %=, <<= and >>=.
For the bitwise operators |, & and ^, and their assignment counterparts
|=, &= and ^=, this only applies where only one operand is a string.
Note that this never applies to the bitwise NOT operator, ~, which does not
handle numeric strings, nor to the increment and decrement operators
++ and --, which have a unique approach to handling numeric strings.
(RFC: https://wiki.php.net/rfc/invalid_strings_in_arithmetic)
. Closure::fromCallable (RFC: https://wiki.php.net/rfc/closurefromcallable)
. Added support for class constant visibility modifiers.
(RFC: https://wiki.php.net/rfc/class_const_visibility)
. TypeError messages for arg_info type checks will now say "must be ...
or null", or "must ... or be null" where the parameter or return type
accepts null. arg_info type checks are used by all userland functions with
type declarations, and some internal functions. Both nullable type
declarations (?int) and parameters with default values of null
(int $foo = NULL) are considered to "accept null" for this purpose.
. The simple syntax for variable parsing inside of string literals now
supports negative offsets.
- Core:
. It is now possible to remove argument type annotations when overriding an
inherited method. This complies with contravariance of method argument types
under the Liskov Substitution Principle.
(https://wiki.php.net/rfc/parameter-no-type-variance)
. It is now allowed to override an abstract method with another abstract
method in a child class.
(https://wiki.php.net/rfc/allow-abstract-function-override)
. A trailing comma in group use statements is now allowed.
(https://wiki.php.net/rfc/list-syntax-trailing-commas)
- PCRE:
. Added `J` modifier for setting PCRE_DUPNAMES.
. Added `PREG_UNMATCHED_AS_NULL` flag to allow distinguish between unmatched
subpatterns and empty matches by reporting NULL and "" (empty string),
respectively.
- Standard:
. Simplified password hashing API updated to support Argon2i hashes when PHP is compiled with libargon2
(https://wiki.php.net/rfc/argon2_password_hash).
. proc_nice() is now supported on Windows platforms.
- Zip:
. read/write encrypted archive, relying on libzip 1.2.0,
using new methods:
ZipArchive::setEncryptionName($name, $method [, $password]);
ZipArchive::setEncryptionIndex($index, $method [, $password]);
and new constants:
ZipArchive::EM_NONE
ZipArchive::EM_AES_128
ZipArchive::EM_AES_192
ZipArchive::EM_AES_256
. accept 'password' from zip stream context
========================================
3. Changes in SAPI modules
========================================
- apache2handler:
. Implemented per module logging.
. Implemented error level mapping between PHP and Apache for the error logs.
========================================
4. Deprecated Functionality
========================================
- 'e' option of mb_ereg_replace() and mb_eregi_replace().
- ext/mcrypt is now fully deprecated.
All the deprecated functionality listed in the following will be removed in
PHP 8.0.
- Core:
. The trace_errors ini directive has been deprecated.
. The __autoload() mechanism has been deprecated, use spl_autoload_register()
instead.
. The (unset) cast has been deprecated. This does not affect the unset($var)
language construct.
. The create_function() function has been deprecated, use anonymous functions
instead.
. The each() function has been deprecated, use a foreach loop instead.
- GD:
. png2wbmp() and jpeg2wbmp() have been deprecated.
- GMP:
. The gmp_random() function has been deprecated, use gmp_random_bits() or
gmp_random_range() instead.
- Intl:
. INTL_IDNA_VARIANT_2003 has been deprecated; use INTL_IDNA_VARIANT_UTS46
instead.
- Mbstring:
. The mbstring.func_overload ini directive has been deprecated.
- Standard:
. Calling parse_str() without the result argument has been deprecated.
. Calling assert() with a string argument has been deprecated, use an ordinary
expression instead.
See also: https://wiki.php.net/rfc/deprecations_php_7_2
========================================
5. Changed Functions
========================================
- get_headers() has an extra parameter which allows passing a custom stream
context.
- The first $varname argument for getenv() is no longer mandatory, the
current environment variables will be returned as an associative array
when omitted.
- json_encode() accepts new option JSON_UNESCAPED_LINE_TERMINATORS that
disables escaping of U+2028 and U+2029 characters when
JSON_UNESCAPED_UNICODE is supplied.
- long2ip() accepts integer as parameter now
- openssl_encrypt and openssl_decrypt have extra parameters for handling
authenticated encryption (tag, aad, tag_length) and decryption (tag, aad).
- pg_last_notice() accepts optional long parameter to specify operation.
PGSQL_NOTICE_LAST - Get last notice (Default)
PGSQL_NOTICE_ALL - Get all stored notices
PGSQL_NOTICE_CLEAR - Remove all stored notices
It returns empty string or array on successful PGSQL_NOTICE_LAST/ALL calls.
It returned FALSE for empty notice previously.
- pg_fetch_all() accepts 2nd optional result type parameter like
pg_fetch_row().
- pg_select() accepts 4th optional result type parameter like pg_fetch_row().
- parse_url() is more restrictive now and supports RFC3986.
- unpack() accepts an additional optional $offset argument. '@' format code
(that specifes an absolute position) is applyed to input data after
the $offset argument.
- strpos(), stripos(), substr_count(), grapheme_strpos(), grapheme_stripos(),
grapheme_extract(), iconv_strpos(), mb_strimwidth(), mb_ereg_search_setpos(),
mb_strpos() and mb_stripos() now accept negative string offsets.
- substr_count() and mb_strimwidth() additionally also accept negative length.
- file_get_contents() accepts a negative seek offset if the stream is seekable.
- tempnam() throws a notice when failing back to the system temp dir.
- getopt() has an extra by-ref parameter : optind
- mb_ereg() and mb_ereg_replace() reject illegal byte sequences.
- FILTER_FLAG_EMAIL_UNICODE can be used with filter_var() for email validation
according to RFC 6531.
- output_reset_rewrite_vars() no longer reset session URL rewrite vars.
- the lasinsertid() in pdo_pgsql extension triggers an error, when no nextval()
were called in in the current session.
- fopen()
Since 7.1.2, mode 'e' was added, which sets the close-on-exec flag
on the opened file descriptor. This mode is only available in PHP compiled on
POSIX.1-2008 conform systems.
- Standard:
. password_hash() can generate Argon2i hashes when the algorithm is set to PASSWORD_ARGON2I.
When using PASSWORD_ARGON2I, the following cost factors may be set: 'memory_cost', 'time_cost',
and 'threads'. These cost factors will default to 'PASSWORD_ARGON2_DEFAULT_MEMORY_COST',
'PASSWORD_ARGON2_DEFAULT_TIME_COST', and 'PASSWORD_ARGON2_DEFAULT_THREADS' respectively if not set.
. password_verify() can verify Argon2i hashes.
. password_get_info() and password_needs_rehash() can accept Argon2i hashes.
. mail()/mb_send_mail() accept array $extra_header. Array parameter is checked against RFC 2822.
Array format is
$extra_headers = [
'Header-Name' => 'Header value',
'Multiple' => ['One header', 'Another header'],
'Multiline' = "FirstLine\r\n SecondLine",
];
. count() now raises a warning when an invalid parameter is passed.
Only arrays and objects implementing the Countable interface should be passed.
. pack() and unpack() now support float and double in both little and big endian.
. number_format() ensures zero values never contain a negative sign.
- XML:
. utf8_encode() and utf8_decode() have been moved to the Standard extension
as string functions.
========================================
6. New Functions
========================================
- Core:
. Added sapi_windows_cp_set(), sapi_windows_cp_get(), sapi_windows_cp_is_utf8(),
sapi_windows_cp_conv() for codepage handling.
. Added stream_isatty().
. Added sapi_windows_vt100_support().
- cURL:
. Added curl_multi_errno() and curl_share_errno() to return the last error
number of curl_multi and curl_share resources.
. Added curl_share_strerror() to convert error code to error message text
describing the error.
- GD:
. Added imagesetclip() and imagegetclip().
. Added imageopenpolygon().
. Added imageresolution().
. Added imagecreatefrombmp() and imagebmp().
- Hash:
. In PHP 7.1.2: Added hash_hkdf() function, which implements the HMAC-based
Key Derivation Function (HKDF) algorithm according to RFC 5869. The
implementation combines the Extract and Expand steps.
- Mbstring:
. Added mb_chr() and mb_ord().
. Added mb_scurb() that scrub broken multibyte strings.
- pcntl:
. Added pcntl_signal_get_handler() that returns the current signal handler
for a particular signal.
- Session:
. Added session_gc() that performs session data garbage collection.
https://wiki.php.net/rfc/session-gc
. Added session_create_id() for creating custom session ID.
https://wiki.php.net/rfc/session-create-id
- Standard:
. Added is_iterable() that determines if a value will be accepted by the new
iterable pseudo-type.
- Sockets:
. Added socket_addrinfo_lookup(), socket_addrinfo_connect(),
socket_addrinfo_bind() and socket_addrinfo_explain().
========================================
7. New Classes and Interfaces
@@ -285,151 +224,73 @@ PHP 7.1 UPGRADE NOTES
8. Removed Extensions and SAPIs
========================================
- Mcrypt:
. The deprecated mcrypt extension has been moved to PECL.
. libmcrypt has not been maintained since 2007 and the continued use of this
extension is strongly discouraged.
. Users are advised to use alternatives such as OpenSSL or libsodium.
========================================
9. Other Changes to Extensions
========================================
- Date:
. Invalid serialization data for a DateTime or DatePeriod object will now
throw an instance of Error from __wakeup() or __set_state() instead of
resulting in a fatal error.
. Timezone initialization failure from serialized data will now throw an
instance of Error from __wakeup() or __set_state() instead of resulting in
a fatal error.
. DateTime and DateTimeImmutable now properly incorporate microseconds when
constructed from the current time, either explicitly or with a relative
string (e.g. "first day of next month"). This means that naive comparisons
of two newly created instances will now more likely return FALSE instead of
TRUE:
new DateTime() == new DateTime();
- DBA:
. Data modification functions (e.g.: dba_insert()) now throw an instance of
Error instead of triggering a catchable fatal error if the key does not
contain exactly two elements.
- DOM:
. Invalid schema or RelaxNG validation contexts will throw an instance of
Error instead of resulting in a fatal error.
. Attempting to register a node class that does not extend the appropriate
base class will now throw an instance of Error instead of resulting in a
fatal error.
. Attempting to read an invalid or write to a readonly property will throw
an instance of Error instead of resulting in a fatal error.
- EXIF:
. Added extended exif tag support for the following formats:
Samsung, DJI, Panasonic, Sony, Pentax, Minolta, Sigma/Foveon,
AGFA, Kyocera, Ricoh & Epson.
- GD:
. Changed the default of the ini setting gd.jpeg_ignore_warning to 1.
. Removed --enable-gd-native-ttf configuration option which was unused as
of PHP 5.5.0 anyway.
. imagegd() stores truecolor images as real truecolor images. Formerly, they
have been converted to palette.
. imageantialias() is now also available if compiled with a system libgd.
- IMAP:
. An email address longer than 16385 bytes will throw an instance of Error
instead of resulting in a fatal error.
- Intl:
. Failure to call the parent constructor in a class extending Collator
before invoking the parent methods will throw an instance of Error
instead of resulting in a recoverable fatal error.
. Cloning a Transliterator object may will now throw an instance of Error
instead of resulting in a fatal error if cloning the internal
transliterator fails.
- Mbstring
. mb_check_encoding() accepts array parameter. Both key and value
encodings are checked recursively.
. mb_convert_encoding() accepts array parameter. Only value encodings
are converted recursively.
- LDAP:
. Providing an unknown modification type to ldap_batch_modify() will now
throw an instance of Error instead of resulting in a fatal error.
- Mbstring:
. mb_ereg() and mb_eregi() will now throw an instance of ParseError if an
invalid PHP expression is provided and the 'e' option is used.
- Mcrypt:
. mcrypt_encrypt() and mcrypt_decrypt() will throw an instance of Error
instead of resulting in a fatal error if mcrypt cannot be initialized.
- Mysqli:
. Attempting to read an invalid or write to a readonly property will throw
an instance of Error instead of resulting in a fatal error.
- PDO_Firebird
As of PHP 7.1.2, the fetched data for integer fields is aware of the Firebird
datatypes. Previously all integers was fetched as strings, starting with
aforementioned PHP version integer fields are translated to the PHP integer
datatype. The 64-bit integers are still fetched as strings in 32-bit PHP
builds.
- Reflection:
. Failure to retrieve a reflection object or retrieve an object property
will now throw an instance of Error instead of resulting in a fatal error.
- Session:
. Custom session handlers that do not return strings for session IDs will
now throw an instance of Error instead of resulting in a fatal error
when a function is called that must generate a session ID.
. Only CSPRNG is used to generate session ID.
- SimpleXML:
. Creating an unnamed or duplicate attribute will throw an instance of Error
instead of resulting in a fatal error.
- SPL:
. Attempting to clone an SplDirectory object will throw an instance of Error
instead of resulting in a fatal error.
. Calling ArrayIterator::append() when iterating over an object will throw an
instance of Error instead of resulting in a fatal error.
- SQLite3:
. Upgraded bundled SQLite lib to 3.13.0
- Standard:
. assert() will throw a ParseError when evaluating a string given as the first
argument if the PHP code is invalid instead of resulting in a catchable
fatal error.
. Calling forward_static_call() outside of a class scope will now throw an
instance of Error instead of resulting in a fatal error.
- Tidy:
. Creating a tidyNode manually will now throw an instance of Error instead of
resulting in a fatal error.
- WDDX:
. A circular reference when serializing will now throw an instance of Error
instead of resulting in a fatal error.
- XML-RPC:
. A circular reference when serializing will now throw an instance of Error
instead of resulting in a fatal error.
- Zip:
. ZipArchive::addGlob() will throw an instance of Error instead of resulting
in a fatal error if glob support is not available.
- pdo_sqlite
. Use sqlite3_prepare_v2() and sqlite3_close_v2() functions instead of their
legacy counterparts.
========================================
10. New Global Constants
========================================
- Core:
. PHP_FD_SETSIZE
. PHP_FLOAT_DIG number of decimal digits, that can be rounded into a
float and back without precision loss
. PHP_FLOAT_EPSILON smallest representable positive number x, so then
x + 1.0 != 1.0
. PHP_FLOAT_MIN min representable float number
. PHP_FLOAT_MAX max representable float number
. PHP_OS_FAMILY current operating system family
- JSON:
. JSON_UNESCAPED_LINE_TERMINATORS
- Fileinfo:
. FILEINFO_EXTENSION include list of possible file extensions
- Pgsql:
PGSQL_NOTICE_LAST
PGSQL_NOTICE_ALL
PGSQL_NOTICE_CLEAR
- GD:
. IMG_EFFECT_MULTIPLY
. IMG_BMP
- PCRE
. PREG_UNMATCHED_AS_NULL
- Standard:
. IMAGETYPE_WEBP
. PASSWORD_ARGON2_DEFAULT_MEMORY_COST
. PASSWORD_ARGON2_DEFAULT_TIME_COST
. PASSWORD_ARGON2_DEFAULT_THREADS
. PASSWORD_ARGON2I
========================================
11. Changes to INI File Handling
========================================
- serialize_precision
. If the value is set to -1, then the dtoa mode 0 is used. The value -1
is now used by default.
- precision
. If the value is set to -1, then the dtoa mode 0 is used. No changes
in default value which is still 14.
- sql.safe_mode
. This INI directive have been removed.
- realpath_cache_size
. Set to 4096k by default
@@ -438,87 +299,12 @@ PHP 7.1 UPGRADE NOTES
12. Windows Support
========================================
- Core:
. Support for long and UTF-8 path;
- Support for VT100 console mode
If a web application is UTF-8 conform, no further action is required. For
applications depending on paths in non UTF-8 encodings for I/O, an explicit
INI directive has to be set. The encoding INI settings check relies on the
order in the core:
- internal_encoding
- default_charset
- zend.multibyte
Several functions for codepage handling were itroduced:
- sapi_windows_cp_set() to set the default codepage
- sapi_windows_cp_get() to retrieve the current codepage
- sapi_windows_cp_is_utf8()
- sapi_windows_cp_conv() to convert between codepages, using iconv()
compatible signature
These functions are thread safe.
The console output codepage is adjusted depending on the encoding used in
PHP. Depending on the concrete system OEM codepage, the visible output
might or might be not correct. For example, in the default cmd.exe and on
a system with the OEM codepage 437, outputs in codepages 1251, 1252, 1253
and some others can be shown correctly when using UTF-8. On the same system,
chars in codepage like 20932 probably won't be shown correctly. This refers
to the particular system rules for codepage, font compatibility and the
particular console program used. PHP automatically sets the console codepage
according to the encoding rules from php.ini. Using alternative consoles
instead of cmd.exe directly might bring better experience in some cases.
Nevertheless be aware, runtime codepage switch after the request start
might bring unexpected side effects on CLI. The preferrable way is php.ini,
When PHP CLI is used in a console emulator, that doesn't support Unicode,
it might possibly be required, to avoid changing the console codepage. The
best way to achieve it is by setting the default or internal encoding to
correspond the ANSI codepage. Another method is to set the INI directives
output_encoding and input_encoding to the required codepage, in which case
however the difference between internal and I/O codepage is likely to cause
mojibake. In rare cases, if PHP happens to crash gracefully, the original
console codepage might be not restored. In this case, the chcp command
can be used, to restore it manually.
Special awareness for the DBCS systems - the codepage switch on runtime
using ini_set() is likely to cause display issues. The difference to the
non DBCS systems is, that the extended characters require two console cells
to be displayed. In certain case, only the mapping of the characters into
the glyph set of the font could happen, no actual font change. This is the
nature of DBCS systems, the most simple way to prevent display issues is
to avoid usage of ini_set() for the codepage change.
As a result of UTF-8 support in the streams, PHP scripts are not limited
to ASCII or ANSI filenames anymore. This is supported out of the box on
CLI. For other SAPI, the documentation for the corresponding server
is useful.
Long paths support is transparent. Paths longer than 260 bytes get
automatically prefixed with \\?\. The max path length is limited to
2048 bytes. Be aware, that the path segment limit (basename length) still
persists.
For the best portability, it is strongely recommended to handle filenames,
I/O and other related topics UTF-8. Additionally, for the console applications,
the usage of a TrueType font is preferrable and the usage of ini_set() for
the codepage change is discouraged.
. Support for ftok()
- FCGI
. PHP_FCGI_CHILDREN is respected. If this environment variable is defined,
the first php-fcgi.exe process will exec the specified number of children.
Those will share the same TCP socket.
- readline:
. The readline extension is supported through the WinEditLine library
(http://mingweditline.sourceforge.net/). Thereby, the interactive CLI
shell is supported as well (php.exe -a).
It is well known, but nevertheless is worth mentioning again, that
the readline extension is not thread safe and will never be. Thus,
the usage of it with any true thread safe SAPI (like Apache mod_winnt) is
strongely discouraged.
On systems starting with 10.0.10586, cmd.exe supports ANSI escape sequences.
The corresponding console mode is enabled by default on CLI on suitable
systems. As well, the function sapi_windows_vt100_support() is provided,
to control and query the corresponding information in the scripts.
========================================
13. Other Changes
+29 -61
View File
@@ -1,78 +1,33 @@
PHP 7.1 INTERNALS UPGRADE NOTES
0. Wiki Examples
1. Internal API changes
e. Codepage handling on Windows
f. Path handling on Windows
g. SAPI logging
a. Path related functions
b. php_win32_get_random_bytes()
c. nice() Windows implementation
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 set of new APIs was introduced, which allows to handle codepage
conversions. The corresponding prototypes and macros are contained
in win32/codepage.h.
a. Path related functions
- CWD_API void realpath_cache_del(const char *path, size_t path_len);
- CWD_API realpath_cache_bucket* realpath_cache_lookup(const char *path, size_t path_len, time_t t);
- PHPAPI void php_clear_stat_cache(zend_bool clear_realpath_cache, const char *filename, size_t filename_len);
- PHPAPI void php_stat(const char *filename, size_t filename_length, int type, zval *return_value);
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.
b. php_win32_get_random_bytes()
The internal randomness source on Windows switched to use CNG API.
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.
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.
f. Path handling on Windows
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.
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.
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.
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.
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.
c. nice() now have a Windows alternative that is implemented in win32/nice.c, using
SetPriorityClass(). See the implementation for more in-depth details. This also
defines HAVE_NICE.
========================
@@ -82,10 +37,23 @@ changes. See: https://wiki.php.net/phpng-upgrading
a. Unix build system changes
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.
. Minimum supported Windows versions are Windows 7/Server 2008 R2.
. --enable-one-shot configure option is removed, --with-mp is usable.
. The new binary tools SDK is required for Windows builds, the
documentation is available under https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2
. Visual Studio 2017 is utilized for the Windows builds
. Clang build with ASAN is supported with clang 5+
========================
3. Module changes
========================
- Session:
. php_session_start()/session_reset_id() return value is changed from void to int.
It returns SUCCESS/FAILURE.
. Session module manages session status correctly.
- OpenSSL:
. Windows builds ship with OpenSSL 1.1 by default, lower versions are still supported with custom deps.
-136
View File
@@ -1,136 +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
-72
View File
@@ -1,72 +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
+137
View File
@@ -466,3 +466,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_TRY_RUN([
#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_TRY_RUN([
#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_TRY_RUN([
#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_TRY_RUN([
#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
+1 -1
View File
@@ -107,7 +107,7 @@ int main(void)
], [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
])
+3 -3
View File
@@ -30,14 +30,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
$(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
-13
View File
@@ -62,13 +62,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
#define zend_isnan(a) isnan(a)
@@ -102,12 +95,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.
+2
View File
@@ -25,6 +25,8 @@ echo "Done\n";
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
+9
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,6 +31,8 @@ var_dump(get_class("qwerty"));
var_dump(get_class($f1));
var_dump(get_class($f2));
$f1->testNull();
echo "Done\n";
?>
--EXPECTF--
@@ -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
File diff suppressed because it is too large. Load diff
+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
+20 -1
View File
@@ -12,24 +12,43 @@ for ($i = 0; $i < 10; $i++) {
}
?>
--EXPECT--
--EXPECTF--
Deprecated: Function create_function() is deprecated in %s on line %d
int(0)
int(0)
Deprecated: Function create_function() is deprecated in %s on line %d
int(1)
int(1)
Deprecated: Function create_function() is deprecated in %s on line %d
int(2)
int(2)
Deprecated: Function create_function() is deprecated in %s on line %d
int(3)
int(3)
Deprecated: Function create_function() is deprecated in %s on line %d
int(4)
int(4)
Deprecated: Function create_function() is deprecated in %s on line %d
int(5)
int(5)
Deprecated: Function create_function() is deprecated in %s on line %d
int(6)
int(6)
Deprecated: Function create_function() is deprecated in %s on line %d
int(7)
int(7)
Deprecated: Function create_function() is deprecated in %s on line %d
int(8)
int(8)
Deprecated: Function create_function() is deprecated in %s on line %d
int(9)
int(9)
+4 -1
View File
@@ -11,6 +11,9 @@ var_dump($arr[$test(1)]);
var_dump($arr[$test(0)]() == $arr);
?>
--EXPECT--
--EXPECTF--
Deprecated: Function create_function() is deprecated in %s on line %d
Deprecated: Function create_function() is deprecated in %s on line %d
int(2)
bool(true)
+2 -1
View File
@@ -11,5 +11,6 @@ try {
}
?>
--EXPECT--
--EXPECTF--
Deprecated: Function create_function() is deprecated in %s on line %d
bool(true)
+2 -1
View File
@@ -19,5 +19,6 @@ class test {
new test;
?>
--EXPECT--
--EXPECTF--
Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
int(1)
@@ -15,5 +15,7 @@ test();
?>
--EXPECTF--
Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
Notice: Object of class stdClass could not be converted to int in %s on line %d
int(2)
-2
View File
@@ -1,7 +1,5 @@
--TEST--
Bug #19859 (__call() does not catch call_user_func_array() calls)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?>
--FILE--
<?php
class test
-2
View File
@@ -1,7 +1,5 @@
--TEST--
Bug #20240 (order of destructor calls)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?>
--FILE--
<?php
-1
View File
@@ -2,7 +2,6 @@
Bug #21478 (Zend/zend_alloc.c :: shutdown_memory_manager produces segfault)
--SKIPIF--
<?php
if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed');
if (!function_exists('stream_filter_register')) die('skip stream_filter_register() not available');
?>
--FILE--
-4
View File
@@ -1,9 +1,5 @@
--TEST--
Bug #21888 (protected property and protected method of the same name)
--SKIPIF--
<?php
if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed');
?>
--FILE--
<?php
class mom {
-2
View File
@@ -1,7 +1,5 @@
--TEST--
Bug #22725 (A derived class can call a parent's protected method that calls a private method)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
--FILE--
<?php
class Foo {
-2
View File
@@ -1,7 +1,5 @@
--TEST--
Bug #22836 (returning references to NULL)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?>
--FILE--
<?php
function &f()
-2
View File
@@ -1,7 +1,5 @@
--TEST--
Bug #24436 (isset()/empty() produce errors with non-existent variables in classes)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?>
--INI--
error_reporting=2047
--FILE--
-2
View File
@@ -1,7 +1,5 @@
--TEST--
Bug #24635 (crash on dtor calling other functions)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?>
--FILE--
<?php
class SiteClass {
-2
View File
@@ -1,7 +1,5 @@
--TEST--
Bug #24699 (Memory Leak with per-class constants)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?>
--FILE--
<?php
class TEST { const FOO = SEEK_CUR; };
-2
View File
@@ -1,7 +1,5 @@
--TEST--
Bug #24884 (calling $this->__clone(); crashes php)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
--FILE--
<?php
class Test {
+4 -7
View File
@@ -1,24 +1,21 @@
--TEST--
Bug #26697 (calling class_exists on a nonexistent class in __autoload results in segfault)
--SKIPIF--
<?php if (function_exists('__autoload')) die('skip __autoload() declared in auto_prepend_file');?>
--FILE--
<?php
function __autoload($name)
{
spl_autoload_register(function ($name) {
echo __METHOD__ . "($name)\n";
var_dump(class_exists('NotExistingClass'));
echo __METHOD__ . "($name), done\n";
}
});
var_dump(class_exists('NotExistingClass'));
?>
===DONE===
--EXPECTF--
__autoload(NotExistingClass)
{closure}(NotExistingClass)
bool(false)
__autoload(NotExistingClass), done
{closure}(NotExistingClass), done
bool(false)
===DONE===
+6 -7
View File
@@ -5,8 +5,7 @@ Bug #31102 (Exception not handled when thrown inside __autoload())
$test = 0;
function __autoload($class)
{
spl_autoload_register(function ($class) {
global $test;
echo __METHOD__ . "($class,$test)\n";
@@ -22,7 +21,7 @@ function __autoload($class)
case 3:
return;
}
}
});
while($test++ < 5)
{
@@ -39,11 +38,11 @@ while($test++ < 5)
===DONE===
<?php exit(0); ?>
--EXPECTF--
__autoload(Test1,1)
{closure}(Test1,1)
Caught: Test1::__construct
__autoload(Test2,2)
Caught: __autoload
__autoload(Test3,3)
{closure}(Test2,2)
Caught: {closure}
{closure}(Test3,3)
Fatal error: Uncaught Error: Class 'Test3' not found in %sbug31102.php(%d) : eval()'d code:1
Stack trace:
+2 -3
View File
@@ -2,11 +2,10 @@
Bug #33116 (crash when assigning class name to global variable in __autoload)
--FILE--
<?php
function __autoload($class)
{
spl_autoload_register(function ($class) {
$GLOBALS['include'][] = $class;
eval("class DefClass{}");
}
});
$a = new DefClass;
print_r($a);
+1 -1
View File
@@ -2,7 +2,7 @@
Bug #37138 (__autoload tries to load callback'ed self and parent)
--FILE--
<?php
function __autoload ($CN) {var_dump ($CN);}
spl_autoload_register(function ($CN) { var_dump ($CN); });
class st {
public static function e () {echo ("EHLO\n");}
public static function e2 () {call_user_func (array ('self', 'e'));}
+1 -1
View File
@@ -23,6 +23,6 @@ string(3) "Foo"
Warning: Constants may only evaluate to scalar values or arrays in %sbug37811.php on line %d
Notice: Use of undefined constant Baz - assumed 'Baz' in %sbug37811.php on line %d
Warning: Use of undefined constant Baz - assumed 'Baz' (this will throw an Error in a future version of PHP) in %sbug37811.php on line %d
string(3) "Baz"
===DONE===
+2 -3
View File
@@ -10,10 +10,9 @@ class ClassName
function test (OtherClassName $object) { }
function __autoload($class)
{
spl_autoload_register(function ($class) {
var_dump("__autload($class)");
}
});
$obj = new ClassName;
test($obj);
+3 -3
View File
@@ -4,9 +4,9 @@ Bug #39304 (Segmentation fault with list unpacking of string offset)
<?php
$s = "";
list($a, $b) = $s[0];
echo "I am alive";
var_dump($a,$b);
?>
--EXPECTF--
Notice: Uninitialized string offset: 0 in %sbug39304.php on line %d
I am alive
NULL
NULL
-14
View File
@@ -1,14 +0,0 @@
--TEST--
Bug #39304 (Segmentation fault with list unpacking of string offset)
--SKIPIF--
<?php if (version_compare(zend_version(), '2.4.0', '<')) die('skip ZendEngine 2.4 needed'); ?>
--FILE--
<?php
$s = "";
list($a, $b) = $s[0];
var_dump($a,$b);
?>
--EXPECTF--
Notice: Uninitialized string offset: 0 in %sbug39304_2_4.php on line %d
NULL
NULL
+2 -2
View File
@@ -10,11 +10,11 @@ if (substr(PHP_OS, 0, 3) == 'WIN') {
set_include_path(dirname(__FILE__).'/bug39542:.');
}
function __autoload($class) {
spl_autoload_register(function ($class) {
if (!require_once($class.'.php')) {
error_log('Error: Autoload class: '.$class.' not found!');
}
}
});
new bug39542();
+2 -2
View File
@@ -2,10 +2,10 @@
Bug #42798 (_autoload() not triggered for classes used in method signature)
--FILE--
<?php
function __autoload($className) {
spl_autoload_register(function ($className) {
print "$className\n";
exit();
}
});
function foo($c = ok::constant) {
}
+4 -4
View File
@@ -19,14 +19,14 @@ echo f2()."\n";
echo f3()."\n";
?>
--EXPECTF--
Notice: Use of undefined constant bar - assumed 'bar' in %sbug43344_1.php on line 13
Warning: Use of undefined constant bar - assumed 'bar' (this will throw an Error in a future version of PHP) in %sbug43344_1.php on line 13
bar
Notice: Use of undefined constant bar - assumed 'bar' in %sbug43344_1.php on line 3
Warning: Use of undefined constant bar - assumed 'bar' (this will throw an Error in a future version of PHP) in %sbug43344_1.php on line 3
bar
Notice: Use of undefined constant bar - assumed 'bar' in %sbug43344_1.php on line 6
Warning: Use of undefined constant bar - assumed 'bar' (this will throw an Error in a future version of PHP) in %sbug43344_1.php on line 6
bar
Notice: Use of undefined constant bar - assumed 'bar' in %sbug43344_1.php on line 9
Warning: Use of undefined constant bar - assumed 'bar' (this will throw an Error in a future version of PHP) in %sbug43344_1.php on line 9
bar
+5 -4
View File
@@ -3,12 +3,13 @@ Bug #46665 (Triggering autoload with a variable classname causes truncated autol
--FILE--
<?php
$baz = '\\Foo\\Bar\\Baz';
new $baz();
function __autoload($class) {
spl_autoload_register(function ($class) {
var_dump($class);
require __DIR__ .'/bug46665_autoload.inc';
}
});
$baz = '\\Foo\\Bar\\Baz';
new $baz();
?>
--EXPECTF--
+1 -1
View File
@@ -9,5 +9,5 @@ var_dump(ini_get("arg_separator.output"));
?>
--EXPECTF--
bool(false)
%unicode|string%(1) "&"
string(1) "&"
+1 -1
View File
@@ -14,4 +14,4 @@ $foo = new Foo();
?>
--EXPECTF--
Notice: Use of undefined constant FOO - assumed 'FOO' in %s on line %d
Warning: Use of undefined constant FOO - assumed 'FOO' (this will throw an Error in a future version of PHP) in %s on line %d
+1 -5
View File
@@ -10,11 +10,7 @@ function au($class) {
}');
}
function __autoload($class) {
au($class);
}
//spl_autoload_register('au');
spl_autoload_register('au');
set_exception_handler(function($exception) {
$h = new handler();
+4 -4
View File
@@ -31,11 +31,11 @@ $x::c();
?>
--EXPECTF--
%unicode|string%(9) "__call::a"
string(9) "__call::a"
int(2)
%unicode|string%(9) "__call::c"
%unicode|string%(15) "__callStatic::a"
string(9) "__call::c"
string(15) "__callStatic::a"
Deprecated: Non-static method foo::b() should not be called statically in %s on line %d
int(2)
%unicode|string%(15) "__callStatic::c"
string(15) "__callStatic::c"
+7
View File
@@ -31,15 +31,22 @@ var_dump(
?>
--EXPECTF--
Deprecated: Function create_function() is deprecated in %s on line %d
ParseError: syntax error, unexpected '}', expecting end of file in %sbug48693.php(4) : runtime-created function:1
Stack trace:
#0 %sbug48693.php(4): create_function('', 'return 1; }')
#1 {main}
Deprecated: Function create_function() is deprecated in %s on line %d
Deprecated: Function create_function() is deprecated in %s on line %d
ParseError: syntax error, unexpected end of file in %sbug48693.php(14) : runtime-created function:1
Stack trace:
#0 %sbug48693.php(14): create_function('', '{')
#1 {main}
Deprecated: Function create_function() is deprecated in %s on line %d
int(2)
int(3)
+1 -1
View File
@@ -50,4 +50,4 @@ $c->func('This should work!');
?>
--EXPECTF--
%unicode|string%(26) "A::func: This should work!"
string(26) "A::func: This should work!"
+2 -2
View File
@@ -46,8 +46,8 @@ $c->func('This should work!');
?>
--EXPECTF--
%unicode|string%(27) "A::func2: This should work!"
%unicode|string%(27) "A::func3: This should work!"
string(27) "A::func2: This should work!"
string(27) "A::func3: This should work!"
Warning: call_user_func_array() expects parameter 1 to be a valid callback, cannot access private method A::func22() in %s on line %d
+2 -2
View File
@@ -45,7 +45,7 @@ $c->func('This should work!');
?>
--EXPECTF--
%unicode|string%(27) "B::func2: This should work!"
%unicode|string%(27) "B::func3: This should work!"
string(27) "B::func2: This should work!"
string(27) "B::func3: This should work!"
Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'B' does not have a method 'inexistent' in %s on line %d
+9 -7
View File
@@ -3,7 +3,7 @@ Bug #49908 (throwing exception in __autoload crashes when interface is not defin
--FILE--
<?php
function __autoload($className) {
spl_autoload_register(function ($className) {
var_dump($className);
if ($className == 'Foo') {
@@ -11,18 +11,20 @@ function __autoload($className) {
} else {
throw new Exception($className);
}
}
});
new Foo;
?>
--EXPECTF--
%unicode|string%(3) "Foo"
%unicode|string%(3) "Bar"
string(3) "Foo"
string(3) "Bar"
Fatal error: Uncaught Exception: Bar in %s:%d
Stack trace:
#0 %s(7): __autoload('Bar')
#1 %s(13): __autoload('Foo')
#2 {main}
#0 [internal function]: {closure}('Bar')
#1 %s(%d): spl_autoload_call('Bar')
#2 [internal function]: {closure}('Foo')
#3 %s(%d): spl_autoload_call('Foo')
#4 {main}
thrown in %s on line %d
+3 -1
View File
@@ -5,11 +5,13 @@ track_errors=On
--FILE--
<?php
function testing($source) {
unset($source[$cos]);
unset($source[$cos]);
}
testing($_GET);
echo "ok\n";
?>
--EXPECTF--
Deprecated: Directive 'track_errors' is deprecated in Unknown on line 0
Notice: Undefined variable: cos in %sbug54585.php on line 3
ok
+2 -2
View File
@@ -3,10 +3,10 @@ Bug #55007 (compiler fail after previous fail)
--FILE--
<?php
function __autoload($classname) {
spl_autoload_register(function ($classname) {
if ('CompileErrorClass'==$classname) eval('class CompileErrorClass { function foo() { $a[]; } }');
if ('MyErrorHandler'==$classname) eval('class MyErrorHandler { function __construct() { print "My error handler runs.\n"; } }');
}
});
function shutdown() {
new MyErrorHandler();
+71 -71
View File
@@ -1,71 +1,71 @@
--TEST--
Bug #55509 (segfault on x86_64 using more than 2G memory)
--SKIPIF--
<?php
if (PHP_INT_SIZE == 4) {
die('skip Not for 32-bits OS');
}
$zend_mm_enabled = getenv("USE_ZEND_ALLOC");
if ($zend_mm_enabled === "0") {
die("skip Zend MM disabled");
}
if (getenv("SKIP_SLOW_TESTS")) die("skip slow test");
// check the available memory
if (PHP_OS == 'Linux') {
$lines = file('/proc/meminfo');
$infos = array();
foreach ($lines as $line) {
$tmp = explode(":", $line);
$index = strtolower($tmp[0]);
$value = (int)ltrim($tmp[1], " ")*1024;
$infos[$index] = $value;
}
$freeMemory = $infos['memfree']+$infos['buffers']+$infos['cached'];
if ($freeMemory < 2100*1024*1024) {
die('skip Not enough memory.');
}
}
elseif (PHP_OS == 'FreeBSD') {
$lines = explode("\n",`sysctl -a`);
$infos = array();
foreach ($lines as $line) {
if(!$line){
continue;
}
$tmp = explode(":", $line);
$index = strtolower($tmp[0]);
$value = trim($tmp[1], " ");
$infos[$index] = $value;
}
$freeMemory = ($infos['vm.stats.vm.v_inactive_count']*$infos['hw.pagesize'])
+($infos['vm.stats.vm.v_cache_count']*$infos['hw.pagesize'])
+($infos['vm.stats.vm.v_free_count']*$infos['hw.pagesize']);
if ($freeMemory < 2100*1024*1024) {
die('skip Not enough memory.');
}
}
?>
--INI--
memory_limit=2100M
--FILE--
<?php
$a1 = str_repeat("1", 1024 * 1024 * 1024 * 0.5);
echo "1\n";
$a2 = str_repeat("2", 1024 * 1024 * 1024 * 0.5);
echo "2\n";
$a3 = str_repeat("3", 1024 * 1024 * 1024 * 0.5);
echo "3\n";
$a4 = str_repeat("4", 1024 * 1024 * 1024 * 0.5);
echo "4\n";
$a5 = str_repeat("5", 1024 * 1024 * 1024 * 0.5);
echo "5\n";
?>
--EXPECTF--
1
2
3
4
Fatal error: Allowed memory size of %d bytes exhausted%s(tried to allocate %d bytes) in %sbug55509.php on line %d
--TEST--
Bug #55509 (segfault on x86_64 using more than 2G memory)
--SKIPIF--
<?php
if (PHP_INT_SIZE == 4) {
die('skip Not for 32-bits OS');
}
$zend_mm_enabled = getenv("USE_ZEND_ALLOC");
if ($zend_mm_enabled === "0") {
die("skip Zend MM disabled");
}
if (getenv("SKIP_SLOW_TESTS")) die("skip slow test");
// check the available memory
if (PHP_OS == 'Linux') {
$lines = file('/proc/meminfo');
$infos = array();
foreach ($lines as $line) {
$tmp = explode(":", $line);
$index = strtolower($tmp[0]);
$value = (int)ltrim($tmp[1], " ")*1024;
$infos[$index] = $value;
}
$freeMemory = $infos['memfree']+$infos['buffers']+$infos['cached'];
if ($freeMemory < 2100*1024*1024) {
die('skip Not enough memory.');
}
}
elseif (PHP_OS == 'FreeBSD') {
$lines = explode("\n",`sysctl -a`);
$infos = array();
foreach ($lines as $line) {
if(!$line){
continue;
}
$tmp = explode(":", $line);
$index = strtolower($tmp[0]);
$value = trim($tmp[1], " ");
$infos[$index] = $value;
}
$freeMemory = ($infos['vm.stats.vm.v_inactive_count']*$infos['hw.pagesize'])
+($infos['vm.stats.vm.v_cache_count']*$infos['hw.pagesize'])
+($infos['vm.stats.vm.v_free_count']*$infos['hw.pagesize']);
if ($freeMemory < 2100*1024*1024) {
die('skip Not enough memory.');
}
}
?>
--INI--
memory_limit=2100M
--FILE--
<?php
$a1 = str_repeat("1", 1024 * 1024 * 1024 * 0.5);
echo "1\n";
$a2 = str_repeat("2", 1024 * 1024 * 1024 * 0.5);
echo "2\n";
$a3 = str_repeat("3", 1024 * 1024 * 1024 * 0.5);
echo "3\n";
$a4 = str_repeat("4", 1024 * 1024 * 1024 * 0.5);
echo "4\n";
$a5 = str_repeat("5", 1024 * 1024 * 1024 * 0.5);
echo "5\n";
?>
--EXPECTF--
1
2
3
4
Fatal error: Allowed memory size of %d bytes exhausted%s(tried to allocate %d bytes) in %sbug55509.php on line %d
+3 -2
View File
@@ -2,9 +2,10 @@
Bug #61011 (Crash when an exception is thrown by __autoload accessing a static property)
--FILE--
<?php
function __autoload($name) {
spl_autoload_register(function ($name) {
throw new Exception($name);
}
});
try {
echo AAA::$a; //zend_fetch_var_address_helper
} catch (Exception $e) {
+16
View File
@@ -0,0 +1,16 @@
--TEST--
Bug #61970 (Restraining __construct() access level in subclass gives a fatal error)
--FILE--
<?php
class Foo {
public function __construct(){}
}
class Bar extends Foo {
protected function __construct(){}
}
echo 'DONE';
--EXPECT--
DONE
+15
View File
@@ -0,0 +1,15 @@
--TEST--
Bug #61970 (Restraining __construct() access level in subclass gives a fatal error - stays when implementing abstract)
--FILE--
<?php
abstract class Foo {
abstract public function __construct();
}
class Bar extends Foo {
protected function __construct(){}
}
--EXPECTF--
Fatal error: Access level to Bar::__construct() must be public (as in class Foo) in %s
+19
View File
@@ -0,0 +1,19 @@
--TEST--
Bug #61970 (Restraining __construct() access level in subclass gives a fatal error - stays when inheriting implemented abstract)
--FILE--
<?php
abstract class Foo {
abstract public function __construct();
}
class Bar extends Foo {
public function __construct(){}
}
class Baz extends Bar {
protected function __construct(){}
}
--EXPECTF--
Fatal error: Access level to Baz::__construct() must be public (as in class Bar) in %s
+1 -1
View File
@@ -23,4 +23,4 @@ class B extends A {
}
?>
--EXPECTF--
Fatal error: Declaration of B::foo($var) must be compatible with I::foo() in %sbug62358.php on line 17
Fatal error: Declaration of B::foo($var) must be compatible with A::foo() in %sbug62358.php on line 17
+2 -2
View File
@@ -2,7 +2,7 @@
Bug #62907 (Double free when use traits)
--FILE--
<?php
function __autoload($name) {
spl_autoload_register(function ($name) {
if ($name == "B") {
eval ("abstract class B extends A { }");
} else if ($name == "A") {
@@ -11,7 +11,7 @@ function __autoload($name) {
eval ("trait T { public function __construct() { } }");
}
return TRUE;
}
});
class C extends B {
public function __construct() {
+4 -3
View File
@@ -2,9 +2,8 @@
Bug #63305 (zend_mm_heap corrupted with traits)
--FILE--
<?php
new Attachment("");
function __autoload($class) {
spl_autoload_register(function ($class) {
switch ($class) {
case "Attachment":
eval(<<<'PHP'
@@ -36,7 +35,9 @@ PHP
break;
}
return TRUE;
}
});
new Attachment("");
echo "okey";
?>
--EXPECT--
+3 -6
View File
@@ -44,9 +44,6 @@ $foo = new Foo();
$bar = new Bar();
$bar->test();
?>
--EXPECTF--
Fatal error: Uncaught Error: Access to undeclared static property: Stat::$requests in %sbug64720.php:12
Stack trace:
#0 [internal function]: Stat->__destruct()
#1 {main}
thrown in %sbug64720.php on line 12
OK
--EXPECT--
OK
+30 -30
View File
@@ -1,30 +1,30 @@
--TEST--
Bug #64979 (Wrong behavior of static variables in closure generators)
--FILE--
<?php
function new_closure_gen() {
return function() {
static $foo = 0;
yield ++$foo;
};
}
$closure1 = new_closure_gen();
$closure2 = new_closure_gen();
$gen1 = $closure1();
$gen2 = $closure1();
$gen3 = $closure2();
foreach (array($gen1, $gen2, $gen3) as $gen) {
foreach ($gen as $val) {
var_dump($val);
}
}
?>
--EXPECT--
int(1)
int(2)
int(1)
--TEST--
Bug #64979 (Wrong behavior of static variables in closure generators)
--FILE--
<?php
function new_closure_gen() {
return function() {
static $foo = 0;
yield ++$foo;
};
}
$closure1 = new_closure_gen();
$closure2 = new_closure_gen();
$gen1 = $closure1();
$gen2 = $closure1();
$gen3 = $closure2();
foreach (array($gen1, $gen2, $gen3) as $gen) {
foreach ($gen as $val) {
var_dump($val);
}
}
?>
--EXPECT--
int(1)
int(2)
int(1)
+2 -3
View File
@@ -2,12 +2,11 @@
Bug #65254 (Exception not catchable when exception thrown in autoload with a namespace)
--FILE--
<?php
function __autoload($class)
{
spl_autoload_register(function ($class) {
eval("namespace ns_test; class test {}");
throw new \Exception('abcd');
}
});
try
{
+2
View File
@@ -15,5 +15,7 @@ f();
?>
--EXPECTF--
Deprecated: Directive 'track_errors' is deprecated in Unknown on line 0
Notice: Undefined variable: var in %s on line %d
string(23) "Undefined variable: var"
+3 -8
View File
@@ -36,11 +36,6 @@ class Bar {
$foo = new Foo();
?>
--EXPECTF--
Fatal error: Uncaught Error: Access to undeclared static property: Bar::$instance in %sbug68652.php:%d
Stack trace:
#0 %s(%d): Bar::getInstance()
#1 [internal function]: Foo->__destruct()
#2 {main}
thrown in %sbug68652.php on line %d
OK
--EXPECT--
OK
+1 -1
View File
@@ -5,4 +5,4 @@ Bug #69755: segfault in ZEND_CONCAT_SPEC_TMPVAR_CONST_HANDLER
c . 10;
?>
--EXPECTF--
Notice: Use of undefined constant c - assumed 'c' in %sbug69755.php on line 2
Warning: Use of undefined constant c - assumed 'c' (this will throw an Error in a future version of PHP) in %sbug69755.php on line 2
+1 -1
View File
@@ -5,4 +5,4 @@ Bug #69788: Malformed script causes Uncaught Error in php-cgi, valgrind SIGILL
--EXPECTF--
Notice: Array to string conversion in %s on line %d
Notice: Use of undefined constant t - assumed 't' in %s on line %d
Warning: Use of undefined constant t - assumed 't' (this will throw an Error in a future version of PHP) in %s on line %d
+1 -1
View File
@@ -27,7 +27,7 @@ $c = new A;
$array = array($c); //This is used to leave a room for $GLOBALS["a"]
unset($c);
while ($i++ < 9997) {
while ($i++ < 9998) {
$t = [];
$t[] = &$t;
unset($t);
+1 -1
View File
@@ -29,7 +29,7 @@ $c = new A;
$array = array($c);
unset($c);
while ($i++ < 9997) {
while ($i++ < 9998) {
$t = [];
$t[] = &$t;
unset($t);
+1 -1
View File
@@ -24,7 +24,7 @@ $a->b->a = $a;
$i = 0;
while ($i++ < 9998) {
while ($i++ < 9999) {
$t = [];
$t[] = &$t;
unset($t);
+2 -2
View File
@@ -2,10 +2,10 @@
Bug #71163 (Segmentation Fault (cleanup_unfinished_calls))
--FILE--
<?php
function __autoload($name) {
spl_autoload_register(function ($name) {
eval ("class $name extends Exception { public static function foo() {}}");
throw new Exception("boom");
}
});
function test2() {
try {
+23 -23
View File
@@ -1,23 +1,23 @@
--TEST--
Bug #71474: Crash because of VM stack corruption on Magento2
--FILE--
<?php
class foo {
function __call($name, $args) {
$a = $b = $c = $d = $e = $f = 1;
}
}
function test($n, $x) {
// var_dump($n);
if ($n > 0) {
$x->bug();
test($n - 1, $x);
}
}
test(3000, new foo());
echo "OK\n";
?>
--EXPECT--
OK
--TEST--
Bug #71474: Crash because of VM stack corruption on Magento2
--FILE--
<?php
class foo {
function __call($name, $args) {
$a = $b = $c = $d = $e = $f = 1;
}
}
function test($n, $x) {
// var_dump($n);
if ($n > 0) {
$x->bug();
test($n - 1, $x);
}
}
test(3000, new foo());
echo "OK\n";
?>
--EXPECT--
OK
+22 -22
View File
@@ -1,22 +1,22 @@
--TEST--
Bug #72918 (negative offset inside a quoted string leads to parse error)
--FILE--
<?php
$array = [-3 => 'foo'];
$string = 'abcde';
echo "$array[-3]\n";
echo "$string[-3]\n";
echo <<<EOT
$array[-3]
$string[-3]
EOT;
?>
===DONE===
--EXPECT--
foo
c
foo
c
===DONE===
--TEST--
Bug #72918 (negative offset inside a quoted string leads to parse error)
--FILE--
<?php
$array = [-3 => 'foo'];
$string = 'abcde';
echo "$array[-3]\n";
echo "$string[-3]\n";
echo <<<EOT
$array[-3]
$string[-3]
EOT;
?>
===DONE===
--EXPECT--
foo
c
foo
c
===DONE===
+1 -1
View File
@@ -6,7 +6,7 @@ Bug #72944 (Null pointer deref in zval_delref_p).
echo "OK\n";
?>
--EXPECTF--
Notice: Use of undefined constant e - assumed 'e' in %sbug72944.php on line 2
Warning: Use of undefined constant e - assumed 'e' (this will throw an Error in a future version of PHP) in %sbug72944.php on line 2
Notice: Undefined variable: A in %sbug72944.php on line 2
OK
+1 -1
View File
@@ -14,7 +14,7 @@ doSomething();
?>
--EXPECTF--
Fatal error: Uncaught Exception: Use of undefined constant UNDEFINED - assumed 'UNDEFINED' in %s:%d
Fatal error: Uncaught Exception: Use of undefined constant UNDEFINED - assumed 'UNDEFINED' (this will throw an Error in a future version of PHP) in %s:%d
Stack trace:
#0 %s(%d): {closure}(%s)
#1 %s(%d): doSomething()
+2 -1
View File
@@ -11,7 +11,8 @@ function x() {
x();
?>
--EXPECT--
--EXPECTF--
Deprecated: parse_str(): Calling parse_str() without the result argument is deprecated in %s on line %d
array(2) {
[1]=>
string(0) ""
+18
View File
@@ -0,0 +1,18 @@
--TEST--
Bug #73987 (Method compatibility check looks to original definition and not parent - nullability interface)
--FILE--
<?php
interface I {
public function example($a, $b, $c);
}
class A implements I {
public function example($a, $b = null, $c = null) { } // compatible with I::example
}
class B extends A {
public function example($a, $b, $c = null) { } // compatible with I::example
}
?>
--EXPECTF--
Fatal error: Declaration of B::example($a, $b, $c = NULL) must be compatible with A::example($a, $b = NULL, $c = NULL) in %s
+18
View File
@@ -0,0 +1,18 @@
--TEST--
Bug #73987 (Method compatibility check looks to original definition and not parent - return types interface)
--FILE--
<?php
interface I {
public function example();
}
class A implements I {
public function example(): int { } // compatible with I::example
}
class B extends A {
public function example(): string { } // compatible with I::example
}
?>
--EXPECTF--
Fatal error: Declaration of B::example(): string must be compatible with A::example(): int in %s
+20
View File
@@ -0,0 +1,20 @@
--TEST--
Bug #73987 (Method compatibility check looks to original definition and not parent - nullabilty abstract)
--FILE--
<?php
abstract class A {
abstract function example($a, $b, $c);
}
class B extends A {
function example($a, $b = null, $c = null) { }
}
class C extends B {
function example($a, $b, $c = null) { }
}
?>
--EXPECTF--
Fatal error: Declaration of C::example($a, $b, $c = NULL) must be compatible with B::example($a, $b = NULL, $c = NULL) in %s
Loaded 100 of 2565 files, more files were not shown because too many files have changed in this diff. Show more