]> granicus.if.org Git - php/commitdiff
- remove magic_quotes_gpc, magic_quotes_runtime, magic_quotes_sybase
authorPierre Joye <pajoye@php.net>
Wed, 8 Mar 2006 00:43:32 +0000 (00:43 +0000)
committerPierre Joye <pajoye@php.net>
Wed, 8 Mar 2006 00:43:32 +0000 (00:43 +0000)
 (calling ini_set('magic_....') returns 0|false
- get_magic_quotes_gpc, get_magic_quotes_runtime are kept but always return false
- set_magic_quotes_runtime raises an E_CORE_ERROR

44 files changed:
NEWS
ext/bz2/bz2.c
ext/dba/dba.c
ext/dba/tests/dba008.phpt
ext/dba/tests/dba_cdb_make.phpt
ext/exif/exif.c
ext/exif/tests/bug34704.phpt
ext/exif/tests/exif002.phpt
ext/exif/tests/exif006.phpt
ext/iconv/tests/translit-utf8.phpt
ext/interbase/ibase_query.c
ext/mhash/tests/001.phpt
ext/msql/php_msql.c
ext/mssql/php_mssql.c
ext/mysql/php_mysql.c
ext/mysqli/mysqli.c
ext/pcre/config0.m4
ext/pcre/pcrelib/pcre_internal.h
ext/pcre/tests/bug33200.phpt
ext/pdo/tests/pdo_test.inc
ext/pgsql/pgsql.c
ext/spl/examples/dbaarray.inc
ext/spl/spl_directory.c
ext/standard/basic_functions.c
ext/standard/exec.c
ext/standard/file.c
ext/standard/streamsfuncs.c
ext/standard/string.c
ext/standard/tests/file/fputcsv.phpt
ext/standard/tests/strings/add-and-stripslashes.phpt
ext/sybase/php_sybase_db.c
ext/sybase_ct/php_sybase_ct.c
ext/xml/tests/xml001.phpt
ext/xml/tests/xml002.phpt
ext/xml/tests/xml003.phpt
ext/xml/tests/xml004.phpt
ext/zlib/zlib.c
main/main.c
main/php_globals.h
main/php_variables.c
main/rfc1867.c
php.ini-dist
php.ini-recommended
sapi/cgi/cgi_main.c

diff --git a/NEWS b/NEWS
index ea8dc5104e02ee6c9be1a4695bf577fd2553f32c..6025c9d5f4299d630c5c1e2558786a9ad9f5c4ed 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,10 @@ PHP                                                                        NEWS
 - Droped register_globals support (Pierre)
   - session_register, session_unregister and session_is_registered removed they
     depend on register_globals
+- Droped magic_quotes_gpc, magic_quotes_runtime and magic_quotes_sybase ini
+  settings (Pierre)
+  -  get_magic_quotes_gpc, get_magic_quotes_runtime are kept but always return
+     false, set_magic_quotes_runtime raises an E_CORE_ERROR
 - Freetype 1.x and GD 1.x support removed (Pierre)
 - Cleaned CGI code. Now FastCGI can not be disabled. See sapi/cgi/CHANGES
   for more details. (Dmitry)
index 07296d2daad757bbf06d276800153363d58ce910..0edf41e973934e7487aecc36f30a34d0a4b6b6b0 100644 (file)
@@ -292,12 +292,6 @@ 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;
 }
 /* }}} */
index 43a371ed0041b7a27c3940980928d4c24204b687..6088a856403051167a355fb75bfbff150fd72eb6 100644 (file)
@@ -474,22 +474,10 @@ static void php_dba_update(INTERNAL_FUNCTION_PARAMETERS, int mode)
 
        DBA_WRITE_CHECK;
        
-       if (PG(magic_quotes_runtime)) {
-               len = Z_STRLEN_PP(val);
-               v = estrndup(Z_STRVAL_PP(val), len);
-               php_stripslashes(v, &len TSRMLS_CC); 
-               if(info->hnd->update(info, key_str, key_len, v, len, mode TSRMLS_CC) == SUCCESS) {
-                       efree(v);
-                       DBA_ID_DONE;
-                       RETURN_TRUE;
-               }
-               efree(v);
-       } else {
-               if(info->hnd->update(info, key_str, key_len, VALLEN(val), mode TSRMLS_CC) == SUCCESS)
-               {
-                       DBA_ID_DONE;
-                       RETURN_TRUE;
-               }
+       if(info->hnd->update(info, key_str, key_len, VALLEN(val), mode TSRMLS_CC) == SUCCESS)
+       {
+               DBA_ID_DONE;
+               RETURN_TRUE;
        }
        DBA_ID_DONE;
        RETURN_FALSE;
@@ -937,9 +925,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);
        } 
index 84a47ba0836f7c7b392420582fddac0f3c912ac1..0c0e434fd87c8befdc54c42e603fe4ab8afa1858 100644 (file)
@@ -2,6 +2,7 @@
 DBA magic_quotes_runtime Test
 --SKIPIF--
 <?php 
+       die('skip, magic_quotes removed');
        require_once('skipif.inc');
        die("info $HND handler used");
 ?>
index 04df9252d800b04bd672460ae6acfb51cc8b63e6..4f4b74746025bbe3a26f2cc0d36a5d8e614ac42e 100644 (file)
@@ -1,7 +1,5 @@
 --TEST--
 DBA CDB_MAKE handler test
