php-src/ext
Máté Kocsis adb45a63c0
Fix GH-9186 @strict-properties can be bypassed using unserialization (#9354)
* Emit deprecation warnings when adding dynamic properties to classes during unserialization - this will become an Error in php 9.0.
  (Adding dynamic properties in other contexts was already a deprecation warning - the use case of unserialization was overlooked)
* Throw an error when attempting to add a dynamic property to a `readonly` class when unserializing
* Add new serialization methods `__serialize`/`__unserialize` for SplFixedArray to avoid creating deprecated dynamic
  properties that would then be added to the backing fixed-size array
* Don't add named dynamic/declared properties (e.g. $obj->foo) of SplFixedArray to the backing array when unserializing
* Update tests to declare properties or to expect the deprecation warning
* Add news entry

Co-authored-by: Tyson Andre <tysonandre775@hotmail.com>
2022-08-30 07:46:32 -04:00
..
bcmath Deprecate zend_atol() / add zend_ini_parse_quantity() (#7951) 2022-06-17 14:12:53 +02:00
bz2 Merge branch 'PHP-8.1' 2022-06-25 07:40:19 +01:00
calendar Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
com_dotnet Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
ctype Skip locale tests /w musl libc (#9141) 2022-07-25 23:56:14 +01:00
curl Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
date Fixed bug GH-9431: DateTime::getLastErrors() not returning false when no errors/warnings 2022-08-29 14:33:41 +01:00
dba Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
dl_test Add clean_module_functions() (#8763) 2022-06-17 16:33:20 +02:00
dom Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
enchant Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
exif Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
ffi Merge branch 'PHP-8.1' 2022-08-11 09:32:18 +03:00
fileinfo Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
filter Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
ftp Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
gd Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
gettext
gmp Fix GH-9186 @strict-properties can be bypassed using unserialization (#9354) 2022-08-30 07:46:32 -04:00
hash Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
iconv Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
imap Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
intl Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
json Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
ldap Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
libxml Drop unsupported libxml2 2.10.0 symbols 2022-08-28 13:56:34 +02:00
mbstring Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
mysqli Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
mysqlnd Merge branch 'PHP-8.1' 2022-06-10 12:45:30 -04:00
oci8 Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
odbc Fix GH-9347: Current ODBC liveness checks may be inadequate 2022-08-29 18:32:31 +02:00
opcache Merge branch 'PHP-8.1' 2022-08-29 17:13:23 +03:00
openssl Add openssl_cipher_key_length function 2022-08-28 12:27:16 +01:00
pcntl Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
pcre Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
pdo Merge branch 'PHP-8.1' 2022-08-24 14:40:01 +02:00
pdo_dblib Merge branch 'PHP-8.1' 2022-08-26 14:59:59 +02:00
pdo_firebird Fix parentheses warnings 2022-07-28 21:09:18 +02:00
pdo_mysql Fix debug output 2022-06-09 13:42:45 +02:00
pdo_oci Merge branch 'PHP-8.0' into PHP-8.1 2022-08-25 15:21:52 +02:00
pdo_odbc Fix GH-9347: Current ODBC liveness checks may be inadequate 2022-08-29 18:32:31 +02:00
pdo_pgsql Remove SIZEOF_OFF_T undef in PDO PGSQL driver (#8301) 2022-06-09 13:29:20 +01:00
pdo_sqlite Merge branch 'PHP-8.1' 2022-07-27 13:11:58 +02:00
pgsql Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
phar Declare ext/phar constants in stubs (#9094) 2022-07-22 13:09:23 +02:00
posix Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
pspell Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
random Fix GH-9186 @strict-properties can be bypassed using unserialization (#9354) 2022-08-30 07:46:32 -04:00
readline Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
reflection Merge branch 'PHP-8.1' 2022-07-29 12:15:38 +02:00
session Fix GH-9186 @strict-properties can be bypassed using unserialization (#9354) 2022-08-30 07:46:32 -04:00
shmop
simplexml Convert return type of various object handlers from int to zend_result (#8755) 2022-06-26 01:00:19 +02:00
skeleton
snmp Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
soap Fix GH-9186 @strict-properties can be bypassed using unserialization (#9354) 2022-08-30 07:46:32 -04:00
sockets Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
sodium Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
spl Fix GH-9186 @strict-properties can be bypassed using unserialization (#9354) 2022-08-30 07:46:32 -04:00
sqlite3 Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
standard Fix GH-9186 @strict-properties can be bypassed using unserialization (#9354) 2022-08-30 07:46:32 -04:00
sysvmsg Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
sysvsem
sysvshm Fix value in test case 2022-05-16 14:47:02 +02:00
tidy Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
tokenizer Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
xml Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
xmlreader Declare ext/xmlreader constants in stubs (#9133) 2022-07-26 05:57:11 +02:00
xmlwriter Initialise zend_stat_t to fix MSAN build 2022-05-22 16:06:27 +01:00
xsl Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
zend_test Remove unused ext/zend_test alias functions 2022-08-30 11:57:29 +02:00
zip Declare et/zip constants in stubs (#9146) 2022-08-16 10:18:24 +02:00
zlib Do not generate CONST_CS when registering constants (#9439) 2022-08-28 08:27:19 +02:00
ext_skel.php