From 646c71d54ded13811a94d2eed31f510f98a4e9bd Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Tue, 30 Aug 2022 15:51:21 +0100 Subject: [PATCH 1/3] Update INI validator and displayers depending on INI type --- ext/dl_test/dl_test.c | 4 ++-- ext/ffi/ffi.c | 2 +- ext/gd/gd.c | 2 +- ext/mysqli/mysqli.c | 4 ++-- ext/odbc/php_odbc.c | 4 ++-- ext/pcre/php_pcre.c | 2 +- ext/session/session.c | 10 +++++----- ext/tidy/tidy.c | 2 +- 8 files changed, 15 insertions(+), 15 deletions(-) diff --git a/ext/dl_test/dl_test.c b/ext/dl_test/dl_test.c index 4b693fae43163..5d4833c741acb 100644 --- a/ext/dl_test/dl_test.c +++ b/ext/dl_test/dl_test.c @@ -71,8 +71,8 @@ static const zend_function_entry php_dl_test_use_register_functions_directly_fun /* {{{ INI */ PHP_INI_BEGIN() - STD_PHP_INI_BOOLEAN("dl_test.long", "0", PHP_INI_ALL, OnUpdateLong, long_value, zend_dl_test_globals, dl_test_globals) - STD_PHP_INI_ENTRY("dl_test.string", "hello", PHP_INI_ALL, OnUpdateString, string_value, zend_dl_test_globals, dl_test_globals) + STD_PHP_INI_ENTRY("dl_test.long", "0", PHP_INI_ALL, OnUpdateLong, long_value, zend_dl_test_globals, dl_test_globals) + STD_PHP_INI_ENTRY("dl_test.string", "hello", PHP_INI_ALL, OnUpdateString, string_value, zend_dl_test_globals, dl_test_globals) PHP_INI_END() /* }}} */ diff --git a/ext/ffi/ffi.c b/ext/ffi/ffi.c index ac1aabc4f6656..7cc81eb3188fc 100644 --- a/ext/ffi/ffi.c +++ b/ext/ffi/ffi.c @@ -5183,7 +5183,7 @@ static ZEND_INI_DISP(zend_ffi_enable_displayer_cb) /* {{{ */ /* }}} */ ZEND_INI_BEGIN() - ZEND_INI_ENTRY3_EX("ffi.enable", "preload", ZEND_INI_SYSTEM, OnUpdateFFIEnable, NULL, NULL, NULL, zend_ffi_enable_displayer_cb) + ZEND_INI_ENTRY_EX("ffi.enable", "preload", ZEND_INI_SYSTEM, OnUpdateFFIEnable, zend_ffi_enable_displayer_cb) STD_ZEND_INI_ENTRY("ffi.preload", NULL, ZEND_INI_SYSTEM, OnUpdateString, preload, zend_ffi_globals, ffi_globals) ZEND_INI_END() diff --git a/ext/gd/gd.c b/ext/gd/gd.c index cdfaaeedaeb7f..91c95a6c3832d 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -307,7 +307,7 @@ ZEND_GET_MODULE(gd) /* {{{ PHP_INI_BEGIN */ PHP_INI_BEGIN() - PHP_INI_ENTRY("gd.jpeg_ignore_warning", "1", PHP_INI_ALL, NULL) + PHP_INI_ENTRY_EX("gd.jpeg_ignore_warning", "1", PHP_INI_ALL, OnUpdateBool, zend_ini_boolean_displayer_cb) PHP_INI_END() /* }}} */ diff --git a/ext/mysqli/mysqli.c b/ext/mysqli/mysqli.c index 8d2d2b8847b0e..9fa46acbb7d29 100644 --- a/ext/mysqli/mysqli.c +++ b/ext/mysqli/mysqli.c @@ -430,7 +430,7 @@ static const MYSQLND_REVERSE_API mysqli_reverse_api = { PHP_INI_BEGIN() STD_PHP_INI_ENTRY_EX("mysqli.max_links", "-1", PHP_INI_SYSTEM, OnUpdateLong, max_links, zend_mysqli_globals, mysqli_globals, display_link_numbers) STD_PHP_INI_ENTRY_EX("mysqli.max_persistent", "-1", PHP_INI_SYSTEM, OnUpdateLong, max_persistent, zend_mysqli_globals, mysqli_globals, display_link_numbers) - STD_PHP_INI_BOOLEAN("mysqli.allow_persistent", "1", PHP_INI_SYSTEM, OnUpdateLong, allow_persistent, zend_mysqli_globals, mysqli_globals) + STD_PHP_INI_BOOLEAN("mysqli.allow_persistent", "1", PHP_INI_SYSTEM, OnUpdateBool, allow_persistent, zend_mysqli_globals, mysqli_globals) STD_PHP_INI_BOOLEAN("mysqli.rollback_on_cached_plink", "0",PHP_INI_SYSTEM, OnUpdateBool, rollback_on_cached_plink, zend_mysqli_globals, mysqli_globals) STD_PHP_INI_ENTRY("mysqli.default_host", NULL, PHP_INI_ALL, OnUpdateString, default_host, zend_mysqli_globals, mysqli_globals) STD_PHP_INI_ENTRY("mysqli.default_user", NULL, PHP_INI_ALL, OnUpdateString, default_user, zend_mysqli_globals, mysqli_globals) @@ -441,7 +441,7 @@ PHP_INI_BEGIN() #else STD_PHP_INI_ENTRY("mysqli.default_socket", NULL, PHP_INI_ALL, OnUpdateStringUnempty, default_socket, zend_mysqli_globals, mysqli_globals) #endif - STD_PHP_INI_BOOLEAN("mysqli.allow_local_infile", "0", PHP_INI_SYSTEM, OnUpdateLong, allow_local_infile, zend_mysqli_globals, mysqli_globals) + STD_PHP_INI_BOOLEAN("mysqli.allow_local_infile", "0", PHP_INI_SYSTEM, OnUpdateBool, allow_local_infile, zend_mysqli_globals, mysqli_globals) STD_PHP_INI_ENTRY("mysqli.local_infile_directory", NULL, PHP_INI_SYSTEM, OnUpdateString, local_infile_directory, zend_mysqli_globals, mysqli_globals) PHP_INI_END() /* }}} */ diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index 5e0945e0a43de..cf25ef7cdee4e 100644 --- a/ext/odbc/php_odbc.c +++ b/ext/odbc/php_odbc.c @@ -349,7 +349,7 @@ static PHP_INI_DISP(display_cursortype) /* {{{ PHP_INI_BEGIN */ PHP_INI_BEGIN() - STD_PHP_INI_BOOLEAN("odbc.allow_persistent", "1", PHP_INI_SYSTEM, OnUpdateLong, + STD_PHP_INI_BOOLEAN("odbc.allow_persistent", "1", PHP_INI_SYSTEM, OnUpdateBool, allow_persistent, zend_odbc_globals, odbc_globals) STD_PHP_INI_ENTRY_EX("odbc.max_persistent", "-1", PHP_INI_SYSTEM, OnUpdateLong, max_persistent, zend_odbc_globals, odbc_globals, display_link_nums) @@ -365,7 +365,7 @@ PHP_INI_BEGIN() defaultlrl, zend_odbc_globals, odbc_globals, display_lrl) STD_PHP_INI_ENTRY_EX("odbc.defaultbinmode", "1", PHP_INI_ALL, OnUpdateLong, defaultbinmode, zend_odbc_globals, odbc_globals, display_binmode) - STD_PHP_INI_BOOLEAN("odbc.check_persistent", "1", PHP_INI_SYSTEM, OnUpdateLong, + STD_PHP_INI_BOOLEAN("odbc.check_persistent", "1", PHP_INI_SYSTEM, OnUpdateBool, check_persistent, zend_odbc_globals, odbc_globals) STD_PHP_INI_ENTRY_EX("odbc.default_cursortype", "3", PHP_INI_ALL, OnUpdateLong, default_cursortype, zend_odbc_globals, odbc_globals, display_cursortype) diff --git a/ext/pcre/php_pcre.c b/ext/pcre/php_pcre.c index f1d821e050692..f4fd60e96ebef 100644 --- a/ext/pcre/php_pcre.c +++ b/ext/pcre/php_pcre.c @@ -369,7 +369,7 @@ PHP_INI_BEGIN() STD_PHP_INI_ENTRY("pcre.backtrack_limit", "1000000", PHP_INI_ALL, OnUpdateBacktrackLimit, backtrack_limit, zend_pcre_globals, pcre_globals) STD_PHP_INI_ENTRY("pcre.recursion_limit", "100000", PHP_INI_ALL, OnUpdateRecursionLimit, recursion_limit, zend_pcre_globals, pcre_globals) #ifdef HAVE_PCRE_JIT_SUPPORT - STD_PHP_INI_ENTRY("pcre.jit", "1", PHP_INI_ALL, OnUpdateJit, jit, zend_pcre_globals, pcre_globals) + STD_PHP_INI_BOOLEAN("pcre.jit", "1", PHP_INI_ALL, OnUpdateJit, jit, zend_pcre_globals, pcre_globals) #endif PHP_INI_END() diff --git a/ext/session/session.c b/ext/session/session.c index 745532f1626f1..e56c15dcbe37d 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -782,12 +782,12 @@ PHP_INI_BEGIN() STD_PHP_INI_ENTRY("session.cookie_lifetime", "0", PHP_INI_ALL, OnUpdateCookieLifetime,cookie_lifetime, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.cookie_path", "/", PHP_INI_ALL, OnUpdateSessionString, cookie_path, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.cookie_domain", "", PHP_INI_ALL, OnUpdateSessionString, cookie_domain, php_ps_globals, ps_globals) - STD_PHP_INI_ENTRY("session.cookie_secure", "0", PHP_INI_ALL, OnUpdateSessionBool, cookie_secure, php_ps_globals, ps_globals) - STD_PHP_INI_ENTRY("session.cookie_httponly", "0", PHP_INI_ALL, OnUpdateSessionBool, cookie_httponly, php_ps_globals, ps_globals) + STD_PHP_INI_BOOLEAN("session.cookie_secure", "0", PHP_INI_ALL, OnUpdateSessionBool, cookie_secure, php_ps_globals, ps_globals) + STD_PHP_INI_BOOLEAN("session.cookie_httponly", "0", PHP_INI_ALL, OnUpdateSessionBool, cookie_httponly, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.cookie_samesite", "", PHP_INI_ALL, OnUpdateSessionString, cookie_samesite, php_ps_globals, ps_globals) - STD_PHP_INI_ENTRY("session.use_cookies", "1", PHP_INI_ALL, OnUpdateSessionBool, use_cookies, php_ps_globals, ps_globals) - STD_PHP_INI_ENTRY("session.use_only_cookies", "1", PHP_INI_ALL, OnUpdateSessionBool, use_only_cookies, php_ps_globals, ps_globals) - STD_PHP_INI_ENTRY("session.use_strict_mode", "0", PHP_INI_ALL, OnUpdateSessionBool, use_strict_mode, php_ps_globals, ps_globals) + STD_PHP_INI_BOOLEAN("session.use_cookies", "1", PHP_INI_ALL, OnUpdateSessionBool, use_cookies, php_ps_globals, ps_globals) + STD_PHP_INI_BOOLEAN("session.use_only_cookies", "1", PHP_INI_ALL, OnUpdateSessionBool, use_only_cookies, php_ps_globals, ps_globals) + STD_PHP_INI_BOOLEAN("session.use_strict_mode", "0", PHP_INI_ALL, OnUpdateSessionBool, use_strict_mode, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.referer_check", "", PHP_INI_ALL, OnUpdateSessionString, extern_referer_chk, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.cache_limiter", "nocache", PHP_INI_ALL, OnUpdateSessionString, cache_limiter, php_ps_globals, ps_globals) STD_PHP_INI_ENTRY("session.cache_expire", "180", PHP_INI_ALL, OnUpdateSessionLong, cache_expire, php_ps_globals, ps_globals) diff --git a/ext/tidy/tidy.c b/ext/tidy/tidy.c index a4ed9c505efba..535ac785cacac 100644 --- a/ext/tidy/tidy.c +++ b/ext/tidy/tidy.c @@ -168,7 +168,7 @@ ZEND_DECLARE_MODULE_GLOBALS(tidy) PHP_INI_BEGIN() STD_PHP_INI_ENTRY("tidy.default_config", "", PHP_INI_SYSTEM, OnUpdateString, default_config, zend_tidy_globals, tidy_globals) -STD_PHP_INI_ENTRY("tidy.clean_output", "0", PHP_INI_USER, php_tidy_set_clean_output, clean_output, zend_tidy_globals, tidy_globals) +STD_PHP_INI_BOOLEAN("tidy.clean_output", "0", PHP_INI_USER, php_tidy_set_clean_output, clean_output, zend_tidy_globals, tidy_globals) PHP_INI_END() static zend_class_entry *tidy_ce_doc, *tidy_ce_node; From 0bbd71a91947fc69320bcfff06ee4cf81fa1f206 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Tue, 30 Aug 2022 18:03:16 +0100 Subject: [PATCH 2/3] Update globals to use bool type --- ext/mysqli/php_mysqli_structs.h | 4 ++-- ext/odbc/php_odbc_includes.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/mysqli/php_mysqli_structs.h b/ext/mysqli/php_mysqli_structs.h index c57a26603c49c..7495cc8bda733 100644 --- a/ext/mysqli/php_mysqli_structs.h +++ b/ext/mysqli/php_mysqli_structs.h @@ -241,13 +241,13 @@ ZEND_BEGIN_MODULE_GLOBALS(mysqli) zend_long num_active_persistent; zend_long num_inactive_persistent; zend_long max_persistent; - zend_long allow_persistent; + bool allow_persistent; zend_ulong default_port; char *default_host; char *default_user; char *default_pw; char *default_socket; - zend_long allow_local_infile; + bool allow_local_infile; char *local_infile_directory; zend_long error_no; char *error_msg; diff --git a/ext/odbc/php_odbc_includes.h b/ext/odbc/php_odbc_includes.h index 78dffeda438d7..21c74d317c68c 100644 --- a/ext/odbc/php_odbc_includes.h +++ b/ext/odbc/php_odbc_includes.h @@ -228,8 +228,8 @@ ZEND_BEGIN_MODULE_GLOBALS(odbc) char *defDB; char *defUser; char *defPW; - zend_long allow_persistent; - zend_long check_persistent; + bool allow_persistent; + bool check_persistent; zend_long max_persistent; zend_long max_links; zend_long num_persistent; From a1aebeb33d65fb1142afc275bf5376c668d158da Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Tue, 30 Aug 2022 18:11:45 +0100 Subject: [PATCH 3/3] revert GD change --- ext/gd/gd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/gd/gd.c b/ext/gd/gd.c index 91c95a6c3832d..e365fa3d42129 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -307,7 +307,7 @@ ZEND_GET_MODULE(gd) /* {{{ PHP_INI_BEGIN */ PHP_INI_BEGIN() - PHP_INI_ENTRY_EX("gd.jpeg_ignore_warning", "1", PHP_INI_ALL, OnUpdateBool, zend_ini_boolean_displayer_cb) + PHP_INI_ENTRY_EX("gd.jpeg_ignore_warning", "1", PHP_INI_ALL, NULL, zend_ini_boolean_displayer_cb) PHP_INI_END() /* }}} */