---INI--
-magic_quotes_runtime=1
 --SKIPIF--
 <?php 
        $handler = 'cdb_make';
@@ -35,4 +33,4 @@ magic_quotes_runtime=1
 --EXPECT--
 database handler: cdb_make
 string(32) "12fc5ba2b9dcfef2480e5324eeb5f3e5"
-string(32) "12fc5ba2b9dcfef2480e5324eeb5f3e5"
\ No newline at end of file
+string(32) "12fc5ba2b9dcfef2480e5324eeb5f3e5"
index 78b9108bcd69c7a5b648efe61d8ca019445ea029..8b9c66e2b53281e5a8f78752b99c41cbd3041e97 100644 (file)
@@ -1578,11 +1578,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;
@@ -1604,12 +1600,7 @@ static void exif_iif_add_value(image_info_type *image_info, int section_index, c
                                break;
                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;
@@ -1731,11 +1722,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++;
        }
@@ -1776,17 +1763,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++;
        }
index b6b26de78d67c6b0fb0924d883309be15bdb5319..7688ce861af33611afb3b56a03ca7eb9b5ee4308 100755 (executable)
@@ -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--
index 1b1220c60073abbb0c3a472cdb890d80cc060b58..2a70f2920c9a5e2c27f50b1e4919172206c23200 100644 (file)
@@ -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--
index bad74ee4fa98b76f129a7f074b41be42d6d6767a..655cecb42d5496c034d2abfbb76bddd203c2f1ac 100644 (file)
@@ -2,8 +2,7 @@
 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');
+       die('skip magic_quotes removed');
 ?>
 --INI--
 output_handler=
index aa5131f2c312bf558b8e54c9a28822ca5b3bfeb7..0151dc385c3701de4f4c206b73b00d54275788d5 100644 (file)
@@ -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
index 913059e486e601f5bbcdabf43cb4f168e53c5200..52b6d01e0489d6aabac7aaad525790b73300216a 100644 (file)
@@ -1302,12 +1302,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;
index 13c16a226392f4b49872271e4911185e9e5cf16d..5e0496a7ee379495a4c67b1fdc1530f1f133948b 100644 (file)
@@ -1,7 +1,5 @@
 --TEST--
 mhash() test
---INI--
-magic_quotes_runtime=0
 --SKIPIF--
 <?php
        include "skip.inc";
index ded73a1b17dd3463749ed65647119c4ebf5b5f3c..e661efa9ea8e4fbbd194f67a7ca7b7c92c59a781 100644 (file)
@@ -844,12 +844,8 @@ PHP_FUNCTION(msql_result)
        }
        
        if (sql_row[field_offset]) {
-               if (PG(magic_quotes_runtime)) {
-                       Z_STRVAL_P(return_value) = php_addslashes(sql_row[field_offset],0,&Z_STRLEN_P(return_value),0 TSRMLS_CC);
-               } else {        
-                       Z_STRLEN_P(return_value) = (sql_row[field_offset]?strlen(sql_row[field_offset]):0);
-                       Z_STRVAL_P(return_value) = (char *) safe_estrndup(sql_row[field_offset],Z_STRLEN_P(return_value));
-               }
+               Z_STRLEN_P(return_value) = (sql_row[field_offset]?strlen(sql_row[field_offset]):0);
+               Z_STRVAL_P(return_value) = (char *) safe_estrndup(sql_row[field_offset],Z_STRLEN_P(return_value));
                Z_TYPE_P(return_value) = IS_STRING;
        } else {
                ZVAL_FALSE(return_value);
@@ -940,14 +936,9 @@ static void php_msql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type)
                        int data_len;
                        int should_copy;
 
-                       if (PG(magic_quotes_runtime)) {
-                               data = php_addslashes(msql_row[i], 0, &data_len, 0 TSRMLS_CC);
-                               should_copy = 0;
-                       } else {
-                               data = msql_row[i];
-                               data_len = strlen(data);
-                               should_copy = 1;
-                       }
+                       data = msql_row[i];
+                       data_len = strlen(data);
+                       should_copy = 1;
                        
                        if (result_type & MSQL_NUM) {
                                add_index_stringl(return_value, i, data, data_len, should_copy);
index 46aa5f90f722c6d6d6422002577478100b72caa3..0044a196086d902f677cd14e9d459508cb5f0d39 100644 (file)
@@ -1417,16 +1417,9 @@ static void php_mssql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type,
                        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]);
+                               should_copy = 1;
 
                                if (result_type & MSSQL_NUM) {
                                        add_index_stringl(return_value, i, data, data_len, should_copy);
index b9288c6bf63c464cbca07f35996330dba0f7bb49..52141f5327dc7b3261f354e2c76c001fe605888d 100644 (file)
@@ -1841,13 +1841,8 @@ PHP_FUNCTION(mysql_result)
 
        if (sql_row[field_offset]) {
                Z_TYPE_P(return_value) = IS_STRING;
-
-               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 {        
-                       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));
-               }
+               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));
        } else {
                Z_TYPE_P(return_value) = IS_NULL;
        }
@@ -1970,12 +1965,7 @@ static void php_mysql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, int result_type,
 
                        MAKE_STD_ZVAL(data);
 
