summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Joye <pajoye@php.net>2011-07-22 11:25:30 +0000
committerPierre Joye <pajoye@php.net>2011-07-22 11:25:30 +0000
commitcc1c7af0375db5b7ad2c7752569b925cc3372377 (patch)
tree0bf43f30b0e5a4286a01da613bf901b92f9f9b3c
parent5ef9ab3b03867e8644b5140d618842199ef69202 (diff)
downloadphp-git-cc1c7af0375db5b7ad2c7752569b925cc3372377.tar.gz
- remove magic quotes support, functions are kept (see the NEWS entry for the details) for BC reasons but do not allow to set enable MQ
-rw-r--r--Zend/zend_float.c2
-rw-r--r--Zend/zend_ini_scanner.c2
-rw-r--r--Zend/zend_ini_scanner_defs.h2
-rw-r--r--Zend/zend_language_scanner.c2
-rw-r--r--Zend/zend_language_scanner_defs.h2
-rw-r--r--Zend/zend_operators.h1
-rw-r--r--configure.in9
-rw-r--r--ext/bz2/bz2.c7
-rw-r--r--ext/dba/dba.c20
-rw-r--r--ext/exif/exif.c32
-rwxr-xr-xext/exif/tests/bug34704.phpt1
-rw-r--r--ext/exif/tests/exif002.phpt1
-rw-r--r--ext/exif/tests/exif006.phpt90
-rw-r--r--ext/filter/filter.c2
-rw-r--r--ext/filter/tests/bug39763.phpt17
-rw-r--r--ext/filter/tests/bug42718-2.phpt3
-rw-r--r--ext/filter/tests/bug42718.phpt1
-rw-r--r--ext/hash/tests/mhash_001.phpt2
-rw-r--r--ext/hash/tests/mhash_004.phpt2
-rw-r--r--ext/iconv/tests/translit-utf8.phpt1
-rw-r--r--ext/interbase/ibase_query.c7
-rw-r--r--ext/mssql/php_mssql.c18
-rw-r--r--ext/mysql/php_mysql.c8
-rw-r--r--ext/mysqli/mysqli.c4
-rw-r--r--ext/pcre/php_pcre.c2
-rw-r--r--ext/pcre/tests/bug33200.phpt13
-rw-r--r--ext/pdo/tests/pdo_test.inc3
-rw-r--r--ext/pgsql/pgsql.c17
-rw-r--r--ext/phar/func_interceptors.c2
-rw-r--r--ext/phar/tests/fgc_edgecases.phpt24
-rwxr-xr-xext/spl/examples/dbaarray.inc5
-rwxr-xr-xext/spl/spl_directory.c15
-rw-r--r--ext/spl/tests/SplFileObject_fwrite_variation_003.phpt22
-rw-r--r--ext/standard/basic_functions.c24
-rw-r--r--ext/standard/exec.c11
-rw-r--r--ext/standard/file.c76
-rw-r--r--ext/standard/php_string.h1
-rw-r--r--ext/standard/streamsfuncs.c15
-rw-r--r--ext/standard/string.c87
-rw-r--r--ext/standard/tests/file/magic_quotes.phpt77
-rw-r--r--ext/standard/tests/general_functions/get_cfg_var_variation8.phpt37
-rw-r--r--ext/standard/tests/general_functions/get_magic_quotes_gpc.phpt39
-rw-r--r--ext/standard/tests/general_functions/get_magic_quotes_runtime.phpt52
-rw-r--r--ext/standard/tests/general_functions/set_magic_quotes_runtime_variation1.phpt204
-rw-r--r--ext/standard/tests/strings/add-and-stripslashes.phpt12
-rw-r--r--ext/standard/tests/strings/addslashes_variation3.phpt196
-rw-r--r--ext/standard/tests/strings/bug22904.phpt30
-rw-r--r--ext/standard/tests/strings/parse_str_basic3.phptbin5223 -> 5087 bytes
-rw-r--r--ext/standard/tests/strings/stripslashes_variation5.phptbin8397 -> 0 bytes
-rw-r--r--ext/sybase_ct/php_sybase_ct.c6
-rw-r--r--ext/sysvsem/tests/sysv.phpt2
-rw-r--r--ext/xml/tests/xml001.phpt2
-rw-r--r--ext/xml/tests/xml002.phpt2
-rw-r--r--ext/xml/tests/xml003.phpt2
-rw-r--r--ext/xml/tests/xml004.phpt2
-rwxr-xr-xext/xml/tests/xml_closures_001.phpt2
-rw-r--r--ext/zlib/tests/004.phpt23
-rw-r--r--ext/zlib/zlib.c11
-rw-r--r--main/main.c11
-rw-r--r--main/php_globals.h4
-rw-r--r--main/php_variables.c27
-rw-r--r--main/rfc1867.c11
-rw-r--r--php.ini-development29
-rw-r--r--php.ini-production29
-rw-r--r--sapi/cgi/cgi_main.c5
-rw-r--r--sapi/fpm/fpm/fpm_main.c5
-rw-r--r--tests/basic/023.phpt2
-rw-r--r--tests/basic/024.phpt1
-rw-r--r--tests/basic/025.phpt1
-rw-r--r--tests/basic/026.phpt1
-rw-r--r--tests/basic/027.phpt1
-rw-r--r--tests/basic/bug46313-win.phpt65
-rw-r--r--tests/basic/bug46313.phpt54
-rw-r--r--tests/basic/bug46759.phpt20
-rw-r--r--tests/security/magic_quotes_gpc.phpt13
-rw-r--r--win32/build/config.w32.h.in1
-rw-r--r--win32/syslog.reg2
77 files changed, 211 insertions, 1323 deletions
diff --git a/Zend/zend_float.c b/Zend/zend_float.c
index db8d000dd4..9e9f7bb651 100644
--- a/Zend/zend_float.c
+++ b/Zend/zend_float.c
@@ -31,7 +31,7 @@ ZEND_API void zend_init_fpu(TSRMLS_D) /* {{{ */
EG(saved_fpu_cw_ptr) = (void*)&EG(saved_fpu_cw);
}
XPFPA_STORE_CW(EG(saved_fpu_cw_ptr));
- XPFPA_SWITCH_DOUBLE();
+// XPFPA_SWITCH_DOUBLE();
#else
EG(saved_fpu_cw_ptr) = NULL;
#endif
diff --git a/Zend/zend_ini_scanner.c b/Zend/zend_ini_scanner.c
index a7e71a5a5d..0b950c212e 100644
--- a/Zend/zend_ini_scanner.c
+++ b/Zend/zend_ini_scanner.c
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Mon Aug 30 19:00:33 2010 */
+/* Generated by re2c 0.13.5 on Mon Jan 03 10:40:06 2011 */
#line 1 "Zend/zend_ini_scanner.l"
/*
+----------------------------------------------------------------------+
diff --git a/Zend/zend_ini_scanner_defs.h b/Zend/zend_ini_scanner_defs.h
index a3e7cbca70..1610e3a1f1 100644
--- a/Zend/zend_ini_scanner_defs.h
+++ b/Zend/zend_ini_scanner_defs.h
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Mon Aug 30 19:00:34 2010 */
+/* Generated by re2c 0.13.5 on Mon Jan 03 10:40:06 2011 */
#line 3 "Zend/zend_ini_scanner_defs.h"
enum YYCONDTYPE {
diff --git a/Zend/zend_language_scanner.c b/Zend/zend_language_scanner.c
index 9097b5b8bb..bdbae58f7e 100644
--- a/Zend/zend_language_scanner.c
+++ b/Zend/zend_language_scanner.c
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Thu Jun 23 17:57:45 2011 */
+/* Generated by re2c 0.13.5 on Fri Jul 22 13:16:46 2011 */
#line 1 "Zend/zend_language_scanner.l"
/*
+----------------------------------------------------------------------+
diff --git a/Zend/zend_language_scanner_defs.h b/Zend/zend_language_scanner_defs.h
index 0c78414666..04997ff060 100644
--- a/Zend/zend_language_scanner_defs.h
+++ b/Zend/zend_language_scanner_defs.h
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Thu Jun 23 17:57:45 2011 */
+/* Generated by re2c 0.13.5 on Fri Jul 22 13:16:46 2011 */
#line 3 "Zend/zend_language_scanner_defs.h"
enum YYCONDTYPE {
diff --git a/Zend/zend_operators.h b/Zend/zend_operators.h
index 8e3a37eee7..e599ca4971 100644
--- a/Zend/zend_operators.h
+++ b/Zend/zend_operators.h
@@ -474,7 +474,6 @@ static zend_always_inline int fast_increment_function(zval *op1)
"0:"
:
: "r"(op1));
-#else
if (UNEXPECTED(Z_LVAL_P(op1) == LONG_MAX)) {
/* switch to double */
Z_DVAL_P(op1) = (double)LONG_MAX + 1.0;
diff --git a/configure.in b/configure.in
index 0b0eb200ae..666ee31da6 100644
--- a/configure.in
+++ b/configure.in
@@ -901,15 +901,6 @@ else
AC_DEFINE(PHP_SIGCHILD, 0, [ ])
fi
-PHP_ARG_ENABLE(magic-quotes, whether to enable magic quotes by default,
-[ --enable-magic-quotes Enable magic quotes by default.], no, no)
-
-if test "$PHP_MAGIC_QUOTES" = "yes"; then
- AC_DEFINE(MAGIC_QUOTES, 1, [ ])
-else
- AC_DEFINE(MAGIC_QUOTES, 0, [ ])
-fi
-
PHP_ARG_ENABLE(libgcc, whether to explicitly link against libgcc,
[ --enable-libgcc Enable explicitly linking against libgcc], no, no)
diff --git a/ext/bz2/bz2.c b/ext/bz2/bz2.c
index 1e3c7b7617..310589fc10 100644
--- a/ext/bz2/bz2.c
+++ b/ext/bz2/bz2.c
@@ -352,13 +352,6 @@ static PHP_FUNCTION(bzread)
}
Z_STRVAL_P(return_value)[Z_STRLEN_P(return_value)] = 0;
-
- if (PG(magic_quotes_runtime)) {
- Z_STRVAL_P(return_value) = php_addslashes( Z_STRVAL_P(return_value),
- Z_STRLEN_P(return_value),
- &Z_STRLEN_P(return_value), 1 TSRMLS_CC);
- }
-
Z_TYPE_P(return_value) = IS_STRING;
}
/* }}} */
diff --git a/ext/dba/dba.c b/ext/dba/dba.c
index 97b83d45a1..55fde32459 100644
--- a/ext/dba/dba.c
+++ b/ext/dba/dba.c
@@ -560,20 +560,9 @@ static void php_dba_update(INTERNAL_FUNCTION_PARAMETERS, int mode)
DBA_WRITE_CHECK;
- if (PG(magic_quotes_runtime)) {
- v = estrndup(val, val_len);
- php_stripslashes(v, &val_len TSRMLS_CC);
- if (info->hnd->update(info, key_str, key_len, v, val_len, mode TSRMLS_CC) == SUCCESS) {
- efree(v);
- DBA_ID_DONE;
- RETURN_TRUE;
- }
- efree(v);
- } else {
- if (info->hnd->update(info, key_str, key_len, val, val_len, mode TSRMLS_CC) == SUCCESS) {
- DBA_ID_DONE;
- RETURN_TRUE;
- }
+ if (info->hnd->update(info, key_str, key_len, val, val_len, mode TSRMLS_CC) == SUCCESS) {
+ DBA_ID_DONE;
+ RETURN_TRUE;
}
DBA_ID_DONE;
@@ -1029,9 +1018,6 @@ PHP_FUNCTION(dba_fetch)
skip = 0;
}
if((val = info->hnd->fetch(info, key_str, key_len, skip, &len TSRMLS_CC)) != NULL) {
- if (val && PG(magic_quotes_runtime)) {
- val = php_addslashes(val, len, &len, 1 TSRMLS_CC);
- }
DBA_ID_DONE;
RETURN_STRINGL(val, len, 0);
}
diff --git a/ext/exif/exif.c b/ext/exif/exif.c
index f5e8374845..48af4d64dd 100644
--- a/ext/exif/exif.c
+++ b/ext/exif/exif.c
@@ -1697,11 +1697,7 @@ static void exif_iif_add_value(image_info_type *image_info, int section_index, c
case TAG_FMT_STRING:
if (value) {
length = php_strnlen(value, length);
- if (PG(magic_quotes_runtime)) {
- info_value->s = php_addslashes(value, length, &length, 0 TSRMLS_CC);
- } else {
- info_value->s = estrndup(value, length);
- }
+ info_value->s = estrndup(value, length);
info_data->length = length;
} else {
info_data->length = 0;
@@ -1724,11 +1720,7 @@ static void exif_iif_add_value(image_info_type *image_info, int section_index, c
case TAG_FMT_UNDEFINED:
if (value) {
/* do not recompute length here */
- if (PG(magic_quotes_runtime)) {
- info_value->s = php_addslashes(value, length, &length, 0 TSRMLS_CC);
- } else {
- info_value->s = estrndup(value, length);
- }
+ info_value->s = estrndup(value, length);
info_data->length = length;
} else {
info_data->length = 0;
@@ -1850,11 +1842,7 @@ static void exif_iif_add_str(image_info_type *image_info, int section_index, cha
info_data->format = TAG_FMT_STRING;
info_data->length = 1;
info_data->name = estrdup(name);
- if (PG(magic_quotes_runtime)) {
- info_data->value.s = php_addslashes(value, strlen(value), NULL, 0 TSRMLS_CC);
- } else {
- info_data->value.s = estrdup(value);
- }
+ info_data->value.s = estrdup(value);
image_info->sections_found |= 1<<section_index;
image_info->info_list[section_index].count++;
}
@@ -1895,17 +1883,9 @@ static void exif_iif_add_buffer(image_info_type *image_info, int section_index,
info_data->format = TAG_FMT_UNDEFINED;
info_data->length = length;
info_data->name = estrdup(name);
- if (PG(magic_quotes_runtime)) {
-#ifdef EXIF_DEBUG
- exif_error_docref(NULL EXIFERR_CC, image_info, E_NOTICE, "Adding %s as buffer%s", name, exif_char_dump(value, length, 0));
-#endif
- info_data->value.s = php_addslashes(value, length, &length, 0 TSRMLS_CC);
- info_data->length = length;
- } else {
- info_data->value.s = safe_emalloc(length, 1, 1);
- memcpy(info_data->value.s, value, length);
- info_data->value.s[length] = 0;
- }
+ info_data->value.s = safe_emalloc(length, 1, 1);
+ memcpy(info_data->value.s, value, length);
+ info_data->value.s[length] = 0;
image_info->sections_found |= 1<<section_index;
image_info->info_list[section_index].count++;
}
diff --git a/ext/exif/tests/bug34704.phpt b/ext/exif/tests/bug34704.phpt
index b6b26de78d..7688ce861a 100755
--- a/ext/exif/tests/bug34704.phpt
+++ b/ext/exif/tests/bug34704.phpt
@@ -3,7 +3,6 @@ Bug #34704 (Infinite recursion due to corrupt JPEG)
--SKIPIF--
<?php if (!extension_loaded('exif')) print 'skip exif extension not available';?>
--INI--
-magic_quotes_runtime=0
output_handler=
zlib.output_compression=0
--FILE--
diff --git a/ext/exif/tests/exif002.phpt b/ext/exif/tests/exif002.phpt
index 1b1220c600..2a70f2920c 100644
--- a/ext/exif/tests/exif002.phpt
+++ b/ext/exif/tests/exif002.phpt
@@ -3,7 +3,6 @@ Check for exif_thumbnail
--SKIPIF--
<?php if (!extension_loaded('exif')) print 'skip exif extension not available';?>
--INI--
-magic_quotes_runtime=0
output_handler=
zlib.output_compression=0
--FILE--
diff --git a/ext/exif/tests/exif006.phpt b/ext/exif/tests/exif006.phpt
index 10458c083d..e69de29bb2 100644
--- a/ext/exif/tests/exif006.phpt
+++ b/ext/exif/tests/exif006.phpt
@@ -1,90 +0,0 @@
---TEST--
-Check for exif_read_data, magic_quotes_runtime
---SKIPIF--
-<?php
- if (!extension_loaded('exif')) die('skip exif extension not available');
- if (version_compare(PHP_VERSION, "4.4.0-dev", "<")) die('skip PHP 4.4 required');
-?>
---INI--
-output_handler=
-zlib.output_compression=0
-magic_quotes_runtime=1
---FILE--
-<?php
-/*
- test1.jpg is a 1*1 image that does not contain any Exif/Comment information
- test2.jpg is the same image but contains Exif/Comment information and a
- copy of test1.jpg as a thumbnail.
- test6.jpg is the same as test2.jpg but with a UNICODE UserComment: &Auml;&Ouml;&&Uuml;&szlig;&auml;&ouml;&uuml;
-*/
-var_dump(exif_read_data(dirname(__FILE__).'/test6.jpg','',true,false));
-?>
---EXPECTF--
-Deprecated: Directive 'magic_quotes_runtime' is deprecated in PHP 5.3 and greater in Unknown on line 0
-array(5) {
- ["FILE"]=>
- array(6) {
- ["FileName"]=>
- string(9) "test6.jpg"
- ["FileDateTime"]=>
- int(%d)
- ["FileSize"]=>
- int(1240)
- ["FileType"]=>
- int(2)
- ["MimeType"]=>
- string(10) "image/jpeg"
- ["SectionsFound"]=>
- string(33) "ANY_TAG, IFD0, THUMBNAIL, COMMENT"
- }
- ["COMPUTED"]=>
- array(12) {
- ["html"]=>
- string(24) "width=\"1\" height=\"1\""
- ["Height"]=>
- int(1)
- ["Width"]=>
- int(1)
- ["IsColor"]=>
- int(1)
- ["ByteOrderMotorola"]=>
- int(1)
- ["UserComment"]=>
- string(16) "Hallo \'Du\'+da!"
- ["UserCommentEncoding"]=>
- string(5) "ASCII"
- ["Copyright"]=>
- string(45) "Photo \"M. Boerger\"., Edited \'M. Boerger\'."
- ["Copyright.Photographer"]=>
- string(21) "Photo \"M. Boerger\"."
- ["Copyright.Editor"]=>
- string(22) "Edited \'M. Boerger\'."
- ["Thumbnail.FileType"]=>
- int(2)
- ["Thumbnail.MimeType"]=>
- string(10) "image/jpeg"
- }
- ["IFD0"]=>
- array(2) {
- ["Copyright"]=>
- string(21) "Photo \"M. Boerger\"."
- ["UserComment"]=>
- string(5) "ASCII"
- }
- ["THUMBNAIL"]=>
- array(2) {
- ["JPEGInterchangeFormat"]=>
- int(134)
- ["JPEGInterchangeFormatLength"]=>
- int(523)
- }
- ["COMMENT"]=>
- array(3) {
- [0]=>
- string(13) "Comment \"1\""
- [1]=>
- string(13) "Comment \'2\'"
- [2]=>
- string(13) "Comment #3end"
- }
-}
diff --git a/ext/filter/filter.c b/ext/filter/filter.c
index e67bc7546d..6e61719060 100644
--- a/ext/filter/filter.c
+++ b/ext/filter/filter.c
@@ -464,8 +464,6 @@ static unsigned int php_sapi_filter(int arg, char *var, char **val, unsigned int
Z_STRVAL(new_var) = estrndup(*val, val_len);
INIT_PZVAL(tmp_new_var);
php_zval_filter(&tmp_new_var, IF_G(default_filter), IF_G(default_filter_flags), NULL, NULL/*charset*/, 0 TSRMLS_CC);
- } else if (PG(magic_quotes_gpc) && !retval) { /* for PARSE_STRING php_register_variable_safe() will do the addslashes() */
- Z_STRVAL(new_var) = php_addslashes(*val, Z_STRLEN(new_var), &Z_STRLEN(new_var), 0 TSRMLS_CC);
} else {
Z_STRVAL(new_var) = estrndup(*val, val_len);
}
diff --git a/ext/filter/tests/bug39763.phpt b/ext/filter/tests/bug39763.phpt
index 36ee41561a..e69de29bb2 100644
--- a/ext/filter/tests/bug39763.phpt
+++ b/ext/filter/tests/bug39763.phpt
@@ -1,17 +0,0 @@
---TEST--
-Bug #39763 (filter applies magic_quotes twice in parse_str())
---INI--
-magic_quotes_gpc=1
-filter.default=
---FILE--
-<?php
-$arr = array();
-parse_str("val=%22probably+a+bug%22", $arr);
-echo $arr['val'] . "\n";
-parse_str("val=%22probably+a+bug%22");
-echo $val . "\n";
-?>
---EXPECT--
-Deprecated: Directive 'magic_quotes_gpc' is deprecated in PHP 5.3 and greater in Unknown on line 0
-\"probably a bug\"
-\"probably a bug\" \ No newline at end of file
diff --git a/ext/filter/tests/bug42718-2.phpt b/ext/filter/tests/bug42718-2.phpt
index 13cd990d00..ed210681d3 100644
--- a/ext/filter/tests/bug42718-2.phpt
+++ b/ext/filter/tests/bug42718-2.phpt
@@ -4,7 +4,6 @@ Bug #42718 - 2 (unsafe_raw filter not applied when configured as default filter)
<?php if (!extension_loaded("filter")) die("skip"); ?>
--INI--
display_errors=0
-magic_quotes_gpc=1
filter.default=unsafe_raw
filter.default_flags=
--GET--
@@ -13,9 +12,7 @@ a=1%00
<?php
echo ini_get('filter.default') . "\n";
echo ini_get('filter.default_flags') . "\n";
-echo addcslashes($_GET['a'],"\0") . "\n";
?>
--EXPECT--
unsafe_raw
-1\0
diff --git a/ext/filter/tests/bug42718.phpt b/ext/filter/tests/bug42718.phpt
index d1ede3f7d2..ba56d3988a 100644
--- a/ext/filter/tests/bug42718.phpt
+++ b/ext/filter/tests/bug42718.phpt
@@ -5,7 +5,6 @@ FILTER_UNSAFE_RAW not applied when configured as default filter, even with flags
--SKIPIF--
<?php if (!extension_loaded("filter")) die("skip"); ?>
--INI--
-magic_quotes_gpc=0
filter.default=unsafe_raw
filter.default_flags=4
--GET--
diff --git a/ext/hash/tests/mhash_001.phpt b/ext/hash/tests/mhash_001.phpt
index b2a92839be..5df0378259 100644
--- a/ext/hash/tests/mhash_001.phpt
+++ b/ext/hash/tests/mhash_001.phpt
@@ -1,7 +1,5 @@
--TEST--
mhash() test
---INI--
-magic_quotes_runtime=0
--SKIPIF--
<?php
include "skip_mhash.inc";
diff --git a/ext/hash/tests/mhash_004.phpt b/ext/hash/tests/mhash_004.phpt
index 2721663332..b928a794b1 100644
--- a/ext/hash/tests/mhash_004.phpt
+++ b/ext/hash/tests/mhash_004.phpt
@@ -1,7 +1,5 @@
--TEST--
mhash() modifying algorithm parameter
---INI--
-magic_quotes_runtime=0
--SKIPIF--
<?php
include "skip_mhash.inc";
diff --git a/ext/iconv/tests/translit-utf8.phpt b/ext/iconv/tests/translit-utf8.phpt
index aa5131f2c3..0151dc385c 100644
--- a/ext/iconv/tests/translit-utf8.phpt
+++ b/ext/iconv/tests/translit-utf8.phpt
@@ -6,7 +6,6 @@ include('skipif.inc');
( ICONV_IMPL != "libiconv" ) and die("skip ICONV_IMPL != \"libiconv\"");
?>
--INI--
-magic_quotes_runtime=0
error_reporting=2047
--FILE--
<?php // vim600: syn=php
diff --git a/ext/interbase/ibase_query.c b/ext/interbase/ibase_query.c
index 9eac22284b..b1e1188aeb 100644
--- a/ext/interbase/ibase_query.c
+++ b/ext/interbase/ibase_query.c
@@ -1325,12 +1325,7 @@ static int _php_ibase_var_zval(zval *val, void *data, int type, int len, /* {{{
data = ((IBVARY *) data)->vary_string;
/* no break */
case SQL_TEXT:
- if (PG(magic_quotes_runtime)) {
- Z_STRVAL_P(val) = php_addslashes(data, len, &Z_STRLEN_P(val), 0 TSRMLS_CC);
- Z_TYPE_P(val) = IS_STRING;
- } else {
- ZVAL_STRINGL(val,(char *) data,len,1);
- }
+ ZVAL_STRINGL(val,(char *) data,len,1);
break;
case SQL_SHORT:
n = *(short *) data;
diff --git a/ext/mssql/php_mssql.c b/ext/mssql/php_mssql.c
index 3e00158334..f3af40bc2b 100644
--- a/ext/mssql/php_mssql.c
+++ b/ext/mssql/php_mssql.c
@@ -1520,27 +1520,17 @@ static void php_mssql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type)
if (Z_TYPE(result->data[result->cur_row][i]) != IS_NULL) {
char *data;
int data_len;
- int should_copy;
if (Z_TYPE(result->data[result->cur_row][i]) == IS_STRING) {
- if (PG(magic_quotes_runtime)) {
- data = php_addslashes(Z_STRVAL(result->data[result->cur_row][i]), Z_STRLEN(result->data[result->cur_row][i]), &data_len, 0 TSRMLS_CC);
- should_copy = 0;
- }
- else
- {
- data = Z_STRVAL(result->data[result->cur_row][i]);
- data_len = Z_STRLEN(result->data[result->cur_row][i]);
- should_copy = 1;
- }
+ data = Z_STRVAL(result->data[result->cur_row][i]);
+ data_len = Z_STRLEN(result->data[result->cur_row][i]);
if (result_type & MSSQL_NUM) {
- add_index_stringl(return_value, i, data, data_len, should_copy);
- should_copy = 1;
+ add_index_stringl(return_value, i, data, data_len, 1);
}
if (result_type & MSSQL_ASSOC) {
- add_assoc_stringl(return_value, result->fields[i].name, data, data_len, should_copy);
+ add_assoc_stringl(return_value, result->fields[i].name, data, data_len, 1);
}
}
else if (Z_TYPE(result->data[result->cur_row][i]) == IS_LONG) {
diff --git a/ext/mysql/php_mysql.c b/ext/mysql/php_mysql.c
index df9dac549b..cfce37d5d5 100644
--- a/ext/mysql/php_mysql.c
+++ b/ext/mysql/php_mysql.c
@@ -1955,12 +1955,16 @@ Q: String or long first?
if (sql_row[field_offset]) {
Z_TYPE_P(return_value) = IS_STRING;
+#if PHP_API_VERSION < 20100412
if (PG(magic_quotes_runtime)) {
Z_STRVAL_P(return_value) = php_addslashes(sql_row[field_offset], sql_row_lengths[field_offset],&Z_STRLEN_P(return_value), 0 TSRMLS_CC);
} else {
+#endif
Z_STRLEN_P(return_value) = sql_row_lengths[field_offset];
Z_STRVAL_P(return_value) = (char *) safe_estrndup(sql_row[field_offset], Z_STRLEN_P(return_value));
+#if PHP_API_VERSION < 20100412
}
+#endif
} else {
Z_TYPE_P(return_value) = IS_NULL;
}
@@ -2078,12 +2082,16 @@ static void php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, long result_type,
MAKE_STD_ZVAL(data);
+#if PHP_API_VERSION < 20100412
if (PG(magic_quotes_runtime)) {
Z_TYPE_P(data) = IS_STRING;
Z_STRVAL_P(data) = php_addslashes(mysql_row[i], mysql_row_lengths[i], &Z_STRLEN_P(data), 0 TSRMLS_CC);
} else {
+#endif
ZVAL_STRINGL(data, mysql_row[i], mysql_row_lengths[i], 1);
+#if PHP_API_VERSION < 20100412
}
+#endif
if (result_type & MYSQL_NUM) {
add_index_zval(return_value, i, data);
diff --git a/ext/mysqli/mysqli.c b/ext/mysqli/mysqli.c
index add2d123d8..b784ff863f 100644
--- a/ext/mysqli/mysqli.c
+++ b/ext/mysqli/mysqli.c
@@ -1137,13 +1137,17 @@ void php_mysqli_fetch_into_hash_aux(zval *return_value, MYSQL_RES * result, long
#endif
{
+#if PHP_API_VERSION < 20100412
/* check if we need magic quotes */
if (PG(magic_quotes_runtime)) {
Z_TYPE_P(res) = IS_STRING;
Z_STRVAL_P(res) = php_addslashes(row[i], field_len[i], &Z_STRLEN_P(res), 0 TSRMLS_CC);
} else {
+#endif
ZVAL_STRINGL(res, row[i], field_len[i], 1);
+#if PHP_API_VERSION < 20100412
}
+#endif
}
if (fetchtype & MYSQLI_NUM) {
diff --git a/ext/pcre/php_pcre.c b/ext/pcre/php_pcre.c
index cc96fafe87..5e1a75394f 100644
--- a/ext/pcre/php_pcre.c
+++ b/ext/pcre/php_pcre.c
@@ -898,7 +898,7 @@ static int preg_do_eval(char *eval_str, int eval_str_len, char *subject,
match = subject + offsets[backref<<1];
match_len = offsets[(backref<<1)+1] - offsets[backref<<1];
if (match_len) {
- esc_match = php_addslashes_ex(match, match_len, &esc_match_len, 0, 1 TSRMLS_CC);
+ esc_match = php_addslashes(match, match_len, &esc_match_len, 0 TSRMLS_CC);
} else {
esc_match = match;
esc_match_len = 0;
diff --git a/ext/pcre/tests/bug33200.phpt b/ext/pcre/tests/bug33200.phpt
index ddbb06519b..e69de29bb2 100644
--- a/ext/pcre/tests/bug33200.phpt
+++ b/ext/pcre/tests/bug33200.phpt
@@ -1,13 +0,0 @@
---TEST--
-Bug #33200 (magic_quotes_sybase = On makes 'e' modifier misbehave)
---INI--
-magic_quotes_sybase=1
---FILE--
-<?php
-$str = 'some \'$sample\' text';
-$str = preg_replace("/(some.*text)/e", "strtoupper('\\1')", $str);
-echo $str . "\r\n";
-?>
---EXPECT--
-Deprecated: Directive 'magic_quotes_sybase' is deprecated in PHP 5.3 and greater in Unknown on line 0
-SOME '$SAMPLE' TEXT
diff --git a/ext/pdo/tests/pdo_test.inc b/ext/pdo/tests/pdo_test.inc
index bbaeb71af7..f2e076793a 100644
--- a/ext/pdo/tests/pdo_test.inc
+++ b/ext/pdo/tests/pdo_test.inc
@@ -11,7 +11,6 @@ if (getenv('PDOTEST_DSN') === false) {
$append = true;
}
}
- if (ini_get('magic_quotes_runtime')) $common = stripslashes($common);
$conf = eval($common);
foreach($conf['ENV'] as $n=>$v) putenv("$n=$v");
}
@@ -76,4 +75,4 @@ class PDOTest {
return self::factory();
}
}
-?> \ No newline at end of file
+?>
diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c
index 9ab1a071e6..c2dd8b4a27 100644
--- a/ext/pgsql/pgsql.c
+++ b/ext/pgsql/pgsql.c
@@ -2499,12 +2499,8 @@ static void php_pgsql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, long result_type,
int should_copy=0;
const uint element_len = strlen(element);
- if (PG(magic_quotes_runtime)) {
- data = php_addslashes(element, element_len, &data_len, 0 TSRMLS_CC);
- } else {
- data = safe_estrndup(element, element_len);
- data_len = element_len;
- }
+ data = safe_estrndup(element, element_len);
+ data_len = element_len;
if (result_type & PGSQL_NUM) {
add_index_stringl(return_value, i, data, data_len, should_copy);
@@ -6213,12 +6209,9 @@ PHP_PGSQL_API int php_pgsql_result2array(PGresult *pg_result, zval *ret_array TS
size_t data_len;
const size_t element_len = strlen(element);
- if (PG(magic_quotes_runtime)) {
- data = php_addslashes(element, element_len, &data_len, 0 TSRMLS_CC);
- } else {
- data = safe_estrndup(element, element_len);
- data_len = element_len;
- }
+ data = safe_estrndup(element, element_len);
+ data_len = element_len;
+
field_name = PQfname(pg_result, i);
add_assoc_stringl(row, field_name, data, data_len, 0);
}
diff --git a/ext/phar/func_interceptors.c b/ext/phar/func_interceptors.c
index 1b3f0f461b..d90aeac7ac 100644
--- a/ext/phar/func_interceptors.c
+++ b/ext/phar/func_interceptors.c
@@ -203,7 +203,7 @@ phar_it:
/* uses mmap if possible */
if ((len = php_stream_copy_to_mem(stream, &contents, maxlen, 0)) > 0) {
-#if PHP_MAJOR_VERSION < 6
+#if PHP_API_VERSION < 20100412
if (PG(magic_quotes_runtime)) {
int newlen;
contents = php_addslashes(contents, len, &newlen, 1 TSRMLS_CC); /* 1 = free source string */
diff --git a/ext/phar/tests/fgc_edgecases.phpt b/ext/phar/tests/fgc_edgecases.phpt
index 5b85d0dcf2..b943546963 100644
--- a/ext/phar/tests/fgc_edgecases.phpt
+++ b/ext/phar/tests/fgc_edgecases.phpt
@@ -33,7 +33,6 @@ echo file_get_contents("foob", true);
echo file_get_contents("./hi", 0, $context);
echo file_get_contents("../oops");
echo file_get_contents("./hi", 0, $context, 50000);
-ini_set("magic_quotes_runtime", 1);
echo file_get_contents("./hi");
echo file_get_contents("./hi", 0, $context, 0, 0);
?>
@@ -60,7 +59,6 @@ echo file_get_contents("foob", true);
echo file_get_contents("./hi", 0, $context);
echo file_get_contents("../oops");
echo file_get_contents("./hi", 0, $context, 50000);
-ini_set("magic_quotes_runtime", 1);
echo file_get_contents("./hi");
echo file_get_contents("./hi", 0, $context, 0, 0);
?>
@@ -78,7 +76,6 @@ echo file_get_contents("foob", true);
echo file_get_contents("./hi", 0, $context);
echo file_get_contents("../oops");
echo file_get_contents("./hi", 0, $context, 50000);
-ini_set("magic_quotes_runtime", 1);
echo file_get_contents("./hi");
echo file_get_contents("./hi", 0, $context, 0, 0);
?>
@@ -87,17 +84,16 @@ Warning: file_get_contents(phar://%sfgc_edgecases.phar.php/oops): failed to open
Warning: file_get_contents(): Failed to seek to position 50000 in the stream in phar://%sfgc_edgecases.phar.php/foo/hi on line %d
<?php
-echo file_get_contents(\"foo/\" . basename(__FILE__));
+echo file_get_contents("foo/" . basename(__FILE__));
$context = stream_context_create();
-file_get_contents(\"./hi\", 0, $context, 0, -1);
-echo file_get_contents(\"foob\");
-set_include_path(\"%stests\");
-echo file_get_contents(\"foob\", true);
-echo file_get_contents(\"./hi\", 0, $context);
-echo file_get_contents(\"../oops\");
-echo file_get_contents(\"./hi\", 0, $context, 50000);
-ini_set(\"magic_quotes_runtime\", 1);
-echo file_get_contents(\"./hi\");
-echo file_get_contents(\"./hi\", 0, $context, 0, 0);
+file_get_contents("./hi", 0, $context, 0, -1);
+echo file_get_contents("foob");
+set_include_path("%stests");
+echo file_get_contents("foob", true);
+echo file_get_contents("./hi", 0, $context);
+echo file_get_contents("../oops");
+echo file_get_contents("./hi", 0, $context, 50000);
+echo file_get_contents("./hi");
+echo file_get_contents("./hi", 0, $context, 0, 0);
?>
===DONE===
diff --git a/ext/spl/examples/dbaarray.inc b/ext/spl/examples/dbaarray.inc
index fcd6bb378a..d448ad7299 100755
--- a/ext/spl/examples/dbaarray.inc
+++ b/ext/spl/examples/dbaarray.inc
@@ -51,9 +51,6 @@ class DbaArray extends DbaReader implements ArrayAccess
{
$data = dba_fetch($name, $this->db);
if($data) {
- if (ini_get('magic_quotes_runtime')) {
- $data = stripslashes($data);
- }
//return unserialize($data);
return $data;
}
@@ -95,4 +92,4 @@ class DbaArray extends DbaReader implements ArrayAccess
}
}
-?> \ No newline at end of file
+?>
diff --git a/ext/spl/spl_directory.c b/ext/spl/spl_directory.c
index f1eaffe479..3c70550975 100755
--- a/ext/spl/spl_directory.c
+++ b/ext/spl/spl_directory.c
@@ -1993,7 +1993,6 @@ static int spl_filesystem_file_read(spl_filesystem_object *intern, int silent TS
{
char *buf;
size_t line_len = 0;
- int len;
long line_add = (intern->u.file.current_line || intern->u.file.current_zval) ? 1 : 0;
spl_filesystem_file_free_line(intern TSRMLS_CC);
@@ -2026,11 +2025,6 @@ static int spl_filesystem_file_read(spl_filesystem_object *intern, int silent TS
buf[line_len] = '\0';
}
- if (PG(magic_quotes_runtime)) {
- buf = php_addslashes(buf, line_len, &len, 1 TSRMLS_CC);
- line_len = len;
- }
-
intern->u.file.current_line = buf;
intern->u.file.current_line_len = line_len;
}
@@ -2778,7 +2772,6 @@ SPL_METHOD(SplFileObject, fwrite)
spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
char *str;
int str_len;
- int ret;
long length = 0;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|l", &str, &str_len, &length) == FAILURE) {
@@ -2792,14 +2785,6 @@ SPL_METHOD(SplFileObject, fwrite)
RETURN_LONG(0);
}
- if (PG(magic_quotes_runtime)) {
- str = estrndup(str, str_len);
- php_stripslashes(str, &str_len TSRMLS_CC);
- ret = php_stream_write(intern->u.file.stream, str, str_len);
- efree(str);
- RETURN_LONG(ret);
- }
-
RETURN_LONG(php_stream_write(intern->u.file.stream, str, str_len));
} /* }}} */
diff --git a/ext/spl/tests/SplFileObject_fwrite_variation_003.phpt b/ext/spl/tests/SplFileObject_fwrite_variation_003.phpt
index 429d2a66bc..e69de29bb2 100644
--- a/ext/spl/tests/SplFileObject_fwrite_variation_003.phpt
+++ b/ext/spl/tests/SplFileObject_fwrite_variation_003.phpt
@@ -1,22 +0,0 @@
---TEST--
-SplFileObject::fwrite function - writing with magic_quotes_runtime ini set
---FILE--
-<?php
-ini_set('magic_quotes_runtime',true);
-$file = dirname(__FILE__).'/SplFileObject_fwrite_variation_002.txt';
-if(file_exists($file)) {
- unlink($file);
-}
-$obj = New SplFileObject($file,'w');
-$obj->fwrite('"test" \'write\'');
-var_dump(file_get_contents($file));
-?>
---CLEAN--
-<?php
-$file = dirname(__FILE__).'/SplFileObject_fwrite_variation_002.txt';
-if(file_exists($file)) {
- unlink($file);
-}
-?>
---EXPECT--
-string(18) "\"test\" \'write\'"
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index 0c7079286c..48c4fccdbf 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -2966,8 +2966,8 @@ const zend_function_entry basic_functions[] = { /* {{{ */
PHP_DEP_FALIAS(magic_quotes_runtime, set_magic_quotes_runtime, arginfo_set_magic_quotes_runtime)
PHP_DEP_FE(set_magic_quotes_runtime, arginfo_set_magic_quotes_runtime)
- PHP_FE(get_magic_quotes_gpc, arginfo_get_magic_quotes_gpc)
- PHP_FE(get_magic_quotes_runtime, arginfo_get_magic_quotes_runtime)
+ PHP_DEP_FE(get_magic_quotes_gpc, arginfo_get_magic_quotes_gpc)
+ PHP_DEP_FE(get_magic_quotes_runtime, arginfo_get_magic_quotes_runtime)
PHP_FE(error_log, arginfo_error_log)
PHP_FE(error_get_last, arginfo_error_get_last)
@@ -4586,7 +4586,7 @@ PHP_FUNCTION(get_cfg_var)
/* }}} */
/* {{{ proto bool set_magic_quotes_runtime(int new_setting)
- Set the current active configuration setting of magic_quotes_runtime and return previous */
+ magic_quotes_runtime is not supported anymore */
PHP_FUNCTION(set_magic_quotes_runtime)
{
zend_bool new_setting;
@@ -4594,11 +4594,11 @@ PHP_FUNCTION(set_magic_quotes_runtime)
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "b", &new_setting) == FAILURE) {
return;
}
-
- if (zend_alter_ini_entry_ex("magic_quotes_runtime", sizeof("magic_quotes_runtime"), new_setting ? "1" : "0", 1, PHP_INI_USER, PHP_INI_STAGE_RUNTIME, 0 TSRMLS_CC) == FAILURE) {
- RETURN_FALSE;
+
+ if (new_setting) {
+ php_error_docref(NULL TSRMLS_CC, E_CORE_ERROR, "magic_quotes_runtime is not supported anymore");
}
- RETURN_TRUE;
+ RETURN_FALSE;
}
/* }}} */
@@ -4606,7 +4606,10 @@ PHP_FUNCTION(set_magic_quotes_runtime)
Get the current active configuration setting of magic_quotes_runtime */
PHP_FUNCTION(get_magic_quotes_runtime)
{
- RETURN_LONG(PG(magic_quotes_runtime));
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
+ RETURN_FALSE;
}
/* }}} */
@@ -4614,7 +4617,10 @@ PHP_FUNCTION(get_magic_quotes_runtime)
Get the current active configuration setting of magic_quotes_gpc */
PHP_FUNCTION(get_magic_quotes_gpc)
{
- RETURN_LONG(PG(magic_quotes_gpc));
+ if (zend_parse_parameters_none() == FAILURE) {
+ return;
+ }
+ RETURN_FALSE;
}
/* }}} */
diff --git a/ext/standard/exec.c b/ext/standard/exec.c
index 890f73726b..ac96fe6815 100644
--- a/ext/standard/exec.c
+++ b/ext/standard/exec.c
@@ -60,7 +60,7 @@
PHPAPI int php_exec(int type, char *cmd, zval *array, zval *return_value TSRMLS_DC)
{
FILE *fp;
- char *buf, *tmp=NULL;
+ char *buf;
int l = 0, pclose_return;
char *b, *d=NULL;
php_stream *stream;
@@ -139,14 +139,7 @@ PHPAPI int php_exec(int type, char *cmd, zval *array, zval *return_value TSRMLS_
}
/* Return last line from the shell command */
- if (PG(magic_quotes_runtime)) {
- int len;
-
- tmp = php_addslashes(buf, bufl, &len, 0 TSRMLS_CC);
- RETVAL_STRINGL(tmp, len, 0);
- } else {
- RETVAL_STRINGL(buf, bufl, 1);
- }
+ RETVAL_STRINGL(buf, bufl, 1);
} else { /* should return NULL, but for BC we return "" */
RETVAL_EMPTY_STRING();
}
diff --git a/ext/standard/file.c b/ext/standard/file.c
index f9fba1bc9f..3ef8980f24 100644
--- a/ext/standard/file.c
+++ b/ext/standard/file.c
@@ -423,13 +423,7 @@ PHP_FUNCTION(get_meta_tags)
have_name = 1;
} else if (saw_content) {
STR_FREE(value);
- /* Get the CONTENT attr (Single word attr, non-quoted) */
- if (PG(magic_quotes_runtime)) {
- value = php_addslashes(md.token_data, 0, &md.token_len, 0 TSRMLS_CC);
- } else {
- value = estrndup(md.token_data, md.token_len);
- }
-
+ value = estrndup(md.token_data, md.token_len);
have_content = 1;
}
@@ -463,13 +457,7 @@ PHP_FUNCTION(get_meta_tags)
have_name = 1;
} else if (saw_content) {
STR_FREE(value);
- /* Get the CONTENT attr (Single word attr, non-quoted) */
- if (PG(magic_quotes_runtime)) {
- value = php_addslashes(md.token_data, 0, &md.token_len, 0 TSRMLS_CC);
- } else {
- value = estrndup(md.token_data, md.token_len);
- }
-
+ value = estrndup(md.token_data, md.token_len);
have_content = 1;
}
@@ -561,11 +549,6 @@ PHP_FUNCTION(file_get_contents)
}
if ((len = php_stream_copy_to_mem(stream, &contents, maxlen, 0)) > 0) {
-
- if (PG(magic_quotes_runtime)) {
- contents = php_addslashes(contents, len, &len, 1 TSRMLS_CC); /* 1 = free source string */
- }
-
RETVAL_STRINGL(contents, len, 0);
} else if (len == 0) {
RETVAL_EMPTY_STRING();
@@ -724,9 +707,9 @@ PHP_FUNCTION(file)
{
char *filename;
int filename_len;
- char *slashed, *target_buf=NULL, *p, *s, *e;
+ char *target_buf=NULL, *p, *s, *e;
register int i = 0;
- int target_len, len;
+ int target_len;
char eol_marker = '\n';
long flags = 0;
zend_bool use_include_path;
@@ -778,13 +761,7 @@ PHP_FUNCTION(file)
do {
p++;
parse_eol:
- if (PG(magic_quotes_runtime)) {
- /* s is in target_buf which is freed at the end of the function */
- slashed = php_addslashes(s, (p-s), &len, 0 TSRMLS_CC);
- add_index_stringl(return_value, i++, slashed, len, 0);
- } else {
- add_index_stringl(return_value, i++, estrndup(s, p-s), p-s, 0);
- }
+ add_index_stringl(return_value, i++, estrndup(s, p-s), p-s, 0);
s = p;
} while ((p = memchr(p, eol_marker, (e-p))));
} else {
@@ -797,13 +774,7 @@ parse_eol:
s = ++p;
continue;
}
- if (PG(magic_quotes_runtime)) {
- /* s is in target_buf which is freed at the end of the function */
- slashed = php_addslashes(s, (p-s-windows_eol), &len, 0 TSRMLS_CC);
- add_index_stringl(return_value, i++, slashed, len, 0);
- } else {
- add_index_stringl(return_value, i++, estrndup(s, p-s-windows_eol), p-s-windows_eol, 0);
- }
+ add_index_stringl(return_value, i++, estrndup(s, p-s-windows_eol), p-s-windows_eol, 0);
s = ++p;
} while ((p = memchr(p, eol_marker, (e-p))));
}
@@ -1049,16 +1020,11 @@ PHPAPI PHP_FUNCTION(fgets)
}
}
- if (PG(magic_quotes_runtime)) {
- Z_STRVAL_P(return_value) = php_addslashes(buf, line_len, &Z_STRLEN_P(return_value), 1 TSRMLS_CC);
- Z_TYPE_P(return_value) = IS_STRING;
- } else {
- ZVAL_STRINGL(return_value, buf, line_len, 0);
- /* resize buffer if it's much larger than the result.
- * Only needed if the user requested a buffer size. */
- if (argc > 1 && Z_STRLEN_P(return_value) < len / 2) {
- Z_STRVAL_P(return_value) = erealloc(buf, line_len + 1);
- }
+ ZVAL_STRINGL(return_value, buf, line_len, 0);
+ /* resize buffer if it's much larger than the result.
+ * Only needed if the user requested a buffer size. */
+ if (argc > 1 && Z_STRLEN_P(return_value) < len / 2) {
+ Z_STRVAL_P(return_value) = erealloc(buf, line_len + 1);
}
return;
@@ -1219,11 +1185,6 @@ PHPAPI PHP_FUNCTION(fwrite)
PHP_STREAM_TO_ZVAL(stream, &arg1);
- if (PG(magic_quotes_runtime)) {
- buffer = estrndup(arg2, num_bytes);
- php_stripslashes(buffer, &num_bytes TSRMLS_CC);
- }
-
ret = php_stream_write(stream, buffer ? buffer : arg2, num_bytes);
if (buffer) {
efree(buffer);
@@ -1790,11 +1751,6 @@ PHPAPI PHP_FUNCTION(fread)
/* needed because recv/read/gzread doesnt put a null at the end*/
Z_STRVAL_P(return_value)[Z_STRLEN_P(return_value)] = 0;
-
- if (PG(magic_quotes_runtime)) {
- Z_STRVAL_P(return_value) = php_addslashes(Z_STRVAL_P(return_value),
- Z_STRLEN_P(return_value), &Z_STRLEN_P(return_value), 1 TSRMLS_CC);
- }
Z_TYPE_P(return_value) = IS_STRING;
}
/* }}} */
@@ -1950,15 +1906,7 @@ PHPAPI int php_fputcsv(php_stream *stream, zval *fields, char delimiter, char en
smart_str_appendc(&csvline, '\n');
smart_str_0(&csvline);
- if (!PG(magic_quotes_runtime)) {
- ret = php_stream_write(stream, csvline.c, csvline.len);
- } else {
- char *buffer = estrndup(csvline.c, csvline.len);
- int len = csvline.len;
- php_stripslashes(buffer, &len TSRMLS_CC);
- ret = php_stream_write(stream, buffer, len);
- efree(buffer);
- }
+ ret = php_stream_write(stream, csvline.c, csvline.len);
smart_str_free(&csvline);
diff --git a/ext/standard/php_string.h b/ext/standard/php_string.h
index 23c703336a..c6d916dbcc 100644
--- a/ext/standard/php_string.h
+++ b/ext/standard/php_string.h
@@ -122,7 +122,6 @@ PHPAPI char *php_strtoupper(char *s, size_t len);
PHPAPI char *php_strtolower(char *s, size_t len);
PHPAPI char *php_strtr(char *str, int len, char *str_from, char *str_to, int trlen);
PHPAPI char *php_addslashes(char *str, int length, int *new_length, int freeit TSRMLS_DC);
-PHPAPI char *php_addslashes_ex(char *str, int length, int *new_length, int freeit, int ignore_sybase TSRMLS_DC);
PHPAPI char *php_addcslashes(char *str, int length, int *new_length, int freeit, char *what, int wlength TSRMLS_DC);
PHPAPI void php_stripslashes(char *str, int *len TSRMLS_DC);
PHPAPI void php_stripcslashes(char *str, int *len);
diff --git a/ext/standard/streamsfuncs.c b/ext/standard/streamsfuncs.c
index befb13fd7a..54aef6afa0 100644
--- a/ext/standard/streamsfuncs.c
+++ b/ext/standard/streamsfuncs.c
@@ -395,13 +395,7 @@ PHP_FUNCTION(stream_socket_recvfrom)
}
read_buf[recvd] = '\0';
- if (PG(magic_quotes_runtime)) {
- Z_TYPE_P(return_value) = IS_STRING;
- Z_STRVAL_P(return_value) = php_addslashes(Z_STRVAL_P(return_value), Z_STRLEN_P(return_value), &Z_STRLEN_P(return_value), 1 TSRMLS_CC);
- return;
- } else {
- RETURN_STRINGL(read_buf, recvd, 0);
- }
+ RETURN_STRINGL(read_buf, recvd, 0);
}
efree(read_buf);
@@ -417,8 +411,7 @@ PHP_FUNCTION(stream_get_contents)
zval *zsrc;
long maxlen = PHP_STREAM_COPY_ALL,
desiredpos = -1L;
- int len,
- newlen;
+ int len;
char *contents = NULL;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r|ll", &zsrc, &maxlen, &desiredpos) == FAILURE) {
@@ -450,10 +443,6 @@ PHP_FUNCTION(stream_get_contents)
len = php_stream_copy_to_mem(stream, &contents, maxlen, 0);
if (contents) {
- if (len && PG(magic_quotes_runtime)) {
- contents = php_addslashes(contents, len, &newlen, 1 TSRMLS_CC); /* 1 = free source string */
- len = newlen;
- }
RETVAL_STRINGL(contents, len, 0);
} else {
RETVAL_EMPTY_STRING();
diff --git a/ext/standard/string.c b/ext/standard/string.c
index 44c5cd3b00..1717b3b711 100644
--- a/ext/standard/string.c
+++ b/ext/standard/string.c
@@ -3015,34 +3015,6 @@ PHPAPI void php_stripslashes(char *str, int *len TSRMLS_DC)
s = str;
t = str;
- if (PG(magic_quotes_sybase)) {
- while (l > 0) {
- if (*t == '\'') {
- if ((l > 0) && (t[1] == '\'')) {
- t++;
- if (len != NULL) {
- (*len)--;
- }
- l--;
- }
- *s++ = *t++;
- } else if (*t == '\\' && t[1] == '0' && l > 0) {
- *s++='\0';
- t+=2;
- if (len != NULL) {
- (*len)--;
- }
- l--;
- } else {
- *s++ = *t++;
- }
- l--;
- }
- *s = '\0';
-
- return;
- }
-
while (l > 0) {
if (*t == '\\') {
t++; /* skip the slash */
@@ -3287,14 +3259,6 @@ PHPAPI char *php_addcslashes(char *str, int length, int *new_length, int should_
*/
PHPAPI char *php_addslashes(char *str, int length, int *new_length, int should_free TSRMLS_DC)
{
- return php_addslashes_ex(str, length, new_length, should_free, 0 TSRMLS_CC);
-}
-/* }}} */
-
-/* {{{ php_addslashes_ex
- */
-PHPAPI char *php_addslashes_ex(char *str, int length, int *new_length, int should_free, int ignore_sybase TSRMLS_DC)
-{
/* maximum string length, worst case situation */
char *new_str;
char *source, *target;
@@ -3313,42 +3277,23 @@ PHPAPI char *php_addslashes_ex(char *str, int length, int *new_length, int shoul
end = source + length;
target = new_str;
- if (!ignore_sybase && PG(magic_quotes_sybase)) {
- while (source < end) {
- switch (*source) {
- case '\0':
- *target++ = '\\';
- *target++ = '0';
- break;
- case '\'':
- *target++ = '\'';
- *target++ = '\'';
- break;
- default:
- *target++ = *source;
- break;
- }
- source++;
- }
- } else {
- while (source < end) {
- switch (*source) {
- case '\0':
- *target++ = '\\';
- *target++ = '0';
- break;
- case '\'':
- case '\"':
- case '\\':
- *target++ = '\\';
- /* break is missing *intentionally* */
- default:
- *target++ = *source;
- break;
- }
-
- source++;
+ while (source < end) {
+ switch (*source) {
+ case '\0':
+ *target++ = '\\';
+ *target++ = '0';
+ break;
+ case '\'':
+ case '\"':
+ case '\\':
+ *target++ = '\\';
+ /* break is missing *intentionally* */
+ default:
+ *target++ = *source;
+ break;
}
+
+ source++;
}
*target = 0;
diff --git a/ext/standard/tests/file/magic_quotes.phpt b/ext/standard/tests/file/magic_quotes.phpt
index 0f42cd7c87..e69de29bb2 100644
--- a/ext/standard/tests/file/magic_quotes.phpt
+++ b/ext/standard/tests/file/magic_quotes.phpt
@@ -1,77 +0,0 @@
---TEST--
-various magic quotes tests
---INI--
-error_reporting=14335
---FILE--
-<?php
-
-$filename = dirname(__FILE__)."/magic_quotes.dat";
-
-var_dump(get_magic_quotes_runtime());
-var_dump(get_magic_quotes_runtime("blah"));
-
-file_put_contents($filename, "some'content'here\"and}there");
-
-var_dump(set_magic_quotes_runtime(true));
-var_dump(get_magic_quotes_runtime());
-var_dump(set_magic_quotes_runtime(-1));
-var_dump(get_magic_quotes_runtime());
-
-var_dump(file_get_contents($filename));
-
-var_dump(set_magic_quotes_runtime(0));
-var_dump(get_magic_quotes_runtime());
-
-var_dump(file_get_contents($filename));
-
-var_dump(set_magic_quotes_runtime(1));
-var_dump(get_magic_quotes_runtime());
-
-file_put_contents($filename, "some'content'here\"and}there");
-
-var_dump(file_get_contents($filename));
-
-var_dump(set_magic_quotes_runtime(0));
-var_dump(set_magic_quotes_runtime());
-var_dump(get_magic_quotes_runtime());
-
-var_dump(file_get_contents($filename));
-
-
-@unlink($filename);
-
-echo "Done\n";
-?>
---EXPECTF--
-int(0)
-int(0)
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-int(1)
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-int(1)
-string(30) "some\'content\'here\"and}there"
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-int(0)
-string(27) "some'content'here"and}there"
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-int(1)
-string(30) "some\'content\'here\"and}there"
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-
-Warning: set_magic_quotes_runtime() expects exactly 1 parameter, 0 given in %s on line %d
-NULL
-int(0)
-string(27) "some'content'here"and}there"
-Done
diff --git a/ext/standard/tests/general_functions/get_cfg_var_variation8.phpt b/ext/standard/tests/general_functions/get_cfg_var_variation8.phpt
index 7db0d1cc78..c7a72de944 100644
--- a/ext/standard/tests/general_functions/get_cfg_var_variation8.phpt
+++ b/ext/standard/tests/general_functions/get_cfg_var_variation8.phpt
@@ -1,20 +1,17 @@
---TEST--
-Test function get_cfg_var() by calling deprecated option
---CREDITS--
-Francesco Fullone ff@ideato.it
-#PHPTestFest Cesena Italia on 2009-06-20
---INI--
-magic_quotes_gpc=1
---SKIPIF--
-<?php if (version_compare(PHP_VERSION, "5.3", "<")) die("skip requires 5.3 or greater"); ?>
---FILE--
-<?php
-echo "*** Test by calling method or function with deprecated option ***\n";
-var_dump(get_cfg_var( 'magic_quotes_gpc' ) );
-
-?>
---EXPECTF--
-Deprecated: Directive 'magic_quotes_gpc' is deprecated in PHP 5.3 and greater in %s on line 0
-*** Test by calling method or function with deprecated option ***
-string(1) "1"
-
+--TEST--
+Test function get_cfg_var() by calling deprecated option
+--CREDITS--
+Francesco Fullone ff@ideato.it
+#PHPTestFest Cesena Italia on 2009-06-20
+--INI--
+magic_quotes_gpc=1
+--SKIPIF--
+<?php if (version_compare(PHP_VERSION, "5.3", "<")) die("skip requires 5.3 or greater"); ?>
+--FILE--
+<?php
+echo "*** Test by calling method or function with deprecated option ***\n";
+var_dump(get_cfg_var( 'magic_quotes_gpc' ) );
+
+?>
+--EXPECTF--
+Fatal error: Directive 'magic_quotes_gpc' is no longer available in PHP in Unknown on line 0
diff --git a/ext/standard/tests/general_functions/get_magic_quotes_gpc.phpt b/ext/standard/tests/general_functions/get_magic_quotes_gpc.phpt
index cfa4dcc681..b1c694a720 100644
--- a/ext/standard/tests/general_functions/get_magic_quotes_gpc.phpt
+++ b/ext/standard/tests/general_functions/get_magic_quotes_gpc.phpt
@@ -1,27 +1,13 @@
--TEST--
Test get_magic_quotes_gpc() function
---INI--
-magic_quotes_gpc = 0
--FILE--
<?php
/* Prototype: int get_magic_quotes_gpc ( void )
- * Description: Gets the current configuration setting of magic quotes gpc
-*/
+ * This function is not supported anymore and will always return false
+ */
echo "Simple testcase for get_magic_quotes_gpc() function\n";
-
-$g = get_magic_quotes_gpc();
-echo "\n-- magic quotes gpc set in INI file: " . $g . " --\n";
-
-echo "\n-- Set magic quotes gpc to 1 - not allowed so should fail! --\n";
-var_dump(ini_set("magic_quotes_gpc", 1));
-$g = get_magic_quotes_gpc();
-echo "\n-- magic quotes gpc after set: " . $g . " --\n";
-
-echo "\n-- Set magic quotes gpc to 0: --\n";
-var_dump(ini_set("magic_quotes_gpc", 0));
-$g = get_magic_quotes_gpc();
-echo "\n-- magic quotes gpc after set: " . $g . " --\n";
+var_dump(get_magic_quotes_gpc());
echo "\n-- Error cases --\n";
// no checks on number of args
@@ -29,21 +15,16 @@ var_dump(get_magic_quotes_gpc(true));
?>
===DONE===
---EXPECT--
+--EXPECTF--
Simple testcase for get_magic_quotes_gpc() function
--- magic quotes gpc set in INI file: 0 --
-
--- Set magic quotes gpc to 1 - not allowed so should fail! --
+Deprecated: Function get_magic_quotes_gpc() is deprecated in %s on line %d
bool(false)
--- magic quotes gpc after set: 0 --
-
--- Set magic quotes gpc to 0: --
-bool(false)
+-- Error cases --
--- magic quotes gpc after set: 0 --
+Deprecated: Function get_magic_quotes_gpc() is deprecated in %s on line %d
--- Error cases --
-int(0)
-===DONE=== \ No newline at end of file
+Warning: get_magic_quotes_gpc() expects exactly 0 parameters, 1 given in %s on line %d
+NULL
+===DONE===
diff --git a/ext/standard/tests/general_functions/get_magic_quotes_runtime.phpt b/ext/standard/tests/general_functions/get_magic_quotes_runtime.phpt
index fca064d840..abcef3577c 100644
--- a/ext/standard/tests/general_functions/get_magic_quotes_runtime.phpt
+++ b/ext/standard/tests/general_functions/get_magic_quotes_runtime.phpt
@@ -1,32 +1,14 @@
--TEST--
Test get_magic_quotes_runtime() function
---INI--
-magic_quotes_runtime = 0
--FILE--
<?php
/* Prototype: int get_magic_quotes_runtime ( void )
- * Description: Gets the current active configuration setting of magic_quotes_runtime
-*/
+ * This function is not supported anymore and will always return false
+ */
echo "Simple testcase for get_magic_quotes_runtime() function\n";
-$g = get_magic_quotes_runtime();
-echo "\n-- magic quotes runtime set in INI file: " . $g . " --\n";
-
-echo "\n-- Set magic quotes runtime to 1: --\n";
-var_dump(set_magic_quotes_runtime(1));
-$g = get_magic_quotes_runtime();
-echo "\n-- magic quotes runtime after set: " . $g . " --\n";
-
-echo "\n-- Set magic quotes runtime to 0: --\n";
-var_dump(set_magic_quotes_runtime(0));
-$g = get_magic_quotes_runtime();
-echo "\n-- magic quotes runtime after set: " . $g . " --\n";
-
-echo "\n-- Set magic quotes runtime to 1: --\n";
-var_dump(set_magic_quotes_runtime(1));
-$g = get_magic_quotes_runtime();
-echo "\n-- magic quotes runtime after set: " . $g . " --\n";
+var_dump(get_magic_quotes_runtime());
echo "\n-- Error cases --\n";
// no checks on number of args
@@ -37,29 +19,13 @@ var_dump(get_magic_quotes_runtime(true));
--EXPECTF--
Simple testcase for get_magic_quotes_runtime() function
--- magic quotes runtime set in INI file: 0 --
-
--- Set magic quotes runtime to 1: --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-
--- magic quotes runtime after set: 1 --
+Deprecated: Function get_magic_quotes_runtime() is deprecated in %s on line %d
+bool(false)
--- Set magic quotes runtime to 0: --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-
--- magic quotes runtime after set: 0 --
-
--- Set magic quotes runtime to 1: --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
+-- Error cases --
--- magic quotes runtime after set: 1 --
+Deprecated: Function get_magic_quotes_runtime() is deprecated in %s on line %d
--- Error cases --
-int(1)
+Warning: get_magic_quotes_runtime() expects exactly 0 parameters, 1 given in %s on line %d
+NULL
===DONE===
diff --git a/ext/standard/tests/general_functions/set_magic_quotes_runtime_variation1.phpt b/ext/standard/tests/general_functions/set_magic_quotes_runtime_variation1.phpt
index 843dbe22f3..e69de29bb2 100644
--- a/ext/standard/tests/general_functions/set_magic_quotes_runtime_variation1.phpt
+++ b/ext/standard/tests/general_functions/set_magic_quotes_runtime_variation1.phpt
@@ -1,204 +0,0 @@
---TEST--
-Test set_magic_quotes_runtime() function - usage variation
---INI--
-magic_quotes_runtime = 0
---FILE--
-<?php
-/* Prototype: bool set_magic_quotes_runtime ( int $new_setting )
- * Description: Sets the current active configuration setting of magic_quotes_runtime
-*/
-
-echo "Simple testcase for set_magic_quotes_runtime() function\n";
-
-$g = get_magic_quotes_runtime();
-echo "magic quotes runtime set in INI file: ".$g."\n";
-
-// Prevent notices about undefines variables
-error_reporting(E_ALL & ~E_NOTICE);
-
-$unset_var = 10;
-unset ($unset_var);
-
-class fooClass {
- function __toString() {
- return "true";
- }
-}
-
-$fp = fopen(__FILE__, "r");
-
-$values = array(
-
- // int data
-/*1*/ 0,
- 1,
- 12345,
- -2345,
-
- // float data
-/*5*/ 0.0,
- 10.5,
- -10.5,
- 10.1234567e10,
- 10.7654321E-10,
- .5,
-
- // null data
-/*11*/ NULL,
- null,
-
- // boolean data
-/*13*/ true,
- false,
- TRUE,
- FALSE,
-
- // empty data
-/*17*/ "",
- '',
-
- // object data
-/*19*/ new fooClass(),
-
- // resource
-/*20*/ $fp,
-
- // undefined data
-/*21*/ $undefined_var,
-
- // unset data
-/*22*/ $unset_var
-);
-
-// loop through each element of the array for data
-
-$iterator = 1;
-foreach($values as $value) {
- echo "-- Iterator $iterator --\n";
- var_dump( set_magic_quotes_runtime($value) );
- echo "New value of magic_quotes_runtime after last set is " . get_magic_quotes_runtime(). "\n";
- $iterator++;
-};
-
-fclose($fp);
-
-?>
-===DONE===
---EXPECTF--
-Simple testcase for set_magic_quotes_runtime() function
-magic quotes runtime set in INI file: 0
--- Iterator 1 --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-New value of magic_quotes_runtime after last set is 0
--- Iterator 2 --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-New value of magic_quotes_runtime after last set is 1
--- Iterator 3 --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-New value of magic_quotes_runtime after last set is 1
--- Iterator 4 --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-New value of magic_quotes_runtime after last set is 1
--- Iterator 5 --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-New value of magic_quotes_runtime after last set is 0
--- Iterator 6 --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-New value of magic_quotes_runtime after last set is 1
--- Iterator 7 --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-New value of magic_quotes_runtime after last set is 1
--- Iterator 8 --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-New value of magic_quotes_runtime after last set is 1
--- Iterator 9 --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-New value of magic_quotes_runtime after last set is 1
--- Iterator 10 --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-New value of magic_quotes_runtime after last set is 1
--- Iterator 11 --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-New value of magic_quotes_runtime after last set is 0
--- Iterator 12 --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-New value of magic_quotes_runtime after last set is 0
--- Iterator 13 --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-New value of magic_quotes_runtime after last set is 1
--- Iterator 14 --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-New value of magic_quotes_runtime after last set is 0
--- Iterator 15 --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-New value of magic_quotes_runtime after last set is 1
--- Iterator 16 --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-New value of magic_quotes_runtime after last set is 0
--- Iterator 17 --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-New value of magic_quotes_runtime after last set is 0
--- Iterator 18 --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-New value of magic_quotes_runtime after last set is 0
--- Iterator 19 --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-
-Warning: set_magic_quotes_runtime() expects parameter 1 to be boolean, object given in %s on line %d
-NULL
-New value of magic_quotes_runtime after last set is 0
--- Iterator 20 --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-
-Warning: set_magic_quotes_runtime() expects parameter 1 to be boolean, resource given in %s on line %d
-NULL
-New value of magic_quotes_runtime after last set is 0
--- Iterator 21 --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-New value of magic_quotes_runtime after last set is 0
--- Iterator 22 --
-
-Deprecated: Function set_magic_quotes_runtime() is deprecated in %s on line %d
-bool(true)
-New value of magic_quotes_runtime after last set is 0
-===DONE===
diff --git a/ext/standard/tests/strings/add-and-stripslashes.phpt b/ext/standard/tests/strings/add-and-stripslashes.phpt
index a5eab410b9..6f01176d4e 100644
--- a/ext/standard/tests/strings/add-and-stripslashes.phpt
+++ b/ext/standard/tests/strings/add-and-stripslashes.phpt
@@ -1,5 +1,5 @@
--TEST--
-addslashes() and stripslashes() functions, normal and sybase-style
+addslashes() and stripslashes() functions
--FILE--
<?php
@@ -9,15 +9,6 @@ for($i=0; $i<512; $i++) {
}
echo "Normal: ";
-ini_set('magic_quotes_sybase', 0);
-if($input === stripslashes(addslashes($input))) {
- echo "OK\n";
-} else {
- echo "FAILED\n";
-}
-
-echo "Sybase: ";
-ini_set('magic_quotes_sybase', 1);
if($input === stripslashes(addslashes($input))) {
echo "OK\n";
} else {
@@ -27,4 +18,3 @@ if($input === stripslashes(addslashes($input))) {
?>
--EXPECT--
Normal: OK
-Sybase: OK
diff --git a/ext/standard/tests/strings/addslashes_variation3.phpt b/ext/standard/tests/strings/addslashes_variation3.phpt
index 8f46ebe9a4..e69de29bb2 100644
--- a/ext/standard/tests/strings/addslashes_variation3.phpt
+++ b/ext/standard/tests/strings/addslashes_variation3.phpt
@@ -1,196 +0,0 @@
---TEST--
-Test addslashes() function : usage variations - with magic_quotes_sybase directive ON
---FILE--
-<?php
-/* Prototype : string addslashes ( string $str )
- * Description: Returns a string with backslashes before characters that need to be quoted in database queries etc.
- * Source code: ext/standard/string.c
-*/
-
-/*
- * Test addslashes() with PHP directive magic_quotes_sybase set ON
-*/
-
-echo "*** Testing addslashes() : with php directive magic_quotes_sybase set ON ***\n";
-
-// setting ON the php directive magic_quotes_sybase
-ini_set("magic_quotes_sybase", "1");
-
-// initialising a heredoc string
-$heredoc_string = <<<EOT
-This is line 1 of 'heredoc' string
-This is line 2 of "heredoc" string
-EOT;
-
-$heredoc_null_string =<<<EOT
-EOT;
-
-// initialising the string array
-$str_array = array(
- // string without any characters that can be backslashed
- 'Hello world',
-
- // string with single quotes
- "how're you doing?",
- "don't disturb u'r neighbours",
- "don't disturb u'r neighbours''",
- '',
- '\'',
- "'",
-
- // string with double quotes
- 'he said, "he will be on leave"',
- 'he said, ""he will be on leave"',
- '"""PHP"""',
- "",
- "\"",
- '"',
- "hello\"",
-
- // string with backslash characters
- 'Is your name Ram\Krishna?',
- '\\0.0.0.0',
- 'c:\php\testcase\addslashes',
- '\\',
-
- // string with nul characters
- 'hello'.chr(0).'world',
- chr(0).'hello'.chr(0),
- chr(0).chr(0).'hello',
- chr(0),
-
- // mixed strings
- "'\\0.0.0.0'",
- "'\\0.0.0.0'".chr(0),
- chr(0)."'c:\php\'",
- '"\\0.0.0.0"',
- '"c:\php\"'.chr(0)."'",
- '"hello"'."'world'".chr(0).'//',
-
- // string with hexadecimal number
- "0xABCDEF0123456789",
- "\xabcdef0123456789",
- '!@#$%&*@$%#&/;:,<>',
- "hello\x00world",
-
- // heredoc strings
- $heredoc_string,
- $heredoc_null_string
- );
-
-$count = 1;
-// looping to test for all strings in $str_array
-foreach( $str_array as $str ) {
- echo "\n-- Iteration $count --\n";
- var_dump( addslashes($str) );
- $count ++;
-}
-
-echo "Done\n";
-?>
---EXPECTF--
-*** Testing addslashes() : with php directive magic_quotes_sybase set ON ***
-
--- Iteration 1 --
-string(11) "Hello world"
-
--- Iteration 2 --
-string(18) "how''re you doing?"
-
--- Iteration 3 --
-string(30) "don''t disturb u''r neighbours"
-
--- Iteration 4 --
-string(34) "don''t disturb u''r neighbours''''"
-
--- Iteration 5 --
-string(0) ""
-
--- Iteration 6 --
-string(2) "''"
-
--- Iteration 7 --
-string(2) "''"
-
--- Iteration 8 --
-string(30) "he said, "he will be on leave""
-
--- Iteration 9 --
-string(31) "he said, ""he will be on leave""
-
--- Iteration 10 --
-string(9) """"PHP""""
-
--- Iteration 11 --
-string(0) ""
-
--- Iteration 12 --
-string(1) """
-
--- Iteration 13 --
-string(1) """
-
--- Iteration 14 --
-string(6) "hello""
-
--- Iteration 15 --
-string(25) "Is your name Ram\Krishna?"
-
--- Iteration 16 --
-string(8) "\0.0.0.0"
-
--- Iteration 17 --
-string(26) "c:\php\testcase\addslashes"
-
--- Iteration 18 --
-string(1) "\"
-
--- Iteration 19 --
-string(12) "hello\0world"
-
--- Iteration 20 --
-string(9) "\0hello\0"
-
--- Iteration 21 --
-string(9) "\0\0hello"
-
--- Iteration 22 --
-string(2) "\0"
-
--- Iteration 23 --
-string(12) "''\0.0.0.0''"
-
--- Iteration 24 --
-string(14) "''\0.0.0.0''\0"
-
--- Iteration 25 --
-string(13) "\0''c:\php\''"
-
--- Iteration 26 --
-string(10) ""\0.0.0.0""
-
--- Iteration 27 --
-string(13) ""c:\php\"\0''"
-
--- Iteration 28 --
-string(20) ""hello"''world''\0//"
-
--- Iteration 29 --
-string(18) "0xABCDEF0123456789"
-
--- Iteration 30 --
-string(15) "«cdef0123456789"
-
--- Iteration 31 --
-string(18) "!@#$%&*@$%#&/;:,<>"
-
--- Iteration 32 --
-string(12) "hello\0world"
-
--- Iteration 33 --
-string(71) "This is line 1 of ''heredoc'' string
-This is line 2 of "heredoc" string"
-
--- Iteration 34 --
-string(0) ""
-Done
diff --git a/ext/standard/tests/strings/bug22904.phpt b/ext/standard/tests/strings/bug22904.phpt
index 3c56e1a414..e69de29bb2 100644
--- a/ext/standard/tests/strings/bug22904.phpt
+++ b/ext/standard/tests/strings/bug22904.phpt
@@ -1,30 +0,0 @@
---TEST--
-Bug #22904 (magic mode failed for cybase with '\0')
---FILE--
-not active yet
-<?php
-
-/*
-ini_set("magic_quotes_sybase","on");
-test();
-ini_set("magic_quotes_sybase","off");
-test();
-*/
-function test(){
- $buf = 'g\g"\0g'."'";
- $slashed = addslashes($buf);
- echo "$buf\n";
- echo "$slashed\n";
- echo stripslashes($slashed."\n");
-/*
-g\g"\0g'
-g\\g"\\0g''
-g\g"\0g'
-g\g"\0g'
-g\\g\"\\0g\'
-g\g"\0g'
-*/
-}
-?>
---EXPECT--
-not active yet
diff --git a/ext/standard/tests/strings/parse_str_basic3.phpt b/ext/standard/tests/strings/parse_str_basic3.phpt
index 06e614374e..f0f5981e8f 100644
--- a/ext/standard/tests/strings/parse_str_basic3.phpt
+++ b/ext/standard/tests/strings/parse_str_basic3.phpt
Binary files differ
diff --git a/ext/standard/tests/strings/stripslashes_variation5.phpt b/ext/standard/tests/strings/stripslashes_variation5.phpt
index 0507e04960..e69de29bb2 100644
--- a/ext/standard/tests/strings/stripslashes_variation5.phpt
+++ b/ext/standard/tests/strings/stripslashes_variation5.phpt
Binary files differ
diff --git a/ext/sybase_ct/php_sybase_ct.c b/ext/sybase_ct/php_sybase_ct.c
index 129f687bd1..c07cdcd7e6 100644
--- a/ext/sybase_ct/php_sybase_ct.c
+++ b/ext/sybase_ct/php_sybase_ct.c
@@ -1814,11 +1814,7 @@ static void php_sybase_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int numerics)
ALLOC_ZVAL(tmp);
*tmp = result->data[result->store ? result->cur_row : 0][i];
INIT_PZVAL(tmp);
- if (PG(magic_quotes_runtime) && Z_TYPE_P(tmp) == IS_STRING) {
- Z_STRVAL_P(tmp) = php_addslashes(Z_STRVAL_P(tmp), Z_STRLEN_P(tmp), &Z_STRLEN_P(tmp), 0 TSRMLS_CC);
- } else {
- zval_copy_ctor(tmp);
- }
+ zval_copy_ctor(tmp);
if (numerics) {
zend_hash_index_update(Z_ARRVAL_P(return_value), i, (void *) &tmp, sizeof(zval *), NULL);
Z_ADDREF_P(tmp);
diff --git a/ext/sysvsem/tests/sysv.phpt b/ext/sysvsem/tests/sysv.phpt
index 4245d8ef0c..3a962be31a 100644
--- a/ext/sysvsem/tests/sysv.phpt
+++ b/ext/sysvsem/tests/sysv.phpt
@@ -6,8 +6,6 @@ if(!extension_loaded('sysvsem') || !extension_loaded('sysvshm')) {
die("skip Both sysvsem and sysvshm required");
}
?>
---INI--
-magic_quotes_runtime=0
--FILE--
<?php
$MEMSIZE = 512; // size of shared memory to allocate
diff --git a/ext/xml/tests/xml001.phpt b/ext/xml/tests/xml001.phpt
index 62d597c5f8..9c03b553cc 100644
--- a/ext/xml/tests/xml001.phpt
+++ b/ext/xml/tests/xml001.phpt
@@ -5,8 +5,6 @@ XML parser test, function callbacks
require_once("skipif.inc");
XML_SAX_IMPL == 'libxml' && die('skip this test is not intended for libxml SAX parser');
?>
---INI--
-magic_quotes_runtime=0
--FILE--
<?php
chdir(dirname(__FILE__));
diff --git a/ext/xml/tests/xml002.phpt b/ext/xml/tests/xml002.phpt
index 8ae8dfbe66..ce547e8acc 100644
--- a/ext/xml/tests/xml002.phpt
+++ b/ext/xml/tests/xml002.phpt
@@ -5,8 +5,6 @@ XML parser test, object tuple callbacks
require_once("skipif.inc");
XML_SAX_IMPL == 'libxml' && die('skip this test is not intended for libxml SAX parser');
?>
---INI--
-magic_quotes_runtime=0
--FILE--
<?php
chdir(dirname(__FILE__));
diff --git a/ext/xml/tests/xml003.phpt b/ext/xml/tests/xml003.phpt
index 311c81acfb..6b0c3f5c5a 100644
--- a/ext/xml/tests/xml003.phpt
+++ b/ext/xml/tests/xml003.phpt
@@ -5,8 +5,6 @@ XML parser test, xml_set_object callbacks
require_once("skipif.inc");
XML_SAX_IMPL == 'libxml' && die('skip this test is not intended for libxml SAX parser');
?>
---INI--
-magic_quotes_runtime=0
--FILE--
<?php
chdir(dirname(__FILE__));
diff --git a/ext/xml/tests/xml004.phpt b/ext/xml/tests/xml004.phpt
index 78840ee122..245a93fc10 100644
--- a/ext/xml/tests/xml004.phpt
+++ b/ext/xml/tests/xml004.phpt
@@ -2,8 +2,6 @@
XML parser case folding test
--SKIPIF--
<?php include("skipif.inc"); ?>
---INI--
-magic_quotes_runtime=0
--FILE--
<?php
chdir(dirname(__FILE__));
diff --git a/ext/xml/tests/xml_closures_001.phpt b/ext/xml/tests/xml_closures_001.phpt
index 5439a2a918..37df254190 100755
--- a/ext/xml/tests/xml_closures_001.phpt
+++ b/ext/xml/tests/xml_closures_001.phpt
@@ -2,8 +2,6 @@
XML parser test using closures as callbacks
--SKIPIF--
<?php include("skipif.inc"); ?>
---INI--
-magic_quotes_runtime=0
--FILE--
<?php
chdir(dirname(__FILE__));
diff --git a/ext/zlib/tests/004.phpt b/ext/zlib/tests/004.phpt
index a758b8c7b3..ebc7d82b95 100644
--- a/ext/zlib/tests/004.phpt
+++ b/ext/zlib/tests/004.phpt
@@ -12,9 +12,6 @@ var_dump(gzfile(1,1,1));
var_dump(gzfile(dirname(__FILE__)."/004.txt.gz"));
var_dump(gzfile(dirname(__FILE__)."/004.txt.gz", 1));
-ini_set("magic_quotes_runtime", 1);
-var_dump(gzfile(dirname(__FILE__)."/004.txt.gz", -1));
-
echo "Done\n";
?>
--EXPECTF--
@@ -66,24 +63,4 @@ array(6) {
string(39) "and I know that it descends down on me
"
}
-array(6) {
- [0]=>
- string(37) "When you\'re taught through feelings
-"
- [1]=>
- string(26) "Destiny flying high above
-"
- [2]=>
- string(38) "all I know is that you can realize it
-"
- [3]=>
- string(18) "Destiny who cares
-"
- [4]=>
- string(19) "as it turns around
-"
- [5]=>
- string(39) "and I know that it descends down on me
-"
-}
Done
diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c
index 08450a3aa3..0f61bfde91 100644
--- a/ext/zlib/zlib.c
+++ b/ext/zlib/zlib.c
@@ -426,7 +426,7 @@ static PHP_FUNCTION(gzfile)
char *filename;
int filename_len;
int flags = REPORT_ERRORS;
- char *slashed, buf[8192] = {0};
+ char buf[8192] = {0};
register int i = 0;
long use_include_path = 0;
php_stream *stream;
@@ -454,14 +454,7 @@ static PHP_FUNCTION(gzfile)
memset(buf, 0, sizeof(buf));
while (php_stream_gets(stream, buf, sizeof(buf) - 1) != NULL) {
- if (PG(magic_quotes_runtime)) {
- int len;
-
- slashed = php_addslashes(buf, 0, &len, 0 TSRMLS_CC); /* 0 = don't free source string */
- add_index_stringl(return_value, i++, slashed, len, 0);
- } else {
- add_index_string(return_value, i++, buf, 1);
- }
+ add_index_string(return_value, i++, buf, 1);
}
php_stream_close(stream);
}
diff --git a/main/main.c b/main/main.c
index f02720130f..f6b9031439 100644
--- a/main/main.c
+++ b/main/main.c
@@ -440,9 +440,6 @@ PHP_INI_BEGIN()
STD_PHP_INI_BOOLEAN("ignore_repeated_source", "0", PHP_INI_ALL, OnUpdateBool, ignore_repeated_source, php_core_globals, core_globals)
STD_PHP_INI_BOOLEAN("report_memleaks", "1", PHP_INI_ALL, OnUpdateBool, report_memleaks, php_core_globals, core_globals)
STD_PHP_INI_BOOLEAN("report_zend_debug", "1", PHP_INI_ALL, OnUpdateBool, report_zend_debug, php_core_globals, core_globals)
- STD_PHP_INI_BOOLEAN("magic_quotes_gpc", "1", PHP_INI_PERDIR|PHP_INI_SYSTEM, OnUpdateBool, magic_quotes_gpc, php_core_globals, core_globals)
- STD_PHP_INI_BOOLEAN("magic_quotes_runtime", "0", PHP_INI_ALL, OnUpdateBool, magic_quotes_runtime, php_core_globals, core_globals)
- STD_PHP_INI_BOOLEAN("magic_quotes_sybase", "0", PHP_INI_ALL, OnUpdateBool, magic_quotes_sybase, php_core_globals, core_globals)
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)
@@ -2153,15 +2150,12 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod
struct {
const long error_level;
const char *phrase;
- const char *directives[13]; /* Remember to change this if the number of directives change */
+ const char *directives[16]; /* Remember to change this if the number of directives change */
} directives[2] = {
{
E_DEPRECATED,
"Directive '%s' is deprecated in PHP 5.3 and greater",
{
- "magic_quotes_gpc",
- "magic_quotes_runtime",
- "magic_quotes_sybase",
NULL
}
},
@@ -2172,6 +2166,9 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod
"allow_call_time_pass_reference",
"define_syslog_variables",
"highlight.bg",
+ "magic_quotes_gpc",
+ "magic_quotes_runtime",
+ "magic_quotes_sybase",
"register_globals",
"register_long_arrays",
"safe_mode",
diff --git a/main/php_globals.h b/main/php_globals.h
index 0ce398aafc..bf6674d54b 100644
--- a/main/php_globals.h
+++ b/main/php_globals.h
@@ -54,10 +54,6 @@ typedef struct _arg_separators {
} arg_separators;
struct _php_core_globals {
- zend_bool magic_quotes_gpc;
- zend_bool magic_quotes_runtime;
- zend_bool magic_quotes_sybase;
-
zend_bool implicit_flush;
long output_buffering;
diff --git a/main/php_variables.c b/main/php_variables.c
index f6dde71417..8bd1b01c33 100644
--- a/main/php_variables.c
+++ b/main/php_variables.c
@@ -47,11 +47,7 @@ PHPAPI void php_register_variable_safe(char *var, char *strval, int str_len, zva
/* Prepare value */
Z_STRLEN(new_entry) = str_len;
- if (PG(magic_quotes_gpc)) {
- Z_STRVAL(new_entry) = php_addslashes(strval, Z_STRLEN(new_entry), &Z_STRLEN(new_entry), 0 TSRMLS_CC);
- } else {
- Z_STRVAL(new_entry) = estrndup(strval, Z_STRLEN(new_entry));
- }
+ Z_STRVAL(new_entry) = estrndup(strval, Z_STRLEN(new_entry));
Z_TYPE(new_entry) = IS_STRING;
php_register_variable_ex(var, &new_entry, track_vars_array TSRMLS_CC);
@@ -180,11 +176,7 @@ PHPAPI void php_register_variable_ex(char *var_name, zval *val, zval *track_vars
array_init(gpc_element);
zend_hash_next_index_insert(symtable1, &gpc_element, sizeof(zval *), (void **) &gpc_element_p);
} else {
- if (PG(magic_quotes_gpc)) {
- escaped_index = php_addslashes(index, index_len, &index_len, 0 TSRMLS_CC);
- } else {
- escaped_index = index;
- }
+ escaped_index = index;
if (zend_symtable_find(symtable1, escaped_index, index_len + 1, (void **) &gpc_element_p) == FAILURE
|| Z_TYPE_PP(gpc_element_p) != IS_ARRAY) {
MAKE_STD_ZVAL(gpc_element);
@@ -216,11 +208,7 @@ plain_var:
if (!index) {
zend_hash_next_index_insert(symtable1, &gpc_element, sizeof(zval *), (void **) &gpc_element_p);
} else {
- if (PG(magic_quotes_gpc)) {
- escaped_index = php_addslashes(index, index_len, &index_len, 0 TSRMLS_CC);
- } else {
- escaped_index = index;
- }
+ escaped_index = index;
/*
* According to rfc2965, more specific paths are listed above the less specific ones.
* If we encounter a duplicate cookie name, we should skip it, since it is not possible
@@ -425,10 +413,6 @@ void _php_import_environment_variables(zval *array_ptr TSRMLS_DC)
size_t alloc_size = sizeof(buf);
unsigned long nlen; /* ptrdiff_t is not portable */
- /* turn off magic_quotes while importing environment variables */
- int magic_quotes_gpc = PG(magic_quotes_gpc);
- PG(magic_quotes_gpc) = 0;
-
for (env = environ; env != NULL && *env != NULL; env++) {
p = strchr(*env, '=');
if (!p) { /* malformed entry? */
@@ -446,7 +430,6 @@ void _php_import_environment_variables(zval *array_ptr TSRMLS_DC)
if (t != buf && t != NULL) {
efree(t);
}
- PG(magic_quotes_gpc) = magic_quotes_gpc;
}
zend_bool php_std_auto_global_callback(char *name, uint name_len TSRMLS_DC)
@@ -560,8 +543,6 @@ PHPAPI int php_handle_special_queries(TSRMLS_D)
static inline void php_register_server_variables(TSRMLS_D)
{
zval *array_ptr = NULL;
- /* turn off magic_quotes while importing server variables */
- int magic_quotes_gpc = PG(magic_quotes_gpc);
ALLOC_ZVAL(array_ptr);
array_init(array_ptr);
@@ -570,7 +551,6 @@ static inline void php_register_server_variables(TSRMLS_D)
zval_ptr_dtor(&PG(http_globals)[TRACK_VARS_SERVER]);
}
PG(http_globals)[TRACK_VARS_SERVER] = array_ptr;
- PG(magic_quotes_gpc) = 0;
/* Server variables */
if (sapi_module.register_server_variables) {
@@ -595,7 +575,6 @@ static inline void php_register_server_variables(TSRMLS_D)
php_register_variable_ex("REQUEST_TIME", &new_entry, array_ptr TSRMLS_CC);
}
- PG(magic_quotes_gpc) = magic_quotes_gpc;
}
/* }}} */
diff --git a/main/rfc1867.c b/main/rfc1867.c
index 4467aaff16..f6dfae997b 100644
--- a/main/rfc1867.c
+++ b/main/rfc1867.c
@@ -1119,15 +1119,6 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler) /* {{{ */
* the user does basename() they get a bogus file name. Until IE's user base drops
* to nill or problem is fixed this code must remain enabled for all systems. */
s = _basename(internal_encoding, filename TSRMLS_CC);
-#ifdef PHP_WIN32
- if (PG(magic_quotes_gpc)) {
- s = s ? s : filename;
- tmp = strrchr(s, '\'');
- s = tmp >= s ? tmp + 1: s;
- tmp = strrchr(s, '"');
- s = tmp >= s ? tmp + 1: s;
- }
-#endif
if (!s) {
s = filename;
}
@@ -1182,7 +1173,7 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler) /* {{{ */
s = "";
{
- /* store temp_filename as-is (without magic_quotes_gpc-ing it, in case upload_tmp_dir
+ /* store temp_filename as-is (in case upload_tmp_dir
* contains escapeable characters. escape only the variable name.) */
zval zfilename;
diff --git a/php.ini-development b/php.ini-development
index 92185959f7..4a1eb4f017 100644
--- a/php.ini-development
+++ b/php.ini-development
@@ -116,11 +116,6 @@
; Development Value: On
; Production Value: On
-; magic_quotes_gpc
-; Default Value: On
-; Development Value: Off
-; Production Value: Off
-
; max_input_time
; Default Value: -1 (Unlimited)
; Development Value: 60 (60 seconds)
@@ -663,30 +658,6 @@ auto_globals_jit = On
; http://php.net/post-max-size
post_max_size = 8M
-; Magic quotes are a preprocessing feature of PHP where PHP will attempt to
-; escape any character sequences in GET, POST, COOKIE and ENV data which might
-; otherwise corrupt data being placed in resources such as databases before
-; making that data available to you. Because of character encoding issues and
-; non-standard SQL implementations across many databases, it's not currently
-; possible for this feature to be 100% accurate. PHP's default behavior is to
-; enable the feature. We strongly recommend you use the escaping mechanisms
-; designed specifically for the database your using instead of relying on this
-; feature. Also note, this feature has been deprecated as of PHP 5.3.0 and is
-; scheduled for removal in PHP 6.
-; Default Value: On
-; Development Value: Off
-; Production Value: Off
-; http://php.net/magic-quotes-gpc
-magic_quotes_gpc = Off
-
-; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
-; http://php.net/magic-quotes-runtime
-magic_quotes_runtime = Off
-
-; Use Sybase-style magic quotes (escape ' with '' instead of \').
-; http://php.net/magic-quotes-sybase
-magic_quotes_sybase = Off
-
; Automatically add files before PHP document.
; http://php.net/auto-prepend-file
auto_prepend_file =
diff --git a/php.ini-production b/php.ini-production
index 576cf41479..ab7b266440 100644
--- a/php.ini-production
+++ b/php.ini-production
@@ -116,11 +116,6 @@
; Development Value: On
; Production Value: On
-; magic_quotes_gpc
-; Default Value: On
-; Development Value: Off
-; Production Value: Off
-
; max_input_time
; Default Value: -1 (Unlimited)
; Development Value: 60 (60 seconds)
@@ -663,30 +658,6 @@ auto_globals_jit = On
; http://php.net/post-max-size
post_max_size = 8M
-; Magic quotes are a preprocessing feature of PHP where PHP will attempt to
-; escape any character sequences in GET, POST, COOKIE and ENV data which might
-; otherwise corrupt data being placed in resources such as databases before
-; making that data available to you. Because of character encoding issues and
-; non-standard SQL implementations across many databases, it's not currently
-; possible for this feature to be 100% accurate. PHP's default behavior is to
-; enable the feature. We strongly recommend you use the escaping mechanisms
-; designed specifically for the database your using instead of relying on this
-; feature. Also note, this feature has been deprecated as of PHP 5.3.0 and is
-; scheduled for removal in PHP 6.
-; Default Value: On
-; Development Value: Off
-; Production Value: Off
-; http://php.net/magic-quotes-gpc
-magic_quotes_gpc = Off
-
-; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
-; http://php.net/magic-quotes-runtime
-magic_quotes_runtime = Off
-
-; Use Sybase-style magic quotes (escape ' with '' instead of \').
-; http://php.net/magic-quotes-sybase
-magic_quotes_sybase = Off
-
; Automatically add files before PHP document.
; http://php.net/auto-prepend-file
auto_prepend_file =
diff --git a/sapi/cgi/cgi_main.c b/sapi/cgi/cgi_main.c
index 01c417bef2..b19d501ba2 100644
--- a/sapi/cgi/cgi_main.c
+++ b/sapi/cgi/cgi_main.c
@@ -648,12 +648,7 @@ static void cgi_php_import_environment_variables(zval *array_ptr TSRMLS_DC)
if (fcgi_is_fastcgi()) {
fcgi_request *request = (fcgi_request*) SG(server_context);
- int magic_quotes_gpc = PG(magic_quotes_gpc);
-
- /* turn off magic_quotes while importing environment variables */
- PG(magic_quotes_gpc) = 0;
fcgi_loadenv(request, cgi_php_load_env_var, array_ptr TSRMLS_CC);
- PG(magic_quotes_gpc) = magic_quotes_gpc;
}
}
diff --git a/sapi/fpm/fpm/fpm_main.c b/sapi/fpm/fpm/fpm_main.c
index 773cf2cf6d..f9c15ba7e2 100644
--- a/sapi/fpm/fpm/fpm_main.c
+++ b/sapi/fpm/fpm/fpm_main.c
@@ -524,7 +524,6 @@ void cgi_php_import_environment_variables(zval *array_ptr TSRMLS_DC)
{
fcgi_request *request;
HashPosition pos;
- int magic_quotes_gpc;;
char *var, **val;
uint var_len;
ulong idx;
@@ -557,11 +556,8 @@ void cgi_php_import_environment_variables(zval *array_ptr TSRMLS_DC)
php_php_import_environment_variables(array_ptr TSRMLS_CC);
request = (fcgi_request*) SG(server_context);
- magic_quotes_gpc = PG(magic_quotes_gpc);
filter_arg = (array_ptr == PG(http_globals)[TRACK_VARS_ENV])?PARSE_ENV:PARSE_SERVER;
- /* turn off magic_quotes while importing environment variables */
- PG(magic_quotes_gpc) = 0;
for (zend_hash_internal_pointer_reset_ex(request->env, &pos);
zend_hash_get_current_key_ex(request->env, &var, &var_len, &idx, 0, &pos) == HASH_KEY_IS_STRING &&
zend_hash_get_current_data_ex(request->env, (void **) &val, &pos) == SUCCESS;
@@ -573,7 +569,6 @@ void cgi_php_import_environment_variables(zval *array_ptr TSRMLS_DC)
php_register_variable_safe(var, *val, new_val_len, array_ptr TSRMLS_CC);
}
}
- PG(magic_quotes_gpc) = magic_quotes_gpc;
}
static void sapi_cgi_register_variables(zval *track_vars_array TSRMLS_DC)
diff --git a/tests/basic/023.phpt b/tests/basic/023.phpt
index 4eb698fa05..181745ea5b 100644
--- a/tests/basic/023.phpt
+++ b/tests/basic/023.phpt
@@ -1,7 +1,5 @@
--TEST--
Cookies test#2
---INI--
-magic_quotes_gpc=0
--COOKIE--
c o o k i e=value; c o o k i e= v a l u e ;;c%20o+o k+i%20e=v;name="value","value",UEhQIQ==;UEhQIQ==foo
--FILE--
diff --git a/tests/basic/024.phpt b/tests/basic/024.phpt
index 847eeac824..497d3514e0 100644
--- a/tests/basic/024.phpt
+++ b/tests/basic/024.phpt
@@ -1,7 +1,6 @@
--TEST--
Test HTTP_RAW_POST_DATA creation
--INI--
-magic_quotes_gpc=0
always_populate_raw_post_data=1
--POST--
a=ABC&y=XYZ&c[]=1&c[]=2&c[a]=3
diff --git a/tests/basic/025.phpt b/tests/basic/025.phpt
index bafcac8091..58191bcd61 100644
--- a/tests/basic/025.phpt
+++ b/tests/basic/025.phpt
@@ -1,7 +1,6 @@
--TEST--
Test HTTP_RAW_POST_DATA with excessive post length
--INI--
-magic_quotes_gpc=0
always_populate_raw_post_data=1
post_max_size=1K
--POST--
diff --git a/tests/basic/026.phpt b/tests/basic/026.phpt
index 957aa1972c..b98a31f430 100644
--- a/tests/basic/026.phpt
+++ b/tests/basic/026.phpt
@@ -1,7 +1,6 @@
--TEST--
Registration of HTTP_RAW_POST_DATA due to unknown content-type
--INI--
-magic_quotes_gpc=0
always_populate_raw_post_data=0
--POST_RAW--
Content-Type: unknown/type
diff --git a/tests/basic/027.phpt b/tests/basic/027.phpt
index ae5d78d50d..aa001f65a3 100644
--- a/tests/basic/027.phpt
+++ b/tests/basic/027.phpt
@@ -1,7 +1,6 @@
--TEST--
Handling of max_input_nesting_level being reached
--INI--
-magic_quotes_gpc=0
always_populate_raw_post_data=0
display_errors=0
max_input_nesting_level=10
diff --git a/tests/basic/bug46313-win.phpt b/tests/basic/bug46313-win.phpt
index 457e5eb7b3..e588bec767 100644
--- a/tests/basic/bug46313-win.phpt
+++ b/tests/basic/bug46313-win.phpt
@@ -5,6 +5,71 @@ Bug #46313 (Magic quotes broke $_FILES)
--INI--
magic_quotes_gpc=1
file_uploads=1
+register_globals=1
+--POST_RAW--
+Content-Type: multipart/form-data; boundary=---------------------------20896060251896012921717172737
+-----------------------------20896060251896012921717172737
+Content-Disposition: form-data; name="o1'file"; filename="o1'file.png"
+Content-Type: text/plain-file1
+
+1
+-----------------------------20896060251896012921717172737
+Content-Disposition: form-data; name="o2'file"; filename="o2'file2.txt"
+Content-Type: text/plain-file2
+
+2
+-----------------------------20896060251896012921717172737--
+--FILE--
+<?php
+var_dump($_FILES);
+var_dump($GLOBALS["o1\'file_name"]);
+var_dump($GLOBALS["o1\'file_name"] === $_FILES["o1\'file"]["name"]);
+var_dump($GLOBALS["o1\'file"]);
+var_dump($GLOBALS["o1\'file"] === $_FILES["o1\'file"]["tmp_name"]);
+?>
+--EXPECTF--
+array(2) {
+ ["o1\'file"]=>
+ array(5) {
+ ["name"]=>
+ string(12) "o1"
+ ["type"]=>
+ string(16) "text/plain-file1"
+ ["tmp_name"]=>
+ string(14) "%s"
+ ["error"]=>
+ int(0)
+ ["size"]=>
+ int(1)
+ }
+ ["o2\'file"]=>
+ array(5) {
+ ["name"]=>
+ string(13) "o2"
+ ["type"]=>
+ string(16) "text/plain-file2"
+ ["tmp_name"]=>
+ string(14) "%s"
+ ["error"]=>
+ int(0)
+ ["size"]=>
+ int(1)
+ }
+}
+string(12) "o1"
+bool(true)
+string(%d) "%s"
+bool(true)
+Warning: Directive 'register_globals' is deprecated in PHP 5.3 and greater in Unknown on line 0
+Warning: Directive 'magic_quotes_gpc' is deprecated in PHP 5.3 and greater in Unknown on line 0
+
+--TEST--
+Bug #46313 (Magic quotes broke $_FILES)
+--SKIPIF--
+<?php if(substr(PHP_OS, 0, 3) != "WIN") die("skip Windows-only test"); ?>
+--INI--
+magic_quotes_gpc=1
+file_uploads=1
--POST_RAW--
Content-Type: multipart/form-data; boundary=---------------------------20896060251896012921717172737
-----------------------------20896060251896012921717172737
diff --git a/tests/basic/bug46313.phpt b/tests/basic/bug46313.phpt
index 6c1f65c935..e69de29bb2 100644
--- a/tests/basic/bug46313.phpt
+++ b/tests/basic/bug46313.phpt
@@ -1,54 +0,0 @@
---TEST--
-Bug #46313 (Magic quotes broke $_FILES)
---SKIPIF--
-<?php if(substr(PHP_OS, 0, 3) == "WIN") die("skip non-Windows test"); ?>
---INI--
-magic_quotes_gpc=1
-file_uploads=1
-display_errors=0
---POST_RAW--
-Content-Type: multipart/form-data; boundary=---------------------------20896060251896012921717172737
------------------------------20896060251896012921717172737
-Content-Disposition: form-data; name="o1'file"; filename="o1'file.png"
-Content-Type: text/plain-file1
-
-1
------------------------------20896060251896012921717172737
-Content-Disposition: form-data; name="o2'file"; filename="o2'file2.txt"
-Content-Type: text/plain-file2
-
-2
------------------------------20896060251896012921717172737--
---FILE--
-<?php
-var_dump($_FILES);
-?>
---EXPECTF--
-array(2) {
- ["o1\'file"]=>
- array(5) {
- ["name"]=>
- string(12) "o1\'file.png"
- ["type"]=>
- string(16) "text/plain-file1"
- ["tmp_name"]=>
- string(%d) "%s"
- ["error"]=>
- int(0)
- ["size"]=>
- int(1)
- }
- ["o2\'file"]=>
- array(5) {
- ["name"]=>
- string(13) "o2\'file2.txt"
- ["type"]=>
- string(16) "text/plain-file2"
- ["tmp_name"]=>
- string(%d) "%s"
- ["error"]=>
- int(0)
- ["size"]=>
- int(1)
- }
-}
diff --git a/tests/basic/bug46759.phpt b/tests/basic/bug46759.phpt
index d35cd534c2..e69de29bb2 100644
--- a/tests/basic/bug46759.phpt
+++ b/tests/basic/bug46759.phpt
@@ -1,20 +0,0 @@
---TEST--
-Testing magic_quotes_gpc
---INI--
-display_errors=0
-magic_quotes_gpc=1
---GET--
-a='&b="&c=\"
---FILE--
-<?php
-
-foreach ($_GET AS $key => $value)
-{
- echo $key . ": " . $value . "\n";
-}
-
-?>
---EXPECT--
-a: \'
-b: \"
-c: \\\"
diff --git a/tests/security/magic_quotes_gpc.phpt b/tests/security/magic_quotes_gpc.phpt
index 382ab94d2d..e69de29bb2 100644
--- a/tests/security/magic_quotes_gpc.phpt
+++ b/tests/security/magic_quotes_gpc.phpt
@@ -1,13 +0,0 @@
---TEST--
-Test if magic_quotes_gpc works as expected
---INI--
-display_errors=0
-magic_quotes_gpc=1
---GET--
-a=abc'"%00123
---FILE--
-<?php
-echo $_GET['a'],"\n";
-?>
---EXPECT--
-abc\'\"\0123
diff --git a/win32/build/config.w32.h.in b/win32/build/config.w32.h.in
index 9d885667f0..13b36fad1c 100644
--- a/win32/build/config.w32.h.in
+++ b/win32/build/config.w32.h.in
@@ -33,7 +33,6 @@
/* PHP Runtime Configuration */
#define PHP_URL_FOPEN 1
-#define MAGIC_QUOTES 0
#define USE_CONFIG_FILE 1
#define DEFAULT_SHORT_OPEN_TAG "1"
diff --git a/win32/syslog.reg b/win32/syslog.reg
index 4d3e273970..cb12d6e6b9 100644
--- a/win32/syslog.reg
+++ b/win32/syslog.reg
@@ -2,4 +2,4 @@ REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\PHP-5.3.99-dev]
"TypesSupported"=dword:00000007
-"EventMessageFile"="g:\\test\\srcinstall6\\php5ts_debug.dll"
+"EventMessageFile"="g:\\test\\srctrunkinstall\\php5ts.dll"