phanto Sun Mar 2 20:27:23 2003 EDT
Modified files:
/php4/main main.c
Log:
adding disable_classes ini directive based on the
newly introduced zend_disable_class function
Index: php4/main/main.c
diff -u php4/main/main.c:1.531 php4/main/main.c:1.532
--- php4/main/main.c:1.531 Sun Mar 2 05:19:14 2003
+++ php4/main/main.c Sun Mar 2 20:27:22 2003
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: main.c,v 1.531 2003/03/02 10:19:14 zeev Exp $ */
+/* $Id: main.c,v 1.532 2003/03/03 01:27:22 phanto Exp $ */
/* {{{ includes
*/
@@ -183,6 +183,44 @@
}
/* }}} */
+/* {{{ php_disable_classes
+ */
+static void php_disable_classes(TSRMLS_D)
+{
+ char *s = NULL;
+ char *e = INI_STR("disable_classes");
+ char p;
+
+ if (!*e) {
+ return;
+ }
+
+ while (*e) {
+ switch (*e) {
+ case ' ':
+ case ',':
+ if (s) {
+ p = *e;
+ *e = '\0';
+ zend_disable_class(s, e-s TSRMLS_CC);
+ *e = p;
+ s = NULL;
+ }
+ break;
+ default:
+ if (!s) {
+ s = e;
+ }
+ break;
+ }
+ e++;
+ }
+ if (s) {
+ zend_disable_class(s, e-s TSRMLS_CC);
+ }
+}
+/* }}} */
+
/* {{{ PHP_INI_MH
*/
static PHP_INI_MH(OnUpdateTimeout)
@@ -308,6 +346,7 @@
PHP_INI_ENTRY("sendmail_path", DEFAULT_SENDMAIL_PATH, PHP_INI_SYSTEM,
NULL)
PHP_INI_ENTRY("mail_force_extra_parameters",NULL,
PHP_INI_SYSTEM, NULL)
PHP_INI_ENTRY("disable_functions", "",
PHP_INI_SYSTEM, NULL)
+ PHP_INI_ENTRY("disable_classes", "",
PHP_INI_SYSTEM, NULL)
STD_PHP_INI_BOOLEAN("allow_url_fopen", "1", PHP_INI_ALL,
OnUpdateBool, allow_url_fopen,
php_core_globals, core_globals)
STD_PHP_INI_BOOLEAN("always_populate_raw_post_data", "0",
PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateBool,
always_populate_raw_post_data, php_core_globals, core_globals)
@@ -1301,8 +1340,9 @@
*/
php_ini_delayed_modules_startup(TSRMLS_C);
- /* disable certain functions as requested by php.ini */
+ /* disable certain classes and functions as requested by php.ini */
php_disable_functions(TSRMLS_C);
+ php_disable_classes(TSRMLS_C);
/* start Zend extensions */
zend_startup_extensions();
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php