- 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)
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;
}
/* }}} */
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;
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);
}
DBA magic_quotes_runtime Test
--SKIPIF--
<?php
+ die('skip, magic_quotes removed');
require_once('skipif.inc');
die("info $HND handler used");
?>
--TEST--
DBA CDB_MAKE handler test
---INI--
-magic_quotes_runtime=1
--SKIPIF--
<?php
$handler = 'cdb_make';
--EXPECT--
database handler: cdb_make
string(32) "12fc5ba2b9dcfef2480e5324eeb5f3e5"
-string(32) "12fc5ba2b9dcfef2480e5324eeb5f3e5"
\ No newline at end of file
+string(32) "12fc5ba2b9dcfef2480e5324eeb5f3e5"
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;
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;
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++;
}
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++;
}
--SKIPIF--
<?php if (!extension_loaded('exif')) print 'skip exif extension not available';?>
--INI--
-magic_quotes_runtime=0
output_handler=
zlib.output_compression=0
--FILE--
--SKIPIF--
<?php if (!extension_loaded('exif')) print 'skip exif extension not available';?>
--INI--
-magic_quotes_runtime=0
output_handler=
zlib.output_compression=0
--FILE--
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=
( ICONV_IMPL != "libiconv" ) and die("skip ICONV_IMPL != \"libiconv\"");
?>
--INI--
-magic_quotes_runtime=0
error_reporting=2047
--FILE--
<?php // vim600: syn=php
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;
--TEST--
mhash() test
---INI--
-magic_quotes_runtime=0
--SKIPIF--
<?php
include "skip.inc";
}
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);
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);
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);
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;
}
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);
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);
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
#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. */
--TEST--
Bug #33200 (magic_quotes_sybase = On makes 'e' modifier misbehave)
+--SKIPIF--
+die('skip magic_quotes removed');
--INI--
magic_quotes_sybase=1
--FILE--
$append = true;
}
}
- if (ini_get('magic_quotes_runtime')) $common = stripslashes($common);
$conf = eval($common);
foreach($conf['ENV'] as $n=>$v) putenv("$n=$v");
}
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);
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);
}
{
$data = dba_fetch($name, $this->db);
if($data) {
- if (ini_get('magic_quotes_runtime')) {
- $data = stripslashes($data);
- }
//return unserialize($data);
return $data;
}
}
}
-?>
\ No newline at end of file
+?>
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;
}
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));
} /* }}} */
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)
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;
}
/* }}} */
-/* {{{ 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
}
/* 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();
}
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;
}
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;
}
/* 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();
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 {
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))));
}
}
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);
- }
}
}
/* }}} */
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 */
}
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);
}
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);
}
}
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);
}
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);
}
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();
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;
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 */
}
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) {
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) {
--TEST--
various fputcsv() functionality tests
---INI--
-magic_quotes_runtime=0
--FILE--
<?php
}
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
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);
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++;
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__));
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__));
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__));
XML parser case folding test
--SKIPIF--
<?php include("skipif.inc"); ?>
---INI--
-magic_quotes_runtime=0
--FILE--
<?php
chdir(dirname(__FILE__));
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);
}
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)
} 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;
/* 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);
/* 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);
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);
} 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
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);
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? */
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)
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);
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) {
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;
}
/* }}} */
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;
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) {
/* 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);
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;
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;
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:
/* 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);
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;
; 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 =
; - 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.
; 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 =
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? */
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);