1
0
mirror of https://github.com/php/php-src.git synced 2026-04-29 11:13:36 +02:00
Commit Graph

51424 Commits

Author SHA1 Message Date
Nikita Popov 768c93ed13 Remove defines for specific oraldap versions
These are not used for anything.
2019-09-06 14:59:59 +02:00
Nikita Popov 148ee16ff3 Remove support for umich_ldap
Doesn't seem to exist anymore, and their website now redirects to
openldap.
2019-09-06 14:57:26 +02:00
Nikita Popov 025ff3b5a3 Remove nsldap support
The newest version we're checking (libssldap50) seems to be about
15 years out of date. We could add support for libssldap60 (also
unmainted, but more recent), but given how nobody has expressed any
interest in this, I'm going ahead and dropping this code.
2019-09-06 14:39:42 +02:00
Nikita Popov 34f4ad61dc Fix detection of gmp on clang
Split the default and custom path case. If the default is used,
assume that the library must be on the default include and lib path.
Only check that the version is appropriate.

Something similar is needed for ldap, but the checking code is much
more complex there, so I'm only adding a workaround for now.
2019-09-06 14:35:39 +02:00
Nikita Popov a2c21e10b2 Remove --with-zlib-dir option from mysqlnd config
mysqlnd doesn't actually use this. PDO MySQL uses it, but also
declares it separately.
2019-09-05 10:39:04 +02:00
Dmitry Stogov 1db0bad6a7 Fixed bug #78488 (OOB in ZEND_FUNCTION(ffi_trampoline)). 2019-09-04 12:16:12 +03:00
Tyson Andre 94e2f25f07 Add missing opcache return types for functions in spl
(excluding spl_autoload)

spl_object_id() is of the most interest to me,
since I frequently call it in an application.

This includes false/null types caused by wrong argument types and wrong argument
counts.

I can't rule out iterator_to_array returning null in spl_iterator_apply,
so leave MAY_BE_NULL in.

With review comments by nikic:
Co-Authored-By: Nikita Popov <nikita.ppv@googlemail.com>
2019-09-04 11:12:41 +02:00
Fabien Villepinte ced5bb7d88 Add the last missing SKIPIF 2019-09-04 08:53:35 +02:00
Fabien Villepinte db4f5e44e1 Add missing SKIPIF (mbstring) 2019-09-04 08:51:03 +02:00
Fabien Villepinte 7aece45f4d Add missing SKIPIF (openssl)
Co-Authored-By: Gabriel Caruso <carusogabriel34@gmail.com>
2019-09-04 08:43:32 +02:00
Fabien Villepinte bbf7b8dd69 Add missing SKIPIF (sqlite) 2019-09-04 08:39:15 +02:00
Fabien Villepinte c0c1f9d38c Add missing SKIPIF 2019-09-04 08:36:11 +02:00
Nikita Popov 6255308624 Report false for inherited private methods in method_exists()
These shadow methods only exist as internal implementation markers.
This mirrors the behavior of property_exists().
2019-09-03 13:59:25 +02:00
Christoph M. Becker fd7309d194 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #41997: SP call yields additional empty result set
2019-09-03 13:33:15 +02:00
Christoph M. Becker b90cd91eba Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fix #41997: SP call yields additional empty result set
2019-09-03 13:31:24 +02:00
Christoph M. Becker 41a4379cb4 Fix #41997: SP call yields additional empty result set
When stored procedures are called, the "final result set is a status
result that includes no result set".  Calling `::nextRowset()` on the
actual last result set should return FALSE, since there is actually no
further result set to be processed.
2019-09-03 13:29:30 +02:00
Dmitry Stogov 5dc37cc306 Execute preload script under user defined by opcache.preload_user directive 2019-09-03 14:23:13 +03:00
Nikita Popov 518c651c66 Avoid pointer UB in strip_header
Don't calculate header_start if lc_header_start is NULL, as we're
going to overflow the address space in that case.
2019-09-03 12:28:18 +02:00
Nikita Popov 265af40a0a Use unsigned subtraction in php_random_int()
This subtraction may overflow the signed domain, which is UB. Use
an unsigned subtraction instead.
2019-09-03 12:28:18 +02:00
Tyson Andre 4de8503c22 Add missing opcache return info for ext/standard.
array_key_first/last returns null for invalid args,
wrong argument counts, and empty arrays.

random_bytes returns a string or throws.
2019-09-03 09:57:51 +02:00
Tyson Andre 1a905bcb1e Add new missing functions from ext/hash 2019-09-03 09:53:41 +02:00
Nikita Popov c0e9b1532e Add zpp check to spl_classes() 2019-09-03 09:50:08 +02:00
Nikita Popov 5acedabfc0 Clarify failure behavior of spl_iterator_apply()
It only fails if it throws, in which case it is meaningless to
set a return value.
2019-09-03 09:43:22 +02:00
Christoph M. Becker de643aaa46 Add missing argument checks
These functions don't expect any arguments, so we check that none are
given.
2019-09-03 09:27:55 +02:00
Nikita Popov 632708ac02 Merge branch 'PHP-7.3' into PHP-7.4 2019-09-03 09:24:05 +02:00
Nikita Popov d66e0f165d Merge branch 'PHP-7.2' into PHP-7.3 2019-09-03 09:23:55 +02:00
Tyson Andre 9c3b7ccda5 Fix opcache return type for hash_update_stream
It can return false if the resource type is wrong.

