]> granicus.if.org Git - php/commitdiff
Dropped register_long_arrays, added E_CORE for all dropped setting
authorDmitry Stogov <dmitry@php.net>
Thu, 16 Mar 2006 09:44:42 +0000 (09:44 +0000)
committerDmitry Stogov <dmitry@php.net>
Thu, 16 Mar 2006 09:44:42 +0000 (09:44 +0000)
12 files changed:
NEWS
Zend/tests/unset_cv05.phpt
ext/pcre/tests/bug33200.phpt
ext/session/session.c
ext/session/tests/007.phpt
ext/session/tests/008-php4.2.3.phpt
ext/session/tests/008.phpt
ext/session/tests/009.phpt
ext/session/tests/016.phpt
main/main.c
main/php_globals.h
main/php_variables.c

diff --git a/NEWS b/NEWS
index 20e6153184c9fc2266fd7f6f6fcc4320b0412e0f..905b6ab40841da507f8d9885dc313efa932aae14 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,7 @@ PHP                                                                        NEWS
 ?? ??? ????, PHP 6.0
 - Unicode support. (Andrei, Dmitry, et al)
 - Dropped safe_mode support (Ilia, Andi)
+- Dropped register_long_arrays (Dmitry)
 - Droped register_globals support (Pierre)
   - session_register, session_unregister and session_is_registered removed they
     depend on register_globals
index bc023c4e266d28efa83d233205b5e14300d18cd3..407e73d3124290df0e801d73d00c43d24336c4b4 100644 (file)
@@ -1,21 +1,16 @@
 --TEST--
 unset() CV 5 (indirect unset() of global variable in session_start())
 --INI--
-register_long_arrays=1
 session.auto_start=0
 session.save_handler=files
 --SKIPIF--
-<?php 
-
-include(dirname(__FILE__).'/../../ext/session/tests/skipif.inc'); 
-
-?>
+<?php include(dirname(__FILE__).'/../../ext/session/tests/skipif.inc'); ?>
 --FILE--
 <?php
-$HTTP_SESSION_VARS = "ok\n";
-echo $HTTP_SESSION_VARS;
+$_SESSION = "ok\n";
+echo $_SESSION;
 session_start();
-echo $HTTP_SESSION_VARS;
+echo $_SESSION;
 echo "\nok\n";
 ?>
 --EXPECTF--
index 334e90e8655898ad9e35b75a04f5788402b2207e..905fbd908e88a445c5979432f7f38a2b63d4ead2 100644 (file)
@@ -2,8 +2,6 @@
 Bug #33200 (magic_quotes_sybase = On makes 'e' modifier misbehave)
 --SKIPIF--
 die('skip magic_quotes removed');
---INI--
-magic_quotes_sybase=1
 --FILE--
 <?php
 $str = 'some \'$sample\' text';
index 892d7fb76d30d4308c54c6be5d2a6e6046bd47d7..f7d891096a293f397c361c869b0c474b86f8807a 100644 (file)
@@ -466,13 +466,7 @@ static void php_session_track_init(TSRMLS_D)
        array_init(session_vars);
        PS(http_session_vars) = session_vars;
        
-       if (PG(register_long_arrays)) {
-               ZEND_SET_GLOBAL_VAR_WITH_LENGTH("HTTP_SESSION_VARS", sizeof("HTTP_SESSION_VARS"), PS(http_session_vars), 2, 1);
-               ZEND_SET_GLOBAL_VAR_WITH_LENGTH("_SESSION", sizeof("_SESSION"), PS(http_session_vars), 2, 1);
-       }
-       else {
-               ZEND_SET_GLOBAL_VAR_WITH_LENGTH("_SESSION", sizeof("_SESSION"), PS(http_session_vars), 1, 0);
-       }
+       ZEND_SET_GLOBAL_VAR_WITH_LENGTH("_SESSION", sizeof("_SESSION"), PS(http_session_vars), 1, 0);
 }
 
 static char *php_session_encode(int *newlen TSRMLS_DC)
index 6d7916cef14f5e3f7d7b93312da8adb62d5f83f8..a406826161cd3444c28d4e57d5105a094b211a8c 100644 (file)
@@ -3,7 +3,6 @@ bug compatibility: unset($c) with enabled register_globals
 --SKIPIF--
 <?php die('skip');/* RG removed */ ?>
 --INI--
-register_long_arrays=1
 session.use_cookies=0
 session.cache_limiter=
 session.bug_compat_42=1
@@ -19,26 +18,26 @@ session_id("abtest");
 session_start();
 session_destroy();
 
-### Phase 2 $HTTP_SESSION_VARS["c"] does not contain any value
+### Phase 2 $_SESSION["c"] does not contain any value
 session_id("abtest");
 $_SESSION['c'] = $c;
 
 unset($c);
 $c = 3.14;
 session_write_close();
