1
0
mirror of https://github.com/php/php-src.git synced 2026-04-26 17:38:14 +02:00
Commit Graph

47087 Commits

Author SHA1 Message Date
Christopher Jones f396d297aa Merge branch 'PHP-7.1' into PHP-7.2 2018-09-24 13:27:35 +10:00
Christopher Jones a2c0f8722b Remove trailing whitespace to help keep branches in sync 2018-09-24 13:27:27 +10:00
Christopher Jones f68662f63f Merge branch 'PHP-7.1' into PHP-7.2 2018-09-24 09:56:53 +10:00
Christopher Jones eceb34073b Remove trailing whitespace to help keep branches in sycn 2018-09-24 09:37:46 +10:00
Christoph M. Becker 7c2cc9aa56 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #66828: iconv_mime_encode Q-encoding longer than it should be
2018-09-22 15:31:02 +02:00
Christoph M. Becker 9cbe1283f7 Fix #66828: iconv_mime_encode Q-encoding longer than it should be
Before the fix for bug 48289 has been applied, the algorithm to
construct a Q-encoded-word has been optimistic, i.e. try to encode as
many bytes that *may* fit in the remaining space, calculate the actual
length of the Q-encoded word, and if it's too long, try again with a
reduced size.  However, the fix for the mentioned bug replaced this by
a pessimistic algorithm, which always terminates[1] the for loop[2]
during the first iteration (which renders the following 3 lines as dead
code), and as such easily produces unnecessarily short encoded-words.
Instead the proper fix for the bug would have been to make sure that
`out_size` is always decremented, if the space isn't sufficient for the
encoded-word.

[1] <https://github.com/php/php-src/blob/php-7.3.0beta3/ext/iconv/iconv.c#L1421>
[2] <https://github.com/php/php-src/blob/php-7.3.0beta3/ext/iconv/iconv.c#L1360>
2018-09-22 15:20:20 +02:00
Nikita Popov c26902911f Merge branch 'PHP-7.1' into PHP-7.2 2018-09-19 12:31:46 +02:00
Nikita Popov 842bec5b3c Fix getColumnMeta() test
Newer MySQL versions are stricter about invalid values. Three issues
are fixed:

* Don't use negative values with ZEROFILL. ZEROFILL implies UNSIGNED.
* Use a legal TIMESTAMP value. TIMESTAMP does not accept a Unix timestamp.
* Specify BIGINT values as strings, to avoid overflows.

This is a cherry-pick of d2dc0a3291 from master.
2018-09-19 12:29:38 +02:00
Nikita Popov c614dd677c Fix intermittent failures in mysqli_stmt_bind_result_format.phpt
There were two distinct issues here:
 * $trend was compared against 'NULL' using !=, which does not work
   as intended in the case where $trend==0.0.
 * current_targets was declared as double(17,0), which means that
   the fractional part was rounded, so that the same comparison in
   SQL (rounded) and in PHP (not rounded) did not necessarily
   match.

Please don't write mt_rand based tests, it takes ages to debug this
crap...
2018-09-19 12:27:31 +02:00
Nikita Popov 6bf681249f Merge branch 'PHP-7.1' into PHP-7.2 2018-09-18 20:50:37 +02:00
Manabu Matsui ab6c45f524 Fix bug #75533: array_reduce is slow when $carry is large array 2018-09-18 20:49:59 +02:00
Pierrick Charron bc1ecd5d7f Merge branch 'PHP-7.1' into PHP-7.2 2018-09-17 20:30:18 -04:00
Pierrick Charron 3bb218a0a7 Fix 76480: Use curl_multi_wait() so that timeouts are respected 2018-09-17 20:28:44 -04:00
Thomas Petazzoni 3691b6d245 Fix #76886: Can't build xmlrpc with expat
We fix it by including "php.h" in the HAVE_LIBEXPAT case.
2018-09-15 13:21:53 +02:00
Anatol Belski 922f1a0dcf Backport changes for OpenSSL 1.1.1 CI integration
Add debug message for failing test parts