```
php > var_export(hash_update_stream(hash_init('md5'),
        imagecreate(1,1)));

Warning: hash_update_stream(): supplied resource is not a valid stream
resource in php shell code on line 1
false
```

The return types were initially added in
c88ffa9a56
2019-09-03 09:23:39 +02:00
George Peter Banyard e895e96286 Drop E_STRICT notice in mysqli extension 2019-08-31 23:14:10 +02:00
Nikita Popov 1e4cc5bf0b Fix file clashes in copy tests
Create the "*" file in a sub-directory rather than the main test
directory, so that it's different for each test.
2019-08-30 16:36:49 +02:00
Nikita Popov 2f67f32eaa Remove bogus vcwd_open
This is a left-over from the Linux version...
2019-08-30 16:09:55 +02:00
Fabien Villepinte e1afd9b213 Modernize some connectors in tests to remove env key duplication 2019-08-30 10:33:01 +02:00
Nikita Popov 48ff226cae Fix potentially uninitialized use in ldap
If ctrl->ldctl_value.bv_len is zero context is uninitialized. Only
free it if the call took place and succeeded.
2019-08-29 19:07:45 +02:00
Nikita Popov a10093eee1 Use explicit unaligned type in md5 implementation 2019-08-29 14:47:03 +02:00
Christoph M. Becker 35177027f4 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #78473: odbc_close() closes arbitrary resources
2019-08-28 17:58:35 +02:00
Christoph M. Becker 195b8ae779 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fix #78473: odbc_close() closes arbitrary resources
2019-08-28 17:57:10 +02:00
Christoph M. Becker b557265816 Fix #78473: odbc_close() closes arbitrary resources
We have to bail out, if an invalid resource is given.  For consistency
with the other `zend_fetch_resource(2)` calls, we return `FALSE`.
2019-08-28 17:55:15 +02:00
Stanislav Malyshev 5748cec3ee Upgrade oniguruma lib to 6.9.3 2019-08-27 23:40:46 -07:00
Nikita Popov e5c7f71004 Don't specify precedence for T_INC/T_DEC
As these do not operate on expressions, precedence is meaningless
for them.
2019-08-27 21:59:56 +02:00
Anatol Belski 9b5d66bd52 Fix signature and calls 2019-08-27 14:34:35 +02:00
Christoph M. Becker 8f897f1040 Replace deprecated libzip functions
We replace all deprecated libzip functions with their recommended
substitutes, and add proper comment length checks including a test
case.
2019-08-26 14:05:28 +02:00
viest 5703943081 Deprecate AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES
These flags have been deprecated in glibc 2.28, so we also
deprecate them in PHP.

As we can't deprecate constants, we can only check for their use
in socket_addrinfo_lookup().
2019-08-26 11:33:18 +02:00
Nikita Popov 774cdb1d59 Merge branch 'PHP-7.3' into PHP-7.4 2019-08-26 11:13:57 +02:00
Nikita Popov e4ecadcb62 Merge branch 'PHP-7.2' into PHP-7.3 2019-08-26 11:13:49 +02:00
Tyson Andre 1e82a2d659 Also fix signature for passthru
Backported from a1a8d14485
https://www.php.net/manual/en/function.passthru.php#refsect1-function.passthru-returnvalues

`passthru()` is false with invalid args
`passthru('command')` is null.
2019-08-26 11:13:26 +02:00
Tyson Andre f5bccc0eb5 Fix opcache optimizer info for time_nanosleep
This can also return an array. See
https://www.php.net/manual/en/function.time-nanosleep.php#refsect1-function.time-nanosleep-returnvalues

> If the delay was interrupted by a signal, an associative array will be
returned with the components:
>
> - seconds - number of seconds remaining in the delay
> - nanoseconds - number of nanoseconds remaining in the delay

Sending a SIGUSR1 to the below program would trigger this behavior.

```
pcntl_signal(\SIGUSR1, function ($signo, $signinfo) {
    echo "Handling a signal $signo\n";
});
echo "Sleeping for 100 seconds\n";
var_export(time_nanosleep(100, 0));
```

The incomplete signature existed since c88ffa9a5.
No phpt tests existed for time_nanosleep returning an array
2019-08-26 11:13:26 +02:00
Nikita Popov 9483c50772 Fixed bug #78456 2019-08-26 11:08:42 +02:00
Nikita Popov bad49e55b9 Merge branch 'PHP-7.3' into PHP-7.4 2019-08-26 10:27:08 +02:00
Nikita Popov a26f63213d Merge branch 'PHP-7.2' into PHP-7.3 2019-08-26 10:26:49 +02:00
Nikita Popov 16d35eb643 Fix overflow in memory limit checks
Due to overflows in the memory limit checks, we were missing cases
where the allocation size was close to the address space size, and
caused an OOM condition rather than a memory limit error.
2019-08-26 10:25:30 +02:00
Stanislav Malyshev c810d3d6ad Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix test
2019-08-25 20:06:43 -07:00