1
0
mirror of https://github.com/php/php-src.git synced 2026-04-05 07:02:33 +02:00
Commit Graph

117717 Commits

Author SHA1 Message Date
Nikita Popov
941a3b6ccd Remove unnecessary uses of CHECK_SILENT
If no error is passed, it is always silent.
2020-03-06 16:36:45 +01:00
Nikita Popov
9c6e206bce Remove NO_ACCESS flag for zend_is_callable()
We may add support for fake_scope if necessary.
2020-03-06 16:31:03 +01:00
Nikita Popov
7309c23644 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix community job
2020-03-06 11:43:58 +01:00
Nikita Popov
979978cb61 Fix community job
Marco broke things again.
2020-03-06 11:43:35 +01:00
Nikita Popov
d95f465efa Merge branch 'PHP-7.4'
* PHP-7.4:
  Add test for bug #63816
2020-03-06 11:17:06 +01:00
Nikita Popov
c3ab8fd3f8 Add test for bug #63816
This has been fixed in PHP 7.4, add a test for it.
2020-03-06 11:16:47 +01:00
Nikita Popov
e9ae581f02 Fixed bug #62609: Allow implementing Traversable in abstract class
Master only, as this depends on fixes to calling order of
interface implementation handlers.
2020-03-06 11:12:43 +01:00
Remi Collet
125724cf58 [ci skip] fix for #72374 is no more a BC break 2020-03-06 10:29:16 +01:00
Remi Collet
be14d4e135 better fix for #72374 2020-03-06 10:27:29 +01:00
Christoph M. Becker
f3c24ec265 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #75673: SplStack::unserialize() behavior
2020-03-06 09:12:03 +01:00
Christoph M. Becker
b761997de3 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #75673: SplStack::unserialize() behavior
2020-03-06 09:11:10 +01:00
Christoph M. Becker
b84277297a Fix #75673: SplStack::unserialize() behavior
Even though `SplStack::unserialize()` is not supposed to be called on
an already constructed instance, it is probably better if the method
clears the stack before actually unserializing.
2020-03-06 09:09:49 +01:00
Benjamin Eberlei
0d913f9acf Fix another memory leak in dom_zvals_to_fragment. 2020-03-06 00:03:13 +01:00
Christoph M. Becker
b8100a150a [ci skip] Tweeks to release-process.md
As discussed with Derick and Remi.
2020-03-05 18:06:10 +01:00
Remi Collet
e786e9c83c upgrade information about changs in Zip 2020-03-05 14:03:20 +01:00
Remi Collet
541eeace59 drop old constant with bad name, kept until now for BC 2020-03-05 13:46:34 +01:00
Remi Collet
6f53605275 - make status, statusSys properties and
ZipArchive::getStatusString() method   available after archive is closed
2020-03-05 10:57:26 +01:00
Remi Collet
32c2ae2939 NEWS 2020-03-04 15:31:38 +01:00
Remi Collet
0b21a89472 add lastId property to ZipArchive 2020-03-04 15:31:06 +01:00
Nikita Popov
33ef3d64da Use separate typedef for bucket comparison function
Avoid performing the same casting dance inside each sort compare
function.
2020-03-04 12:46:06 +01:00
Christoph M. Becker
22ec3bcebd Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix intermittent test failures of windows_mb_path tests
2020-03-04 12:16:13 +01:00
Christoph M. Becker
04c9c4ae7d Fix intermittent test failures of windows_mb_path tests
Some of these tests create, use and later remove the same folder, so if
these are run in parallel, they may fail due to race conditions[1].  As
quick fix we add appropriate CONFLICTS clauses to prevent parallel
execution of the respective test groups.

[1] <https://ci.appveyor.com/project/php/php-src/builds/31213037/job/48rp13i0frf5t9hl#L5480>
2020-03-04 12:15:10 +01:00
Nikita Popov
c05a9c3dcd Implement interfaces after all methods available
The place where interface implementation handlers is called is
currently ill-defined: If the class implements interfaces itself,
the handlers for both the parent interfaces and the new interfaces
will be called after all methods are registered (post trait use).
If the class does not implement interfaces, then the parent
interface handlers are called early during inheritance (before
methods are inherited).

This commit moves the calls to always occur after all methods are
available. For userland classes this will be post trait import,
at the time where interfaces get implemented (whether the class
itself defines additional interfaces or not). For internal classes
it will be at the end of inheritance, as internal class declarations
do not have proper finalization.

This allows us to simplify the logic for implementing the magic
Iterator / IteratorAggregate interfaces. In particularly we can
now also automatically detect whether an extension of
IteratorAggregate can safely reuse a custom get_iterator handler,
or whether it needs to switch to the userland mechanism. The
Iterator case continues to rely on ZEND_ACC_REUSE_GET_ITERATOR
for this purpose, as a wholesale replacement is not possible there.
2020-03-04 10:29:21 +01:00
Cameron Porter
a527c60ede PDO_OCI: Add test of the phpinfo output 2020-03-04 10:10:05 +01:00
Remi Collet
8ea3493cb6 zip_file_replace don't need ZIP_FL_OVERWRITE 2020-03-04 09:22:29 +01:00
Nikita Popov
f15f3272cf Remove empty "interface gets implemented" handlers 2020-03-03 17:06:38 +01:00
Nikita Popov
262f52d5e2 Small code cleanup
I found what the modifier code does with XOR pretty confusing.
It's just removing the PPP bits...