-                       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 {
-                               ZVAL_STRINGL(data, mysql_row[i], mysql_row_lengths[i], 1);
-                       }
+                       ZVAL_STRINGL(data, mysql_row[i], mysql_row_lengths[i], 1);
 
                        if (result_type & MYSQL_NUM) {
                                add_index_zval(return_value, i, data);
index 0e5305cd804ff710087f576acee92b054315b005..8b1ca3bff670496ef3a542a6c8f77fbb9bc48b57 100644 (file)
@@ -815,13 +815,7 @@ void php_mysqli_fetch_into_hash(INTERNAL_FUNCTION_PARAMETERS, int override_flags
 
                        MAKE_STD_ZVAL(res);
 
-                       /* 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 {
-                               ZVAL_STRINGL(res, row[i], field_len[i], 1);     
-                       }
+                       ZVAL_STRINGL(res, row[i], field_len[i], 1);     
 
                        if (fetchtype & MYSQLI_NUM) {
                                add_index_zval(return_value, i, res);
index 3ae740d682596a3c1d52b5f25ea54a04c0af5551..4d442231a73563a87bcde07cd1bc5fce76e5380e 100644 (file)
@@ -16,6 +16,7 @@ if test "$PHP_PCRE_REGEX" != "no"; then
     PHP_NEW_EXTENSION(pcre, pcrelib/pcre_chartables.c pcrelib/pcre_ucp_searchfuncs.c pcrelib/pcre_compile.c pcrelib/pcre_config.c pcrelib/pcre_dfa_exec.c pcrelib/pcre_exec.c pcrelib/pcre_fullinfo.c pcrelib/pcre_get.c pcrelib/pcre_globals.c pcrelib/pcre_info.c pcrelib/pcre_maketables.c pcrelib/pcre_ord2utf8.c pcrelib/pcre_refcount.c pcrelib/pcre_study.c pcrelib/pcre_tables.c pcrelib/pcre_try_flipped.c pcrelib/pcre_valid_utf8.c pcrelib/pcre_version.c pcrelib/pcre_xclass.c php_pcre.c, $ext_shared,,-DEXPORT= -DNEWLINE=10 -DSUPPORT_UTF8 -DSUPPORT_UCP -DLINK_SIZE=2 -DPOSIX_MALLOC_THRESHOLD=10 -DMATCH_LIMIT=10000000 -DMATCH_LIMIT_RECURSION=10000000 -I@ext_srcdir@/pcrelib)
     PHP_ADD_BUILD_DIR($ext_builddir/pcrelib)
     PHP_INSTALL_HEADERS([ext/pcre], [php_pcre.h pcrelib/])
+       PHP_ADD_INCLUDE(pcrelib)
     AC_DEFINE(HAVE_BUNDLED_PCRE, 1, [ ])
   else
     for i in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/include $PHP_PCRE_REGEX/include/pcre; do
index 386ed3ddf94d9d0fe5fa909a90b274fb7ef05dd6..b51cd93083722526fcb67dcca40501e631b7c727 100644 (file)
@@ -70,7 +70,15 @@ all, it had only been about 10 years then... */
 #else
 # include <php_config.h>
 #endif
+/*
+#ifndef MATCH_LIMIT
+#define MATCH_LIMIT 10000000
+#endif
 
+#ifndef MATCH_LIMIT_RECURSION
+#define MATCH_LIMIT_RECURSION MATCH_LIMIT
+#endif
+*/
 /* Standard C headers plus the external interface definition. The only time
 setjmp and stdarg are used is when NO_RECURSE is set. */
 
index b00b72ac28f48f6a92170adeb950f3b33c7e6e06..334e90e8655898ad9e35b75a04f5788402b2207e 100644 (file)
@@ -1,5 +1,7 @@
 --TEST--
 Bug #33200 (magic_quotes_sybase = On makes 'e' modifier misbehave)
+--SKIPIF--
+die('skip magic_quotes removed');
 --INI--
 magic_quotes_sybase=1
 --FILE--
index a023fd89bb4ba95f9ec1aaf0f488f0678f93c0f8..6696fe12d716db790932b3531183e5be5d1cf7d6 100644 (file)
@@ -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");
 }
index d52d2b451934ca901fdf46ef473c7bb7c7775bcf..99d5ab5434cb1aa78452bbec6585073257dde617 100644 (file)
@@ -1962,12 +1962,8 @@ static void php_pgsql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, long result_type,
                                int data_len;
                                int should_copy=0;
 
-                               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);
@@ -5583,12 +5579,9 @@ PHP_PGSQL_API int php_pgsql_result2array(PGresult *pg_result, zval *ret_array TS
                                element = PQgetvalue(pg_result, pg_row, i);
                                element_len = (element ? strlen(element) : 0);
                                if (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);
                                }
index 0bd42d425f5771f8c6e29aaebbb1d9b892eb2bb4..20b33bd27863eb6fcd29a31eebc5e4516edba874 100755 (executable)
@@ -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
+?>
index 123481c7c1004b18d3c81a8aa82a1ae101a4336b..682cb764b8f7a42a46d777da4ff1571b7ff2fa8c 100755 (executable)
@@ -1353,11 +1353,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;
        }
@@ -1842,14 +1837,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));
 } /* }}} */
 
