Dmitry Stogov [Tue, 30 May 2017 21:41:12 +0000 (00:41 +0300)]
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.
David Caldwell [Thu, 25 May 2017 00:41:12 +0000 (00:41 +0000)]
ext/ldap: Allow default host from ldap.conf to work.
This fixes an regression introduced in e7af0fe1eb89e40671e86a588aa1b78607b85461. 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.
Côme Bernigaud [Tue, 30 May 2017 14:45:27 +0000 (16:45 +0200)]
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.
Remi Collet [Tue, 30 May 2017 13:46:51 +0000 (15:46 +0200)]
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
Remi Collet [Tue, 30 May 2017 13:45:52 +0000 (15:45 +0200)]
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
Dmitry Stogov [Tue, 30 May 2017 10:23:17 +0000 (13:23 +0300)]
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.
Remi Collet [Mon, 29 May 2017 09:17:32 +0000 (11:17 +0200)]
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
Sara Golemon [Sun, 28 May 2017 15:20:21 +0000 (08:20 -0700)]
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.
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
Anatol Belski [Sat, 27 May 2017 20:23:02 +0000 (22:23 +0200)]
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.