Also remove an outdated reference to OVERLOADED_FUNCTION.
2020-03-03 15:00:51 +01:00
Nikita Popov
2c5fcd57c0 Resolve trait alias refers to earlier
Make sure all trait method references are converted to absolute
method references in advance. This regresses one error message
that I don't think is particularly valuable.
2020-03-03 14:23:31 +01:00
Remi Collet
ef03236d9d Merge branch 'PHP-7.4'
* PHP-7.4:
  this test needs json
2020-03-03 13:06:46 +01:00
Remi Collet
b093bd6ae8 this test needs json 2020-03-03 13:06:31 +01:00
Derick Rethans
ec03689eb9 Merge branch 'PHP-7.4' 2020-03-03 11:29:48 +00:00
Derick Rethans
dc3e3e64f2 PHP-7.4 is now 7.4.5-dev 2020-03-03 11:29:10 +00:00
Cameron Porter
a55b0abef3 oci8: Fix two tests that fail with stricter internal checks
Closes GH-5230
2020-03-03 12:13:44 +01:00
Nikita Popov
aa9a3ff891 Add test for bug #69084
This is another bug fixed by the precending commit.
2020-03-03 12:10:54 +01:00
Nikita Popov
53efa1b0c6 Store aliased name of trait method
Currently, trait methods are aliased will continue to use the
original function name. In a few places in the codebase, we will
try to look up the actual method name instead. However, this does
not work if an aliased method is used indirectly
(https://bugs.php.net/bug.php?id=69180).

I think it would be better to instead actually change the method
name to the alias. This is in principle easy: We have to allow
function_name to be changed even if op array is otherwise shared
(similar to static_variables). This means we need to addref/release
the function_name separately, but I don't think there is a
performance concern here (especially as everything is usually
interned).

There is a bit of complication in opcache, where we need to make
sure that the function name is released the correct number of times
(interning may overwrite the name in the original op_array, but we
need to release it as many times as the op_array is shared).

Fixes bug #69180.
Fixes bug #74939.
Closes GH-5226.
2020-03-03 11:55:48 +01:00
Nikita Popov
a7a2e9857e Fix memory leak in dom_zvals_to_fragment 2020-03-03 10:36:04 +01:00
Christoph M. Becker
feef00e929 Merge branch 'PHP-7.4'
* PHP-7.4:
  Next is 7.3.17
2020-03-03 10:22:52 +01:00
Christoph M. Becker
22307b4c44 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Next is 7.3.17
2020-03-03 10:20:42 +01:00
Christoph M. Becker
9dda3b9eb2 Next is 7.3.17 2020-03-03 10:19:31 +01:00
Xinchen Hui
534c3438e3 Updated maintainer ranges 2020-03-03 14:26:42 +08:00
Christoph M. Becker
b9c157726b Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #79013: Content-Length missing when posting a curlFile with curl
2020-03-02 19:12:49 +01:00
Christoph M. Becker
fc8b3ab7cb Fix #79013: Content-Length missing when posting a curlFile with curl
Unfortunately, some Webservers (e.g. IIS) do not implement the (F)CGI
specifications correctly wrt. chunked uploads (i.e. Transfer-encoding:
chunked), but instead pass -1 as CONTENT_LENGTH to the CGI
application. However, our (F)CFI SAPIs (i.e. cgi and cgi-fcgi) do not
support this.

Therefore we try to retrieve the stream size in advance and pass it to
`curl_mime_data_cb()` to prevent libcurl from doing chunked uploads.
This is basically the same approach that `curl_mime_filedata()`
implements, except that we are keeping already opened streams open for
the `read_cb()`.
2020-03-02 19:11:33 +01:00
Remi Collet
a6d86c9bba bump zip version + NEWS 2020-03-02 16:51:55 +01:00
Remi Collet
fb8e221907 - add ZipArchive::FL_RECOMPRESS, FL_ENCRYPTED, FL_OVERWRITE, FL_LOCAL, FL_CENTRAL constants
- add optional "flags" parameter to ZipArchive::addEmptyDir, addFile and addFromString methods
- add "flags" options to ZipArchive::addGlob and addPattern methods
  keeping previous behavior having FL_OVERWRITE by default
- add ZipArchive::replaceFile() method
2020-03-02 16:48:53 +01:00
Remi Collet
c932db8654 add myself as zip maintainer 2020-03-02 16:47:47 +01:00
Christoph M. Becker
3abe64f16a Merge branch 'PHP-7.4'
* PHP-7.4:
  Native Windows support for mysqlnd sha256 authentification
  Abstract over crypto operations
2020-03-02 16:33:40 +01:00
Christoph M. Becker
a0377021c5 Native Windows support for mysqlnd sha256 authentification
We implement that on top of Cryptography API: Next Generation (CNG).
2020-03-02 16:32:51 +01:00
Christoph M. Becker
a7400d5fd3 Abstract over crypto operations 2020-03-02 16:26:53 +01:00
Nikita Popov
336eb48c36 Automatically implement Stringable interface 2020-03-02 15:25:33 +01:00
Nicolas Grekas
9e775db025 Define Stringable with __toString():string method 2020-03-02 15:25:32 +01:00