-unset($HTTP_SESSION_VARS);
+unset($_SESSION);
 unset($c);
 
-### Phase 3 $HTTP_SESSION_VARS["c"] is set
+### Phase 3 $_SESSION["c"] is set
 session_start();
 $c = $_SESSION['c'];
 var_dump($c);
-var_dump($HTTP_SESSION_VARS);
+var_dump($_SESSION);
 unset($c);
 $c = 2.78;
 
 session_write_close();
-unset($HTTP_SESSION_VARS);
+unset($_SESSION);
 unset($c);
 
 ### Phase 4 final
@@ -46,7 +45,7 @@ unset($c);
 session_start();
 $c = $_SESSION['c'];
 var_dump($c);
-var_dump($HTTP_SESSION_VARS);
+var_dump($_SESSION);
 
 session_destroy();
 ?>
index 96c46dccf298b06a9026143a5c85f39d457b784d..1d4bb20899bd6e24df5efeb4ce2b36c7fb09d0a7 100644 (file)
@@ -6,7 +6,6 @@ die("skip, no more RG and session_register");
  if (version_compare(PHP_VERSION,"4.2.3-dev", "<")) die("skip this is for PHP >= 4.2.3");
 ?>
 --INI--
-register_long_arrays=1
 session.use_cookies=0
 session.cache_limiter=
 session.bug_compat_42=1
@@ -25,7 +24,7 @@ session_id("abtest");
 session_start();
 session_destroy();
 
-### Phase 2 $HTTP_SESSION_VARS["c"] does not contain any value
+### Phase 2 $_SESSION["c"] does not contain any value
 session_id("abtest");
 $_SESSION['c'] = NULL;
 $c = $_SESSION['c'];
@@ -35,18 +34,18 @@ $c = 3.14;
 @session_write_close(); // this generates an E_WARNING which will be printed 
 // by $php_errormsg so we can use "@" here. ANY further message IS an error.
 echo $php_errormsg."\n";
-unset($HTTP_SESSION_VARS);
+unset($_SESSION);
 unset($c);
 
-### Phase 3 $HTTP_SESSION_VARS["c"] is set
+### Phase 3 $_SESSION["c"] is set
 session_start();
 $c = $_SESSION['c'];
-var_dump($HTTP_SESSION_VARS);
+var_dump($_SESSION);
 unset($c);
 $c = 2.78;
 
 session_write_close();
-unset($HTTP_SESSION_VARS);
+unset($_SESSION);
 unset($c);
 
 ### Phase 4 final
@@ -54,7 +53,7 @@ unset($c);
 session_start();
 $c = $_SESSION['c'];
 var_dump($c);
-var_dump($HTTP_SESSION_VARS);
+var_dump($_SESSION);
 
 session_destroy();
 ?>
index cd88f79d25abe77d6dbcc5c100014d71c49a7392..60c10a5297b7513c3938ab1073a336322967a9aa 100644 (file)
@@ -19,31 +19,31 @@ session_id("abtest");
 session_start();
 session_destroy();
 
-### Phase 2 $HTTP_SESSION_VARS["c"] does not contain any value
+### Phase 2 $_SESSION["c"] does not contain any value
 session_id("abtest");
 session_register("c");
 var_dump($c);
 unset($c);
 $c = 3.14;
 session_write_close();
-unset($HTTP_SESSION_VARS);
+unset($_SESSION);
 unset($c);
 
-### Phase 3 $HTTP_SESSION_VARS["c"] is set
+### Phase 3 $_SESSION["c"] is set
 session_start();
-var_dump($HTTP_SESSION_VARS);
+var_dump($_SESSION);
 unset($c);
 $c = 2.78;
 
 session_write_close();
-unset($HTTP_SESSION_VARS);
+unset($_SESSION);
 unset($c);
 
 ### Phase 4 final
 
 session_start();
 var_dump($c);
-var_dump($HTTP_SESSION_VARS);
+var_dump($_SESSION);
 
 session_destroy();
 ?>
index 6c3eee1dbb468eb51f3aba6d1e3c19b9d83ca89e..1d9ff7e863b52a2f3733958a701303073cb517d8 100644 (file)
@@ -3,7 +3,6 @@ unset($_SESSION["name"]); should work with register_globals=off
 --SKIPIF--
 <?php include('skipif.inc'); ?>
 --INI--
-register_long_arrays=1
 session.use_cookies=0
 session.cache_limiter=
 session.bug_compat_42=1
@@ -20,25 +19,25 @@ session_id("abtest");
 session_start();
 session_destroy();
 
-### Phase 2 $HTTP_SESSION_VARS["c"] does not contain any value
+### Phase 2 $_SESSION["c"] does not contain any value
 session_id("abtest");
 session_start();
