]> granicus.if.org Git - php/commitdiff
Only allow loading of extensions only during .ini file parsing
authorZeev Suraski <zeev@php.net>
Wed, 17 May 2000 15:41:32 +0000 (15:41 +0000)
committerZeev Suraski <zeev@php.net>
Wed, 17 May 2000 15:41:32 +0000 (15:41 +0000)
main/configuration-parser.y

index e371ce96c6f2aacc0b2f7acee52f5cd4fa134f6d..ccf8fb793c37b31d053729b7c195b8d2385389c5 100644 (file)
@@ -466,36 +466,46 @@ statement:
                }
        |       TC_STRING { free($1.value.str.val); }
        |       EXTENSION '=' cfg_string {
-                       zval dummy;
+                       if (parsing_mode==PARSING_MODE_CFG) {
+                               zval dummy;
+
 #if DEBUG_CFG_PARSER
-                       printf("Loading '%s'\n",$3.value.str.val);
+                               printf("Loading '%s'\n",$3.value.str.val);
 #endif
-                       
-                       php_dl(&$3,MODULE_PERSISTENT,&dummy);
+                               php_dl(&$3,MODULE_PERSISTENT,&dummy);
+                       }
                }
        |       T_ZEND_EXTENSION '=' cfg_string {
+                       if (parsing_mode==PARSING_MODE_CFG) {
 #if !defined(ZTS) && !ZEND_DEBUG
-                       zend_load_extension($3.value.str.val);
+                               zend_load_extension($3.value.str.val);
 #endif
-                       free($3.value.str.val);
+                               free($3.value.str.val);
+                       }
                }
        |       T_ZEND_EXTENSION_TS '=' cfg_string { 
+                       if (parsing_mode==PARSING_MODE_CFG) {
 #if defined(ZTS) && !ZEND_DEBUG
-                       zend_load_extension($3.value.str.val);
+                               zend_load_extension($3.value.str.val);
 #endif
-                       free($3.value.str.val);
+                               free($3.value.str.val);
+                       }
                }
        |       T_ZEND_EXTENSION_DEBUG '=' cfg_string { 
 #if !defined(ZTS) && ZEND_DEBUG
-                       zend_load_extension($3.value.str.val);
+                       if (parsing_mode==PARSING_MODE_CFG) {
+                               zend_load_extension($3.value.str.val);
 #endif
-                       free($3.value.str.val);
+                               free($3.value.str.val);
+                       }
                }
        |       T_ZEND_EXTENSION_DEBUG_TS '=' cfg_string { 
+                       if (parsing_mode==PARSING_MODE_CFG) {
 #if defined(ZTS) && ZEND_DEBUG
-                       zend_load_extension($3.value.str.val);
+                               zend_load_extension($3.value.str.val);
 #endif
-                       free($3.value.str.val);
+                               free($3.value.str.val);
+                       }
                }
        |       SECTION { 
                        if (parsing_mode==PARSING_MODE_BROWSCAP) {