summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/source/config.rst2
-rw-r--r--src/tests/disable_function/config/disabled_function_local_var.ini18
-rw-r--r--src/tests/disable_function/config/disabled_function_local_var_2.ini2
-rw-r--r--src/tests/disable_function/config/disabled_function_local_var_const.ini2
-rw-r--r--src/tests/disable_function/config/disabled_function_local_var_obj.ini6
-rw-r--r--src/tests/disable_function/config/disabled_function_super_global_var.ini2
-rw-r--r--src/tests/disable_function/config/disabled_functions_mb.ini2
-rw-r--r--src/tests/disable_function/config/disabled_functions_pos.ini2
-rw-r--r--src/tests/disable_function/config/disabled_functions_ret_type_long.ini2
-rw-r--r--src/tests/disable_function/disabled_function_local_var.phpt6
-rw-r--r--src/tests/disable_function/disabled_function_local_var_10.phpt6
-rw-r--r--src/tests/disable_function/disabled_function_local_var_2.phpt8
-rw-r--r--src/tests/disable_function/disabled_function_local_var_3.phpt6
-rw-r--r--src/tests/disable_function/disabled_function_local_var_4.phpt4
-rw-r--r--src/tests/disable_function/disabled_function_local_var_5.phpt6
-rw-r--r--src/tests/disable_function/disabled_function_local_var_6.phpt4
-rw-r--r--src/tests/disable_function/disabled_function_local_var_7.phpt4
-rw-r--r--src/tests/disable_function/disabled_function_local_var_8.phpt4
-rw-r--r--src/tests/disable_function/disabled_function_local_var_9.phpt4
-rw-r--r--src/tests/disable_function/disabled_function_local_var_const.phpt4
-rw-r--r--src/tests/disable_function/disabled_function_local_var_crash.phpt4
-rw-r--r--src/tests/disable_function/disabled_function_local_var_obj.phpt8
-rw-r--r--src/tests/disable_function/disabled_function_super_global_var.phpt6
-rw-r--r--src/tests/disable_function/disabled_functions_mb.phpt4
-rw-r--r--src/tests/disable_function/disabled_functions_param_pos2.phpt6
-rw-r--r--src/tests/disable_function/disabled_functions_regexp_multiple.phpt8
-rw-r--r--src/tests/disable_function/disabled_functions_ret_type_long.phpt4
-rw-r--r--src/tests/dump_request/config/dump_eval_blacklist.ini2
-rw-r--r--src/tests/dump_request/dump_eval_blacklist.phpt10
-rw-r--r--src/tests/eval_blacklist/config/eval_backlist.ini2
-rw-r--r--src/tests/eval_blacklist/config/eval_backlist_list.ini2
-rw-r--r--src/tests/eval_blacklist/config/eval_backlist_simulation.ini2
-rw-r--r--src/tests/eval_blacklist/eval_backlist.phpt8
-rw-r--r--src/tests/eval_blacklist/eval_backlist_call_user_func.phpt4
-rw-r--r--src/tests/eval_blacklist/eval_backlist_chained.phpt4
-rw-r--r--src/tests/eval_blacklist/eval_backlist_list.phpt8
-rw-r--r--src/tests/eval_blacklist/eval_backlist_simulation.phpt10
-rw-r--r--src/tests/eval_blacklist/nested_eval_blacklist.phpt8
-rw-r--r--src/tests/eval_blacklist/nested_eval_blacklist2.phpt8
39 files changed, 102 insertions, 100 deletions
diff --git a/doc/source/config.rst b/doc/source/config.rst
index 5f28532..89e063f 100644
--- a/doc/source/config.rst
+++ b/doc/source/config.rst
@@ -342,6 +342,8 @@ It's currently not possible to:
342 without hooking the other, at least 342 without hooking the other, at least
343 `for now <https://github.com/nbs-system/snuffleupagus/issues/190>`__). 343 `for now <https://github.com/nbs-system/snuffleupagus/issues/190>`__).
344 This is why hooked ``print`` will be displayed as ``echo`` in the logs. 344 This is why hooked ``print`` will be displayed as ``echo`` in the logs.
345- Hook `strlen`, since in latest PHP versions, this function is usually
346 optimized away by the compiled.
345 347
346 348
347Examples 349Examples
diff --git a/src/tests/disable_function/config/disabled_function_local_var.ini b/src/tests/disable_function/config/disabled_function_local_var.ini
index 3d553c0..81b6771 100644
--- a/src/tests/disable_function/config/disabled_function_local_var.ini
+++ b/src/tests/disable_function/config/disabled_function_local_var.ini
@@ -1,10 +1,10 @@
1sp.disable_function.function("phpinfo").var("$b").value("1337").drop(); 1sp.disable_function.function("phpinfo").var("$b").value("1337").drop();
2sp.disable_function.function("strlen").var("$a").value("1337").drop(); 2sp.disable_function.function("strtoupper").var("$a").value("1337").drop();
3sp.disable_function.function("strlen").var("$a['123']").value("block").drop(); 3sp.disable_function.function("strtoupper").var("$a['123']").value("block").drop();
4sp.disable_function.function("strlen").var("$a[$c]->prop").value("block").drop(); 4sp.disable_function.function("strtoupper").var("$a[$c]->prop").value("block").drop();
5sp.disable_function.function("strlen").var("$a->zxc").value("not a good value").drop(); 5sp.disable_function.function("strtoupper").var("$a->zxc").value("not a good value").drop();
6sp.disable_function.function("strlen").var("\\asd\\test_object::TEST_VALUE['constant']").value("no good").drop(); 6sp.disable_function.function("strtoupper").var("\\asd\\test_object::TEST_VALUE['constant']").value("no good").drop();
7sp.disable_function.function("strlen").var("\\asd\\test_object::TEST_VALUE").value("qwerty").drop(); 7sp.disable_function.function("strtoupper").var("\\asd\\test_object::TEST_VALUE").value("qwerty").drop();
8sp.disable_function.function("strlen").var("\\qwe\\ASD").value("qwerty").drop(); 8sp.disable_function.function("strtoupper").var("\\qwe\\ASD").value("qwerty").drop();
9sp.disable_function.function("strlen").var("\\qwe\\QWE['123']").value("asdfgh").drop(); 9sp.disable_function.function("strtoupper").var("\\qwe\\QWE['123']").value("asdfgh").drop();
10sp.disable_function.function("strlen").var("$qwe").value("block this").drop(); 10sp.disable_function.function("strtoupper").var("$qwe").value("block this").drop();
diff --git a/src/tests/disable_function/config/disabled_function_local_var_2.ini b/src/tests/disable_function/config/disabled_function_local_var_2.ini
index 6c0ae66..34dd8d1 100644
--- a/src/tests/disable_function/config/disabled_function_local_var_2.ini
+++ b/src/tests/disable_function/config/disabled_function_local_var_2.ini
@@ -1 +1 @@
sp.disable_function.function("strlen").var("$b['_GET][\"obj->nop::qwe'][$b[456][$d->$idk->qwe[\\qwe\\UNE_CONSTANTE]]][$a]->uio").value("valeur de apres").drop(); sp.disable_function.function("strtoupper").var("$b['_GET][\"obj->nop::qwe'][$b[456][$d->$idk->qwe[\\qwe\\UNE_CONSTANTE]]][$a]->uio").value("valeur de apres").drop();
diff --git a/src/tests/disable_function/config/disabled_function_local_var_const.ini b/src/tests/disable_function/config/disabled_function_local_var_const.ini
index 8450de5..884750d 100644
--- a/src/tests/disable_function/config/disabled_function_local_var_const.ini
+++ b/src/tests/disable_function/config/disabled_function_local_var_const.ini
@@ -1 +1 @@
sp.disable_function.function("strlen").var("MY_CONST").value("1337").drop(); sp.disable_function.function("strtoupper").var("MY_CONST").value("1337").drop();
diff --git a/src/tests/disable_function/config/disabled_function_local_var_obj.ini b/src/tests/disable_function/config/disabled_function_local_var_obj.ini
index df6b617..65c4a11 100644
--- a/src/tests/disable_function/config/disabled_function_local_var_obj.ini
+++ b/src/tests/disable_function/config/disabled_function_local_var_obj.ini
@@ -1,3 +1,3 @@
1sp.disable_function.function("strlen").var("$test->$test_array").value("value").drop(); 1sp.disable_function.function("strtoupper").var("$test->$test_array").value("value").drop();
2sp.disable_function.function("strlen").var("$arg->$test_array").value("value").drop(); 2sp.disable_function.function("strtoupper").var("$arg->$test_array").value("value").drop();
3sp.disable_function.function("strlen").var("$test->$arg").value("nop_object").drop(); 3sp.disable_function.function("strtoupper").var("$test->$arg").value("nop_object").drop();
diff --git a/src/tests/disable_function/config/disabled_function_super_global_var.ini b/src/tests/disable_function/config/disabled_function_super_global_var.ini
index 178a01a..5bb2d04 100644
--- a/src/tests/disable_function/config/disabled_function_super_global_var.ini
+++ b/src/tests/disable_function/config/disabled_function_super_global_var.ini
@@ -1 +1 @@
sp.disable_function.function("strlen").var("$_GET[bla]").value("test2").drop(); sp.disable_function.function("strtoupper").var("$_GET[bla]").value("test2").drop();
diff --git a/src/tests/disable_function/config/disabled_functions_mb.ini b/src/tests/disable_function/config/disabled_functions_mb.ini
index 36eae40..f365063 100644
--- a/src/tests/disable_function/config/disabled_functions_mb.ini
+++ b/src/tests/disable_function/config/disabled_functions_mb.ini
@@ -1,2 +1,2 @@
1sp.disable_function.function("strlen").drop(); 1sp.disable_function.function("strtoupper").drop();
2sp.disable_function.function("mb_strlen").drop(); 2sp.disable_function.function("mb_strlen").drop();
diff --git a/src/tests/disable_function/config/disabled_functions_pos.ini b/src/tests/disable_function/config/disabled_functions_pos.ini
index 7f7c04d..f4c1e05 100644
--- a/src/tests/disable_function/config/disabled_functions_pos.ini
+++ b/src/tests/disable_function/config/disabled_functions_pos.ini
@@ -1,4 +1,4 @@
1sp.disable_function.function("system").pos("1337").value("id").drop(); 1sp.disable_function.function("system").pos("1337").value("id").drop();
2sp.disable_function.function("system").pos("0").value("id").drop(); 2sp.disable_function.function("system").pos("0").value("id").drop();
3sp.disable_function.function("system").pos("1").param_type("ARRAY").alias("1").drop(); 3sp.disable_function.function("system").pos("1").param_type("ARRAY").alias("1").drop();
4sp.disable_function.function("strlen").pos("0").value("id").alias("strlen array").drop(); 4sp.disable_function.function("strtoupper").pos("0").value("id").alias("strlen array").drop();
diff --git a/src/tests/disable_function/config/disabled_functions_ret_type_long.ini b/src/tests/disable_function/config/disabled_functions_ret_type_long.ini
index 03abf8a..c68332b 100644
--- a/src/tests/disable_function/config/disabled_functions_ret_type_long.ini
+++ b/src/tests/disable_function/config/disabled_functions_ret_type_long.ini
@@ -1 +1 @@
sp.disable_function.function("strlen").ret_type("long").drop().alias("Return value is a long"); sp.disable_function.function("strpos").ret_type("long").drop().alias("Return value is a long");
diff --git a/src/tests/disable_function/disabled_function_local_var.phpt b/src/tests/disable_function/disabled_function_local_var.phpt
index 99b2b08..58dc2ea 100644
--- a/src/tests/disable_function/disabled_function_local_var.phpt
+++ b/src/tests/disable_function/disabled_function_local_var.phpt
@@ -8,7 +8,7 @@ sp.configuration_file={PWD}/config/disabled_function_local_var.ini
8<?php 8<?php
9$a = 1338; 9$a = 1338;
10function test(){ 10function test(){
11 echo strlen("id") . "\n"; 11 echo strtoupper("id") . "\n";
12} 12}
13echo "Value of a: $a\n"; 13echo "Value of a: $a\n";
14test(); 14test();
@@ -19,7 +19,7 @@ test();
19?> 19?>
20--EXPECTF-- 20--EXPECTF--
21Value of a: 1338 21Value of a: 1338
222 22ID
23Value of a: 1337 23Value of a: 1337
24 24
25Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var.php on line 4 \ No newline at end of file 25Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strtoupper' in %a/disabled_function_local_var.php on line 4
diff --git a/src/tests/disable_function/disabled_function_local_var_10.phpt b/src/tests/disable_function/disabled_function_local_var_10.phpt
index 4902972..e50a5a4 100644
--- a/src/tests/disable_function/disabled_function_local_var_10.phpt
+++ b/src/tests/disable_function/disabled_function_local_var_10.phpt
@@ -8,10 +8,10 @@ sp.configuration_file={PWD}/config/disabled_function_local_var.ini
8<?php 8<?php
9$qwe = Array('123' => Array('qwe'), '456' => Array('no block this')); 9$qwe = Array('123' => Array('qwe'), '456' => Array('no block this'));
10var_dump($qwe); 10var_dump($qwe);
11strlen("qwe"); 11strtoupper("qwe");
12$qwe = Array('123' => Array('qwe'), '456' => Array(Array('block this'))); 12$qwe = Array('123' => Array('qwe'), '456' => Array(Array('block this')));
13var_dump($qwe); 13var_dump($qwe);
14strlen("qwe"); 14strtoupper("qwe");
15?> 15?>
16--EXPECTF-- 16--EXPECTF--
17array(2) { 17array(2) {
@@ -42,4 +42,4 @@ array(2) {
42 } 42 }
43} 43}
44 44
45Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var_10.php on line 7 \ No newline at end of file 45Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strtoupper' in %a/disabled_function_local_var_10.php on line 7 \ No newline at end of file
diff --git a/src/tests/disable_function/disabled_function_local_var_2.phpt b/src/tests/disable_function/disabled_function_local_var_2.phpt
index 5b21d07..5a186cd 100644
--- a/src/tests/disable_function/disabled_function_local_var_2.phpt
+++ b/src/tests/disable_function/disabled_function_local_var_2.phpt
@@ -8,7 +8,7 @@ sp.configuration_file={PWD}/config/disabled_function_local_var.ini
8<?php 8<?php
9$a = 1338; 9$a = 1338;
10function test(){ 10function test(){
11 echo strlen("id") . "\n"; 11 echo strtoupper("id") . "\n";
12} 12}
13echo "Value of a: $a\n"; 13echo "Value of a: $a\n";
14test(); 14test();
@@ -27,7 +27,7 @@ test();
27?> 27?>
28--EXPECTF-- 28--EXPECTF--
29Value of a: 1338 29Value of a: 1338
302 30ID
31Value of a: 31Value of a:
32array(2) { 32array(2) {
33 ["qwe"]=> 33 ["qwe"]=>
@@ -35,7 +35,7 @@ array(2) {
35 [123]=> 35 [123]=>
36 string(3) "nop" 36 string(3) "nop"
37} 37}
382 38ID
39Value of a: 39Value of a:
40array(2) { 40array(2) {
41 ["qwe"]=> 41 ["qwe"]=>
@@ -44,4 +44,4 @@ array(2) {
44 string(5) "block" 44 string(5) "block"
45} 45}
46 46
47Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var_2.php on line 4 \ No newline at end of file 47Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strtoupper' in %a/disabled_function_local_var_2.php on line 4
diff --git a/src/tests/disable_function/disabled_function_local_var_3.phpt b/src/tests/disable_function/disabled_function_local_var_3.phpt
index 597be1d..6399a1e 100644
--- a/src/tests/disable_function/disabled_function_local_var_3.phpt
+++ b/src/tests/disable_function/disabled_function_local_var_3.phpt
@@ -7,7 +7,7 @@ sp.configuration_file={PWD}/config/disabled_function_local_var.ini
7--FILE-- 7--FILE--
8<?php 8<?php
9function test(){ 9function test(){
10 echo strlen("id") . "\n"; 10 echo strtoupper("id") . "\n";
11} 11}
12 12
13$a = Array(); 13$a = Array();
@@ -31,7 +31,7 @@ array(2) {
31 [123]=> 31 [123]=>
32 string(3) "nop" 32 string(3) "nop"
33} 33}
342 34ID
35Value of a: 35Value of a:
36array(2) { 36array(2) {
37 ["qwe"]=> 37 ["qwe"]=>
@@ -43,4 +43,4 @@ array(2) {
43 } 43 }
44} 44}
45 45
46Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var_3.php on line 3 \ No newline at end of file 46Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strtoupper' in %a/disabled_function_local_var_3.php on line 3
diff --git a/src/tests/disable_function/disabled_function_local_var_4.phpt b/src/tests/disable_function/disabled_function_local_var_4.phpt
index b441576..f0b1291 100644
--- a/src/tests/disable_function/disabled_function_local_var_4.phpt
+++ b/src/tests/disable_function/disabled_function_local_var_4.phpt
@@ -40,7 +40,7 @@ class test_object {
40$d = new test_object($c); 40$d = new test_object($c);
41$a = 1338; 41$a = 1338;
42function test(){ 42function test(){
43 strlen("qwe"); 43 strtoupper("qwe");
44} 44}
45echo "Valeur: " . $b['_GET]["obj->nop::qwe']["qwe"][$a]->uio . "\n"; 45echo "Valeur: " . $b['_GET]["obj->nop::qwe']["qwe"][$a]->uio . "\n";
46test(); 46test();
@@ -54,4 +54,4 @@ test();
54Valeur: valeur de a 54Valeur: valeur de a
55Valeur: valeur de apres 55Valeur: valeur de apres
56 56
57Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var_4.php on line 36 \ No newline at end of file 57Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strtoupper' in %a/disabled_function_local_var_4.php on line 36 \ No newline at end of file
diff --git a/src/tests/disable_function/disabled_function_local_var_5.phpt b/src/tests/disable_function/disabled_function_local_var_5.phpt
index 602e96e..431bbf9 100644
--- a/src/tests/disable_function/disabled_function_local_var_5.phpt
+++ b/src/tests/disable_function/disabled_function_local_var_5.phpt
@@ -7,7 +7,7 @@ sp.configuration_file={PWD}/config/disabled_function_local_var.ini
7--FILE-- 7--FILE--
8<?php 8<?php
9function test(){ 9function test(){
10 echo strlen("id") . "\n"; 10 echo strtoupper("id") . "\n";
11} 11}
12 12
13$a = Array(); 13$a = Array();
@@ -24,11 +24,11 @@ test();
24Value of a: 24Value of a:
25array(0) { 25array(0) {
26} 26}
272 27ID
28Value of a: 28Value of a:
29object(stdClass)#1 (1) { 29object(stdClass)#1 (1) {
30 ["zxc"]=> 30 ["zxc"]=>
31 string(16) "not a good value" 31 string(16) "not a good value"
32} 32}
33 33
34Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var_5.php on line 3 \ No newline at end of file 34Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strtoupper' in %a/disabled_function_local_var_5.php on line 3
diff --git a/src/tests/disable_function/disabled_function_local_var_6.phpt b/src/tests/disable_function/disabled_function_local_var_6.phpt
index 1866353..0bb9f6d 100644
--- a/src/tests/disable_function/disabled_function_local_var_6.phpt
+++ b/src/tests/disable_function/disabled_function_local_var_6.phpt
@@ -8,7 +8,7 @@ sp.configuration_file={PWD}/config/disabled_function_local_var.ini
8<?php 8<?php
9namespace asd { 9namespace asd {
10function test(){ 10function test(){
11 strlen("qwe"); 11 strtoupper("qwe");
12} 12}
13echo "Valeur: " . \asd\test_object::TEST_VALUE['constant'] . "\n"; 13echo "Valeur: " . \asd\test_object::TEST_VALUE['constant'] . "\n";
14test(); 14test();
@@ -29,4 +29,4 @@ class test_object {
29--EXPECTF-- 29--EXPECTF--
30Valeur: no good 30Valeur: no good
31 31
32Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var_6.php on line 4 \ No newline at end of file 32Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strtoupper' in %a/disabled_function_local_var_6.php on line 4 \ No newline at end of file
diff --git a/src/tests/disable_function/disabled_function_local_var_7.phpt b/src/tests/disable_function/disabled_function_local_var_7.phpt
index e615a80..d5c74ba 100644
--- a/src/tests/disable_function/disabled_function_local_var_7.phpt
+++ b/src/tests/disable_function/disabled_function_local_var_7.phpt
@@ -8,7 +8,7 @@ sp.configuration_file={PWD}/config/disabled_function_local_var.ini
8<?php 8<?php
9namespace asd { 9namespace asd {
10function test(){ 10function test(){
11 strlen("qwe"); 11 strtoupper("qwe");
12} 12}
13echo "Valeur: " . \asd\test_object::TEST_VALUE . "\n"; 13echo "Valeur: " . \asd\test_object::TEST_VALUE . "\n";
14test(); 14test();
@@ -29,4 +29,4 @@ class test_object {
29--EXPECTF-- 29--EXPECTF--
30Valeur: qwerty 30Valeur: qwerty
31 31
32Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var_7.php on line 4 \ No newline at end of file 32Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strtoupper' in %a/disabled_function_local_var_7.php on line 4 \ No newline at end of file
diff --git a/src/tests/disable_function/disabled_function_local_var_8.phpt b/src/tests/disable_function/disabled_function_local_var_8.phpt
index 1f1a0dc..436cca2 100644
--- a/src/tests/disable_function/disabled_function_local_var_8.phpt
+++ b/src/tests/disable_function/disabled_function_local_var_8.phpt
@@ -12,10 +12,10 @@ namespace qwe {
12namespace asd { 12namespace asd {
13 const asd = 'qwe'; 13 const asd = 'qwe';
14 echo "Valeur: " . \qwe\ASD . "\n"; 14 echo "Valeur: " . \qwe\ASD . "\n";
15 strlen("qwe"); 15 strtoupper("qwe");
16} 16}
17?> 17?>
18--EXPECTF-- 18--EXPECTF--
19Valeur: qwerty 19Valeur: qwerty
20 20
21Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var_8.php on line 8 \ No newline at end of file 21Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strtoupper' in %a/disabled_function_local_var_8.php on line 8 \ No newline at end of file
diff --git a/src/tests/disable_function/disabled_function_local_var_9.phpt b/src/tests/disable_function/disabled_function_local_var_9.phpt
index 458d878..5844458 100644
--- a/src/tests/disable_function/disabled_function_local_var_9.phpt
+++ b/src/tests/disable_function/disabled_function_local_var_9.phpt
@@ -12,10 +12,10 @@ namespace qwe {
12namespace asd { 12namespace asd {
13 const asd = 'qwe'; 13 const asd = 'qwe';
14 echo "Valeur: " . \qwe\QWE[123]. "\n"; 14 echo "Valeur: " . \qwe\QWE[123]. "\n";
15 strlen("qwe"); 15 strtoupper("qwe");
16} 16}
17?> 17?>
18--EXPECTF-- 18--EXPECTF--
19Valeur: asdfgh 19Valeur: asdfgh
20 20
21Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var_9.php on line 8 \ No newline at end of file 21Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strtoupper' in %a/disabled_function_local_var_9.php on line 8 \ No newline at end of file
diff --git a/src/tests/disable_function/disabled_function_local_var_const.phpt b/src/tests/disable_function/disabled_function_local_var_const.phpt
index 8d9d58a..2013f6d 100644
--- a/src/tests/disable_function/disabled_function_local_var_const.phpt
+++ b/src/tests/disable_function/disabled_function_local_var_const.phpt
@@ -8,7 +8,7 @@ sp.configuration_file={PWD}/config/disabled_function_local_var_const.ini
8<?php 8<?php
9$a = 1337; 9$a = 1337;
10define("MY_CONST", $a); 10define("MY_CONST", $a);
11strlen("test"); 11strtoupper("test");
12?> 12?>
13--EXPECTF-- 13--EXPECTF--
14Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var_const.php on line 4 \ No newline at end of file 14Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strtoupper' in %a/disabled_function_local_var_const.php on line 4 \ No newline at end of file
diff --git a/src/tests/disable_function/disabled_function_local_var_crash.phpt b/src/tests/disable_function/disabled_function_local_var_crash.phpt
index 8dec946..3381b6c 100644
--- a/src/tests/disable_function/disabled_function_local_var_crash.phpt
+++ b/src/tests/disable_function/disabled_function_local_var_crash.phpt
@@ -7,12 +7,12 @@ sp.configuration_file={PWD}/config/disabled_function_local_var.ini
7--FILE-- 7--FILE--
8<?php 8<?php
9function test(){ 9function test(){
10 echo strlen("id") . "\n"; 10 echo strtoupper("id") . "\n";
11} 11}
12ob_start(test()); 12ob_start(test());
13echo "test\n"; 13echo "test\n";
14?> 14?>
15--EXPECTF-- 15--EXPECTF--
162 16ID
17test 17test
18 18
diff --git a/src/tests/disable_function/disabled_function_local_var_obj.phpt b/src/tests/disable_function/disabled_function_local_var_obj.phpt
index 29d57cc..89e423a 100644
--- a/src/tests/disable_function/disabled_function_local_var_obj.phpt
+++ b/src/tests/disable_function/disabled_function_local_var_obj.phpt
@@ -16,11 +16,11 @@ class test_class {
16$test_array = ['qwe']; 16$test_array = ['qwe'];
17$arg = 'qwe'; 17$arg = 'qwe';
18$test = new test_class('qwe', 'qwe'); 18$test = new test_class('qwe', 'qwe');
19echo strlen($test->$arg) . "\n"; 19echo strtoupper($test->$arg) . "\n";
20$test = new test_class('qwe', 'nop_object'); 20$test = new test_class('qwe', 'nop_object');
21echo strlen($test->$arg) . "\n"; 21echo strtoupper($test->$arg) . "\n";
22?> 22?>
23--EXPECTF-- 23--EXPECTF--
243 24QWE
25 25
26Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var_obj.php on line 14 \ No newline at end of file 26Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strtoupper' in %a/disabled_function_local_var_obj.php on line 14
diff --git a/src/tests/disable_function/disabled_function_super_global_var.phpt b/src/tests/disable_function/disabled_function_super_global_var.phpt
index d97194a..196d9e2 100644
--- a/src/tests/disable_function/disabled_function_super_global_var.phpt
+++ b/src/tests/disable_function/disabled_function_super_global_var.phpt
@@ -9,13 +9,13 @@ bla=test
9--FILE-- 9--FILE--
10<?php 10<?php
11function test(){ 11function test(){
12 echo strlen($_GET['bla']) . "\n"; 12 echo strtoupper($_GET['bla']) . "\n";
13} 13}
14test(); 14test();
15$_GET['bla'] = 'test2'; 15$_GET['bla'] = 'test2';
16test(); 16test();
17?> 17?>
18--EXPECTF-- 18--EXPECTF--
194 19TEST
20 20
21Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_super_global_var.php on line 3 21Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strtoupper' in %a/disabled_function_super_global_var.php on line 3
diff --git a/src/tests/disable_function/disabled_functions_mb.phpt b/src/tests/disable_function/disabled_functions_mb.phpt
index a2fd99e..923de8e 100644
--- a/src/tests/disable_function/disabled_functions_mb.phpt
+++ b/src/tests/disable_function/disabled_functions_mb.phpt
@@ -6,7 +6,7 @@ Disable functions
6sp.configuration_file={PWD}/config/disabled_functions_mb.ini 6sp.configuration_file={PWD}/config/disabled_functions_mb.ini
7--FILE-- 7--FILE--
8<?php 8<?php
9echo strlen("id"); 9echo strtoupper("id");
10?> 10?>
11--EXPECTF-- 11--EXPECTF--
12Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_functions_mb.php on line 2 \ No newline at end of file 12Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strtoupper' in %a/disabled_functions_mb.php on line 2 \ No newline at end of file
diff --git a/src/tests/disable_function/disabled_functions_param_pos2.phpt b/src/tests/disable_function/disabled_functions_param_pos2.phpt
index 87e18c0..7134fdd 100644
--- a/src/tests/disable_function/disabled_functions_param_pos2.phpt
+++ b/src/tests/disable_function/disabled_functions_param_pos2.phpt
@@ -6,8 +6,8 @@ Disable functions - match on argument's position, not the first time
6sp.configuration_file={PWD}/config/disabled_functions_pos.ini 6sp.configuration_file={PWD}/config/disabled_functions_pos.ini
7--FILE-- 7--FILE--
8<?php 8<?php
9strlen("od"); 9strtoupper("od");
10strlen("id"); 10strtoupper("id");
11?> 11?>
12--EXPECTF-- 12--EXPECTF--
13Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen', because its argument 'str' content (id) matched the rule 'strlen array' in %a/disabled_functions_param_pos2.php on line 3 \ No newline at end of file 13Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strtoupper', because its argument 'str' content (id) matched the rule 'strlen array' in %a/disabled_functions_param_pos2.php on line 3 \ No newline at end of file
diff --git a/src/tests/disable_function/disabled_functions_regexp_multiple.phpt b/src/tests/disable_function/disabled_functions_regexp_multiple.phpt
index 79f1fc7..5f68a00 100644
--- a/src/tests/disable_function/disabled_functions_regexp_multiple.phpt
+++ b/src/tests/disable_function/disabled_functions_regexp_multiple.phpt
@@ -6,14 +6,14 @@ Disable functions
6sp.configuration_file={PWD}/config/disabled_functions_regexp.ini 6sp.configuration_file={PWD}/config/disabled_functions_regexp.ini
7--FILE-- 7--FILE--
8<?php 8<?php
9echo strlen("id") . "\n"; 9echo strtoupper("id") . "\n";
10echo strcmp("1", "2") . "\n"; 10echo strcmp("1", "2") . "\n";
11print("After") . "\n"; 11print("After") . "\n";
12?> 12?>
13--EXPECTF-- 13--EXPECTF--
14Warning: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_functions_regexp_multiple.php on line 2 14Warning: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strtoupper' in %a/disabled_functions_regexp_multiple.php on line 2
152 15ID
16 16
17Warning: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strcmp' in %a/disabled_functions_regexp_multiple.php on line 3 17Warning: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strcmp' in %a/disabled_functions_regexp_multiple.php on line 3
18-1 18-1
19After \ No newline at end of file 19After
diff --git a/src/tests/disable_function/disabled_functions_ret_type_long.phpt b/src/tests/disable_function/disabled_functions_ret_type_long.phpt
index c389533..cc78299 100644
--- a/src/tests/disable_function/disabled_functions_ret_type_long.phpt
+++ b/src/tests/disable_function/disabled_functions_ret_type_long.phpt
@@ -6,7 +6,7 @@ Disable functions check on `ret` by type matching (long).
6sp.configuration_file={PWD}/config/disabled_functions_ret_type_long.ini 6sp.configuration_file={PWD}/config/disabled_functions_ret_type_long.ini
7--FILE-- 7--FILE--
8<?php 8<?php
9echo strlen("pouet") . "\n"; 9echo strpos("pouet", "o") . "\n";
10?> 10?>
11--EXPECTF-- 11--EXPECTF--
12Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'strlen', because the function returned '5', which matched the rule 'Return value is a long' in %a/disabled_functions_ret_type_long.php on line 2 \ No newline at end of file 12Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'strpos', because the function returned '1', which matched the rule 'Return value is a long' in %a/disabled_functions_ret_type_long.php on line 2
diff --git a/src/tests/dump_request/config/dump_eval_blacklist.ini b/src/tests/dump_request/config/dump_eval_blacklist.ini
index 503143a..52e0202 100644
--- a/src/tests/dump_request/config/dump_eval_blacklist.ini
+++ b/src/tests/dump_request/config/dump_eval_blacklist.ini
@@ -1 +1 @@
sp.eval_blacklist.list("strlen").dump("/tmp/dump_result/").simulation(); sp.eval_blacklist.list("strtoupper").dump("/tmp/dump_result/").simulation();
diff --git a/src/tests/dump_request/dump_eval_blacklist.phpt b/src/tests/dump_request/dump_eval_blacklist.phpt
index a28f34b..459a584 100644
--- a/src/tests/dump_request/dump_eval_blacklist.phpt
+++ b/src/tests/dump_request/dump_eval_blacklist.phpt
@@ -19,9 +19,9 @@ foreach (glob("/tmp/dump_result/sp_dump.*") as $dump) {
19 @unlink($dump); 19 @unlink($dump);
20} 20}
21 21
22$a = strlen("1337 1337 1337"); 22$a = strtoupper("1337 1337 1337");
23echo "Outside of eval: $a\n"; 23echo "Outside of eval: $a\n";
24eval('$a = strlen("1234");'); 24eval('$a = strtoupper("1234");');
25echo "After eval: $a\n"; 25echo "After eval: $a\n";
26$filename = glob('/tmp/dump_result/sp_dump.*')[0]; 26$filename = glob('/tmp/dump_result/sp_dump.*')[0];
27$res = file($filename); 27$res = file($filename);
@@ -34,7 +34,7 @@ if ($res[2] != "GET:get_a='data_get_a' get_b='data_get_b' \n") {
34} 34}
35?> 35?>
36--EXPECTF-- 36--EXPECTF--
37Outside of eval: 14 37Outside of eval: 1337 1337 1337
38 38
39Warning: [snuffleupagus][eval] A call to strlen was tried in eval, in %a/dump_eval_blacklist.php:1, logging it. in %a/dump_eval_blacklist.php(9) : eval()'d code on line 1 39Warning: [snuffleupagus][eval] A call to strtoupper was tried in eval, in %a/dump_eval_blacklist.php:1, logging it. in %a/dump_eval_blacklist.php(9) : eval()'d code on line 1
40After eval: 4 40After eval: 1234
diff --git a/src/tests/eval_blacklist/config/eval_backlist.ini b/src/tests/eval_blacklist/config/eval_backlist.ini
index b181598..53c2801 100644
--- a/src/tests/eval_blacklist/config/eval_backlist.ini
+++ b/src/tests/eval_blacklist/config/eval_backlist.ini
@@ -1 +1 @@
sp.eval_blacklist.list("strlen"); sp.eval_blacklist.list("strtoupper");
diff --git a/src/tests/eval_blacklist/config/eval_backlist_list.ini b/src/tests/eval_blacklist/config/eval_backlist_list.ini
index b395d03..ffa281e 100644
--- a/src/tests/eval_blacklist/config/eval_backlist_list.ini
+++ b/src/tests/eval_blacklist/config/eval_backlist_list.ini
@@ -1 +1 @@
sp.eval_blacklist.list("strcmp,strlen"); sp.eval_blacklist.list("strcmp,strtoupper,strlen");
diff --git a/src/tests/eval_blacklist/config/eval_backlist_simulation.ini b/src/tests/eval_blacklist/config/eval_backlist_simulation.ini
index 2d8dc73..bb8b5dd 100644
--- a/src/tests/eval_blacklist/config/eval_backlist_simulation.ini
+++ b/src/tests/eval_blacklist/config/eval_backlist_simulation.ini
@@ -1 +1 @@
sp.eval_blacklist.list("strlen").simulation(); sp.eval_blacklist.list("strtoupper").simulation();
diff --git a/src/tests/eval_blacklist/eval_backlist.phpt b/src/tests/eval_blacklist/eval_backlist.phpt
index f24af96..1dbe887 100644
--- a/src/tests/eval_blacklist/eval_backlist.phpt
+++ b/src/tests/eval_blacklist/eval_backlist.phpt
@@ -6,12 +6,12 @@ Eval blacklist
6sp.configuration_file={PWD}/config/eval_backlist.ini 6sp.configuration_file={PWD}/config/eval_backlist.ini
7--FILE-- 7--FILE--
8<?php 8<?php
9$a = strlen("1337 1337 1337"); 9$a = strtoupper("1337 1337 1337");
10echo "Outside of eval: $a\n"; 10echo "Outside of eval: $a\n";
11eval('$a = strlen("1234");'); 11eval('$a = strtoupper("1234");');
12echo "After eval: $a\n"; 12echo "After eval: $a\n";
13?> 13?>
14--EXPECTF-- 14--EXPECTF--
15Outside of eval: 14 15Outside of eval: 1337 1337 1337
16 16
17Fatal error: [snuffleupagus][eval] A call to strlen was tried in eval, in %a/eval_backlist.php:1, dropping it. in %a/eval_backlist.php(4) : eval()'d code on line 1 \ No newline at end of file 17Fatal error: [snuffleupagus][eval] A call to strtoupper was tried in eval, in %a/eval_backlist.php:1, dropping it. in %a/eval_backlist.php(4) : eval()'d code on line 1
diff --git a/src/tests/eval_blacklist/eval_backlist_call_user_func.phpt b/src/tests/eval_blacklist/eval_backlist_call_user_func.phpt
index 47e8d71..ac48515 100644
--- a/src/tests/eval_blacklist/eval_backlist_call_user_func.phpt
+++ b/src/tests/eval_blacklist/eval_backlist_call_user_func.phpt
@@ -7,8 +7,8 @@ sp.configuration_file={PWD}/config/eval_backlist.ini
7--FILE-- 7--FILE--
8<?php 8<?php
9eval(' 9eval('
10 call_user_func("strlen", 2); 10 call_user_func("strtoupper", 2);
11') 11')
12?> 12?>
13--EXPECTF-- 13--EXPECTF--
14Fatal error: [snuffleupagus][eval] A call to strlen was tried in eval, in %s/eval_backlist_call_user_func.php:%d, dropping it. in %s/eval_backlist_call_user_func.php(%d) : eval()'d code on line %d 14Fatal error: [snuffleupagus][eval] A call to strtoupper was tried in eval, in %s/eval_backlist_call_user_func.php:%d, dropping it. in %s/eval_backlist_call_user_func.php(%d) : eval()'d code on line %d
diff --git a/src/tests/eval_blacklist/eval_backlist_chained.phpt b/src/tests/eval_blacklist/eval_backlist_chained.phpt
index 2360e06..dc23857 100644
--- a/src/tests/eval_blacklist/eval_backlist_chained.phpt
+++ b/src/tests/eval_blacklist/eval_backlist_chained.phpt
@@ -8,9 +8,9 @@ sp.configuration_file={PWD}/config/eval_backlist.ini
8<?php 8<?php
9eval(' 9eval('
10 cos(1); 10 cos(1);
11 strlen(2); 11 strtoupper(2);
12 sin(3); 12 sin(3);
13') 13')
14?> 14?>
15--EXPECTF-- 15--EXPECTF--
16Fatal error: [snuffleupagus][eval] A call to strlen was tried in eval, in %s/eval_backlist_chained.php:%d, dropping it. in %s/eval_backlist_chained.php(%d) : eval()'d code on line %d 16Fatal error: [snuffleupagus][eval] A call to strtoupper was tried in eval, in %s/eval_backlist_chained.php:%d, dropping it. in %s/eval_backlist_chained.php(%d) : eval()'d code on line %d
diff --git a/src/tests/eval_blacklist/eval_backlist_list.phpt b/src/tests/eval_blacklist/eval_backlist_list.phpt
index 5bf0ea8..d5bbd00 100644
--- a/src/tests/eval_blacklist/eval_backlist_list.phpt
+++ b/src/tests/eval_blacklist/eval_backlist_list.phpt
@@ -6,12 +6,12 @@ Eval blacklist - with a list of functions
6sp.configuration_file={PWD}/config/eval_backlist_list.ini 6sp.configuration_file={PWD}/config/eval_backlist_list.ini
7--FILE-- 7--FILE--
8<?php 8<?php
9$a = strlen("1337 1337 1337"); 9$a = strtoupper("1337 1337 1337");
10echo "Outside of eval: $a\n"; 10echo "Outside of eval: $a\n";
11eval('$a = strlen("1234");'); 11eval('$a = strtoupper("1234");');
12echo "After eval: $a\n"; 12echo "After eval: $a\n";
13?> 13?>
14--EXPECTF-- 14--EXPECTF--
15Outside of eval: 14 15Outside of eval: 1337 1337 1337
16 16
17Fatal error: [snuffleupagus][eval] A call to strlen was tried in eval, in %a/eval_backlist_list.php:1, dropping it. in %a/eval_backlist_list.php(4) : eval()'d code on line 1 \ No newline at end of file 17Fatal error: [snuffleupagus][eval] A call to strtoupper was tried in eval, in %a/eval_backlist_list.php:1, dropping it. in %a/eval_backlist_list.php(4) : eval()'d code on line 1
diff --git a/src/tests/eval_blacklist/eval_backlist_simulation.phpt b/src/tests/eval_blacklist/eval_backlist_simulation.phpt
index 3089c2d..be4cd3a 100644
--- a/src/tests/eval_blacklist/eval_backlist_simulation.phpt
+++ b/src/tests/eval_blacklist/eval_backlist_simulation.phpt
@@ -6,13 +6,13 @@ Eval blacklist simulation
6sp.configuration_file={PWD}/config/eval_backlist_simulation.ini 6sp.configuration_file={PWD}/config/eval_backlist_simulation.ini
7--FILE-- 7--FILE--
8<?php 8<?php
9$a = strlen("1337 1337 1337"); 9$a = strtoupper("1337 1337 1337");
10echo "Outside of eval: $a\n"; 10echo "Outside of eval: $a\n";
11eval('$a = strlen("1234");'); 11eval('$a = strtoupper("1234");');
12echo "After eval: $a\n"; 12echo "After eval: $a\n";
13?> 13?>
14--EXPECTF-- 14--EXPECTF--
15Outside of eval: 14 15Outside of eval: 1337 1337 1337
16 16
17Warning: [snuffleupagus][eval] A call to strlen was tried in eval, in %a/eval_backlist_simulation.php:1, logging it. in %a/eval_backlist_simulation.php(4) : eval()'d code on line 1 17Warning: [snuffleupagus][eval] A call to strtoupper was tried in eval, in %a/eval_backlist_simulation.php:1, logging it. in %a/eval_backlist_simulation.php(4) : eval()'d code on line 1
18After eval: 4 \ No newline at end of file 18After eval: 1234
diff --git a/src/tests/eval_blacklist/nested_eval_blacklist.phpt b/src/tests/eval_blacklist/nested_eval_blacklist.phpt
index 9671a65..244007e 100644
--- a/src/tests/eval_blacklist/nested_eval_blacklist.phpt
+++ b/src/tests/eval_blacklist/nested_eval_blacklist.phpt
@@ -6,7 +6,7 @@ Eval blacklist - nested eval
6sp.configuration_file={PWD}/config/eval_backlist.ini 6sp.configuration_file={PWD}/config/eval_backlist.ini
7--FILE-- 7--FILE--
8<?php 8<?php
9$a = strlen("1337 1337 1337"); 9$a = strtoupper("1337 1337 1337");
10echo "Outside of eval: $a\n"; 10echo "Outside of eval: $a\n";
11eval( 11eval(
12 "echo 'Inception lvl 1...\n'; 12 "echo 'Inception lvl 1...\n';
@@ -14,16 +14,16 @@ eval(
14 'echo \"Inception lvl 2...\n\"; 14 'echo \"Inception lvl 2...\n\";
15 eval( 15 eval(
16 \"echo \'Inception lvl 3...\n\'; 16 \"echo \'Inception lvl 3...\n\';
17 strlen(\'Limbo!\'); 17 strtoupper(\'Limbo!\');
18 \"); 18 \");
19 '); 19 ');
20"); 20");
21echo "After eval: $a\n"; 21echo "After eval: $a\n";
22?> 22?>
23--EXPECTF-- 23--EXPECTF--
24Outside of eval: 14 24Outside of eval: 1337 1337 1337
25Inception lvl 1... 25Inception lvl 1...
26Inception lvl 2... 26Inception lvl 2...
27Inception lvl 3... 27Inception lvl 3...
28 28
29Fatal error: [snuffleupagus][eval] A call to strlen was tried in eval, in %a/nested_eval_blacklist.php(5) : eval()'d code(4) : eval()'d code:3, dropping it. in %a/nested_eval_blacklist.php(5) : eval()'d code(4) : eval()'d code(4) : eval()'d code on line 3 \ No newline at end of file 29Fatal error: [snuffleupagus][eval] A call to strtoupper was tried in eval, in %a/nested_eval_blacklist.php(5) : eval()'d code(4) : eval()'d code:3, dropping it. in %a/nested_eval_blacklist.php(5) : eval()'d code(4) : eval()'d code(4) : eval()'d code on line 3
diff --git a/src/tests/eval_blacklist/nested_eval_blacklist2.phpt b/src/tests/eval_blacklist/nested_eval_blacklist2.phpt
index aee41db..9f7a4d0 100644
--- a/src/tests/eval_blacklist/nested_eval_blacklist2.phpt
+++ b/src/tests/eval_blacklist/nested_eval_blacklist2.phpt
@@ -6,7 +6,7 @@ Eval blacklist - nested eval, with a twist
6sp.configuration_file={PWD}/config/eval_backlist.ini 6sp.configuration_file={PWD}/config/eval_backlist.ini
7--FILE-- 7--FILE--
8<?php 8<?php
9$a = strlen("1337 1337 1337"); 9$a = strtoupper("1337 1337 1337");
10echo "Outside of eval: $a\n"; 10echo "Outside of eval: $a\n";
11eval( 11eval(
12 "echo 'Inception lvl 1...\n'; 12 "echo 'Inception lvl 1...\n';
@@ -15,15 +15,15 @@ eval(
15 eval( 15 eval(
16 \"echo \'Inception lvl 3...\n\'; 16 \"echo \'Inception lvl 3...\n\';
17 \"); 17 \");
18 strlen(\'Limbo!\'); 18 strtoupper(\'Limbo!\');
19 '); 19 ');
20"); 20");
21echo "After eval: $a\n"; 21echo "After eval: $a\n";
22?> 22?>
23--EXPECTF-- 23--EXPECTF--
24Outside of eval: 14 24Outside of eval: 1337 1337 1337
25Inception lvl 1... 25Inception lvl 1...
26Inception lvl 2... 26Inception lvl 2...
27Inception lvl 3... 27Inception lvl 3...
28 28
29Fatal error: [snuffleupagus][eval] A call to strlen was tried in eval, in %a/nested_eval_blacklist2.php(5) : eval()'d code:7, dropping it. in %a/nested_eval_blacklist2.php(5) : eval()'d code(4) : eval()'d code on line 7 \ No newline at end of file 29Fatal error: [snuffleupagus][eval] A call to strtoupper was tried in eval, in %a/nested_eval_blacklist2.php(5) : eval()'d code:7, dropping it. in %a/nested_eval_blacklist2.php(5) : eval()'d code(4) : eval()'d code on line 7