index ab7d3755696afbdf43df3789b5cac374415652fa..9681db53c0362840da08248569a614d9c4f16521 100644 (file)
@@ -442,11 +442,11 @@ zend_function_entry basic_functions[] = {
        PHP_FE(get_current_user,                                                                                                NULL)
        PHP_FE(set_time_limit,                                                                                                  NULL)
        PHP_FE(get_cfg_var,                                                                                                             NULL)
-       PHP_FALIAS(magic_quotes_runtime, set_magic_quotes_runtime,                              NULL)
-       PHP_FE(set_magic_quotes_runtime,                                                                                NULL)
-       PHP_FE(get_magic_quotes_gpc,                                                                                    NULL)
-       PHP_FE(get_magic_quotes_runtime,                                                                                NULL)
-
+       PHP_DEP_FALIAS(magic_quotes_runtime, set_magic_quotes_runtime,              NULL)
+       PHP_DEP_FE(set_magic_quotes_runtime,                                        NULL)
+       PHP_DEP_FE(get_magic_quotes_gpc,                                            NULL)
+       PHP_DEP_FE(get_magic_quotes_runtime,                                        NULL)
+       
        PHP_FE(import_request_variables,                                                                                NULL)
        PHP_FE(error_log,                                                                                                               NULL)
        PHP_FE(call_user_func,                                                                                                  NULL)
@@ -1151,9 +1151,6 @@ PHP_RINIT_FUNCTION(basic)
        PHP_RINIT(dir)(INIT_FUNC_ARGS_PASSTHRU);
        PHP_RINIT(url_scanner_ex)(INIT_FUNC_ARGS_PASSTHRU);
 
-       /* Reset magic_quotes_runtime */
-       PG(magic_quotes_runtime) = INI_BOOL("magic_quotes_runtime");
-
        /* Setup default context */
        FG(default_context) = NULL;
 
@@ -1823,38 +1820,20 @@ 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 */
 PHP_FUNCTION(set_magic_quotes_runtime)
 {
-       zval **new_setting;
-
-       if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &new_setting) == FAILURE) {
-               RETURN_FALSE;
-       }
-       convert_to_boolean_ex(new_setting);
-
-       PG(magic_quotes_runtime) = (zend_bool) Z_LVAL_PP(new_setting);
-       RETURN_TRUE;
+       php_error_docref(NULL TSRMLS_CC, E_CORE_ERROR, "magic_quotes_runtime is not supported anymore");
+       RETURN_FALSE;
 }
-/* }}} */
 
-/* {{{ proto int get_magic_quotes_runtime(void)
-   Get the current active configuration setting of magic_quotes_runtime */
 PHP_FUNCTION(get_magic_quotes_runtime)
 {
-       RETURN_LONG(PG(magic_quotes_runtime));
+       RETURN_FALSE;
 }
-
-/* }}} */
-
-/* {{{ proto int get_magic_quotes_gpc(void)
-   Get the current active configuration setting of magic_quotes_gpc */
 PHP_FUNCTION(get_magic_quotes_gpc)
 {
-       RETURN_LONG(PG(magic_quotes_gpc));
+       RETURN_FALSE;
 }
-/* }}} */
 
 /*
        1st arg = error message
index 3fa0462aa5292aa6672d3285989972b70e2c63ad..1dccf6610ca1f1c5ca42504a6d7fa71d49caf44d 100644 (file)
@@ -135,14 +135,7 @@ int php_exec(int type, char *cmd, zval *array, zval *return_value TSRMLS_DC)
                        }
 
                        /* 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();
                }
index 88d4062c6f91814bff4d853f7d18edc99aae6bde..f3ad871faa01a9f8e794927d80281d219fce4a4a 100644 (file)
@@ -413,11 +413,7 @@ PHP_FUNCTION(get_meta_tags)
                                        have_name = 1;
                                } else if (saw_content) {
                                        /* 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;
                                }
@@ -451,11 +447,7 @@ PHP_FUNCTION(get_meta_tags)
                                have_name = 1;
                        } else if (saw_content) {
                                /* 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;
                        }
@@ -543,12 +535,6 @@ PHP_FUNCTION(file_get_contents)
 
        /* uses mmap if possible */
        if ((len = php_stream_copy_to_mem(stream, &contents, maxlen, 0)) > 0) {
-               
-               if (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 if (len == 0) {
                RETVAL_EMPTY_STRING();
@@ -778,13 +764,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 {
@@ -793,13 +773,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), &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))));
                }
@@ -1038,18 +1012,9 @@ PHPAPI PHP_FUNCTION(fgets)
        }
 
        if (is_unicode) {
-               /* UTODO: magic_quotes_runtime */
                RETURN_UNICODEL(buf, num_chars, 0);
        } else {
-               if (PG(magic_quotes_runtime)) {
-                       int len;
-                       char *str;
-
-                       str = php_addslashes((char*)buf, num_bytes, &len, 1 TSRMLS_CC);
-                       RETURN_STRINGL(str, len, 0);
-               } else {
                        RETURN_STRINGL((char*)buf, num_bytes, 0);
-               }
        }
 }
 /* }}} */
@@ -1248,9 +1213,6 @@ PHPAPI PHP_FUNCTION(fwrite)
                if (write_len < 0 || write_len > Z_USTRLEN_P(zstring)) {
                        write_len = Z_USTRLEN_P(zstring);
                }
-
-               /* UTODO Handle magic_quotes_runtime for unicode strings */
-
                ret = php_stream_u_write(stream, Z_USTRVAL_P(zstring), write_len);
 
                /* Convert data points back to code units */
@@ -1267,10 +1229,6 @@ PHPAPI PHP_FUNCTION(fwrite)
                }
 
                num_bytes = write_len;