(cherry picked from commit a45169a6ba)

Show all unmatched errors when test failed

(cherry picked from commit 7015965254)

More possibly colliding libs to remove from the test image

(cherry picked from commit 3008ad1a49)

Remove colliding file from CI image

(cherry picked from commit 6220d21c34)

Fix typo

(cherry picked from commit 24517d82cf)
2018-09-13 11:03:42 +02:00
Anatol Belski 05a4fec761 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Improve error code matching
2018-09-12 16:24:38 +02:00
Anatol Belski 19ab91781e Improve error code matching 2018-09-12 16:22:22 +02:00
Jakub Zelenka 87a9536bda Merge branch 'PHP-7.1' into PHP-7.2 2018-09-09 18:58:23 +01:00
Jakub Zelenka be50a72715 Fix ssl stream reneg limit test to print only after first renegotiation
It has been reported that in some setup the test does multiple
renegotiations which is allowed.
2018-09-09 18:53:55 +01:00
Christoph M. Becker fa70b91a4f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #75273: php_zlib_inflate_filter() may not update bytes_consumed
2018-09-08 19:09:56 +02:00
Christoph M. Becker 90d863898c Fix #75273: php_zlib_inflate_filter() may not update bytes_consumed
Whenever we return with `PSFS_PASS_ON`, we need to update
`bytes_consumed` to not mislead the caller.  Instead of fixing the
respective `if` clauses, we eschew the early bail-outs to simplify the
code a bit.
2018-09-08 19:01:36 +02:00
Nikita Popov cfdd828163 Fixed bug #76796 2018-09-07 14:02:03 +02:00
Anatol Belski b323e1e8d0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Sync with recent changes to default libcurl build
2018-09-05 21:29:53 +02:00
Anatol Belski 28c6125053 Sync with recent changes to default libcurl build
(cherry picked from commit a1ba3007a4)
2018-09-05 21:28:59 +02:00
Christoph M. Becker 7a2c9585c4 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #74454: Wrong exception being thrown when using ReflectionMethod
2018-09-05 15:07:59 +02:00
Christoph M. Becker c0a389a927 Fix #74454: Wrong exception being thrown when using ReflectionMethod
If zend_throw_exception_ex() already threw an exception, we should not
throw again.
2018-09-05 15:05:19 +02:00
Joe Watkins 21f8cd2a92 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #74764 and add a test case
2018-09-04 11:12:39 +02:00
Ville Hukkamaki 0f724453c0 Fix bug #74764 and add a test case 2018-09-04 11:12:04 +02:00
Anatol Belski 2476fb76a7 Fixed bug #76833, backport change to stream_socket_enable_crypto-win32.phpt from 7.3
It would probably be better to remove this test as it's too much
maintanance for a little gain.
2018-09-04 10:53:35 +02:00
Nikita Popov edec566d9b Merge branch 'PHP-7.1' into PHP-7.2 2018-09-04 05:49:02 +02:00
Nikita Popov 03740ef7df Revert all MySQL auth related changes
Per bug #76651 these changes do not appear to work correctly in
some cases. As no immediate fix seems to be forthcoming, I'm
reverting these changes.

Revert "Fixed invalid free introduced by d6e81f0bfd (avoid keeping "invalid" pointer)"

This reverts commit 11507c0e1b.

Revert "Fix mysqlnd build without openssl"

This reverts commit 6c9db02ff7.

Revert "Fix VC compilation as variable size array is not supported"

This reverts commit f96df64cb2.

Revert "Fix MySQL 8 auth"

This reverts commit d6e81f0bfd.
2018-09-04 05:47:28 +02:00
Nikita Popov 08addfea86 Merge branch 'PHP-7.1' into PHP-7.2 2018-09-04 05:32:42 +02:00
Nikita Popov f1f39d7ed7 Fix parenthesis warning 2018-09-04 05:32:25 +02:00
Peter Kokot 870d893d0b Fix bug #75481: makedev warning
To use makedev the sys/sysmacros.h needs to be included on newer
systems.

Cherry-picked from PHP-7.3.
2018-09-04 05:13:45 +02:00
Nikita Popov fcf78dfb89 Merge branch 'PHP-7.1' into PHP-7.2 2018-09-04 04:55:15 +02:00
Ville Hukkamaki 742783c3ee Fixed bug #73457
Correctly report errors when opening FTP data connection.
2018-09-04 04:53:38 +02:00
Anatol Belski a6b8651d94 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #76832 ZendOPcache.MemoryBase periodically deleted by the OS
2018-09-03 15:10:25 +02:00
Anatol Belski f26172f934 Fixed bug #76832 ZendOPcache.MemoryBase periodically deleted by the OS 2018-09-03 15:09:23 +02:00
Jakub Zelenka cd0a37994e Fix stream_security_level.phpt with OpenSSL 1.1.1 2018-09-02 20:00:08 +01:00
Christoph M. Becker 7bcda659f8 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #75696: posix_getgrnam fails to print details of group
2018-09-01 14:28:13 +02:00
Christoph M. Becker 2677d43850 Fix #75696: posix_getgrnam fails to print details of group
According to the POSIX specification of `getgrnam_r()` the result of
`sysconf(_SC_GETGR_R_SIZE_MAX)` is an initial value suggested for the
size of the buffer, and `ERANGE` signals that insufficient storage was
supplied.  So if we get `ERANGE`, we try again with a buffer twice as
big, and so on, instead of failing.
2018-09-01 14:25:59 +02:00
Anatol Belski 1ccc4ff260 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix stack underflow in phar
2018-08-30 19:34:01 +02:00
Anatol Belski 7fb7869e13 Fix stack underflow in phar
The checks can issue reads below and above the temporary buffer. A read
itself doesn't seem dangerous, but the condition result can be
arbitrary. Such reads have to be avoided. Likely this patch should be
backported.

(cherry picked from commit b053beee7e)
2018-08-30 19:33:07 +02:00
Christoph M. Becker 20849b0b0f Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #68180: iconv_mime_decode can return extra characters in a header
2018-08-26 13:21:22 +02:00
Christoph M. Becker efb86aef12 Fix #68180: iconv_mime_decode can return extra characters in a header
Basically, the algorithm to append a converted string to an existing
`smart_str` works by increasing the `smart_str` buffer, to let `iconv`
convert characters until there is no more space, to set the new length
of the `smart_str` and to repeat until there is no more input.

Formerly, the new length calculation has been wrong, though, since we
would have to take the old `out_len` into account (`buf_growth -
old_out_len - out_len`).  However, since there is no need to take the
old `out_len` into account when increasing the `smart_str` buffer, we
can simplify the fix, avoiding an additional variable.
2018-08-26 13:18:35 +02:00
Christoph M. Becker 314b8ecf8b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #60494: iconv_mime_decode does ignore special characters
2018-08-25 17:47:29 +02:00
Christoph M. Becker e29c946c29 Fix #60494: iconv_mime_decode does ignore special characters
We must not ignore erroneous characters in mime headers, but rather let
iconv_mime_decode() fail in this case, issuing the usual notice
regarding illegal characters.
2018-08-25 17:40:39 +02:00
Christoph M. Becker 7e176ddb57 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #63839: iconv_mime_decode_headers function is skipping headers
2018-08-25 14:52:54 +02:00
Christoph M. Becker 8754d44167 Fix #63839: iconv_mime_decode_headers function is skipping headers
We have to cater to the possibility that `=?` is not the start of an
encoded-word, but rather a literal `=?`.  If a line break is found
while we're still looking for the charset, we can safely assume that
it's a literal `=?`, and act accordingly.
2018-08-25 14:51:13 +02:00
Christoph M. Becker 6922cae4ae Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix #55146: iconv_mime_decode_headers() skips some headers
2018-08-25 14:41:38 +02:00