php-src/ext/curl
Nikita Popov 653e4ea1c5 Add flag to forbid dynamic property creation on internal classes
While performing resource -> object migrations, we're adding
defensive classes that are final, non-serializable and non-clonable
(unless they are, of course). This path adds a ZEND_ACC_NO_DYNAMIC_PROPERTIES
flag, that also forbids the creation of dynamic properties on these objects.
This is a subset of #3931 and targeted at internal usage only
(though may be extended to userland at some point in the future).

It's already possible to achieve this (what the removed
WeakRef/WeakMap code does), but there's some caveats: First, this
simple approach is only possible if the class has no declared
properties, otherwise it's necessary to special-case those
properties. Second, it's easy to make it overly strict, e.g. by
forbidding isset($obj->prop) as well. And finally, it requires a
lot of boilerplate code for each class.

Closes GH-5572.
2020-06-24 11:52:36 +02:00
..
tests Skip two curl tests under asan 2020-06-24 10:13:25 +02:00
config.m4 Bump required libcurl version to 7.29.0 2020-01-19 14:10:46 +01:00
config.w32 Clean up curl openssl check 2020-01-06 10:17:37 +01:00
CREDITS
curl.stub.php Fix UNKNOWN default values in ext/curl 2020-06-18 13:26:32 +02:00
curl_arginfo.h Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
curl_file.c Fix UNKNOWN default values in ext/curl 2020-06-18 13:26:32 +02:00
curl_file.stub.php Fix UNKNOWN default values in ext/curl 2020-06-18 13:26:32 +02:00
curl_file_arginfo.h Include stub hash in generated arginfo files 2020-06-24 09:55:19 +02:00
interface.c Add flag to forbid dynamic property creation on internal classes 2020-06-24 11:52:36 +02:00
multi.c Add flag to forbid dynamic property creation on internal classes 2020-06-24 11:52:36 +02:00
php_curl.h Also allow casting CurlMultiHandles 2020-06-22 15:09:22 +02:00
share.c Add flag to forbid dynamic property creation on internal classes 2020-06-24 11:52:36 +02:00
sync-constants.php Merge branch 'PHP-7.3' into PHP-7.4 2019-05-02 15:13:24 +02:00