-               if (argc < 3 && PG(magic_quotes_runtime)) {
-                       buffer = estrndup(Z_STRVAL_P(zstring), num_bytes);
-                       php_stripslashes(buffer, &num_bytes TSRMLS_CC);
-               }
                ret = php_stream_write(stream, buffer ? buffer : Z_STRVAL_P(zstring), num_bytes);
                if (buffer) {
                        efree(buffer);
@@ -1828,16 +1786,11 @@ PHPAPI PHP_FUNCTION(fread)
        }
 
        if (is_unicode) {
-               /* UTODO - magic_quotes_runtime */
-
                buf[num_bytes] = 0;
                buf[num_bytes + 1] = 0;
                RETURN_UNICODEL((UChar *)buf, num_bytes >> 1, 0);
        } else {
                buf[num_bytes] = 0;
-               if (PG(magic_quotes_runtime)) {
-                       buf = php_addslashes(buf, num_bytes, &num_bytes, 1 TSRMLS_CC);
-               }
                RETURN_STRINGL(buf, num_bytes, 0);
        }
 }
@@ -1976,16 +1929,7 @@ PHP_FUNCTION(fputcsv)
        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);
 
        RETURN_LONG(ret);
index 569dc47be4bf66cc5a14ff75f0b5fb63f0c9f3b6..0d3050d149678d24e1d1a5ba5da8c5f9658dc456 100644 (file)
@@ -370,14 +370,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);
@@ -407,12 +400,6 @@ PHP_FUNCTION(stream_get_contents)
        }
 
        if ((len = php_stream_copy_to_mem(stream, &contents, maxlen, 0)) > 0) {
-               
-               if (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 if (len == 0) {
                RETVAL_EMPTY_STRING();
index 7b9f677788868bf3b37ff5950b419bcf49fe6d5b..eca1d998a63f187b0cf37d3cc46af8a386a582f0 100644 (file)
@@ -3798,48 +3798,19 @@ PHPAPI void php_u_stripslashes(UChar *str, int *len TSRMLS_DC)
        UChar32 ch1, ch2;
 
        ch1 = -1; ch2 = -1;
-       if (PG(magic_quotes_sybase)) {
-               while (i < src_len) {
-                       U16_NEXT(str, i, src_len, ch1);
-                       if (ch1 == '\'') {
-                               tmp_len += zend_codepoint_to_uchar(ch1, str+tmp_len);
-                               if (i < src_len) {
-                                       U16_NEXT(str, i, src_len, ch2);
-                                       if (ch2 != '\'') {
-                                               tmp_len += zend_codepoint_to_uchar(ch2, str+tmp_len);
-                                       }
-                               }
-                       } else if (ch1 == '\\') {
-                               if (i < src_len) {
-                                       U16_NEXT(str, i, src_len, ch2);
-                                       if (ch2 == '0') {
-                                               tmp_len += zend_codepoint_to_uchar('\0', str+tmp_len);
-                                       } else {
-                                               tmp_len += zend_codepoint_to_uchar(ch1, str+tmp_len);
-                                               tmp_len += zend_codepoint_to_uchar(ch2, str+tmp_len);
-                                       }
+       while (i < src_len) {
+               U16_NEXT(str, i, src_len, ch1);
+               if (ch1 == '\\') {
+                       if (i < src_len) {
+                               U16_NEXT(str, i, src_len, ch2);
+                               if (ch2 == '0') {
+                                       tmp_len += zend_codepoint_to_uchar('\0', str+tmp_len);
                                } else {
-                                       tmp_len += zend_codepoint_to_uchar(ch1, str+tmp_len);
+                                       tmp_len += zend_codepoint_to_uchar(ch2, str+tmp_len);
                                }
-                       } else {
-                               tmp_len += zend_codepoint_to_uchar(ch1, str+tmp_len);
-                       }
-               }
-       } else {
-               while (i < src_len) {
-                       U16_NEXT(str, i, src_len, ch1);
-                       if (ch1 == '\\') {
-                               if (i < src_len) {
-                                       U16_NEXT(str, i, src_len, ch2);
-                                       if (ch2 == '0') {
-                                               tmp_len += zend_codepoint_to_uchar('\0', str+tmp_len);
-                                       } else {
-                                               tmp_len += zend_codepoint_to_uchar(ch2, str+tmp_len);
-                                       }
-                               }
-                       } else {
-                               tmp_len += zend_codepoint_to_uchar(ch1, str+tmp_len);
                        }
+               } else {
+                       tmp_len += zend_codepoint_to_uchar(ch1, str+tmp_len);
                }
        }
        *(str+tmp_len) = 0;
@@ -3865,34 +3836,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 */
@@ -4179,42 +4122,25 @@ PHPAPI UChar *php_u_addslashes_ex(UChar *str, int length, int *new_length, int s
        }
 
        buf = eumalloc(length * 2);
-       if (!ignore_sybase && PG(magic_quotes_sybase)) {
-               while (i < length) {
-                       U16_NEXT(str, i, length, ch);
-                       switch (ch) {
-                       case '\0':
-                               *(buf+buf_len) = (UChar)0x5C; buf_len++; /* \ */
-                               *(buf+buf_len) = (UChar)0x30; buf_len++; /* 0 */
-                               break;
-                       case '\'':
-                               *(buf+buf_len) = (UChar)0x27; buf_len++; /* ' */
-                               *(buf+buf_len) = (UChar)0x27; buf_len++; /* ' */
-                               break;
-                       default:
-                               buf_len += zend_codepoint_to_uchar(ch, buf+buf_len);
-                               break;
-                       }
-               }
-       } else {
-               while (i < length) {
-                       U16_NEXT(str, i, length, ch);
-                       switch (ch) {
+
+       while (i < length) {
+               U16_NEXT(str, i, length, ch);
+               switch (ch) {
                        case '\0':
                                *(buf+buf_len) = (UChar)0x5C; buf_len++; /* \ */
                                *(buf+buf_len) = (UChar)0x30; buf_len++; /* 0 */
                                break;
                        case '\'':
-                       case '\"':
+                               case '\"':
                        case '\\':
-                               *(buf+buf_len) = (UChar)0x5C; buf_len++; /* \ */
-                               /* break is missing *intentionally* */
+                                       *(buf+buf_len) = (UChar)0x5C; buf_len++; /* \ */
+                                       /* break is missing *intentionally* */
                        default:
-                               buf_len += zend_codepoint_to_uchar(ch, buf+buf_len);
-                               break;  
-                       }
+                                       buf_len += zend_codepoint_to_uchar(ch, buf+buf_len);
+                                       break;  
                }
        }
+
        *(buf+buf_len) = 0;
 
        if (should_free) {
@@ -4256,44 +4182,25 @@ 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 '\'':
+       while (source < end) {
+               switch (*source) {
+                       case '\0':
+                               *target++ = '\\';
+                               *target++ = '0';
+                               break;
+                       case '\'':
                                case '\"':
-                               case '\\':
+                       case '\\':
                                        *target++ = '\\';
                                        /* break is missing *intentionally* */
-                               default:
+                       default:
                                        *target++ = *source;
                                        break;  
-                       }
-               
-                       source++;
                }
+
+               source++;
        }
-       
+
        *target = 0;
        *new_length = target - new_str;
        if (should_free) {
index 486d10a1fcceca6f7cca79eba3fb3e2bbf237804..e4f91fa9f40794455c00dec6b45658fff7e80c9a 100755 (executable)
@@ -1,7 +1,5 @@
 --TEST--
 various fputcsv() functionality tests
---INI--
-magic_quotes_runtime=0
 --FILE--
 <?php
 
index a5eab410b907b6ed6a3f9ca41bf88b90ad0897d3..f4483c031ed59229613a260bd95347f55d65db26 100644 (file)
@@ -9,22 +9,11 @@ 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 {
-       echo "FAILED\n";
-}
-
 ?>
 --EXPECT--
 Normal: OK
-Sybase: OK
index 6de16ff104f7e8c2521b292493f6e9ebb3ec0dcb..684fa62dce01cf0a653e29ccd5d9a5c49d7ef7cd 100644 (file)
@@ -858,9 +858,6 @@ PHP_FUNCTION(sybase_query)
                                zval *cur_value = result->data[i][j-1];
 
                                convert_to_string(cur_value);
-                               if (PG(magic_quotes_runtime)) {
-                                       Z_STRVAL_P(cur_value) = php_addslashes(Z_STRVAL_P(cur_value), Z_STRLEN_P(cur_value), &Z_STRLEN_P(cur_value),0 TSRMLS_CC);
-                               }
                        }
                }
                retvalue=dbnextrow(sybase_ptr->link);
index 4c9065874c70d8238d2e3bf7d7fe5c1cdf75a0f4..d379bf849413038b28745785ed35d5b7116cbad1 100644 (file)
@@ -1780,11 +1780,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);
                        tmp->refcount++;
index 62d597c5f8e5a3b2d55a9dbb4a795ec49c342f23..9c03b553cc6e64109cc4b1ae80b9da6504a793aa 100644 (file)
@@ -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__));
index 8ae8dfbe66d1256e6b6f8c65ee2c35bccc570084..ce547e8acc987161838d7d71bf3f6017608a05b7 100644 (file)
@@ -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__));
index 311c81acfbf4634a122360b0546a404d17080c60..6b0c3f5c5a44c5ac4cea408e195e4dcc0e92233a 100644 (file)
@@ -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__));
index 78840ee122762a8b4f7308f528ec1d5f4ec6bbe6..245a93fc10af9987faf7e9fa0892c19527373b1c 100644 (file)
@@ -2,8 +2,6 @@
 XML parser case folding test
 --SKIPIF--
 <?php include("skipif.inc"); ?>
---INI--
-magic_quotes_runtime=0
 --FILE--
 <?php
 chdir(dirname(__FILE__));
index 36c333c7105265da7a541099f6fae6706a685317..bb4142a368a8c262afd61dc8b7d671416e7f93bf 100644 (file)
@@ -307,14 +307,7 @@ 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);
 }
