- SQLite3:
. Unbundled libsqlite. (cmb)
. Lifted requirements to SQLite 3.5.0. (cmb)
+ . Forbid (un)serialization of SQLite3, SQLite3Stmt and SQLite3Result. (cmb)
. Added support for the SQLite @name notation. (cmb, BohwaZ)
- Standard:
- SQLite3:
. The bundled libsqlite has been removed. To build the SQLite3 and/or
PDO_SQLite extensions a system libsqlite3 ≥ 3.5.0 is now required.
+ . (Un)serialization of SQLite3, SQLite3Stmt and SQLite3Result is now explictly
+ forbidden. Formerly, serialization of instances of these classes was
+ possible, but unserialization yielded unusable objects.
. The @param notation can now also be used to denote SQL query parameters.
- Zip:
sqlite3_object_handlers.clone_obj = NULL;
sqlite3_object_handlers.free_obj = php_sqlite3_object_free_storage;
php_sqlite3_sc_entry = zend_register_internal_class(&ce);
+ php_sqlite3_sc_entry->serialize = zend_class_serialize_deny;
+ php_sqlite3_sc_entry->unserialize = zend_class_unserialize_deny;
/* Register SQLite 3 Prepared Statement Class */
INIT_CLASS_ENTRY(ce, "SQLite3Stmt", php_sqlite3_stmt_class_methods);
sqlite3_stmt_object_handlers.clone_obj = NULL;
sqlite3_stmt_object_handlers.free_obj = php_sqlite3_stmt_object_free_storage;
php_sqlite3_stmt_entry = zend_register_internal_class(&ce);
+ php_sqlite3_stmt_entry->serialize = zend_class_serialize_deny;
+ php_sqlite3_stmt_entry->unserialize = zend_class_unserialize_deny;
/* Register SQLite 3 Result Class */
INIT_CLASS_ENTRY(ce, "SQLite3Result", php_sqlite3_result_class_methods);
sqlite3_result_object_handlers.clone_obj = NULL;
sqlite3_result_object_handlers.free_obj = php_sqlite3_result_object_free_storage;
php_sqlite3_result_entry = zend_register_internal_class(&ce);
+ php_sqlite3_result_entry->serialize = zend_class_serialize_deny;
+ php_sqlite3_result_entry->unserialize = zend_class_unserialize_deny;
REGISTER_INI_ENTRIES();