mirror of
https://github.com/php/php-src.git
synced 2025-08-20 09:24:05 +02:00
Dropped register_long_arrays, added E_CORE for all dropped setting
This commit is contained in:
parent
37ab9aa474
commit
22055cb8fd
12 changed files with 63 additions and 74 deletions
1
NEWS
1
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
|
||||
|
|
|
@ -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--
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -466,14 +466,8 @@ 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);
|
||||
}
|
||||
}
|
||||
|
||||
static char *php_session_encode(int *newlen TSRMLS_DC)
|
||||
{
|
||||
|
|
|
@ -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();
|
||||
?>
|
||||
|
|
|
@ -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();
|
||||
?>
|
||||
|
|
|
@ -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();
|
||||
?>
|
||||
|
|
|
@ -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--
|
||||
|
|
|
@ -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";
|
||||
?>
|
||||
|
|
23
main/main.c
23
main/main.c
|
@ -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();
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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 */
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue