cvs: php4(PHP_4_3) /main main.c
| From: | Harald Radi | Date: | Mon, 03 Mar 2003 01:54:29 +0000 |
| Subject: | cvs: php4(PHP_4_3) /main main.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-19325@lists.php.net to get a copy of this message | ||
phanto Sun Mar 2 20:54:29 2003 EDT
Modified files: (Branch: PHP_4_3)
/php4/main main.c
Log:
MFH: adding disable_classes ini directive
Index: php4/main/main.c
diff -u php4/main/main.c:1.512.2.12 php4/main/main.c:1.512.2.13
--- php4/main/main.c:1.512.2.12 Wed Feb 26 17:17:35 2003
+++ php4/main/main.c Sun Mar 2 20:54:29 2003
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: main.c,v 1.512.2.12 2003/02/26 22:17:35 rasmus Exp $ */
+/* $Id: main.c,v 1.512.2.13 2003/03/03 01:54:29 phanto Exp $ */
/* {{{ includes
*/
@@ -202,6 +202,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)
@@ -324,6 +362,7 @@
PHP_INI_ENTRY("sendmail_from", NULL, PHP_INI_ALL, NULL)
PHP_INI_ENTRY("sendmail_path", DEFAULT_SENDMAIL_PATH, 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)
@@ -1178,8 +1217,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();