-var_dump($HTTP_SESSION_VARS);
-$HTTP_SESSION_VARS["name"] = "foo";
-var_dump($HTTP_SESSION_VARS);
+var_dump($_SESSION);
+$_SESSION["name"] = "foo";
+var_dump($_SESSION);
 session_write_close();
 
-### Phase 3 $HTTP_SESSION_VARS["c"] is set
+### Phase 3 $_SESSION["c"] is set
 session_start();
-var_dump($HTTP_SESSION_VARS);
-unset($HTTP_SESSION_VARS["name"]);
-var_dump($HTTP_SESSION_VARS);
+var_dump($_SESSION);
+unset($_SESSION["name"]);
+var_dump($_SESSION);
 session_write_close();
 
 ### Phase 4 final
 
 session_start();
-var_dump($HTTP_SESSION_VARS);
+var_dump($_SESSION);
 session_destroy();
 ?>
 --EXPECT--
index 21cd0ec929bc236483b23162c2c23a5ac8dc83e8..e116cea306377133e8763f8188123a9847ac970c 100644 (file)
@@ -13,7 +13,7 @@ session.serialize_handler=php
 error_reporting(E_ALL);
 
 @session_start();
-$HTTP_SESSION_VARS["test"] = 1;
+$_SESSION["test"] = 1;
 @session_write_close();
 print "I live\n";
 ?>
index e91ec291b546380ef85384b9f01235c9f71fab27..2e7fa27e1e335be0645c1ea7749b1b564a4593e9 100644 (file)
@@ -372,7 +372,6 @@ PHP_INI_BEGIN()
        STD_PHP_INI_ENTRY("output_buffering",           "0",            PHP_INI_PERDIR|PHP_INI_SYSTEM,  OnUpdateLong,   output_buffering,               php_core_globals,       core_globals)
        STD_PHP_INI_ENTRY("output_handler",                     NULL,           PHP_INI_PERDIR|PHP_INI_SYSTEM,  OnUpdateString, output_handler,         php_core_globals,       core_globals)
        STD_PHP_INI_BOOLEAN("register_argc_argv",       "1",            PHP_INI_PERDIR|PHP_INI_SYSTEM,  OnUpdateBool,   register_argc_argv,             php_core_globals,       core_globals)
-       STD_PHP_INI_BOOLEAN("register_long_arrays",     "1",            PHP_INI_PERDIR|PHP_INI_SYSTEM,  OnUpdateBool,   register_long_arrays,   php_core_globals,       core_globals)
        STD_PHP_INI_BOOLEAN("auto_globals_jit",         "1",            PHP_INI_PERDIR|PHP_INI_SYSTEM,  OnUpdateBool,   auto_globals_jit,       php_core_globals,       core_globals)
        STD_PHP_INI_BOOLEAN("short_open_tag",   DEFAULT_SHORT_OPEN_TAG, PHP_INI_SYSTEM|PHP_INI_PERDIR,          OnUpdateBool,                   short_tags,                             zend_compiler_globals,  compiler_globals)
        STD_PHP_INI_BOOLEAN("sql.safe_mode",            "0",            PHP_INI_SYSTEM,         OnUpdateBool,                   sql_safe_mode,                  php_core_globals,       core_globals)
@@ -425,6 +424,7 @@ PHP_INI_BEGIN()
        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)
        STD_PHP_INI_ENTRY("realpath_cache_size", "16K", PHP_INI_SYSTEM, OnUpdateLong, realpath_cache_size_limit, virtual_cwd_globals, cwd_globals)
        STD_PHP_INI_ENTRY("realpath_cache_ttl", "120", PHP_INI_SYSTEM, OnUpdateLong, realpath_cache_ttl, virtual_cwd_globals, cwd_globals)
+
 PHP_INI_END()
 /* }}} */
 
@@ -1569,6 +1569,27 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod
                return FAILURE;
        }
 
+       /* Check for deprecated directives */
+       {
+               static const char *directives[] = {
+                       "register_globals",
+                       "register_long_arrays",
+                       "safe_mode",
+                       "magic_quotes_gpc",
+                       "magic_quotes_runtime",
+                       "magic_quotes_sybase",
+                       NULL};
+               const char **p = directives;
+               long val;
+
+               while (*p) {
+                       if (cfg_get_long(*p, &val) == SUCCESS && val) {
+                               zend_error(E_CORE_ERROR, "Directive '%s' is not longer supported in PHP-6 and above", *p);
+                       }
+                       ++p;
+               }          
+       }
+
        /* Register PHP core ini entries */
        REGISTER_INI_ENTRIES();
 