index c5b02cc1c59fcb5b9712f556aa7e9131ace70d11..387f84644f468efc48e34fab3f9f6727d1ca65e3 100644 (file)
@@ -375,9 +375,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)
index ae14971a6058f576f1b739c45a907c2431d676f2..6b03b00da13891448fbbf4a6c0b84c9b86a9eda4 100644 (file)
@@ -50,10 +50,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 safe_mode;
 
        zend_bool allow_call_time_pass_reference;
index 5b8fcf48975334bc7c360509bde616fd8a982b0d..153c2d3fe3efca52eb4fc9294639c76b1358090b 100644 (file)
@@ -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);
@@ -64,13 +60,7 @@ PHPAPI void php_u_register_variable_safe(UChar *var, UChar *strval, int str_len,
        
        /* Prepare value */
        Z_USTRLEN(new_entry) = str_len;
-       if (PG(magic_quotes_gpc)) {
-               /* UTODO implement php_u_addslashes() */
-               //Z_USTRVAL(new_entry) = php_addslashes(strval, Z_USTRLEN(new_entry), &Z_USTRLEN(new_entry), 0 TSRMLS_CC);
-               Z_USTRVAL(new_entry) = eustrndup(strval, Z_USTRLEN(new_entry));
-       } else {
-               Z_USTRVAL(new_entry) = eustrndup(strval, Z_USTRLEN(new_entry));
-       }
+       Z_USTRVAL(new_entry) = eustrndup(strval, Z_USTRLEN(new_entry));
        Z_TYPE(new_entry) = IS_UNICODE;
 
        php_u_register_variable_ex(var, &new_entry, track_vars_array TSRMLS_CC);
@@ -171,12 +161,8 @@ PHPAPI void php_register_variable_ex(char *var, zval *val, zval *track_vars_arra
                                array_init(gpc_element);
                                zend_hash_next_index_insert(symtable1, &gpc_element, sizeof(zval *), (void **) &gpc_element_p);
                        } else {
-                               if (PG(magic_quotes_gpc) && (index != var)) {
-                                       /* no need to addslashes() the index if it's the main variable name */
-                                       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);
@@ -209,11 +195,8 @@ plain_var:
                        } else {
                                zval **tmp;
 
-                               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
@@ -327,14 +310,8 @@ PHPAPI void php_u_register_variable_ex(UChar *var, zval *val, zval *track_vars_a
                                array_init(gpc_element);
                                zend_hash_next_index_insert(symtable1, &gpc_element, sizeof(zval *), (void **) &gpc_element_p);
                        } else {
-                               if (PG(magic_quotes_gpc) && (index!=var)) {
-                                       /* UTODO fix for magic_quotes_gpc case */
-                                       /* no need to addslashes() the index if it's the main variable name */
-                                       //escaped_index = php_addslashes(index, index_len, &index_len, 0 TSRMLS_CC);
-                                       escaped_index.u = index;
-                               } else {
-                                       escaped_index.u = index;
-                               }
+                               escaped_index.u = index;
+
                                if (zend_u_symtable_find(symtable1, IS_UNICODE, escaped_index, index_len+1, (void **) &gpc_element_p)==FAILURE
                                        || Z_TYPE_PP(gpc_element_p) != IS_ARRAY) {
                                        MAKE_STD_ZVAL(gpc_element);
@@ -629,10 +606,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? */
@@ -650,7 +623,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)
@@ -760,8 +732,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);
@@ -770,7 +740,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) {
@@ -794,8 +763,6 @@ static inline void php_register_server_variables(TSRMLS_D)
                Z_LVAL(new_entry) = sapi_get_request_time(TSRMLS_C);
                php_register_variable_ex("REQUEST_TIME", &new_entry, array_ptr TSRMLS_CC);
        }
-
-       PG(magic_quotes_gpc) = magic_quotes_gpc;
 }
 /* }}} */
 
