summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--log.c14
-rw-r--r--php_suhosin.h3
-rwxr-xr-xpkg/build_deb.sh119
-rw-r--r--suhosin.c5
-rw-r--r--suhosin.ini10
-rw-r--r--tests/executor/allow_symlink_off.phpt7
-rw-r--r--tests/filter/filter_logging_statistics.phpt7
-rw-r--r--tests/filter/get_filter_1.phpt7
-rw-r--r--tests/filter/get_filter_2.phpt7
-rw-r--r--tests/filter/get_filter_allow_ws.phpt2
-rw-r--r--tests/filter/get_filter_cookie_disallow_ws.phpt7
-rw-r--r--tests/filter/get_filter_get_disallow_ws.phpt7
-rw-r--r--tests/filter/get_filter_post_disallow_ws.phpt7
-rw-r--r--tests/filter/get_filter_request_disallow_ws.phpt7
-rw-r--r--tests/filter/input_filter_allow_nul.phptbin955 -> 958 bytes
-rw-r--r--tests/filter/input_filter_cookie_disallow_nul.phpt7
-rw-r--r--tests/filter/input_filter_cookie_max_array_depth.phpt7
-rw-r--r--tests/filter/input_filter_cookie_max_array_index_length.phpt7
-rw-r--r--tests/filter/input_filter_cookie_max_name_length.phpt7
-rw-r--r--tests/filter/input_filter_cookie_max_totalname_length.phpt7
-rw-r--r--tests/filter/input_filter_cookie_max_value_length.phpt7
-rw-r--r--tests/filter/input_filter_cookie_max_vars.phpt5
-rw-r--r--tests/filter/input_filter_get_disallow_nul.phpt7
-rw-r--r--tests/filter/input_filter_get_max_array_depth.phpt7
-rw-r--r--tests/filter/input_filter_get_max_array_index_length.phpt7
-rw-r--r--tests/filter/input_filter_get_max_name_length.phpt7
-rw-r--r--tests/filter/input_filter_get_max_totalname_length.phpt7
-rw-r--r--tests/filter/input_filter_get_max_value_length.phpt7
-rw-r--r--tests/filter/input_filter_post_disallow_nul.phpt7
-rw-r--r--tests/filter/input_filter_post_disallow_nul_rfc1867.phptbin1386 -> 1508 bytes
-rw-r--r--tests/filter/input_filter_post_max_array_depth.phpt7
-rw-r--r--tests/filter/input_filter_post_max_array_depth_rfc1867.phpt7
-rw-r--r--tests/filter/input_filter_post_max_array_index_length.phpt7
-rw-r--r--tests/filter/input_filter_post_max_array_index_length_rfc1867.phpt7
-rw-r--r--tests/filter/input_filter_post_max_name_length.phpt7
-rw-r--r--tests/filter/input_filter_post_max_name_length_rfc1867.phpt7
-rw-r--r--tests/filter/input_filter_post_max_totalname_length.phpt7
-rw-r--r--tests/filter/input_filter_post_max_totalname_length_rfc1867.phpt7
-rw-r--r--tests/filter/input_filter_post_max_value_length.phpt7
-rw-r--r--tests/filter/input_filter_post_max_value_length_rfc1867.phptbin1790 -> 1912 bytes
-rw-r--r--tests/filter/input_filter_request_disallow_nul.phpt7
-rw-r--r--tests/filter/input_filter_request_max_array_depth.phpt7
-rw-r--r--tests/filter/input_filter_request_max_array_index_length.phpt7
-rw-r--r--tests/filter/input_filter_request_max_name_length.phpt7
-rw-r--r--tests/filter/input_filter_request_max_totalname_length.phpt7
-rw-r--r--tests/filter/input_filter_request_max_value_length.phpt7
-rw-r--r--tests/filter/post_fileupload_filter_1.phpt7
-rw-r--r--tests/filter/post_fileupload_filter_2.phpt7
-rw-r--r--tests/filter/post_filter_1.phpt7
-rw-r--r--tests/filter/post_filter_2.phpt7
-rw-r--r--tests/filter/post_filter_empty_var.phpt2
-rw-r--r--tests/filter/server_encode_off.phpt2
-rw-r--r--tests/filter/server_encode_on.phpt2
-rw-r--r--tests/filter/server_filter.phpt7
-rw-r--r--tests/filter/server_strip_off.phpt2
-rw-r--r--tests/filter/server_strip_on.phpt2
-rw-r--r--tests/filter/server_user_agent_strip_off.phpt2
-rw-r--r--tests/filter/server_user_agent_strip_on.phpt2
-rw-r--r--tests/filter/suhosin_upload_disallow_binary_off.phptbin9471 -> 9474 bytes
-rw-r--r--tests/filter/suhosin_upload_disallow_binary_on.phptbin12142 -> 12264 bytes
-rw-r--r--tests/filter/suhosin_upload_disallow_binary_utf8.phpt4
-rw-r--r--tests/filter/suhosin_upload_disallow_binary_utf8fail.phpt9
-rw-r--r--tests/filter/suhosin_upload_disallow_elf.phpt7
-rw-r--r--tests/filter/suhosin_upload_disallow_elf_off.phpt2
-rw-r--r--tests/filter/suhosin_upload_max_uploads.phpt7
-rw-r--r--tests/filter/suhosin_upload_remove_binary.phptbin796 -> 799 bytes
-rw-r--r--tests/filter/suhosin_upload_remove_binary_utf8.phpt4
-rw-r--r--tests/filter/suhosin_upload_remove_binary_utf8fail.phpt4
-rw-r--r--tests/include/include_uploaded_file_diff_filename.phpt3
-rw-r--r--tests/include/include_uploaded_file_from_FILES.phpt3
-rw-r--r--tests/logging/use_x_forwarded_for_off.phpt12
-rw-r--r--tests/logging/use_x_forwarded_for_off_no_remote_addr.phpt12
-rw-r--r--tests/logging/use_x_forwarded_for_on.phpt12
-rw-r--r--tests/logging/use_x_forwarded_for_on_no_x_forwarded.phpt12
-rw-r--r--tests/sql/mysqli_comment_conditional.phpt2
-rw-r--r--tests/sql/mysqli_comment_cstyle_fail.phpt2
-rw-r--r--tests/sql/mysqli_comment_hashstyle_fail.phpt2
-rw-r--r--tests/sql/mysqli_comment_sqlstyle.phpt2
-rw-r--r--tests/sql/mysqli_comment_sqlstyle_fail.phpt2
-rw-r--r--tests/sql/mysqli_connect_invalid_username.phpt2
-rw-r--r--tests/sql/mysqli_multiselect.phpt2
-rw-r--r--tests/sql/mysqli_multiselect_fail.phpt2
-rw-r--r--tests/sql/mysqli_multiselect_subselect.phpt2
-rw-r--r--tests/sql/mysqli_no_constraints.phpt2
-rw-r--r--tests/sql/mysqli_open_comment.phpt2
-rw-r--r--tests/sql/mysqli_open_comment_fail.phpt2
-rw-r--r--tests/sql/mysqli_union.phpt2
-rw-r--r--tests/sql/mysqli_union_fail.phpt2
-rw-r--r--tests/sql/mysqli_user_match_error.phpt2
-rw-r--r--tests/sql/mysqli_user_match_ok.phpt2
-rw-r--r--tests/sql/mysqli_user_postfix.phpt2
-rw-r--r--tests/sql/mysqli_user_prefix.phpt2
-rw-r--r--tests/sql/skipifmysqli.inc3
-rw-r--r--ufilter.c22
95 files changed, 452 insertions, 161 deletions
diff --git a/.gitignore b/.gitignore
index ddb1030..e243bfb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,4 +25,4 @@
25/modules/ 25/modules/
26/run-tests.php 26/run-tests.php
27/suhosin.la 27/suhosin.la
28 28/tests/*/*.tmp
diff --git a/log.c b/log.c
index fbea503..1a4c783 100644
--- a/log.c
+++ b/log.c
@@ -261,10 +261,14 @@ log_file:
261 return; 261 return;
262 } 262 }
263 263
264 gettimeofday(&tv, NULL); 264 if (SUHOSIN_G(log_file_time)) {
265 now = tv.tv_sec; 265 gettimeofday(&tv, NULL);
266 php_localtime_r(&now, &tm); 266 now = tv.tv_sec;
267 ap_php_snprintf(error, sizeof(error), "%s %2d %02d:%02d:%02d [%u] %s\n", month_names[tm.tm_mon], tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec, getpid(),buf); 267 php_localtime_r(&now, &tm);
268 ap_php_snprintf(error, sizeof(error), "%s %2d %02d:%02d:%02d [%u] %s\n", month_names[tm.tm_mon], tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec, getpid(),buf);
269 } else {
270 ap_php_snprintf(error, sizeof(error), "%s\n", buf);
271 }
268 towrite = strlen(error); 272 towrite = strlen(error);
269 wbuf = error; 273 wbuf = error;
270 php_flock(fd, LOCK_EX); 274 php_flock(fd, LOCK_EX);
@@ -290,7 +294,7 @@ log_sapi:
290#endif 294#endif
291 } 295 }
292 if ((SUHOSIN_G(log_stdout) & loglevel)!=0) { 296 if ((SUHOSIN_G(log_stdout) & loglevel)!=0) {
293 printf("%s\n", buf); 297 fprintf(stdout, "%s\n", buf);
294 } 298 }
295 299
296/*log_script:*/ 300/*log_script:*/
diff --git a/php_suhosin.h b/php_suhosin.h
index 7be628a..28a88eb 100644
--- a/php_suhosin.h
+++ b/php_suhosin.h
@@ -252,7 +252,9 @@ ZEND_BEGIN_MODULE_GLOBALS(suhosin)
252 zend_bool upload_disallow_elf; 252 zend_bool upload_disallow_elf;
253 zend_bool upload_disallow_binary; 253 zend_bool upload_disallow_binary;
254 zend_bool upload_remove_binary; 254 zend_bool upload_remove_binary;
255#ifdef SUHOSIN_EXPERIMENTAL
255 zend_bool upload_allow_utf8; 256 zend_bool upload_allow_utf8;
257#endif
256 char *upload_verification_script; 258 char *upload_verification_script;
257 259
258 zend_bool no_more_variables; 260 zend_bool no_more_variables;
@@ -277,6 +279,7 @@ ZEND_BEGIN_MODULE_GLOBALS(suhosin)
277 zend_bool log_phpscript_is_safe; 279 zend_bool log_phpscript_is_safe;
278 long log_file; 280 long log_file;
279 char *log_filename; 281 char *log_filename;
282 zend_bool log_file_time;
280 283
281/* header handler */ 284/* header handler */
282 zend_bool allow_multiheader; 285 zend_bool allow_multiheader;
diff --git a/pkg/build_deb.sh b/pkg/build_deb.sh
new file mode 100755
index 0000000..d4a44fa
--- /dev/null
+++ b/pkg/build_deb.sh
@@ -0,0 +1,119 @@
1#!/bin/bash
2
3_exit() {
4 echo "[E] bye."
5 exit 1
6}
7
8yn_or_exit() {
9 echo -n "[?] OK? [y] "
10 read yn
11 if [ "$yn" != "" -a "$yn" != "y" ]; then
12 _exit
13 fi
14}
15
16##
17
18echo "[*] checking prerequisites..."
19for i in phpize make install fakeroot php-config dpkg-deb dpkg-architecture; do
20 if [ "`which $i`" == "" ]; then
21 echo "[E] please install '$i' and try again."
22 _exit
23 fi
24done
25
26##
27
28HERE=`(cd $(dirname $0); pwd)`
29SUHOSIN=$HERE/..
30ROOT=$HERE/tmp
31PKGDIR=$HERE
32PHP_EX=`php-config --extension-dir`
33eval `dpkg-architecture -l`
34VERSION=${SUHOSIN_VERSION:-$1}
35
36if [ "$VERSION" == "" ]; then
37 echo "[E] please set SUHOSIN_VERSION, e.g. $0 0.9.36-1~dev1"
38 _exit
39fi
40
41echo "[*] -----------------------------------------------------------"
42echo "[+] suhosin dir: $SUHOSIN"
43echo "[+] tmp dir: $ROOT"
44echo "[+] PHP extension dir: $PHP_EX"
45echo "[+] architecture: $DEB_HOST_ARCH"
46echo "[+] suhosin deb version: $VERSION"
47echo "[+] pkg output dir: $PKGDIR"
48yn_or_exit
49
50if [ ! -f "$SUHOSIN/modules/suhosin.so" ]; then
51 echo "[+] Cannot find suhosin.so. I will try to build it."
52 yn_or_exit
53
54 if [ ! -f "$SUHOSIN/configure" ]; then
55 echo "[*] phpize"
56 cd $SUHOSIN
57 phpize || _exit
58 fi
59
60 if [ ! -f "$SUHOSIN/Makefile" ]; then
61 echo "[*] configure"
62 cd $SUHOSIN
63 ./configure --enable-suhosin-experimental
64 fi
65
66 echo "[*] make"
67 make clean
68 make -C $SUHOSIN || _exit
69fi
70
71##
72
73echo "[*] deb"
74
75if [ -d "$ROOT" ]; then
76 echo "[+] tmp dir $ROOT already exists. Delete?"
77 yn_or_exit
78 rm -rf $ROOT
79fi
80
81##
82
83mkdir -p $ROOT/DEBIAN
84echo "9" >$ROOT/DEBIAN/compat
85cat >$ROOT/DEBIAN/control <<EOF
86Package: php5-suhosin-extension
87Section: php
88Priority: extra
89Maintainer: Ben Fuhrmannek <ben@sektioneins.de>
90Homepage: http://www.suhosin.org/
91Conflicts: php5-suhosin
92Description: advanced protection system for PHP5
93 This package provides a PHP hardening module.
94 .
95 Suhosin is an advanced protection system for PHP installations. It was
96 designed to protect servers and users from known and unknown flaws in PHP
97 applications and the PHP core. Suhosin comes in two independent parts, that
98 can be used separately or in combination. The first part is a small patch
99 against the PHP core, that implements a few low-level protections against
100 bufferoverflows or format string vulnerabilities and the second part is a
101 powerful PHP extension that implements all the other protections.
102 .
103 This Package provides the suhosin extension only.
104EOF
105
106echo "Architecture: $DEB_HOST_ARCH" >>$ROOT/DEBIAN/control
107echo "Version: $VERSION" >>$ROOT/DEBIAN/control
108
109install -d -g 0 -o 0 $ROOT$PHP_EX
110install -g 0 -o 0 $SUHOSIN/modules/suhosin.so $ROOT$PHP_EX
111install -d -g 0 -o 0 $ROOT/usr/share/doc/php5-suhosin-extension
112install -g 0 -o 0 -m 644 $SUHOSIN/suhosin.ini $ROOT/usr/share/doc/php5-suhosin-extension/suhosin.ini.example
113install -d -g 0 -o 0 $ROOT/etc/php5/mods-available
114sed -e 's/^;extension=/extension=/' $SUHOSIN/suhosin.ini >$ROOT/etc/php5/mods-available/suhosin.ini
115chown root:root $ROOT/etc/php5/mods-available/suhosin.ini
116
117fakeroot dpkg-deb -b $ROOT $PKGDIR
118
119echo "[*] done."
diff --git a/suhosin.c b/suhosin.c
index 4a965ac..81711b1 100644
--- a/suhosin.c
+++ b/suhosin.c
@@ -750,6 +750,7 @@ static zend_ini_entry shared_ini_entries[] = {
750 STD_ZEND_INI_ENTRY("suhosin.log.phpscript.name", NULL, ZEND_INI_PERDIR|ZEND_INI_SYSTEM, OnUpdateLogString, log_phpscriptname, zend_suhosin_globals, suhosin_globals) 750 STD_ZEND_INI_ENTRY("suhosin.log.phpscript.name", NULL, ZEND_INI_PERDIR|ZEND_INI_SYSTEM, OnUpdateLogString, log_phpscriptname, zend_suhosin_globals, suhosin_globals)
751 ZEND_INI_ENTRY("suhosin.log.file", "0", ZEND_INI_PERDIR|ZEND_INI_SYSTEM, OnUpdateSuhosin_log_file) 751 ZEND_INI_ENTRY("suhosin.log.file", "0", ZEND_INI_PERDIR|ZEND_INI_SYSTEM, OnUpdateSuhosin_log_file)
752 STD_ZEND_INI_ENTRY("suhosin.log.file.name", NULL, ZEND_INI_PERDIR|ZEND_INI_SYSTEM, OnUpdateLogString, log_filename, zend_suhosin_globals, suhosin_globals) 752 STD_ZEND_INI_ENTRY("suhosin.log.file.name", NULL, ZEND_INI_PERDIR|ZEND_INI_SYSTEM, OnUpdateLogString, log_filename, zend_suhosin_globals, suhosin_globals)
753 STD_ZEND_INI_BOOLEAN("suhosin.log.file.time", "1", ZEND_INI_PERDIR|ZEND_INI_SYSTEM, OnUpdateLogBool, log_file_time, zend_suhosin_globals, suhosin_globals)
753 STD_ZEND_INI_BOOLEAN("suhosin.log.phpscript.is_safe", "0", ZEND_INI_PERDIR|ZEND_INI_SYSTEM, OnUpdateLogBool, log_phpscript_is_safe, zend_suhosin_globals, suhosin_globals) 754 STD_ZEND_INI_BOOLEAN("suhosin.log.phpscript.is_safe", "0", ZEND_INI_PERDIR|ZEND_INI_SYSTEM, OnUpdateLogBool, log_phpscript_is_safe, zend_suhosin_globals, suhosin_globals)
754ZEND_INI_END() 755ZEND_INI_END()
755 756
@@ -826,7 +827,9 @@ PHP_INI_BEGIN()
826 STD_PHP_INI_ENTRY("suhosin.upload.disallow_elf", "1", PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateUploadBool, upload_disallow_elf, zend_suhosin_globals, suhosin_globals) 827 STD_PHP_INI_ENTRY("suhosin.upload.disallow_elf", "1", PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateUploadBool, upload_disallow_elf, zend_suhosin_globals, suhosin_globals)
827 STD_PHP_INI_ENTRY("suhosin.upload.disallow_binary", "0", PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateUploadBool, upload_disallow_binary, zend_suhosin_globals, suhosin_globals) 828 STD_PHP_INI_ENTRY("suhosin.upload.disallow_binary", "0", PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateUploadBool, upload_disallow_binary, zend_suhosin_globals, suhosin_globals)
828 STD_PHP_INI_ENTRY("suhosin.upload.remove_binary", "0", PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateUploadBool, upload_remove_binary, zend_suhosin_globals, suhosin_globals) 829 STD_PHP_INI_ENTRY("suhosin.upload.remove_binary", "0", PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateUploadBool, upload_remove_binary, zend_suhosin_globals, suhosin_globals)
829 STD_PHP_INI_ENTRY("suhosin.upload.allow_utf8", "0", PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateUploadBool, upload_allow_utf8, zend_suhosin_globals, suhosin_globals) 830#ifdef SUHOSIN_EXPERIMENTAL
831 STD_PHP_INI_BOOLEAN("suhosin.upload.allow_utf8", "0", PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateUploadBool, upload_allow_utf8, zend_suhosin_globals, suhosin_globals)
832#endif
830 STD_PHP_INI_ENTRY("suhosin.upload.verification_script", NULL, PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateUploadString, upload_verification_script, zend_suhosin_globals, suhosin_globals) 833 STD_PHP_INI_ENTRY("suhosin.upload.verification_script", NULL, PHP_INI_SYSTEM|PHP_INI_PERDIR, OnUpdateUploadString, upload_verification_script, zend_suhosin_globals, suhosin_globals)
831 834
832 835
diff --git a/suhosin.ini b/suhosin.ini
index 3ae8ff5..311bca7 100644
--- a/suhosin.ini
+++ b/suhosin.ini
@@ -105,9 +105,6 @@
105; | LOG_LOCAL7 | 31 | 105; | LOG_LOCAL7 | 31 |
106; +--------------+-------+ 106; +--------------+-------+
107; 107;
108; Using constant names is only supported with the Suhosin-Patch. If in doubt, use
109; the numeric value.
110;
111;suhosin.log.syslog.facility = LOG_USER 108;suhosin.log.syslog.facility = LOG_USER
112; 109;
113 110
@@ -141,9 +138,6 @@
141; |LOG_ERR | 7 | 138; |LOG_ERR | 7 |
142; +------------+-------+ 139; +------------+-------+
143; 140;
144; Using constant names is only supported with the Suhosin-Patch. If in doubt, use
145; the numeric value.
146;
147;suhosin.log.syslog.priority = LOG_ALERT 141;suhosin.log.syslog.priority = LOG_ALERT
148; 142;
149 143
@@ -1325,8 +1319,8 @@
1325; * Type: Boolean 1319; * Type: Boolean
1326; * Default: Off 1320; * Default: Off
1327; 1321;
1328; This option allows UTF-8 along with ASCII when using 1322; This is an experimental feature. This option allows UTF-8 along with ASCII when
1329; `suhosin.upload.disallow_binary` or `suhosin.upload.remove_binary`. 1323; using `suhosin.upload.disallow_binary` or `suhosin.upload.remove_binary`.
1330; 1324;
1331;suhosin.upload.allow_utf8 = Off 1325;suhosin.upload.allow_utf8 = Off
1332; 1326;
diff --git a/tests/executor/allow_symlink_off.phpt b/tests/executor/allow_symlink_off.phpt
index 782d818..8abdee8 100644
--- a/tests/executor/allow_symlink_off.phpt
+++ b/tests/executor/allow_symlink_off.phpt
@@ -5,10 +5,13 @@ suhosin.executor.allow_symlink=Off
5--INI-- 5--INI--
6error_reporting=E_ALL 6error_reporting=E_ALL
7open_basedir= 7open_basedir=
8suhosin.log.stdout=255
9suhosin.log.script=0
10suhosin.log.syslog=0 8suhosin.log.syslog=0
11suhosin.log.sapi=0 9suhosin.log.sapi=0
10suhosin.log.script=0
11suhosin.log.file=255
12suhosin.log.file.time=0
13suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
14auto_append_file={PWD}/suhosintest.$$.log.tmp
12suhosin.executor.allow_symlink=Off 15suhosin.executor.allow_symlink=Off
13--FILE-- 16--FILE--
14<?php 17<?php
diff --git a/tests/filter/filter_logging_statistics.phpt b/tests/filter/filter_logging_statistics.phpt
index a448d78..d7550fd 100644
--- a/tests/filter/filter_logging_statistics.phpt
+++ b/tests/filter/filter_logging_statistics.phpt
@@ -3,12 +3,15 @@ suhosin variable filter logging statistics
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.get.max_vars=5 11suhosin.get.max_vars=5
9error_reporting=E_ALL 12error_reporting=E_ALL
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13--GET-- 16--GET--
14A=A&B=B&C=C&D=D&E=E&F=F&G=G& 17A=A&B=B&C=C&D=D&E=E&F=F&G=G&
diff --git a/tests/filter/get_filter_1.phpt b/tests/filter/get_filter_1.phpt
index 0ab079c..a4218be 100644
--- a/tests/filter/get_filter_1.phpt
+++ b/tests/filter/get_filter_1.phpt
@@ -3,10 +3,13 @@ suhosin GET filter (disallowed variable names)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8--SKIPIF-- 11--SKIPIF--
9<?php include('skipif.inc'); ?> 12<?php include('../skipif.inc'); ?>
10--COOKIE-- 13--COOKIE--
11--GET-- 14--GET--
12HTTP_RAW_POST_DATA=HTTP_RAW_POST_DATA&HTTP_SESSION_VARS=HTTP_SESSION_VARS&harmless1=harmless1&HTTP_SERVER_VARS=HTTP_SERVER_VARS&HTTP_COOKIE_VARS=HTTP_COOKIE_VARS&HTTP_POST_FILES=HTTP_POST_FILES&HTTP_POST_VARS=HTTP_POST_VARS&HTTP_GET_VARS=HTTP_GET_VARS&HTTP_ENV_VARS=HTTP_ENV_VARS&_SESSION=_SESSION&_REQUEST=_REQUEST&GLOBALS=GLOBALS&_COOKIE=_COOKIE&_SERVER=_SERVER&_FILES=_FILES&_POST=_POST&_ENV=_ENV&_GET=_GET&harmless2=harmless2& 15HTTP_RAW_POST_DATA=HTTP_RAW_POST_DATA&HTTP_SESSION_VARS=HTTP_SESSION_VARS&harmless1=harmless1&HTTP_SERVER_VARS=HTTP_SERVER_VARS&HTTP_COOKIE_VARS=HTTP_COOKIE_VARS&HTTP_POST_FILES=HTTP_POST_FILES&HTTP_POST_VARS=HTTP_POST_VARS&HTTP_GET_VARS=HTTP_GET_VARS&HTTP_ENV_VARS=HTTP_ENV_VARS&_SESSION=_SESSION&_REQUEST=_REQUEST&GLOBALS=GLOBALS&_COOKIE=_COOKIE&_SERVER=_SERVER&_FILES=_FILES&_POST=_POST&_ENV=_ENV&_GET=_GET&harmless2=harmless2&
diff --git a/tests/filter/get_filter_2.phpt b/tests/filter/get_filter_2.phpt
index 189ac28..5aa53d7 100644
--- a/tests/filter/get_filter_2.phpt
+++ b/tests/filter/get_filter_2.phpt
@@ -3,11 +3,14 @@ suhosin GET filter (suhosin.get.max_vars)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.get.max_vars=5 11suhosin.get.max_vars=5
9--SKIPIF-- 12--SKIPIF--
10<?php include('skipif.inc'); ?> 13<?php include('../skipif.inc'); ?>
11--COOKIE-- 14--COOKIE--
12--GET-- 15--GET--
13A=A&B=B&C=C&D=D&E=E&F=F&G=G& 16A=A&B=B&C=C&D=D&E=E&F=F&G=G&
diff --git a/tests/filter/get_filter_allow_ws.phpt b/tests/filter/get_filter_allow_ws.phpt
index 41b230e..2a0445c 100644
--- a/tests/filter/get_filter_allow_ws.phpt
+++ b/tests/filter/get_filter_allow_ws.phpt
@@ -10,7 +10,7 @@ suhosin.get.disallow_ws=0
10suhosin.post.disallow_ws=0 10suhosin.post.disallow_ws=0
11suhosin.cookie.disallow_ws=0 11suhosin.cookie.disallow_ws=0
12--SKIPIF-- 12--SKIPIF--
13<?php include('skipif.inc'); ?> 13<?php include('../skipif.inc'); ?>
14--COOKIE-- 14--COOKIE--
15+var1=1;var2=2;%20var3=3; var4=4; 15+var1=1;var2=2;%20var3=3; var4=4;
16--GET-- 16--GET--
diff --git a/tests/filter/get_filter_cookie_disallow_ws.phpt b/tests/filter/get_filter_cookie_disallow_ws.phpt
index 4da6716..3065b7d 100644
--- a/tests/filter/get_filter_cookie_disallow_ws.phpt
+++ b/tests/filter/get_filter_cookie_disallow_ws.phpt
@@ -3,11 +3,14 @@ suhosin input filter (suhosin.cookie.disallow_ws)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.cookie.disallow_ws=1 11suhosin.cookie.disallow_ws=1
9--SKIPIF-- 12--SKIPIF--
10<?php include('skipif.inc'); ?> 13<?php include('../skipif.inc'); ?>
11--COOKIE-- 14--COOKIE--
12+var1=1;var2=2;%20var3=3; var4=4; 15+var1=1;var2=2;%20var3=3; var4=4;
13--GET-- 16--GET--
diff --git a/tests/filter/get_filter_get_disallow_ws.phpt b/tests/filter/get_filter_get_disallow_ws.phpt
index b92dd73..9495486 100644
--- a/tests/filter/get_filter_get_disallow_ws.phpt
+++ b/tests/filter/get_filter_get_disallow_ws.phpt
@@ -3,11 +3,14 @@ suhosin input filter (suhosin.get.disallow_ws)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.get.disallow_ws=1 11suhosin.get.disallow_ws=1
9--SKIPIF-- 12--SKIPIF--
10<?php include('skipif.inc'); ?> 13<?php include('../skipif.inc'); ?>
11--COOKIE-- 14--COOKIE--
12--GET-- 15--GET--
13+var1=1&var2=2&%20var3=3& var4=4& 16+var1=1&var2=2&%20var3=3& var4=4&
diff --git a/tests/filter/get_filter_post_disallow_ws.phpt b/tests/filter/get_filter_post_disallow_ws.phpt
index 55c7cf1..003afa5 100644
--- a/tests/filter/get_filter_post_disallow_ws.phpt
+++ b/tests/filter/get_filter_post_disallow_ws.phpt
@@ -3,11 +3,14 @@ suhosin input filter (suhosin.post.disallow_ws)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.post.disallow_ws=1 11suhosin.post.disallow_ws=1
9--SKIPIF-- 12--SKIPIF--
10<?php include('skipif.inc'); ?> 13<?php include('../skipif.inc'); ?>
11--COOKIE-- 14--COOKIE--
12--GET-- 15--GET--
13--POST-- 16--POST--
diff --git a/tests/filter/get_filter_request_disallow_ws.phpt b/tests/filter/get_filter_request_disallow_ws.phpt
index fd22d62..fe69e78 100644
--- a/tests/filter/get_filter_request_disallow_ws.phpt
+++ b/tests/filter/get_filter_request_disallow_ws.phpt
@@ -3,11 +3,14 @@ suhosin input filter (suhosin.request.disallow_ws)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.disallow_ws=1 11suhosin.request.disallow_ws=1
9--SKIPIF-- 12--SKIPIF--
10<?php include('skipif.inc'); ?> 13<?php include('../skipif.inc'); ?>
11--COOKIE-- 14--COOKIE--
12--GET-- 15--GET--
13+var1=1&var2=2&%20var3=3& var4=4& 16+var1=1&var2=2&%20var3=3& var4=4&
diff --git a/tests/filter/input_filter_allow_nul.phpt b/tests/filter/input_filter_allow_nul.phpt
index 478d4b4..a913189 100644
--- a/tests/filter/input_filter_allow_nul.phpt
+++ b/tests/filter/input_filter_allow_nul.phpt
Binary files differ
diff --git a/tests/filter/input_filter_cookie_disallow_nul.phpt b/tests/filter/input_filter_cookie_disallow_nul.phpt
index dab9241..ae05ac6 100644
--- a/tests/filter/input_filter_cookie_disallow_nul.phpt
+++ b/tests/filter/input_filter_cookie_disallow_nul.phpt
@@ -3,12 +3,15 @@ suhosin input filter (suhosin.cookie.disallow_nul)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.disallow_nul=0 11suhosin.request.disallow_nul=0
9suhosin.cookie.disallow_nul=1 12suhosin.cookie.disallow_nul=1
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13var1=xx%001;var2=2;var3=xx%003;var4=4; 16var1=xx%001;var2=2;var3=xx%003;var4=4;
14--GET-- 17--GET--
diff --git a/tests/filter/input_filter_cookie_max_array_depth.phpt b/tests/filter/input_filter_cookie_max_array_depth.phpt
index 10fc667..327fa36 100644
--- a/tests/filter/input_filter_cookie_max_array_depth.phpt
+++ b/tests/filter/input_filter_cookie_max_array_depth.phpt
@@ -3,12 +3,15 @@ suhosin input filter (suhosin.cookie.max_array_depth)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_array_depth=0 11suhosin.request.max_array_depth=0
9suhosin.cookie.max_array_depth=4 12suhosin.cookie.max_array_depth=4
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13var1[]=1;var2[][]=2;var3[][][]=3;var4[][][][]=4;var5[][][][][]=5;var6[][][][][][]=6; 16var1[]=1;var2[][]=2;var3[][][]=3;var4[][][][]=4;var5[][][][][]=5;var6[][][][][][]=6;
14--GET-- 17--GET--
diff --git a/tests/filter/input_filter_cookie_max_array_index_length.phpt b/tests/filter/input_filter_cookie_max_array_index_length.phpt
index 76dcad4..b954e63 100644
--- a/tests/filter/input_filter_cookie_max_array_index_length.phpt
+++ b/tests/filter/input_filter_cookie_max_array_index_length.phpt
@@ -3,12 +3,15 @@ suhosin input filter (suhosin.cookie.max_array_index_length)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_array_index_length=0 11suhosin.request.max_array_index_length=0
9suhosin.cookie.max_array_index_length=3 12suhosin.cookie.max_array_index_length=3
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13var1[AAA]=1;var2[BBBB]=1;var3[AAA][BBB]=1;var4[AAA][BBBB]=4;var5[AAA][BBB][CCC]=1;var6[AAA][BBBB][CCC]=1; 16var1[AAA]=1;var2[BBBB]=1;var3[AAA][BBB]=1;var4[AAA][BBBB]=4;var5[AAA][BBB][CCC]=1;var6[AAA][BBBB][CCC]=1;
14--GET-- 17--GET--
diff --git a/tests/filter/input_filter_cookie_max_name_length.phpt b/tests/filter/input_filter_cookie_max_name_length.phpt
index b655424..38b8558 100644
--- a/tests/filter/input_filter_cookie_max_name_length.phpt
+++ b/tests/filter/input_filter_cookie_max_name_length.phpt
@@ -3,12 +3,15 @@ suhosin input filter (suhosin.cookie.max_name_length)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_varname_length=0 11suhosin.request.max_varname_length=0
9suhosin.cookie.max_name_length=4 12suhosin.cookie.max_name_length=4
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13var=0;var1=1;var2[]=2;var3[xxx]=3;var04=4;var05[]=5;var06[xxx]=6; 16var=0;var1=1;var2[]=2;var3[xxx]=3;var04=4;var05[]=5;var06[xxx]=6;
14--GET-- 17--GET--
diff --git a/tests/filter/input_filter_cookie_max_totalname_length.phpt b/tests/filter/input_filter_cookie_max_totalname_length.phpt
index b356dc6..b9324fc 100644
--- a/tests/filter/input_filter_cookie_max_totalname_length.phpt
+++ b/tests/filter/input_filter_cookie_max_totalname_length.phpt
@@ -3,12 +3,15 @@ suhosin input filter (suhosin.cookie.max_totalname_length)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_totalname_length=0 11suhosin.request.max_totalname_length=0
9suhosin.cookie.max_totalname_length=7 12suhosin.cookie.max_totalname_length=7
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13var=0;var1=1;var2[]=2;var3[xxx]=3;var04=4;var05[]=5;var06[xxx]=6; 16var=0;var1=1;var2[]=2;var3[xxx]=3;var04=4;var05[]=5;var06[xxx]=6;
14--GET-- 17--GET--
diff --git a/tests/filter/input_filter_cookie_max_value_length.phpt b/tests/filter/input_filter_cookie_max_value_length.phpt
index fb8b3d8..d691c9e 100644
--- a/tests/filter/input_filter_cookie_max_value_length.phpt
+++ b/tests/filter/input_filter_cookie_max_value_length.phpt
@@ -3,12 +3,15 @@ suhosin input filter (suhosin.cookie.max_value_length)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_value_length=0 11suhosin.request.max_value_length=0
9suhosin.cookie.max_value_length=3 12suhosin.cookie.max_value_length=3
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13var1=1;var2=22;var3=333;var4=4444;var5=55%00555;var6=666666; 16var1=1;var2=22;var3=333;var4=4444;var5=55%00555;var6=666666;
14--GET-- 17--GET--
diff --git a/tests/filter/input_filter_cookie_max_vars.phpt b/tests/filter/input_filter_cookie_max_vars.phpt
index 9047df3..fed391e 100644
--- a/tests/filter/input_filter_cookie_max_vars.phpt
+++ b/tests/filter/input_filter_cookie_max_vars.phpt
@@ -5,8 +5,11 @@ suhosin input filter (suhosin.cookie.max_vars)
5--INI-- 5--INI--
6suhosin.log.syslog=0 6suhosin.log.syslog=0
7suhosin.log.sapi=0 7suhosin.log.sapi=0
8suhosin.log.stdout=255
9suhosin.log.script=0 8suhosin.log.script=0
9suhosin.log.file=255
10suhosin.log.file.time=0
11suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
12auto_append_file={PWD}/suhosintest.$$.log.tmp
10suhosin.cookie.max_vars=3 13suhosin.cookie.max_vars=3
11--COOKIE-- 14--COOKIE--
12a=1; b=2; c=3; d=4 15a=1; b=2; c=3; d=4
diff --git a/tests/filter/input_filter_get_disallow_nul.phpt b/tests/filter/input_filter_get_disallow_nul.phpt
index b7c2ad4..5a5b506 100644
--- a/tests/filter/input_filter_get_disallow_nul.phpt
+++ b/tests/filter/input_filter_get_disallow_nul.phpt
@@ -3,12 +3,15 @@ suhosin input filter (suhosin.get.disallow_nul)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.disallow_nul=0 11suhosin.request.disallow_nul=0
9suhosin.get.disallow_nul=1 12suhosin.get.disallow_nul=1
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13--GET-- 16--GET--
14var1=xx%001&var2=2&var3=xx%003&var4=4& 17var1=xx%001&var2=2&var3=xx%003&var4=4&
diff --git a/tests/filter/input_filter_get_max_array_depth.phpt b/tests/filter/input_filter_get_max_array_depth.phpt
index 9a32f29..99fb666 100644
--- a/tests/filter/input_filter_get_max_array_depth.phpt
+++ b/tests/filter/input_filter_get_max_array_depth.phpt
@@ -3,12 +3,15 @@ suhosin input filter (suhosin.get.max_array_depth)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_array_depth=0 11suhosin.request.max_array_depth=0
9suhosin.get.max_array_depth=4 12suhosin.get.max_array_depth=4
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13--GET-- 16--GET--
14var1[]=1&var2[][]=2&var3[][][]=3&var4[][][][]=4&var5[][][][][]=5&var6[][][][][][]=6& 17var1[]=1&var2[][]=2&var3[][][]=3&var4[][][][]=4&var5[][][][][]=5&var6[][][][][][]=6&
diff --git a/tests/filter/input_filter_get_max_array_index_length.phpt b/tests/filter/input_filter_get_max_array_index_length.phpt
index 890ec8e..54bf610 100644
--- a/tests/filter/input_filter_get_max_array_index_length.phpt
+++ b/tests/filter/input_filter_get_max_array_index_length.phpt
@@ -3,12 +3,15 @@ suhosin input filter (suhosin.get.max_array_index_length)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_array_index_length=0 11suhosin.request.max_array_index_length=0
9suhosin.get.max_array_index_length=3 12suhosin.get.max_array_index_length=3
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13--GET-- 16--GET--
14var1[AAA]=1&var2[BBBB]=1&var3[AAA][BBB]=1&var4[AAA][BBBB]=4&var5[AAA][BBB][CCC]=1&var6[AAA][BBBB][CCC]=1 17var1[AAA]=1&var2[BBBB]=1&var3[AAA][BBB]=1&var4[AAA][BBBB]=4&var5[AAA][BBB][CCC]=1&var6[AAA][BBBB][CCC]=1
diff --git a/tests/filter/input_filter_get_max_name_length.phpt b/tests/filter/input_filter_get_max_name_length.phpt
index 4fab0a0..76ca5f6 100644
--- a/tests/filter/input_filter_get_max_name_length.phpt
+++ b/tests/filter/input_filter_get_max_name_length.phpt
@@ -3,12 +3,15 @@ suhosin input filter (suhosin.get.max_name_length)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_varname_length=0 11suhosin.request.max_varname_length=0
9suhosin.get.max_name_length=4 12suhosin.get.max_name_length=4
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13--GET-- 16--GET--
14var=0&var1=1&var2[]=2&var3[xxx]=3&var04=4&var05[]=5&var06[xxx]=6& 17var=0&var1=1&var2[]=2&var3[xxx]=3&var04=4&var05[]=5&var06[xxx]=6&
diff --git a/tests/filter/input_filter_get_max_totalname_length.phpt b/tests/filter/input_filter_get_max_totalname_length.phpt
index 1353ee0..675708d 100644
--- a/tests/filter/input_filter_get_max_totalname_length.phpt
+++ b/tests/filter/input_filter_get_max_totalname_length.phpt
@@ -3,12 +3,15 @@ suhosin input filter (suhosin.get.max_totalname_length)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_totalname_length=0 11suhosin.request.max_totalname_length=0
9suhosin.get.max_totalname_length=7 12suhosin.get.max_totalname_length=7
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13--GET-- 16--GET--
14var=0&var1=1&var2[]=2&var3[xxx]=3&var04=4&var05[]=5&var06[xxx]=6& 17var=0&var1=1&var2[]=2&var3[xxx]=3&var04=4&var05[]=5&var06[xxx]=6&
diff --git a/tests/filter/input_filter_get_max_value_length.phpt b/tests/filter/input_filter_get_max_value_length.phpt
index a5eaf5b..3fa0cb7 100644
--- a/tests/filter/input_filter_get_max_value_length.phpt
+++ b/tests/filter/input_filter_get_max_value_length.phpt
@@ -3,12 +3,15 @@ suhosin input filter (suhosin.get.max_value_length)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_value_length=0 11suhosin.request.max_value_length=0
9suhosin.get.max_value_length=3 12suhosin.get.max_value_length=3
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13--GET-- 16--GET--
14var1=1&var2=22&var3=333&var4=4444&var5=55%00555&var6=666666& 17var1=1&var2=22&var3=333&var4=4444&var5=55%00555&var6=666666&
diff --git a/tests/filter/input_filter_post_disallow_nul.phpt b/tests/filter/input_filter_post_disallow_nul.phpt
index 60c797e..99462b8 100644
--- a/tests/filter/input_filter_post_disallow_nul.phpt
+++ b/tests/filter/input_filter_post_disallow_nul.phpt
@@ -3,12 +3,15 @@ suhosin input filter (suhosin.post.disallow_nul)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.disallow_nul=0 11suhosin.request.disallow_nul=0
9suhosin.post.disallow_nul=1 12suhosin.post.disallow_nul=1
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13--GET-- 16--GET--
14--POST-- 17--POST--
diff --git a/tests/filter/input_filter_post_disallow_nul_rfc1867.phpt b/tests/filter/input_filter_post_disallow_nul_rfc1867.phpt
index ffd252e..21fba1f 100644
--- a/tests/filter/input_filter_post_disallow_nul_rfc1867.phpt
+++ b/tests/filter/input_filter_post_disallow_nul_rfc1867.phpt
Binary files differ
diff --git a/tests/filter/input_filter_post_max_array_depth.phpt b/tests/filter/input_filter_post_max_array_depth.phpt
index 97cd501..5bf8858 100644
--- a/tests/filter/input_filter_post_max_array_depth.phpt
+++ b/tests/filter/input_filter_post_max_array_depth.phpt
@@ -3,12 +3,15 @@ suhosin input filter (suhosin.post.max_array_depth)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_array_depth=0 11suhosin.request.max_array_depth=0
9suhosin.post.max_array_depth=4 12suhosin.post.max_array_depth=4
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13--GET-- 16--GET--
14--POST-- 17--POST--
diff --git a/tests/filter/input_filter_post_max_array_depth_rfc1867.phpt b/tests/filter/input_filter_post_max_array_depth_rfc1867.phpt
index e8fd566..b2eab71 100644
--- a/tests/filter/input_filter_post_max_array_depth_rfc1867.phpt
+++ b/tests/filter/input_filter_post_max_array_depth_rfc1867.phpt
@@ -3,12 +3,15 @@ suhosin input filter (suhosin.post.max_array_depth - RFC1867 version)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_array_depth=0 11suhosin.request.max_array_depth=0
9suhosin.post.max_array_depth=4 12suhosin.post.max_array_depth=4
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13--GET-- 16--GET--
14--POST_RAW-- 17--POST_RAW--
diff --git a/tests/filter/input_filter_post_max_array_index_length.phpt b/tests/filter/input_filter_post_max_array_index_length.phpt
index 2c5adef..285b30e 100644
--- a/tests/filter/input_filter_post_max_array_index_length.phpt
+++ b/tests/filter/input_filter_post_max_array_index_length.phpt
@@ -3,12 +3,15 @@ suhosin input filter (suhosin.post.max_array_index_length)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_array_index_length=0 11suhosin.request.max_array_index_length=0
9suhosin.post.max_array_index_length=3 12suhosin.post.max_array_index_length=3
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13--GET-- 16--GET--
14--POST-- 17--POST--
diff --git a/tests/filter/input_filter_post_max_array_index_length_rfc1867.phpt b/tests/filter/input_filter_post_max_array_index_length_rfc1867.phpt
index 58f0ed2..a3a19fa 100644
--- a/tests/filter/input_filter_post_max_array_index_length_rfc1867.phpt
+++ b/tests/filter/input_filter_post_max_array_index_length_rfc1867.phpt
@@ -3,12 +3,15 @@ suhosin input filter (suhosin.post.max_array_index_length - RFC1867 version)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_array_index_length=0 11suhosin.request.max_array_index_length=0
9suhosin.post.max_array_index_length=3 12suhosin.post.max_array_index_length=3
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13--GET-- 16--GET--
14--POST-- 17--POST--
diff --git a/tests/filter/input_filter_post_max_name_length.phpt b/tests/filter/input_filter_post_max_name_length.phpt
index 0065993..cf7b35d 100644
--- a/tests/filter/input_filter_post_max_name_length.phpt
+++ b/tests/filter/input_filter_post_max_name_length.phpt
@@ -3,12 +3,15 @@ suhosin input filter (suhosin.post.max_name_length)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_varname_length=0 11suhosin.request.max_varname_length=0
9suhosin.post.max_name_length=4 12suhosin.post.max_name_length=4
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13--GET-- 16--GET--
14--POST-- 17--POST--
diff --git a/tests/filter/input_filter_post_max_name_length_rfc1867.phpt b/tests/filter/input_filter_post_max_name_length_rfc1867.phpt
index 45936d5..4ad072c 100644
--- a/tests/filter/input_filter_post_max_name_length_rfc1867.phpt
+++ b/tests/filter/input_filter_post_max_name_length_rfc1867.phpt
@@ -3,12 +3,15 @@ suhosin input filter (suhosin.post.max_name_length - RFC1867 version)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_varname_length=0 11suhosin.request.max_varname_length=0
9suhosin.post.max_name_length=4 12suhosin.post.max_name_length=4
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13--GET-- 16--GET--
14--POST_RAW-- 17--POST_RAW--
diff --git a/tests/filter/input_filter_post_max_totalname_length.phpt b/tests/filter/input_filter_post_max_totalname_length.phpt
index b922302..1fef2bb 100644
--- a/tests/filter/input_filter_post_max_totalname_length.phpt
+++ b/tests/filter/input_filter_post_max_totalname_length.phpt
@@ -3,12 +3,15 @@ suhosin input filter (suhosin.post.max_totalname_length)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_totalname_length=0 11suhosin.request.max_totalname_length=0
9suhosin.post.max_totalname_length=7 12suhosin.post.max_totalname_length=7
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13--GET-- 16--GET--
14--POST-- 17--POST--
diff --git a/tests/filter/input_filter_post_max_totalname_length_rfc1867.phpt b/tests/filter/input_filter_post_max_totalname_length_rfc1867.phpt
index bbbcca4..f8fa6db 100644
--- a/tests/filter/input_filter_post_max_totalname_length_rfc1867.phpt
+++ b/tests/filter/input_filter_post_max_totalname_length_rfc1867.phpt
@@ -3,12 +3,15 @@ suhosin input filter (suhosin.post.max_totalname_length - RFC1867 version)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_totalname_length=0 11suhosin.request.max_totalname_length=0
9suhosin.post.max_totalname_length=7 12suhosin.post.max_totalname_length=7
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13--GET-- 16--GET--
14--POST_RAW-- 17--POST_RAW--
diff --git a/tests/filter/input_filter_post_max_value_length.phpt b/tests/filter/input_filter_post_max_value_length.phpt
index b560bde..7c5493f 100644
--- a/tests/filter/input_filter_post_max_value_length.phpt
+++ b/tests/filter/input_filter_post_max_value_length.phpt
@@ -3,12 +3,15 @@ suhosin input filter (suhosin.post.max_value_length)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_value_length=0 11suhosin.request.max_value_length=0
9suhosin.post.max_value_length=3 12suhosin.post.max_value_length=3
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13--GET-- 16--GET--
14--POST-- 17--POST--
diff --git a/tests/filter/input_filter_post_max_value_length_rfc1867.phpt b/tests/filter/input_filter_post_max_value_length_rfc1867.phpt
index 7552255..a788dfd 100644
--- a/tests/filter/input_filter_post_max_value_length_rfc1867.phpt
+++ b/tests/filter/input_filter_post_max_value_length_rfc1867.phpt
Binary files differ
diff --git a/tests/filter/input_filter_request_disallow_nul.phpt b/tests/filter/input_filter_request_disallow_nul.phpt
index 09903ec..0e9636f 100644
--- a/tests/filter/input_filter_request_disallow_nul.phpt
+++ b/tests/filter/input_filter_request_disallow_nul.phpt
@@ -3,11 +3,14 @@ suhosin input filter (suhosin.request.disallow_nul)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.disallow_nul=1 11suhosin.request.disallow_nul=1
9--SKIPIF-- 12--SKIPIF--
10<?php include('skipif.inc'); ?> 13<?php include('../skipif.inc'); ?>
11--COOKIE-- 14--COOKIE--
12var1=xx%001;var2=2;var3=xx%003;var4=4; 15var1=xx%001;var2=2;var3=xx%003;var4=4;
13--GET-- 16--GET--
diff --git a/tests/filter/input_filter_request_max_array_depth.phpt b/tests/filter/input_filter_request_max_array_depth.phpt
index ca67a39..0f10afe 100644
--- a/tests/filter/input_filter_request_max_array_depth.phpt
+++ b/tests/filter/input_filter_request_max_array_depth.phpt
@@ -3,11 +3,14 @@ suhosin input filter (suhosin.request.max_array_depth)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_array_depth=4 11suhosin.request.max_array_depth=4
9--SKIPIF-- 12--SKIPIF--
10<?php include('skipif.inc'); ?> 13<?php include('../skipif.inc'); ?>
11--COOKIE-- 14--COOKIE--
12var1[]=1;var2[][]=2;var3[][][]=3;var4[][][][]=4;var5[][][][][]=5;var6[][][][][][]=6; 15var1[]=1;var2[][]=2;var3[][][]=3;var4[][][][]=4;var5[][][][][]=5;var6[][][][][][]=6;
13--GET-- 16--GET--
diff --git a/tests/filter/input_filter_request_max_array_index_length.phpt b/tests/filter/input_filter_request_max_array_index_length.phpt
index bb4c2ef..84b3849 100644
--- a/tests/filter/input_filter_request_max_array_index_length.phpt
+++ b/tests/filter/input_filter_request_max_array_index_length.phpt
@@ -3,11 +3,14 @@ suhosin input filter (suhosin.request.max_array_index_length)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_array_index_length=3 11suhosin.request.max_array_index_length=3
9--SKIPIF-- 12--SKIPIF--
10<?php include('skipif.inc'); ?> 13<?php include('../skipif.inc'); ?>
11--COOKIE-- 14--COOKIE--
12var1[AAA]=1;var2[BBBB]=1;var3[AAA][BBB]=1;var4[AAA][BBBB]=4;var5[AAA][BBB][CCC]=1;var6[AAA][BBBB][CCC]=1; 15var1[AAA]=1;var2[BBBB]=1;var3[AAA][BBB]=1;var4[AAA][BBBB]=4;var5[AAA][BBB][CCC]=1;var6[AAA][BBBB][CCC]=1;
13--GET-- 16--GET--
diff --git a/tests/filter/input_filter_request_max_name_length.phpt b/tests/filter/input_filter_request_max_name_length.phpt
index 03b4a3b..e231447 100644
--- a/tests/filter/input_filter_request_max_name_length.phpt
+++ b/tests/filter/input_filter_request_max_name_length.phpt
@@ -3,11 +3,14 @@ suhosin input filter (suhosin.request.max_varname_length)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_varname_length=4 11suhosin.request.max_varname_length=4
9--SKIPIF-- 12--SKIPIF--
10<?php include('skipif.inc'); ?> 13<?php include('../skipif.inc'); ?>
11--COOKIE-- 14--COOKIE--
12var=0;var1=1;var2[]=2;var3[xxx]=3;var04=4;var05[]=5;var06[xxx]=6; 15var=0;var1=1;var2[]=2;var3[xxx]=3;var04=4;var05[]=5;var06[xxx]=6;
13--GET-- 16--GET--
diff --git a/tests/filter/input_filter_request_max_totalname_length.phpt b/tests/filter/input_filter_request_max_totalname_length.phpt
index f028db1..e4ddd5b 100644
--- a/tests/filter/input_filter_request_max_totalname_length.phpt
+++ b/tests/filter/input_filter_request_max_totalname_length.phpt
@@ -3,11 +3,14 @@ suhosin input filter (suhosin.request.max_totalname_length)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_totalname_length=7 11suhosin.request.max_totalname_length=7
9--SKIPIF-- 12--SKIPIF--
10<?php include('skipif.inc'); ?> 13<?php include('../skipif.inc'); ?>
11--COOKIE-- 14--COOKIE--
12var=0;var1=1;var2[]=2;var3[xxx]=3;var04=4;var05[]=5;var06[xxx]=6; 15var=0;var1=1;var2[]=2;var3[xxx]=3;var04=4;var05[]=5;var06[xxx]=6;
13--GET-- 16--GET--
diff --git a/tests/filter/input_filter_request_max_value_length.phpt b/tests/filter/input_filter_request_max_value_length.phpt
index 6906fb0..7617ff2 100644
--- a/tests/filter/input_filter_request_max_value_length.phpt
+++ b/tests/filter/input_filter_request_max_value_length.phpt
@@ -3,11 +3,14 @@ suhosin input filter (suhosin.request.max_value_length)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.request.max_value_length=3 11suhosin.request.max_value_length=3
9--SKIPIF-- 12--SKIPIF--
10<?php include('skipif.inc'); ?> 13<?php include('../skipif.inc'); ?>
11--COOKIE-- 14--COOKIE--
12var1=1;var2=22;var3=333;var4=4444;var5=55%00555;var6=666666; 15var1=1;var2=22;var3=333;var4=4444;var5=55%00555;var6=666666;
13--GET-- 16--GET--
diff --git a/tests/filter/post_fileupload_filter_1.phpt b/tests/filter/post_fileupload_filter_1.phpt
index 453c38d..4cb67fd 100644
--- a/tests/filter/post_fileupload_filter_1.phpt
+++ b/tests/filter/post_fileupload_filter_1.phpt
@@ -3,12 +3,15 @@ suhosin rfc1867 file upload filter (disallowed variable names)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8file_uploads=1 11file_uploads=1
9upload_max_filesize=1024 12upload_max_filesize=1024
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13--GET-- 16--GET--
14--POST_RAW-- 17--POST_RAW--
diff --git a/tests/filter/post_fileupload_filter_2.phpt b/tests/filter/post_fileupload_filter_2.phpt
index 48c63dc..51064f2 100644
--- a/tests/filter/post_fileupload_filter_2.phpt
+++ b/tests/filter/post_fileupload_filter_2.phpt
@@ -3,13 +3,16 @@ suhosin rfc1867 file upload filter (suhosin.post.max_vars)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.post.max_vars=5 11suhosin.post.max_vars=5
9file_uploads=1 12file_uploads=1
10upload_max_filesize=1024 13upload_max_filesize=1024
11--SKIPIF-- 14--SKIPIF--
12<?php include('skipif.inc'); ?> 15<?php include('../skipif.inc'); ?>
13--COOKIE-- 16--COOKIE--
14--GET-- 17--GET--
15--POST_RAW-- 18--POST_RAW--
diff --git a/tests/filter/post_filter_1.phpt b/tests/filter/post_filter_1.phpt
index eee353d..61eee24 100644
--- a/tests/filter/post_filter_1.phpt
+++ b/tests/filter/post_filter_1.phpt
@@ -3,10 +3,13 @@ suhosin POST filter (disallowed variable names)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8--SKIPIF-- 11--SKIPIF--
9<?php include('skipif.inc'); ?> 12<?php include('../skipif.inc'); ?>
10--COOKIE-- 13--COOKIE--
11--GET-- 14--GET--
12--POST-- 15--POST--
diff --git a/tests/filter/post_filter_2.phpt b/tests/filter/post_filter_2.phpt
index 22e773a..b64ffd0 100644
--- a/tests/filter/post_filter_2.phpt
+++ b/tests/filter/post_filter_2.phpt
@@ -3,11 +3,14 @@ suhosin POST filter (suhosin.post.max_vars)
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.post.max_vars=5 11suhosin.post.max_vars=5
9--SKIPIF-- 12--SKIPIF--
10<?php include('skipif.inc'); ?> 13<?php include('../skipif.inc'); ?>
11--COOKIE-- 14--COOKIE--
12--GET-- 15--GET--
13--POST-- 16--POST--
diff --git a/tests/filter/post_filter_empty_var.phpt b/tests/filter/post_filter_empty_var.phpt
index f1eef0c..87866e2 100644
--- a/tests/filter/post_filter_empty_var.phpt
+++ b/tests/filter/post_filter_empty_var.phpt
@@ -6,7 +6,7 @@ suhosin.log.sapi=0
6suhosin.log.stdout=255 6suhosin.log.stdout=255
7suhosin.log.script=0 7suhosin.log.script=0
8--SKIPIF-- 8--SKIPIF--
9<?php include('skipif.inc'); ?> 9<?php include('../skipif.inc'); ?>
10--COOKIE-- 10--COOKIE--
11--GET-- 11--GET--
12--POST-- 12--POST--
diff --git a/tests/filter/server_encode_off.phpt b/tests/filter/server_encode_off.phpt
index 8daccea..69793fd 100644
--- a/tests/filter/server_encode_off.phpt
+++ b/tests/filter/server_encode_off.phpt
@@ -9,7 +9,7 @@ suhosin.log.stdout=255
9suhosin.log.script=0 9suhosin.log.script=0
10suhosin.server.encode=Off 10suhosin.server.encode=Off
11--SKIPIF-- 11--SKIPIF--
12<?php include('skipif.inc'); ?> 12<?php include('../skipif.inc'); ?>
13--ENV-- 13--ENV--
14return <<<END 14return <<<END
15REQUEST_URI=AAA<>"'`!AAA 15REQUEST_URI=AAA<>"'`!AAA
diff --git a/tests/filter/server_encode_on.phpt b/tests/filter/server_encode_on.phpt
index 4cd7a66..3b02ce4 100644
--- a/tests/filter/server_encode_on.phpt
+++ b/tests/filter/server_encode_on.phpt
@@ -9,7 +9,7 @@ suhosin.log.stdout=255
9suhosin.log.script=0 9suhosin.log.script=0
10suhosin.server.encode=On 10suhosin.server.encode=On
11--SKIPIF-- 11--SKIPIF--
12<?php include('skipif.inc'); ?> 12<?php include('../skipif.inc'); ?>
13--ENV-- 13--ENV--
14return <<<END 14return <<<END
15REQUEST_URI=AAA<>"'`!AAA 15REQUEST_URI=AAA<>"'`!AAA
diff --git a/tests/filter/server_filter.phpt b/tests/filter/server_filter.phpt
index b1271bd..f2afdf7 100644
--- a/tests/filter/server_filter.phpt
+++ b/tests/filter/server_filter.phpt
@@ -3,10 +3,13 @@ suhosin SERVER filter
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8--SKIPIF-- 11--SKIPIF--
9<?php include('skipif.inc'); ?> 12<?php include('../skipif.inc'); ?>
10--ENV-- 13--ENV--
11return <<<END 14return <<<END
12HTTP_POST_VARS=HTTP_POST_VARS 15HTTP_POST_VARS=HTTP_POST_VARS
diff --git a/tests/filter/server_strip_off.phpt b/tests/filter/server_strip_off.phpt
index 75c326e..57b2e97 100644
--- a/tests/filter/server_strip_off.phpt
+++ b/tests/filter/server_strip_off.phpt
@@ -9,7 +9,7 @@ suhosin.log.stdout=255
9suhosin.log.script=0 9suhosin.log.script=0
10suhosin.server.strip=Off 10suhosin.server.strip=Off
11--SKIPIF-- 11--SKIPIF--
12<?php include('skipif.inc'); ?> 12<?php include('../skipif.inc'); ?>
13--ENV-- 13--ENV--
14return <<<END 14return <<<END
15SCRIPT_NAME=X/index.php/THIS_IS_A_FAKE_NAME<>"'`!AAA 15SCRIPT_NAME=X/index.php/THIS_IS_A_FAKE_NAME<>"'`!AAA
diff --git a/tests/filter/server_strip_on.phpt b/tests/filter/server_strip_on.phpt
index c595e95..9e9d991 100644
--- a/tests/filter/server_strip_on.phpt
+++ b/tests/filter/server_strip_on.phpt
@@ -9,7 +9,7 @@ suhosin.log.stdout=255
9suhosin.log.script=0 9suhosin.log.script=0
10suhosin.server.strip=On 10suhosin.server.strip=On
11--SKIPIF-- 11--SKIPIF--
12<?php include('skipif.inc'); ?> 12<?php include('../skipif.inc'); ?>
13--ENV-- 13--ENV--
14return <<<END 14return <<<END
15SCRIPT_NAME=X/index.php/THIS_IS_A_FAKE_NAME<>"'`!AAA 15SCRIPT_NAME=X/index.php/THIS_IS_A_FAKE_NAME<>"'`!AAA
diff --git a/tests/filter/server_user_agent_strip_off.phpt b/tests/filter/server_user_agent_strip_off.phpt
index 36c6580..1f58007 100644
--- a/tests/filter/server_user_agent_strip_off.phpt
+++ b/tests/filter/server_user_agent_strip_off.phpt
@@ -9,7 +9,7 @@ suhosin.log.stdout=255
9suhosin.log.script=0 9suhosin.log.script=0
10suhosin.server.strip=Off 10suhosin.server.strip=Off
11--SKIPIF-- 11--SKIPIF--
12<?php include('skipif.inc'); ?> 12<?php include('../skipif.inc'); ?>
13--ENV-- 13--ENV--
14return <<<END 14return <<<END
15HTTP_USER_AGENT=Mozilla/5.0 (Windows NT 6.0; rv:29.0) <script>alert('123');</script>Gecko/20100101 Firefox/29.0 15HTTP_USER_AGENT=Mozilla/5.0 (Windows NT 6.0; rv:29.0) <script>alert('123');</script>Gecko/20100101 Firefox/29.0
diff --git a/tests/filter/server_user_agent_strip_on.phpt b/tests/filter/server_user_agent_strip_on.phpt
index 73d577c..df1d040 100644
--- a/tests/filter/server_user_agent_strip_on.phpt
+++ b/tests/filter/server_user_agent_strip_on.phpt
@@ -9,7 +9,7 @@ suhosin.log.stdout=255
9suhosin.log.script=0 9suhosin.log.script=0
10suhosin.server.strip=On 10suhosin.server.strip=On
11--SKIPIF-- 11--SKIPIF--
12<?php include('skipif.inc'); ?> 12<?php include('../skipif.inc'); ?>
13--ENV-- 13--ENV--
14return <<<END 14return <<<END
15HTTP_USER_AGENT=Mozilla/5.0 (Windows NT 6.0; rv:29.0) <script>alert('123');</script>Gecko/20100101 Firefox/29.0 15HTTP_USER_AGENT=Mozilla/5.0 (Windows NT 6.0; rv:29.0) <script>alert('123');</script>Gecko/20100101 Firefox/29.0
diff --git a/tests/filter/suhosin_upload_disallow_binary_off.phpt b/tests/filter/suhosin_upload_disallow_binary_off.phpt
index cde9ea7..bcb76be 100644
--- a/tests/filter/suhosin_upload_disallow_binary_off.phpt
+++ b/tests/filter/suhosin_upload_disallow_binary_off.phpt
Binary files differ
diff --git a/tests/filter/suhosin_upload_disallow_binary_on.phpt b/tests/filter/suhosin_upload_disallow_binary_on.phpt
index 1e3444e..bc2c7ea 100644
--- a/tests/filter/suhosin_upload_disallow_binary_on.phpt
+++ b/tests/filter/suhosin_upload_disallow_binary_on.phpt
Binary files differ
diff --git a/tests/filter/suhosin_upload_disallow_binary_utf8.phpt b/tests/filter/suhosin_upload_disallow_binary_utf8.phpt
index 557a8d5..d14f041 100644
--- a/tests/filter/suhosin_upload_disallow_binary_utf8.phpt
+++ b/tests/filter/suhosin_upload_disallow_binary_utf8.phpt
@@ -11,7 +11,9 @@ suhosin.upload.allow_utf8=On
11max_file_uploads=40 11max_file_uploads=40
12suhosin.upload.max_uploads=40 12suhosin.upload.max_uploads=40
13--SKIPIF-- 13--SKIPIF--
14<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc');
15if (ini_get('suhosin.upload.allow_utf8') === FALSE) { die("skip feature not compiled in"); }
16?>
15--COOKIE-- 17--COOKIE--
16--GET-- 18--GET--
17--POST_RAW-- 19--POST_RAW--
diff --git a/tests/filter/suhosin_upload_disallow_binary_utf8fail.phpt b/tests/filter/suhosin_upload_disallow_binary_utf8fail.phpt
index 413d25a..95e4864 100644
--- a/tests/filter/suhosin_upload_disallow_binary_utf8fail.phpt
+++ b/tests/filter/suhosin_upload_disallow_binary_utf8fail.phpt
@@ -3,15 +3,20 @@ Testing: suhosin.upload.disallow_binary=On with UTF-8 and allow_utf8=Off
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8file_uploads=1 11file_uploads=1
9suhosin.upload.disallow_binary=On 12suhosin.upload.disallow_binary=On
10suhosin.upload.allow_utf8=Off 13suhosin.upload.allow_utf8=Off
11max_file_uploads=40 14max_file_uploads=40
12suhosin.upload.max_uploads=40 15suhosin.upload.max_uploads=40
13--SKIPIF-- 16--SKIPIF--
14<?php include('skipif.inc'); ?> 17<?php include('../skipif.inc');
18if (ini_get('suhosin.upload.allow_utf8') === FALSE) { die("skip feature not compiled in"); }
19?>
15--COOKIE-- 20--COOKIE--
16--GET-- 21--GET--
17--POST_RAW-- 22--POST_RAW--
diff --git a/tests/filter/suhosin_upload_disallow_elf.phpt b/tests/filter/suhosin_upload_disallow_elf.phpt
index 4ad2071..7b074f7 100644
--- a/tests/filter/suhosin_upload_disallow_elf.phpt
+++ b/tests/filter/suhosin_upload_disallow_elf.phpt
@@ -3,12 +3,15 @@ Testing: suhosin.upload.disallow_elf=On
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8file_uploads=1 11file_uploads=1
9suhosin.upload.disallow_elf=On 12suhosin.upload.disallow_elf=On
10--SKIPIF-- 13--SKIPIF--
11<?php include('skipif.inc'); ?> 14<?php include('../skipif.inc'); ?>
12--COOKIE-- 15--COOKIE--
13--GET-- 16--GET--
14--POST_RAW-- 17--POST_RAW--
diff --git a/tests/filter/suhosin_upload_disallow_elf_off.phpt b/tests/filter/suhosin_upload_disallow_elf_off.phpt
index 8be8301..832692c 100644
--- a/tests/filter/suhosin_upload_disallow_elf_off.phpt
+++ b/tests/filter/suhosin_upload_disallow_elf_off.phpt
@@ -8,7 +8,7 @@ suhosin.log.script=0
8file_uploads=1 8file_uploads=1
9suhosin.upload.disallow_elf=Off 9suhosin.upload.disallow_elf=Off
10--SKIPIF-- 10--SKIPIF--
11<?php include('skipif.inc'); ?> 11<?php include('../skipif.inc'); ?>
12--COOKIE-- 12--COOKIE--
13--GET-- 13--GET--
14--POST_RAW-- 14--POST_RAW--
diff --git a/tests/filter/suhosin_upload_max_uploads.phpt b/tests/filter/suhosin_upload_max_uploads.phpt
index 2e984bc..fb6f249 100644
--- a/tests/filter/suhosin_upload_max_uploads.phpt
+++ b/tests/filter/suhosin_upload_max_uploads.phpt
@@ -3,13 +3,16 @@ suhosin.upload.max_uploads
3--INI-- 3--INI--
4suhosin.log.syslog=0 4suhosin.log.syslog=0
5suhosin.log.sapi=0 5suhosin.log.sapi=0
6suhosin.log.stdout=255
7suhosin.log.script=0 6suhosin.log.script=0
7suhosin.log.file=255
8suhosin.log.file.time=0
9suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
10auto_append_file={PWD}/suhosintest.$$.log.tmp
8suhosin.post.max_vars=5 11suhosin.post.max_vars=5
9file_uploads=1 12file_uploads=1
10suhosin.upload.max_uploads=3 13suhosin.upload.max_uploads=3
11--SKIPIF-- 14--SKIPIF--
12<?php include('skipif.inc'); ?> 15<?php include('../skipif.inc'); ?>
13--COOKIE-- 16--COOKIE--
14--GET-- 17--GET--
15--POST_RAW-- 18--POST_RAW--
diff --git a/tests/filter/suhosin_upload_remove_binary.phpt b/tests/filter/suhosin_upload_remove_binary.phpt
index f4337d9..8d158c3 100644
--- a/tests/filter/suhosin_upload_remove_binary.phpt
+++ b/tests/filter/suhosin_upload_remove_binary.phpt
Binary files differ
diff --git a/tests/filter/suhosin_upload_remove_binary_utf8.phpt b/tests/filter/suhosin_upload_remove_binary_utf8.phpt
index 6fbd240..564c095 100644
--- a/tests/filter/suhosin_upload_remove_binary_utf8.phpt
+++ b/tests/filter/suhosin_upload_remove_binary_utf8.phpt
@@ -12,7 +12,9 @@ suhosin.upload.allow_utf8=On
12max_file_uploads=40 12max_file_uploads=40
13suhosin.upload.max_uploads=40 13suhosin.upload.max_uploads=40
14--SKIPIF-- 14--SKIPIF--
15<?php include('skipif.inc'); ?> 15<?php include('../skipif.inc');
16if (ini_get('suhosin.upload.allow_utf8') === FALSE) { die("skip feature not compiled in"); }
17?>
16--COOKIE-- 18--COOKIE--
17--GET-- 19--GET--
18--POST_RAW-- 20--POST_RAW--
diff --git a/tests/filter/suhosin_upload_remove_binary_utf8fail.phpt b/tests/filter/suhosin_upload_remove_binary_utf8fail.phpt
index 5c31115..4787a3a 100644
--- a/tests/filter/suhosin_upload_remove_binary_utf8fail.phpt
+++ b/tests/filter/suhosin_upload_remove_binary_utf8fail.phpt
@@ -12,7 +12,9 @@ suhosin.upload.allow_utf8=Off
12max_file_uploads=40 12max_file_uploads=40
13suhosin.upload.max_uploads=40 13suhosin.upload.max_uploads=40
14--SKIPIF-- 14--SKIPIF--
15<?php include('skipif.inc'); ?> 15<?php include('../skipif.inc');
16if (ini_get('suhosin.upload.allow_utf8') === FALSE) { die("skip feature not compiled in"); }
17?>
16--COOKIE-- 18--COOKIE--
17--GET-- 19--GET--
18--POST_RAW-- 20--POST_RAW--
diff --git a/tests/include/include_uploaded_file_diff_filename.phpt b/tests/include/include_uploaded_file_diff_filename.phpt
index 8d3bca5..2c28340 100644
--- a/tests/include/include_uploaded_file_diff_filename.phpt
+++ b/tests/include/include_uploaded_file_diff_filename.phpt
@@ -5,9 +5,8 @@ Testing include file from $_FILES (but change name a bit)
5--INI-- 5--INI--
6suhosin.log.syslog=0 6suhosin.log.syslog=0
7suhosin.log.sapi=0 7suhosin.log.sapi=0
8suhosin.log.stdout=255
9suhosin.log.script=0 8suhosin.log.script=0
10suhosin.log.phpscript=0 9suhosin.log.stdout=255
11suhosin.executor.include.whitelist= 10suhosin.executor.include.whitelist=
12suhosin.executor.include.blacklist= 11suhosin.executor.include.blacklist=
13--POST_RAW-- 12--POST_RAW--
diff --git a/tests/include/include_uploaded_file_from_FILES.phpt b/tests/include/include_uploaded_file_from_FILES.phpt
index 1ec20f3..2c782b4 100644
--- a/tests/include/include_uploaded_file_from_FILES.phpt
+++ b/tests/include/include_uploaded_file_from_FILES.phpt
@@ -5,9 +5,8 @@ Testing include file from $_FILES
5--INI-- 5--INI--
6suhosin.log.syslog=0 6suhosin.log.syslog=0
7suhosin.log.sapi=0 7suhosin.log.sapi=0
8suhosin.log.stdout=255
9suhosin.log.script=0 8suhosin.log.script=0
10suhosin.log.phpscript=0 9suhosin.log.stdout=255
11suhosin.executor.include.whitelist= 10suhosin.executor.include.whitelist=
12suhosin.executor.include.blacklist= 11suhosin.executor.include.blacklist=
13--POST_RAW-- 12--POST_RAW--
diff --git a/tests/logging/use_x_forwarded_for_off.phpt b/tests/logging/use_x_forwarded_for_off.phpt
index 6b31d53..2820523 100644
--- a/tests/logging/use_x_forwarded_for_off.phpt
+++ b/tests/logging/use_x_forwarded_for_off.phpt
@@ -3,12 +3,16 @@ Testing: suhosin.log.use-x-forwarded-for=Off
3--SKIPIF-- 3--SKIPIF--
4<?php include "../skipifnotcli.inc"; ?> 4<?php include "../skipifnotcli.inc"; ?>
5--INI-- 5--INI--
6suhosin.log.syslog=0
6suhosin.log.sapi=0 7suhosin.log.sapi=0
7suhosin.log.stdout=255
8suhosin.log.script=0 8suhosin.log.script=0
9suhosin.log.syslog=0 9suhosin.log.file=255
10suhosin.log.file.time=0
11suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
12auto_append_file={PWD}/suhosintest.$$.log.tmp
10suhosin.executor.func.blacklist=max 13suhosin.executor.func.blacklist=max
11suhosin.log.use-x-forwarded-for=Off 14suhosin.log.use-x-forwarded-for=Off
15suhosin.simulation=1
12--ENV-- 16--ENV--
13return <<<END 17return <<<END
14REMOTE_ADDR=101.102.103.104 18REMOTE_ADDR=101.102.103.104
@@ -19,5 +23,5 @@ END;
19 max(1,2); 23 max(1,2);
20?> 24?>
21--EXPECTF-- 25--EXPECTF--
22Warning: max() has been disabled for security reasons in %s on line 2 26Warning: SIMULATION - max() has been disabled for security reasons in %s on line 2
23ALERT - function within blacklist called: max() (attacker '101.102.103.104', file '%s', line 2) \ No newline at end of file 27ALERT-SIMULATION - function within blacklist called: max() (attacker '101.102.103.104', file '%s', line 2) \ No newline at end of file
diff --git a/tests/logging/use_x_forwarded_for_off_no_remote_addr.phpt b/tests/logging/use_x_forwarded_for_off_no_remote_addr.phpt
index bd4c72b..1a30e81 100644
--- a/tests/logging/use_x_forwarded_for_off_no_remote_addr.phpt
+++ b/tests/logging/use_x_forwarded_for_off_no_remote_addr.phpt
@@ -3,16 +3,20 @@ Testing: suhosin.log.use-x-forwarded-for=Off (without REMOTE_ADDR set)
3--SKIPIF-- 3--SKIPIF--
4<?php include "../skipifnotcli.inc"; ?> 4<?php include "../skipifnotcli.inc"; ?>
5--INI-- 5--INI--
6suhosin.log.syslog=0
6suhosin.log.sapi=0 7suhosin.log.sapi=0
7suhosin.log.stdout=255
8suhosin.log.script=0 8suhosin.log.script=0
9suhosin.log.syslog=0 9suhosin.log.file=255
10suhosin.log.file.time=0
11suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
12auto_append_file={PWD}/suhosintest.$$.log.tmp
10suhosin.executor.func.blacklist=max 13suhosin.executor.func.blacklist=max
11suhosin.log.use-x-forwarded-for=Off 14suhosin.log.use-x-forwarded-for=Off
15suhosin.simulation=1
12--FILE-- 16--FILE--
13<?php 17<?php
14 max(1,2); 18 max(1,2);
15?> 19?>
16--EXPECTF-- 20--EXPECTF--
17Warning: max() has been disabled for security reasons in %s on line 2 21Warning: SIMULATION - max() has been disabled for security reasons in %s on line 2
18ALERT - function within blacklist called: max() (attacker 'REMOTE_ADDR not set', file '%s', line 2) \ No newline at end of file 22ALERT-SIMULATION - function within blacklist called: max() (attacker 'REMOTE_ADDR not set', file '%s', line 2) \ No newline at end of file
diff --git a/tests/logging/use_x_forwarded_for_on.phpt b/tests/logging/use_x_forwarded_for_on.phpt
index 5f37ca9..e476ba7 100644
--- a/tests/logging/use_x_forwarded_for_on.phpt
+++ b/tests/logging/use_x_forwarded_for_on.phpt
@@ -3,12 +3,16 @@ Testing: suhosin.log.use-x-forwarded-for=On
3--SKIPIF-- 3--SKIPIF--
4<?php include "../skipifnotcli.inc"; ?> 4<?php include "../skipifnotcli.inc"; ?>
5--INI-- 5--INI--
6suhosin.log.syslog=0
6suhosin.log.sapi=0 7suhosin.log.sapi=0
7suhosin.log.stdout=255
8suhosin.log.script=0 8suhosin.log.script=0
9suhosin.log.syslog=0 9suhosin.log.file=255
10suhosin.log.file.time=0
11suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
12auto_append_file={PWD}/suhosintest.$$.log.tmp
10suhosin.executor.func.blacklist=max 13suhosin.executor.func.blacklist=max
11suhosin.log.use-x-forwarded-for=On 14suhosin.log.use-x-forwarded-for=On
15suhosin.simulation=1
12--ENV-- 16--ENV--
13return <<<END 17return <<<END
14REMOTE_ADDR=101.102.103.104 18REMOTE_ADDR=101.102.103.104
@@ -19,5 +23,5 @@ END;
19 max(1,2); 23 max(1,2);
20?> 24?>
21--EXPECTF-- 25--EXPECTF--
22Warning: max() has been disabled for security reasons in %s on line 2 26Warning: SIMULATION - max() has been disabled for security reasons in %s on line 2
23ALERT - function within blacklist called: max() (attacker '1.2.3.4', file '%s', line 2) \ No newline at end of file 27ALERT-SIMULATION - function within blacklist called: max() (attacker '1.2.3.4', file '%s', line 2) \ No newline at end of file
diff --git a/tests/logging/use_x_forwarded_for_on_no_x_forwarded.phpt b/tests/logging/use_x_forwarded_for_on_no_x_forwarded.phpt
index aea6e06..b3e26de 100644
--- a/tests/logging/use_x_forwarded_for_on_no_x_forwarded.phpt
+++ b/tests/logging/use_x_forwarded_for_on_no_x_forwarded.phpt
@@ -3,16 +3,20 @@ Testing: suhosin.log.use-x-forwarded-for=On (without X-Forwarded-For set)
3--SKIPIF-- 3--SKIPIF--
4<?php include "../skipifnotcli.inc"; ?> 4<?php include "../skipifnotcli.inc"; ?>
5--INI-- 5--INI--
6suhosin.log.syslog=0
6suhosin.log.sapi=0 7suhosin.log.sapi=0
7suhosin.log.stdout=255
8suhosin.log.script=0 8suhosin.log.script=0
9suhosin.log.syslog=0 9suhosin.log.file=255
10suhosin.log.file.time=0
11suhosin.log.file.name={PWD}/suhosintest.$$.log.tmp
12auto_append_file={PWD}/suhosintest.$$.log.tmp
10suhosin.executor.func.blacklist=max 13suhosin.executor.func.blacklist=max
11suhosin.log.use-x-forwarded-for=On 14suhosin.log.use-x-forwarded-for=On
15suhosin.simulation=1
12--FILE-- 16--FILE--
13<?php 17<?php
14 max(1,2); 18 max(1,2);
15?> 19?>
16--EXPECTF-- 20--EXPECTF--
17Warning: max() has been disabled for security reasons in %s on line 2 21Warning: SIMULATION - max() has been disabled for security reasons in %s on line 2
18ALERT - function within blacklist called: max() (attacker 'X-FORWARDED-FOR not set', file '%s', line 2) \ No newline at end of file 22ALERT-SIMULATION - function within blacklist called: max() (attacker 'X-FORWARDED-FOR not set', file '%s', line 2) \ No newline at end of file
diff --git a/tests/sql/mysqli_comment_conditional.phpt b/tests/sql/mysqli_comment_conditional.phpt
index 0436c64..02366c0 100644
--- a/tests/sql/mysqli_comment_conditional.phpt
+++ b/tests/sql/mysqli_comment_conditional.phpt
@@ -11,7 +11,7 @@ suhosin.log.stdout=32
11--SKIPIF-- 11--SKIPIF--
12<?php 12<?php
13include('skipifmysqli.inc'); 13include('skipifmysqli.inc');
14include('skipif.inc'); 14include('../skipif.inc');
15?> 15?>
16--FILE-- 16--FILE--
17<?php 17<?php
diff --git a/tests/sql/mysqli_comment_cstyle_fail.phpt b/tests/sql/mysqli_comment_cstyle_fail.phpt
index 56a8ccb..5a4c5e7 100644
--- a/tests/sql/mysqli_comment_cstyle_fail.phpt
+++ b/tests/sql/mysqli_comment_cstyle_fail.phpt
@@ -11,7 +11,7 @@ suhosin.log.stdout=32
11--SKIPIF-- 11--SKIPIF--
12<?php 12<?php
13include('skipifmysqli.inc'); 13include('skipifmysqli.inc');
14include('skipif.inc'); 14include('../skipif.inc');
15?> 15?>
16--FILE-- 16--FILE--
17<?php 17<?php
diff --git a/tests/sql/mysqli_comment_hashstyle_fail.phpt b/tests/sql/mysqli_comment_hashstyle_fail.phpt
index 6f5b517..c67cf44 100644
--- a/tests/sql/mysqli_comment_hashstyle_fail.phpt
+++ b/tests/sql/mysqli_comment_hashstyle_fail.phpt
@@ -11,7 +11,7 @@ suhosin.log.stdout=32
11--SKIPIF-- 11--SKIPIF--
12<?php 12<?php
13include('skipifmysqli.inc'); 13include('skipifmysqli.inc');
14include('skipif.inc'); 14include('../skipif.inc');
15?> 15?>
16--FILE-- 16--FILE--
17<?php 17<?php
diff --git a/tests/sql/mysqli_comment_sqlstyle.phpt b/tests/sql/mysqli_comment_sqlstyle.phpt
index c32c76a..d0e454e 100644
--- a/tests/sql/mysqli_comment_sqlstyle.phpt
+++ b/tests/sql/mysqli_comment_sqlstyle.phpt
@@ -11,7 +11,7 @@ suhosin.log.stdout=32
11--SKIPIF-- 11--SKIPIF--
12<?php 12<?php
13include('skipifmysqli.inc'); 13include('skipifmysqli.inc');
14include('skipif.inc'); 14include('../skipif.inc');
15?> 15?>
16--FILE-- 16--FILE--
17<?php 17<?php
diff --git a/tests/sql/mysqli_comment_sqlstyle_fail.phpt b/tests/sql/mysqli_comment_sqlstyle_fail.phpt
index 83e63c5..9894d96 100644
--- a/tests/sql/mysqli_comment_sqlstyle_fail.phpt
+++ b/tests/sql/mysqli_comment_sqlstyle_fail.phpt
@@ -11,7 +11,7 @@ suhosin.log.stdout=32
11--SKIPIF-- 11--SKIPIF--
12<?php 12<?php
13include('skipifmysqli.inc'); 13include('skipifmysqli.inc');
14include('skipif.inc'); 14include('../skipif.inc');
15?> 15?>
16--FILE-- 16--FILE--
17<?php 17<?php
diff --git a/tests/sql/mysqli_connect_invalid_username.phpt b/tests/sql/mysqli_connect_invalid_username.phpt
index 532254f..c83bf1e 100644
--- a/tests/sql/mysqli_connect_invalid_username.phpt
+++ b/tests/sql/mysqli_connect_invalid_username.phpt
@@ -6,7 +6,7 @@ suhosin.log.stdout=32
6--SKIPIF-- 6--SKIPIF--
7<?php 7<?php
8include('skipifmysqli.inc'); 8include('skipifmysqli.inc');
9include('skipif.inc'); 9include('../skipif.inc');
10?> 10?>
11--FILE-- 11--FILE--
12<?php 12<?php
diff --git a/tests/sql/mysqli_multiselect.phpt b/tests/sql/mysqli_multiselect.phpt
index 63d6c19..2595441 100644
--- a/tests/sql/mysqli_multiselect.phpt
+++ b/tests/sql/mysqli_multiselect.phpt
@@ -11,7 +11,7 @@ suhosin.log.stdout=32
11--SKIPIF-- 11--SKIPIF--
12<?php 12<?php
13include('skipifmysqli.inc'); 13include('skipifmysqli.inc');
14include('skipif.inc'); 14include('../skipif.inc');
15?> 15?>
16--FILE-- 16--FILE--
17<?php 17<?php
diff --git a/tests/sql/mysqli_multiselect_fail.phpt b/tests/sql/mysqli_multiselect_fail.phpt
index 2bee62a..9f4216f 100644
--- a/tests/sql/mysqli_multiselect_fail.phpt
+++ b/tests/sql/mysqli_multiselect_fail.phpt
@@ -11,7 +11,7 @@ suhosin.log.stdout=32
11--SKIPIF-- 11--SKIPIF--
12<?php 12<?php
13include('skipifmysqli.inc'); 13include('skipifmysqli.inc');
14include('skipif.inc'); 14include('../skipif.inc');
15?> 15?>
16--FILE-- 16--FILE--
17<?php 17<?php
diff --git a/tests/sql/mysqli_multiselect_subselect.phpt b/tests/sql/mysqli_multiselect_subselect.phpt
index e629720..6308cfa 100644
--- a/tests/sql/mysqli_multiselect_subselect.phpt
+++ b/tests/sql/mysqli_multiselect_subselect.phpt
@@ -11,7 +11,7 @@ suhosin.log.stdout=32
11--SKIPIF-- 11--SKIPIF--
12<?php 12<?php
13include('skipifmysqli.inc'); 13include('skipifmysqli.inc');
14include('skipif.inc'); 14include('../skipif.inc');
15?> 15?>
16--FILE-- 16--FILE--
17<?php 17<?php
diff --git a/tests/sql/mysqli_no_constraints.phpt b/tests/sql/mysqli_no_constraints.phpt
index 1d7fff6..1ba2875 100644
--- a/tests/sql/mysqli_no_constraints.phpt
+++ b/tests/sql/mysqli_no_constraints.phpt
@@ -11,7 +11,7 @@ suhosin.sql.union=0
11--SKIPIF-- 11--SKIPIF--
12<?php 12<?php
13include('skipifmysqli.inc'); 13include('skipifmysqli.inc');
14include('skipif.inc'); 14include('../skipif.inc');
15?> 15?>
16--FILE-- 16--FILE--
17<?php 17<?php
diff --git a/tests/sql/mysqli_open_comment.phpt b/tests/sql/mysqli_open_comment.phpt
index 29d3536..e65ebd5 100644
--- a/tests/sql/mysqli_open_comment.phpt
+++ b/tests/sql/mysqli_open_comment.phpt
@@ -11,7 +11,7 @@ suhosin.log.stdout=32
11--SKIPIF-- 11--SKIPIF--
12<?php 12<?php
13include('skipifmysqli.inc'); 13include('skipifmysqli.inc');
14include('skipif.inc'); 14include('../skipif.inc');
15?> 15?>
16--FILE-- 16--FILE--
17<?php 17<?php
diff --git a/tests/sql/mysqli_open_comment_fail.phpt b/tests/sql/mysqli_open_comment_fail.phpt
index 4645523..a898153 100644
--- a/tests/sql/mysqli_open_comment_fail.phpt
+++ b/tests/sql/mysqli_open_comment_fail.phpt
@@ -11,7 +11,7 @@ suhosin.log.stdout=32
11--SKIPIF-- 11--SKIPIF--
12<?php 12<?php
13include('skipifmysqli.inc'); 13include('skipifmysqli.inc');
14include('skipif.inc'); 14include('../skipif.inc');
15?> 15?>
16--FILE-- 16--FILE--
17<?php 17<?php
diff --git a/tests/sql/mysqli_union.phpt b/tests/sql/mysqli_union.phpt
index 9af9c61..77eb8e4 100644
--- a/tests/sql/mysqli_union.phpt
+++ b/tests/sql/mysqli_union.phpt
@@ -11,7 +11,7 @@ suhosin.log.stdout=32
11--SKIPIF-- 11--SKIPIF--
12<?php 12<?php
13include('skipifmysqli.inc'); 13include('skipifmysqli.inc');
14include('skipif.inc'); 14include('../skipif.inc');
15?> 15?>
16--FILE-- 16--FILE--
17<?php 17<?php
diff --git a/tests/sql/mysqli_union_fail.phpt b/tests/sql/mysqli_union_fail.phpt
index ee51a79..ddcfd0e 100644
--- a/tests/sql/mysqli_union_fail.phpt
+++ b/tests/sql/mysqli_union_fail.phpt
@@ -11,7 +11,7 @@ suhosin.log.stdout=32
11--SKIPIF-- 11--SKIPIF--
12<?php 12<?php
13include('skipifmysqli.inc'); 13include('skipifmysqli.inc');
14include('skipif.inc'); 14include('../skipif.inc');
15?> 15?>
16--FILE-- 16--FILE--
17<?php 17<?php
diff --git a/tests/sql/mysqli_user_match_error.phpt b/tests/sql/mysqli_user_match_error.phpt
index 69db081..a8d1068 100644
--- a/tests/sql/mysqli_user_match_error.phpt
+++ b/tests/sql/mysqli_user_match_error.phpt
@@ -7,7 +7,7 @@ suhosin.log.stdout=32
7--SKIPIF-- 7--SKIPIF--
8<?php 8<?php
9include('skipifmysqli.inc'); 9include('skipifmysqli.inc');
10include('skipif.inc'); 10include('../skipif.inc');
11?> 11?>
12--FILE-- 12--FILE--
13<?php 13<?php
diff --git a/tests/sql/mysqli_user_match_ok.phpt b/tests/sql/mysqli_user_match_ok.phpt
index a2ad832..a1365ed 100644
--- a/tests/sql/mysqli_user_match_ok.phpt
+++ b/tests/sql/mysqli_user_match_ok.phpt
@@ -7,7 +7,7 @@ suhosin.log.stdout=32
7--SKIPIF-- 7--SKIPIF--
8<?php 8<?php
9include('skipifmysqli.inc'); 9include('skipifmysqli.inc');
10include('skipif.inc'); 10include('../skipif.inc');
11?> 11?>
12--FILE-- 12--FILE--
13<?php 13<?php
diff --git a/tests/sql/mysqli_user_postfix.phpt b/tests/sql/mysqli_user_postfix.phpt
index 11e3fe6..90be13f 100644
--- a/tests/sql/mysqli_user_postfix.phpt
+++ b/tests/sql/mysqli_user_postfix.phpt
@@ -7,7 +7,7 @@ suhosin.log.stdout=32
7--SKIPIF-- 7--SKIPIF--
8<?php 8<?php
9include('skipifmysqli.inc'); 9include('skipifmysqli.inc');
10include('skipif.inc'); 10include('../skipif.inc');
11?> 11?>
12--FILE-- 12--FILE--
13<?php 13<?php
diff --git a/tests/sql/mysqli_user_prefix.phpt b/tests/sql/mysqli_user_prefix.phpt
index bb229f0..5ec793f 100644
--- a/tests/sql/mysqli_user_prefix.phpt
+++ b/tests/sql/mysqli_user_prefix.phpt
@@ -7,7 +7,7 @@ suhosin.log.stdout=32
7--SKIPIF-- 7--SKIPIF--
8<?php 8<?php
9include('skipifmysqli.inc'); 9include('skipifmysqli.inc');
10include('skipif.inc'); 10include('../skipif.inc');
11?> 11?>
12--FILE-- 12--FILE--
13<?php 13<?php
diff --git a/tests/sql/skipifmysqli.inc b/tests/sql/skipifmysqli.inc
index ee16cf1..99c235d 100644
--- a/tests/sql/skipifmysqli.inc
+++ b/tests/sql/skipifmysqli.inc
@@ -2,4 +2,7 @@
2if (!extension_loaded("mysqli")) { 2if (!extension_loaded("mysqli")) {
3 die('skip - mysqli extension not available'); 3 die('skip - mysqli extension not available');
4} 4}
5if (!getenv("TEST_SUHOSIN_MYSQL")) {
6 die("skip TEST_SUHOSIN_MYSQL is not set");
7}
5?> \ No newline at end of file 8?> \ No newline at end of file
diff --git a/ufilter.c b/ufilter.c
index 28b61e1..b6c5986 100644
--- a/ufilter.c
+++ b/ufilter.c
@@ -167,19 +167,23 @@ return_failure:
167} 167}
168/* }}} */ 168/* }}} */
169 169
170static inline int suhosin_validate_utf8_multibyte(const char* cp) 170#ifdef SUHOSIN_EXPERIMENTAL
171static inline int suhosin_validate_utf8_multibyte(const char* cp, size_t maxlen)
171{ 172{
173 if (maxlen < 2 || !(*cp & 0x80)) { return 0; }
172 if ((*cp & 0xe0) == 0xc0 && // 1st byte is 110xxxxx 174 if ((*cp & 0xe0) == 0xc0 && // 1st byte is 110xxxxx
173 (*(cp+1) & 0xc0) == 0x80 && // 2nd byte is 10xxxxxx 175 (*(cp+1) & 0xc0) == 0x80 && // 2nd byte is 10xxxxxx
174 (*cp & 0x1e)) { // overlong check 110[xxxx]x 10xxxxxx 176 (*cp & 0x1e)) { // overlong check 110[xxxx]x 10xxxxxx
175 return 2; 177 return 2;
176 } 178 }
179 if (maxlen < 3) { return 0; }
177 if ((*cp & 0xf0) == 0xe0 && // 1st byte is 1110xxxx 180 if ((*cp & 0xf0) == 0xe0 && // 1st byte is 1110xxxx
178 (*(cp+1) & 0xc0) == 0x80 && // 2nd byte is 10xxxxxx 181 (*(cp+1) & 0xc0) == 0x80 && // 2nd byte is 10xxxxxx
179 (*(cp+2) & 0xc0) == 0x80 && // 3rd byte is 10xxxxxx 182 (*(cp+2) & 0xc0) == 0x80 && // 3rd byte is 10xxxxxx
180 ((*cp & 0x0f) | (*(cp+1) & 0x20))) { // 1110[xxxx] 10[x]xxxxx 10xxxxxx 183 ((*cp & 0x0f) | (*(cp+1) & 0x20))) { // 1110[xxxx] 10[x]xxxxx 10xxxxxx
181 return 3; 184 return 3;
182 } 185 }
186 if (maxlen < 4) { return 0; }
183 if ((*cp & 0xf8) == 0xf0 && // 1st byte is 11110xxx 187 if ((*cp & 0xf8) == 0xf0 && // 1st byte is 11110xxx
184 (*(cp+1) & 0xc0) == 0x80 && // 2nd byte is 10xxxxxx 188 (*(cp+1) & 0xc0) == 0x80 && // 2nd byte is 10xxxxxx
185 (*(cp+2) & 0xc0) == 0x80 && // 3rd byte is 10xxxxxx 189 (*(cp+2) & 0xc0) == 0x80 && // 3rd byte is 10xxxxxx
@@ -189,6 +193,7 @@ static inline int suhosin_validate_utf8_multibyte(const char* cp)
189 } 193 }
190 return 0; 194 return 0;
191} 195}
196#endif
192 197
193int suhosin_rfc1867_filter(unsigned int event, void *event_data, void **extra TSRMLS_DC) 198int suhosin_rfc1867_filter(unsigned int event, void *event_data, void **extra TSRMLS_DC)
194{ 199{
@@ -254,14 +259,15 @@ int suhosin_rfc1867_filter(unsigned int event, void *event_data, void **extra TS
254 if (*cp >= 32 || isspace(*cp)) { 259 if (*cp >= 32 || isspace(*cp)) {
255 continue; 260 continue;
256 } 261 }
262#ifdef SUHOSIN_EXPERIMENTAL
257 if ((*cp & 0x80) && SUHOSIN_G(upload_allow_utf8)) { 263 if ((*cp & 0x80) && SUHOSIN_G(upload_allow_utf8)) {
258 SDEBUG("checking char %x", *cp); 264 SDEBUG("checking char %x", *cp);
259 if ((n = suhosin_validate_utf8_multibyte(cp))) { // valid UTF8 multibyte character 265 if ((n = suhosin_validate_utf8_multibyte(cp, cpend-cp))) { // valid UTF8 multibyte character
260 cp += n - 1; 266 cp += n - 1;
261 continue; 267 continue;
262 } 268 }
263 } 269 }
264 270#endif
265 suhosin_log(S_FILES, "uploaded file contains binary data - file dropped"); 271 suhosin_log(S_FILES, "uploaded file contains binary data - file dropped");
266 if (!SUHOSIN_G(simulation)) { 272 if (!SUHOSIN_G(simulation)) {
267 goto continue_with_failure; 273 goto continue_with_failure;
@@ -279,15 +285,17 @@ int suhosin_rfc1867_filter(unsigned int event, void *event_data, void **extra TS
279 for (i=0, j=0; i<mefd->length; i++) { 285 for (i=0, j=0; i<mefd->length; i++) {
280 if (mefd->data[i] >= 32 || isspace(mefd->data[i])) { 286 if (mefd->data[i] >= 32 || isspace(mefd->data[i])) {
281 mefd->data[j++] = mefd->data[i]; 287 mefd->data[j++] = mefd->data[i];
282 } else if (SUHOSIN_G(upload_allow_utf8) && mefd->data[i] & 0x80) { 288 }
283 n = suhosin_validate_utf8_multibyte(mefd->data + i); 289#ifdef SUHOSIN_EXPERIMENTAL
290 else if (SUHOSIN_G(upload_allow_utf8) && mefd->data[i] & 0x80) {
291 n = suhosin_validate_utf8_multibyte(mefd->data + i, mefd->length - i);
284 if (!n) { continue; } 292 if (!n) { continue; }
285 while (n) { 293 while (n--) {
286 mefd->data[j++] = mefd->data[i++]; 294 mefd->data[j++] = mefd->data[i++];
287 n--;
288 } 295 }
289 i--; 296 i--;
290 } 297 }
298#endif
291 } 299 }
292 mefd->data[j] = '\0'; 300 mefd->data[j] = '\0';
293 301