index 74b6c12f63de5fb2725218ec98c673fcdbb5f511..67a9f43e5eca602c3ea8532b2310f7332c5f8697 100644 (file)
@@ -108,7 +108,6 @@ struct _php_core_globals {
 
        zend_bool expose_php;
 
-       zend_bool register_long_arrays;
        zend_bool register_argc_argv;
        zend_bool auto_globals_jit;
 
index 153c2d3fe3efca52eb4fc9294639c76b1358090b..10888ec5f1607d8ae1b16ce9d9395028dbf45466 100644 (file)
@@ -818,20 +818,18 @@ int php_hash_environment(TSRMLS_D)
        unsigned char _gpc_flags[5] = {0, 0, 0, 0, 0};
        zval *dummy_track_vars_array = NULL;
        zend_bool initialized_dummy_track_vars_array=0;
-       zend_bool jit_initialization = (PG(auto_globals_jit) && !PG(register_long_arrays) && !PG(register_argc_argv));
+       zend_bool jit_initialization = (PG(auto_globals_jit) && !PG(register_argc_argv));
        struct auto_global_record {
                char *name;
                uint name_len;
-               char *long_name;
-               uint long_name_len;
                zend_bool jit_initialization;
        } auto_global_records[] = {
-               { "_POST", sizeof("_POST"), "HTTP_POST_VARS", sizeof("HTTP_POST_VARS"), 0 },
-               { "_GET", sizeof("_GET"), "HTTP_GET_VARS", sizeof("HTTP_GET_VARS"), 0 },
-               { "_COOKIE", sizeof("_COOKIE"), "HTTP_COOKIE_VARS", sizeof("HTTP_COOKIE_VARS"), 0 },
-               { "_SERVER", sizeof("_SERVER"), "HTTP_SERVER_VARS", sizeof("HTTP_SERVER_VARS"), 1 },
-               { "_ENV", sizeof("_ENV"), "HTTP_ENV_VARS", sizeof("HTTP_ENV_VARS"), 1 },
-               { "_FILES", sizeof("_FILES"), "HTTP_POST_FILES", sizeof("HTTP_POST_FILES"), 0 },
+               { "_POST", sizeof("_POST"), 0 },
+               { "_GET", sizeof("_GET"), 0 },
+               { "_COOKIE", sizeof("_COOKIE"), 0 },
+               { "_SERVER", sizeof("_SERVER"), 1 },
+               { "_ENV", sizeof("_ENV"), 1 },
+               { "_FILES", sizeof("_FILES"), 0 },
        };
        size_t num_track_vars = sizeof(auto_global_records)/sizeof(struct auto_global_record);
        size_t i;
@@ -906,10 +904,6 @@ int php_hash_environment(TSRMLS_D)
 
                PG(http_globals)[i]->refcount++;
                zend_hash_update(&EG(symbol_table), auto_global_records[i].name, auto_global_records[i].name_len, &PG(http_globals)[i], sizeof(zval *), NULL);
-               if (PG(register_long_arrays)) {
-                       zend_hash_update(&EG(symbol_table), auto_global_records[i].long_name, auto_global_records[i].long_name_len, &PG(http_globals)[i], sizeof(zval *), NULL);
-                       PG(http_globals)[i]->refcount++;
-               }
        }
 
        /* Create _REQUEST */
@@ -940,11 +934,6 @@ static zend_bool php_auto_globals_create_server(char *name, uint name_len TSRMLS
        zend_hash_update(&EG(symbol_table), name, name_len + 1, &PG(http_globals)[TRACK_VARS_SERVER], sizeof(zval *), NULL);
        PG(http_globals)[TRACK_VARS_SERVER]->refcount++;
 
-       if (PG(register_long_arrays)) {
-               zend_hash_update(&EG(symbol_table), "HTTP_SERVER_VARS", sizeof("HTTP_SERVER_VARS"), &PG(http_globals)[TRACK_VARS_SERVER], sizeof(zval *), NULL);
-               PG(http_globals)[TRACK_VARS_SERVER]->refcount++;
-       }
-
        return 0; /* don't rearm */
 }
 
@@ -966,11 +955,6 @@ static zend_bool php_auto_globals_create_env(char *name, uint name_len TSRMLS_DC
        zend_hash_update(&EG(symbol_table), name, name_len + 1, &PG(http_globals)[TRACK_VARS_ENV], sizeof(zval *), NULL);
        PG(http_globals)[TRACK_VARS_ENV]->refcount++;
 
-       if (PG(register_long_arrays)) {
-               zend_hash_update(&EG(symbol_table), "HTTP_ENV_VARS", sizeof("HTTP_ENV_VARS"), &PG(http_globals)[TRACK_VARS_ENV], sizeof(zval *), NULL);
-               PG(http_globals)[TRACK_VARS_ENV]->refcount++;
-       }
-
        return 0; /* don't rearm */
 }