Nikita Popov [Tue, 28 Jan 2020 09:41:11 +0000 (10:41 +0100)]
Fixed bug #78989
Always operate on copies of the functions, so we don't reference
temporary trait methods that have gone out of scope.
This could be more efficient, but doing an allocated copy only when
strictly necessary turned out to be somewhat tricky.
Christoph M. Becker [Tue, 28 Jan 2020 09:32:26 +0000 (10:32 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #76584: PharFileInfo::decompress not working
Christoph M. Becker [Sun, 26 Jan 2020 12:33:07 +0000 (13:33 +0100)]
Fix #76584: PharFileInfo::decompress not working
We actually have to decompress, when told to do so.
Christoph M. Becker [Tue, 28 Jan 2020 08:15:23 +0000 (09:15 +0100)]
Fix #79172: STRUCT_OFFSET() relies on undefined behavior
Since this pattern is understood by compilers, not a real issue, but
certainly cleaner this way.
Remi Collet [Mon, 27 Jan 2020 15:47:28 +0000 (16:47 +0100)]
- bump zip extension version to 1.15.6
- add ZipArchive::LIBZIP_VERSION
- skip bug53885.phpt with libzip 1.6.0 (empty file is no more valid archive)
Máté Kocsis [Wed, 22 Jan 2020 12:33:11 +0000 (13:33 +0100)]
Fix #78969 Make PASSWORD_DEFAULT match PASSWORD_BCRYPT instead of being null
It was an unintentional BC break.
Nikita Popov [Mon, 27 Jan 2020 12:32:29 +0000 (13:32 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix bug #78323: Code 0 is returned on invalid options
Ivan Mikheykin [Fri, 17 Jan 2020 19:26:35 +0000 (22:26 +0300)]
Fix bug #78323: Code 0 is returned on invalid options
Set CLI exit code to 1 when invalid parameters are passed,
and print error to stderr.
Christoph M. Becker [Sun, 26 Jan 2020 13:13:52 +0000 (14:13 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Add CURLOPT CURLOPT_HTTP09_ALLOWED available since 7.64.0
Florian Smeets [Sun, 26 Jan 2020 04:18:57 +0000 (05:18 +0100)]
Add CURLOPT CURLOPT_HTTP09_ALLOWED available since 7.64.0
George Peter Banyard [Sat, 25 Jan 2020 12:31:10 +0000 (13:31 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed bug #79080 [ci skip]
George Peter Banyard [Sat, 25 Jan 2020 12:23:51 +0000 (13:23 +0100)]
Fixed bug #79080 [ci skip]
Rewrote session.gc_probability and session.gc_divisor INI setting
description to be more succint.
Nikita Popov [Fri, 24 Jan 2020 15:18:28 +0000 (16:18 +0100)]
Fixed bug #79128
We need to extend the hash table before performing raw append
operations.
This doesn't matter if preloading happens in the same process,
as the tables will be large enough to hold all entries as a
side-effect of the preloading process. However, if preloading
happens in a different process, we need to reserve space here.
Nikita Popov [Fri, 24 Jan 2020 14:14:52 +0000 (15:14 +0100)]
Fix mysqli ssl test for tls1.3
Specifying AES256-SHA results in TLS_AES_256_GCM_SHA384 if the
connection uses TLS v1.3.
Nikita Popov [Fri, 24 Jan 2020 13:52:28 +0000 (14:52 +0100)]
Fixed bug #79011
auth_plugin_data_len here is 21, including the trailing null byte.
Directly use SCRAMBLE_LENGTH instead. Also add a sanity check that
the provided scramble is long enough.
Nikita Popov [Fri, 24 Jan 2020 12:12:11 +0000 (13:12 +0100)]
Fix memory leaks in mysqlnd debug functionality
Christoph M. Becker [Fri, 24 Jan 2020 13:19:17 +0000 (14:19 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Make test independent of online XSD schema
Yet another check for php_strip_tags_ex()
Christoph M. Becker [Fri, 24 Jan 2020 09:18:01 +0000 (10:18 +0100)]
Make test independent of online XSD schema
The test still needs to access <http://www.w3.org/2009/01/xml.xsd>, but
at least we no longer depend on <http://x-road.eu/xsd/x-road.xsd>,
which may be moved again.
Remi Collet [Fri, 24 Jan 2020 13:06:19 +0000 (14:06 +0100)]
Add ZipArchive::CM_LZMA2 constant (since libzip 1.6.0)
Christoph M. Becker [Fri, 24 Jan 2020 11:45:04 +0000 (12:45 +0100)]
Yet another check for php_strip_tags_ex()
Christoph M. Becker [Fri, 24 Jan 2020 11:51:02 +0000 (12:51 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Yet another check for php_strip_tags_ex()
Christoph M. Becker [Fri, 24 Jan 2020 11:45:04 +0000 (12:45 +0100)]
Yet another check for php_strip_tags_ex()
Nikita Popov [Fri, 24 Jan 2020 11:28:37 +0000 (12:28 +0100)]
Don't use CRLF when generating diffs
Nikita Popov [Thu, 23 Jan 2020 14:09:54 +0000 (15:09 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix bug76348.phpt
Nikita Popov [Thu, 23 Jan 2020 14:08:20 +0000 (15:08 +0100)]
Fix bug76348.phpt
Adjust for URL change in XSD file and mark as online test.
Is it possible for use to store http://x-road.eu/xsd/xroad.xsd
locally instead? Do relative file system paths work here?
I'm not familiar with this.
Nikita Popov [Thu, 23 Jan 2020 13:58:01 +0000 (14:58 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed bug #78902
Add unit test for bug #78902
liudaixiao [Mon, 16 Dec 2019 01:10:28 +0000 (09:10 +0800)]
Fixed bug #78902
Léopold Jacquot [Wed, 4 Dec 2019 14:14:50 +0000 (15:14 +0100)]
Add unit test for bug #78902
Nikita Popov [Thu, 23 Jan 2020 13:21:14 +0000 (14:21 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed bug #79151
Nikita Popov [Thu, 23 Jan 2020 13:19:20 +0000 (14:19 +0100)]
Fixed bug #79151
Make sure we also NULL out next/prev of the removed element on
pop/shift. This only matter is that element is still being referenced
by an iterator.
Nikita Popov [Thu, 23 Jan 2020 11:48:45 +0000 (12:48 +0100)]
Fixed bug #79155
Make sure we only unset the NULLABLE flag temporarily for class
resolution, as the same type may be compiled multiple types.
Christoph M. Becker [Tue, 31 Dec 2019 10:46:04 +0000 (11:46 +0100)]
Enable UBSan in addition to ASan
UBSan is a useful tool, so we enable it for `--enable-sanitizer` in
addition to ASan.
Christoph M. Becker [Wed, 15 Jan 2020 22:04:03 +0000 (23:04 +0100)]
Make MSVCRT memory leak checking usable for the test suite
While basic support for MSVCRT debugging has been added long
ago[1], the leak checking is not usable for the test suite, because we
are no longer calling `xmlCleanupParser()` on RSHUTDOWN of
ext/libxml[2], and therefore a few bogus leaks are reported whenever
ext/libxml is unloaded.
We therefore ignore memory leaks for this case. We introduce
`ZEND_IGNORE_LEAKS_BEGIN()` and `ZEND_IGNORE_LEAKS_END()` to keep
those ignores better readable, and also because these *might* be
useful for other leak checkers as well.
We also explicitly free the `zend_handlers_table` and the `p5s` to
avoid spurious leak reports.
[1] <http://git.php.net/?p=php-src.git;a=commit;h=
d756e1db2324c1f4ab6f9b52e329959ce6a02bc3>
[2] <http://git.php.net/?p=php-src.git;a=commit;h=
8742276eb3905eb97a585417000c7b8df85006d4>
Stanislav Malyshev [Thu, 23 Jan 2020 07:06:28 +0000 (23:06 -0800)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
More checks for php_strip_tags_ex
Stanislav Malyshev [Thu, 23 Jan 2020 06:41:56 +0000 (22:41 -0800)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
More checks for php_strip_tags_ex
Stanislav Malyshev [Thu, 23 Jan 2020 06:36:53 +0000 (22:36 -0800)]
More checks for php_strip_tags_ex
Christoph M. Becker [Wed, 22 Jan 2020 10:15:55 +0000 (11:15 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Don't leak encoding_str
Christoph M. Becker [Wed, 22 Jan 2020 10:13:12 +0000 (11:13 +0100)]
Don't leak encoding_str
Christoph M. Becker [Wed, 22 Jan 2020 09:30:25 +0000 (10:30 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79154: mb_convert_encoding() can modify $from_encoding
Christoph M. Becker [Wed, 22 Jan 2020 09:25:37 +0000 (10:25 +0100)]
Fix #79154: mb_convert_encoding() can modify $from_encoding
We must not modify arrays passed by value.
Christoph M. Becker [Wed, 22 Jan 2020 08:43:51 +0000 (09:43 +0100)]
Fix #79149: SEGV in mb_convert_encoding with non-string encodings
We must not assume that `hash_entry` `IS_STRING`, but rather use
`encoding_str` which is guaranteed to be.
Remi Collet [Wed, 22 Jan 2020 08:17:56 +0000 (09:17 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
next will be 7.2.28
Remi Collet [Wed, 22 Jan 2020 08:17:33 +0000 (09:17 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
next will be 7.2.28
Remi Collet [Wed, 22 Jan 2020 08:17:00 +0000 (09:17 +0100)]
next will be 7.2.28
Nikita Popov [Tue, 21 Jan 2020 17:49:59 +0000 (18:49 +0100)]
Avoid some @count() suppressions in run-tests.php
Nikita Popov [Tue, 21 Jan 2020 16:55:47 +0000 (17:55 +0100)]
Add sleep in FPM reload test
Explicitly mark the point where we have to wait.
Christoph M. Becker [Tue, 21 Jan 2020 15:19:04 +0000 (16:19 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79145: openssl memory leak
Christoph M. Becker [Tue, 21 Jan 2020 15:17:25 +0000 (16:17 +0100)]
Fix #79145: openssl memory leak
We must increase the refcount of `return_value` only if `cert` is a
resource; this is already done in `php_openssl_evp_from_zval()`,
though.
Christoph M. Becker [Tue, 21 Jan 2020 10:53:36 +0000 (11:53 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79146: cscript can fail to run on some systems
Deus Kane [Mon, 20 Jan 2020 16:16:01 +0000 (16:16 +0000)]
Fix #79146: cscript can fail to run on some systems
In the buildconf and configure batch files, Windows' cscript utility was being
run without the /e:jscript flag. This works on systems that have not had the
default .js file association changed, but if .js has been re-associated to
(say) an IDE, the batch files fail with the error message:
Input Error: There is no script engine for file extension ".js".
Christoph M. Becker [Tue, 21 Jan 2020 10:48:48 +0000 (11:48 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Update NEWS wrt. sec fixes
Nikita Popov [Tue, 21 Jan 2020 10:38:49 +0000 (11:38 +0100)]
Fix file clash in bug54446.phpt tests
Christoph M. Becker [Tue, 21 Jan 2020 10:31:14 +0000 (11:31 +0100)]
Update NEWS wrt. sec fixes
Stanislav Malyshev [Tue, 21 Jan 2020 06:47:01 +0000 (22:47 -0800)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Update NEWS
Fix bug #79037 (global buffer-overflow in `mbfl_filt_conv_big5_wchar`)
Fix #79099: OOB read in php_strip_tags_ex
Fix #79091: heap use-after-free in session_create_id()
Stanislav Malyshev [Tue, 21 Jan 2020 06:22:02 +0000 (22:22 -0800)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Update NEWS
Fix bug #79037 (global buffer-overflow in `mbfl_filt_conv_big5_wchar`)
Fix #79099: OOB read in php_strip_tags_ex
Fix #79091: heap use-after-free in session_create_id()
Stanislav Malyshev [Tue, 21 Jan 2020 06:12:32 +0000 (22:12 -0800)]
Update NEWS
Stanislav Malyshev [Tue, 21 Jan 2020 05:42:44 +0000 (21:42 -0800)]
Fix bug #79037 (global buffer-overflow in `mbfl_filt_conv_big5_wchar`)
Stanislav Malyshev [Tue, 21 Jan 2020 05:33:17 +0000 (21:33 -0800)]
Fix #79099: OOB read in php_strip_tags_ex
Christoph M. Becker [Mon, 20 Jan 2020 17:05:00 +0000 (18:05 +0100)]
Fix #79091: heap use-after-free in session_create_id()
If the `new_id` is released, we must not use it again.
Nikita Popov [Fri, 17 Jan 2020 10:22:32 +0000 (11:22 +0100)]
Fix bug #79112: IMAP can't find OpenSSL during configure
Remove the check of PHP_OPENSSL inside SETUP_OPENSSL. It's the
responsibility of the caller to determine whether they want to
enable openssl or not. This makes SSL detection in IMAP work,
which uses a different option.
Additionally also clarify that --with-openssl-dir cannot actually
be used to specify an OpenSSL directory -- these options just
serve as a way to enable OpenSSL in extensions without also
enabling the OpenSSL extension. They need to be renamed to
something clearer in master.
Closes GH-5091.
Nikita Popov [Mon, 20 Jan 2020 08:53:54 +0000 (09:53 +0100)]
Increase timeout in mysqli_reap_async_query test
The 2000 here is 2ms, which is a bit optimistic for parallelized
testing.
Xinchen Hui [Mon, 20 Jan 2020 04:33:37 +0000 (12:33 +0800)]
Let's make this safer from maliciously crafted filename
Xinchen Hui [Mon, 20 Jan 2020 04:28:57 +0000 (12:28 +0800)]
minor cleanup
Xinchen Hui [Mon, 20 Jan 2020 04:24:49 +0000 (12:24 +0800)]
Fixed bug #79114 (Eval class during preload causes class to be only half available)
Nikita Popov [Fri, 17 Jan 2020 10:38:00 +0000 (11:38 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed bug #79115
Nikita Popov [Fri, 17 Jan 2020 10:37:35 +0000 (11:37 +0100)]
Fixed bug #79115
aand18 [Tue, 14 Jan 2020 14:15:26 +0000 (15:15 +0100)]
Update php.ini files to add missing FTP extension
FTP functionality isn't enabled by default and not listed as a disabled
extension in the `php.ini` file either.
This should spare a few googles to anyone needing FTP functionality in PHP.
Closes GH-5084.
Nikita Popov [Fri, 17 Jan 2020 08:48:42 +0000 (09:48 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed bug #71876
Nikita Popov [Fri, 3 Jan 2020 10:14:45 +0000 (11:14 +0100)]
Fixed bug #71876
This is a backport of
fcdc0a6db0ae63fbed9e3828137b899b844623ce
to the PHP-7.3 branch. We need to make sure that OnUpdateString
is also called for a NULL value, otherwise the reset of the encoding
at the end of the request will not work.
I believe I already tried to land this before once, but it didn't
actually end up on the PHP-7.3 branch due to a push conflict that
I only noticed just now.
Christoph M. Becker [Fri, 27 Dec 2019 13:28:28 +0000 (14:28 +0100)]
Disable optimizations for ASan instrumented builds
ASan instrumentation does not support the MSVC debug runtime, but still
it does not make sense to enable optimizations for such builds, since
they are not meant for production usage anyway, and although memory
corruption issues are still found in optimized builds, the generated
diagnostics are close to being useless, and apparently sometimes even
outright wrong. Therefore, we disable all optimizations for ASan
instrumented builds.
We also introduce and use `ZEND_WIN32_NEVER_INLINE` for ASan enabled
builds to avoid inlining of functions, so we get even better
diagnostics.
Christoph M. Becker [Sun, 12 Jan 2020 13:01:42 +0000 (14:01 +0100)]
Fix #79096: FFI Struct Segfault
We must not assume that the size of a function's return value is at
most `sizeof(ffi_arg)`, but rather have to use the size which already
has been determined for the return type if it is larger than
`sizeof(ffi_arg)`.
To be able to have a regression test, we export the required test
function from the zend-test extension, and make sure that the test
can be run on different platforms regardless of whether zend-tests was
built statically or dynamically.
Christoph M. Becker [Mon, 13 Jan 2020 12:22:43 +0000 (13:22 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79084: mysqlnd may fetch wrong column indexes with MYSQLI_BOTH
Christoph M. Becker [Mon, 13 Jan 2020 10:47:40 +0000 (11:47 +0100)]
Fix #79084: mysqlnd may fetch wrong column indexes with MYSQLI_BOTH
Column names can be numeric strings, so we have to make sure to insert
the column values with the appropriate numeric keys, instead of adding
them.
Nikita Popov [Mon, 13 Jan 2020 09:09:58 +0000 (10:09 +0100)]
Fix test
Hopefully (32-bit)
Christoph M. Becker [Sat, 11 Jan 2020 09:36:52 +0000 (10:36 +0100)]
Bring back test case support for older MySQL versions
These test cases have recently been adjusted to work with MySQL 8[1],
but some older, but still supported database versions, such as MySQL
5.6, still need the password to be sent hashed, so we fall back to
using `PASSWORD()`, if the `SET PASSWORD` query fails without it.
[1] <http://git.php.net/?p=php-src.git;a=commit;h=
b0efd18f7844da29931737b8a1cf461c7493e168>.
Christoph M. Becker [Fri, 10 Jan 2020 19:01:28 +0000 (20:01 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix test cases which fail on Windows debug builds
Christoph M. Becker [Mon, 11 Nov 2019 11:14:05 +0000 (12:14 +0100)]
Fix test cases which fail on Windows debug builds
We use the portable {TMP} instead of the hard-coded /tmp, and skip
mysqli_debug_append.phpt on Windows, because unlinking the trace file
while the connection is still open won't work there.
(cherry picked from commit
60081ca20d5701111de5f94ae64909b1cc265f1e)
Nikita Popov [Fri, 10 Jan 2020 16:36:46 +0000 (17:36 +0100)]
Remove unnecessary whitespace sensitivtiy from some tests
Christoph M. Becker [Fri, 10 Jan 2020 16:16:03 +0000 (06:16 +1400)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix test for Windows ZTS builds
Christoph M. Becker [Fri, 10 Jan 2020 16:11:24 +0000 (06:11 +1400)]
Fix test for Windows ZTS builds
Cf. <https://bugs.php.net/bug.php?id=61685#
1578672905>.
Christoph M. Becker [Thu, 9 Jan 2020 17:58:17 +0000 (18:58 +0100)]
Silence potential taskkill error messages
That test is still intermittently failing, because failure to kill the
child process is reported. Therefore we silence these error messages.
Christoph M. Becker [Thu, 9 Jan 2020 14:19:56 +0000 (15:19 +0100)]
Fix useless tests
These tests are certainly not supposed to fail due to a typo in the
class names, but expect this failure. We fix the typos and the
expectations.
Nikita Popov [Thu, 9 Jan 2020 09:19:02 +0000 (10:19 +0100)]
Increase select timeout in FPM tester
Let's see if that helps with the recent failure spree on Azure.
Christoph M. Becker [Thu, 9 Jan 2020 08:19:52 +0000 (09:19 +0100)]
Fix #79086: Bump version not applied
We must not forget to update the version in configure.ac as well.
Christoph M. Becker [Wed, 8 Jan 2020 17:31:10 +0000 (18:31 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79078: Hypothetical use-after-free in curl_multi_add_handle()
Christoph M. Becker [Wed, 8 Jan 2020 10:52:24 +0000 (11:52 +0100)]
Fix #79078: Hypothetical use-after-free in curl_multi_add_handle()
To avoid this, we have to verify the handlers already in
`curl_multi_add_handle()`, not only in `curl_multi_exec()`.
Christoph M. Becker [Wed, 8 Jan 2020 17:26:14 +0000 (18:26 +0100)]
Bump version
Christoph M. Becker [Wed, 8 Jan 2020 15:54:31 +0000 (16:54 +0100)]
Extract function
As suggested by Nikita[1].
[1] <https://github.com/php/php-src/pull/5045#discussion_r364265013>
Nikita Popov [Wed, 8 Jan 2020 15:31:33 +0000 (16:31 +0100)]
Revert "Display a message if select in FPM test timeouts"
This reverts commit
e2361498d519561e7eb5b73d138c1eaa80da2a20.
Ooops, this occurs normally during some tests, but I didn't notice
because I have slow tests disabled...
Nikita Popov [Wed, 8 Jan 2020 14:56:37 +0000 (15:56 +0100)]
Display a message if select in FPM test timeouts
Christoph M. Becker [Tue, 7 Jan 2020 14:28:48 +0000 (15:28 +0100)]
Make test more resilient
Depending on the libcurl version and perhaps configuration, it may show
additional info (due to `CURLOPT_VERBOSE` being activated), which we
have to ignore, to avoid spurious test failures.
Christoph M. Becker [Tue, 7 Jan 2020 13:24:55 +0000 (14:24 +0100)]
Increase sleep() time in test case
Apparently, the former increase to `sleep(2)` helped somewhat, but
still the test fails occassionally.
Christoph M. Becker [Tue, 7 Jan 2020 10:10:55 +0000 (11:10 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Bump version
Christoph M. Becker [Tue, 7 Jan 2020 10:03:19 +0000 (11:03 +0100)]
Bump version
Nikita Popov [Tue, 10 Dec 2019 13:29:58 +0000 (14:29 +0100)]
Remove support for preloading on Windows
Due to ASLR restrictions, preloading on Windows does not work with
any code that has preloading dependencies on internal classes.
This effectively makes it unusable for any non-trivial codebase.
Instead of pretending like preloading is going to work, only to
make people realize that it really doesn't once they get beyond
a dummy example, we disable support for preloading on Windows
entirely.
Closes GH-4999.
Nikita Popov [Fri, 3 Jan 2020 14:35:10 +0000 (15:35 +0100)]
Throw Error when referencing uninit typed prop in __sleep
Previously this generated a notice, but would likely generate an
Error when unserializing.
Now we treat it with the same distinction as direct property
accesses, i.e. referencing an unset/undefined normal property
stays a notice, while a typed property becomes an Error exception.
This fixed bug #79002.
Closes GH-5050.
Christoph M. Becker [Mon, 6 Jan 2020 14:32:40 +0000 (15:32 +0100)]
[ci skip] Merge branch 'PHP-7.3' into PHP-7.4
Empty merge.
Christoph M. Becker [Mon, 6 Jan 2020 14:19:34 +0000 (15:19 +0100)]
Revert "Extend CURLFile to support streams"
This reverts commit
17a9f1401aeb35fe1e3657b38102a410d151d42f, because
this commit would break ABI, and also due to bug #79013.
We keep the commit for PHP 7.4+, though.
Christoph M. Becker [Mon, 6 Jan 2020 13:48:22 +0000 (14:48 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #54298: Using empty additional_headers adding extraneous CRLF
Christoph M. Becker [Sun, 5 Jan 2020 14:15:09 +0000 (15:15 +0100)]
Fix #54298: Using empty additional_headers adding extraneous CRLF
If the header string is empty, we pass `NULL` to `php_mail()` to avoid
further checks on the string length.