index 63eb92846d6e414f5f7a5d94b20d4d7271ba2fe6..bccbada9c39b5b5e8027a3b018f4e810d9c43f28 100644 (file)
@@ -1005,7 +1005,6 @@ static SAPI_POST_HANDLER_FUNC(rfc1867_post_handler_unicode)
        int boundary_len=0, total_bytes=0, cancel_upload=0, is_arr_upload=0, array_len=0;
        int max_file_size=0, skip_upload=0, anonindex=0, is_anonymous;
        zval *http_post_files=NULL; HashTable *uploaded_files=NULL;
-       zend_bool magic_quotes_gpc;
        multipart_buffer *mbuff;
        zval *array_ptr = (zval *) arg;
        FILE *fp;
@@ -1341,15 +1340,6 @@ var_done:
                        if ((tmp = u_strrchr(filename, 0x2f /*'/'*/)) > s) {
                                s = tmp;
                        }
-#ifdef PHP_WIN32
-                       if (PG(magic_quotes_gpc)) {
-                               s = s ? s : filename;
-                               tmp = u_strrchr(s, 0x27 /*'\''*/);
-                               s = tmp > s ? tmp : s;
-                               tmp = u_strrchr(s, 0x22 /*'"'*/);
-                               s = tmp > s ? tmp : s;
-                       }
-#endif
 
                        if (!is_anonymous) {
                                if (s && s > filename) {
@@ -1418,8 +1408,6 @@ var_done:
                        /* Initialize variables */
                        add_u_protected_variable(param TSRMLS_CC);
 
-                       magic_quotes_gpc = PG(magic_quotes_gpc);
-                       PG(magic_quotes_gpc) = 0;
                        /* if param is of form xxx[.*] this will cut it to xxx */
                        if (!is_anonymous) {
                                safe_u_php_register_variable(param, temp_filename, u_strlen(temp_filename), NULL, 1 TSRMLS_CC);
@@ -1434,8 +1422,6 @@ var_done:
                        add_u_protected_variable(lbuf TSRMLS_CC);
                        register_u_http_post_files_variable(lbuf, temp_filename, u_strlen(temp_filename), http_post_files, 1 TSRMLS_CC);
 
-                       PG(magic_quotes_gpc) = magic_quotes_gpc;
-
                        {
                                zval file_size, error_type;
 
@@ -1495,7 +1481,6 @@ static SAPI_POST_HANDLER_FUNC(rfc1867_post_handler_legacy)
        int str_len = 0, num_vars = 0, num_vars_max = 2*10, *len_list = NULL;
        char **val_list = NULL;
 #endif
-       zend_bool magic_quotes_gpc;
        multipart_buffer *mbuff;
        zval *array_ptr = (zval *) arg;
        int fd=-1;
@@ -1822,15 +1807,6 @@ static SAPI_POST_HANDLER_FUNC(rfc1867_post_handler_legacy)
                        if ((tmp = strrchr(filename, '/')) > s) {
                                s = tmp;
                        }
-#ifdef PHP_WIN32
-                       if (PG(magic_quotes_gpc)) {
-                               s = s ? s : filename;
-                               tmp = strrchr(s, '\'');
-                               s = tmp > s ? tmp : s;
-                               tmp = strrchr(s, '"');
-                               s = tmp > s ? tmp : s;
-                       }
-#endif
 
 #if HAVE_MBSTRING && !defined(COMPILE_DL_MBSTRING)
 filedone:                      
@@ -1896,8 +1872,6 @@ filedone:
                        /* Initialize variables */
                        add_protected_variable(param TSRMLS_CC);
 
-                       magic_quotes_gpc = PG(magic_quotes_gpc);
-                       PG(magic_quotes_gpc) = 0;
                        /* if param is of form xxx[.*] this will cut it to xxx */
                        if (!is_anonymous) {
                                safe_php_register_variable(param, temp_filename, NULL, 1 TSRMLS_CC);
@@ -1912,8 +1886,6 @@ filedone:
                        add_protected_variable(lbuf TSRMLS_CC);
                        register_http_post_files_variable(lbuf, temp_filename, http_post_files, 1 TSRMLS_CC);
 
-                       PG(magic_quotes_gpc) = magic_quotes_gpc;
-
                        {
                                zval file_size, error_type;
 
index f6a5e51ee2049a698518737dadf874891053f9ce..c3e8f48ffdf6dcd4ee699a23e704011ff2edeef9 100644 (file)
@@ -408,18 +408,6 @@ auto_globals_jit = On
 ; Maximum size of POST data that PHP will accept.
 post_max_size = 8M
 
-; Magic quotes
-;
-
-; Magic quotes for incoming GET/POST/Cookie data.
-magic_quotes_gpc = On
-
-; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
-magic_quotes_runtime = Off
-
-; Use Sybase-style magic quotes (escape ' with '' instead of \').
-magic_quotes_sybase = Off
-
 ; Automatically add files before or after any PHP document.
 auto_prepend_file =
 auto_append_file =
index 2b51ace1a16d0c77fceb91168ea5f8d66f642d8d..e0f993a2665be3b0fd685e84bab66d00ed129b67 100644 (file)
 ; - register_argc_argv = Off       [Performance]
 ;     Disables registration of the somewhat redundant $argv and $argc global
 ;     variables.
-; - magic_quotes_gpc = Off         [Performance]
-;     Input data is no longer escaped with slashes so that it can be sent into
-;     SQL databases without further manipulation.  Instead, you should use the
-;     function addslashes() on each input element you wish to send to a database.
 ; - variables_order = "GPCS"       [Performance]
 ;     The environment variables are not hashed into the $_ENV.  To access
 ;     environment variables, you can use getenv() instead.
@@ -454,18 +450,6 @@ auto_globals_jit = On
 ; Maximum size of POST data that PHP will accept.
 post_max_size = 8M
 
-; Magic quotes
-;
-
-; Magic quotes for incoming GET/POST/Cookie data.
-magic_quotes_gpc = Off
-
-; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
-magic_quotes_runtime = Off
-
-; Use Sybase-style magic quotes (escape ' with '' instead of \').
-magic_quotes_sybase = Off
-
 ; Automatically add files before or after any PHP document.
 auto_prepend_file =
 auto_append_file =
index 8fe28acf04166814be6e91e07fc140937c431e40..0334003b122557174e63e226d6aa02ad3487752d 100644 (file)
@@ -422,10 +422,7 @@ void cgi_php_import_environment_variables(zval *array_ptr TSRMLS_DC)
        if (!FCGX_IsCGI()) {
                FCGX_Request *request = (FCGX_Request *) SG(server_context);
                char **env, *p, *t;
-               int magic_quotes_gpc = PG(magic_quotes_gpc);
 
-               /* turn off magic_quotes while importing environment variables */
-               PG(magic_quotes_gpc) = 0;
                for (env = request->envp; env != NULL && *env != NULL; env++) {
                        p = strchr(*env, '=');
                        if (!p) {                               /* malformed entry? */
@@ -435,7 +432,6 @@ void cgi_php_import_environment_variables(zval *array_ptr TSRMLS_DC)
                        php_register_variable(t, p + 1, array_ptr TSRMLS_CC);
                        efree(t);
                }
-               PG(magic_quotes_gpc) = magic_quotes_gpc;
        }
        /* call php's original import as a catch-all */
        php_php_import_environment_variables(array_ptr TSRMLS_CC);