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();



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to