cvs: php4 /main main.c
| From: | Harald Radi | Date: | Mon, 03 Mar 2003 01:27:23 +0000 |
| Subject: | cvs: php4 /main main.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-19322@lists.php.net to get a copy of this message | ||
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();