Browse Source

adding disable_classes ini directive based on the

newly introduced zend_disable_class function
migration/unlabaled-1.3.2
Harald Radi 23 years ago
parent
commit
3e52882d3b
  1. 42
      main/main.c

42
main/main.c

@ -183,6 +183,44 @@ static void php_disable_functions(TSRMLS_D)
}
/* }}} */
/* {{{ 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_BEGIN()
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 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod
*/
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();

Loading…
Cancel
Save