diff options
Diffstat (limited to 'src/tests')
72 files changed, 717 insertions, 29 deletions
diff --git a/src/tests/broken_conf_key_value.phpt b/src/tests/broken_conf_key_value.phpt new file mode 100644 index 0000000..e9ee4a9 --- /dev/null +++ b/src/tests/broken_conf_key_value.phpt | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | --TEST-- | ||
| 2 | Broken configuration | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/broken_conf_key_value.ini | ||
| 7 | --FILE-- | ||
| 8 | --EXPECT-- | ||
| 9 | [snuffleupagus][0.0.0.0][config][error] Invalid configuration line: 'sp.disabled_functions.function("system").var("").value("").key("").drop();':`key` and `value` are mutually exclusive on line 1. | ||
diff --git a/src/tests/broken_conf_local_var_1.phpt b/src/tests/broken_conf_local_var_1.phpt new file mode 100644 index 0000000..a91d275 --- /dev/null +++ b/src/tests/broken_conf_local_var_1.phpt | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | --TEST-- | ||
| 2 | Broken configuration | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/broken_conf_local_var_1.ini | ||
| 7 | --FILE-- | ||
| 8 | --EXPECT-- | ||
| 9 | [snuffleupagus][0.0.0.0][config][error] Invalid `]` position. | ||
| 10 | [snuffleupagus][0.0.0.0][config][error] Invalid value ']' for `var` on line 1. | ||
diff --git a/src/tests/broken_conf_local_var_10.phpt b/src/tests/broken_conf_local_var_10.phpt new file mode 100644 index 0000000..8a7d9b9 --- /dev/null +++ b/src/tests/broken_conf_local_var_10.phpt | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | --TEST-- | ||
| 2 | Broken configuration | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/broken_conf_local_var_10.ini | ||
| 7 | --FILE-- | ||
| 8 | --EXPECT-- | ||
| 9 | [snuffleupagus][0.0.0.0][config][error] Invalid `]` position. | ||
| 10 | [snuffleupagus][0.0.0.0][config][error] Invalid value 'asd[asd]asd' for `var` on line 1. | ||
diff --git a/src/tests/broken_conf_local_var_11.phpt b/src/tests/broken_conf_local_var_11.phpt new file mode 100644 index 0000000..1817a3f --- /dev/null +++ b/src/tests/broken_conf_local_var_11.phpt | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | --TEST-- | ||
| 2 | Broken configuration | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/broken_conf_local_var_11.ini | ||
| 7 | --FILE-- | ||
| 8 | --EXPECT-- | ||
| 9 | [snuffleupagus][0.0.0.0][config][error] Invalid `::` position. | ||
| 10 | [snuffleupagus][0.0.0.0][config][error] Invalid value 'asd::' for `param` on line 1. | ||
diff --git a/src/tests/broken_conf_local_var_12.phpt b/src/tests/broken_conf_local_var_12.phpt new file mode 100644 index 0000000..0b52e2a --- /dev/null +++ b/src/tests/broken_conf_local_var_12.phpt | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | --TEST-- | ||
| 2 | Broken configuration | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/broken_conf_local_var_12.ini | ||
| 7 | --FILE-- | ||
| 8 | --EXPECT-- | ||
| 9 | [snuffleupagus][0.0.0.0][config][error] Empty value in `var` on line 1. | ||
diff --git a/src/tests/broken_conf_local_var_13.phpt b/src/tests/broken_conf_local_var_13.phpt new file mode 100644 index 0000000..ca6be6d --- /dev/null +++ b/src/tests/broken_conf_local_var_13.phpt | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | --TEST-- | ||
| 2 | Broken configuration | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/broken_conf_local_var_13.ini | ||
| 7 | --FILE-- | ||
| 8 | --EXPECT-- | ||
| 9 | [snuffleupagus][0.0.0.0][config][error] Invalid `->` position. | ||
| 10 | [snuffleupagus][0.0.0.0][config][error] Invalid value 'asd->asd' for `var` on line 1. | ||
diff --git a/src/tests/broken_conf_local_var_14.phpt b/src/tests/broken_conf_local_var_14.phpt new file mode 100644 index 0000000..cb7e455 --- /dev/null +++ b/src/tests/broken_conf_local_var_14.phpt | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | --TEST-- | ||
| 2 | Broken configuration | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/broken_conf_local_var_14.ini | ||
| 7 | --FILE-- | ||
| 8 | --EXPECT-- | ||
| 9 | [snuffleupagus][0.0.0.0][config][error] Invalid var name: $i+valid var name . | ||
| 10 | [snuffleupagus][0.0.0.0][config][error] Invalid value '$i+valid var name ' for `var` on line 1. | ||
diff --git a/src/tests/broken_conf_local_var_2.phpt b/src/tests/broken_conf_local_var_2.phpt new file mode 100644 index 0000000..b67a492 --- /dev/null +++ b/src/tests/broken_conf_local_var_2.phpt | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | --TEST-- | ||
| 2 | Broken configuration | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/broken_conf_local_var_2.ini | ||
| 7 | --FILE-- | ||
| 8 | --EXPECT-- | ||
| 9 | [snuffleupagus][0.0.0.0][config][error] Invalid `"` position. | ||
| 10 | [snuffleupagus][0.0.0.0][config][error] Invalid value '""asd' for `var` on line 1. | ||
diff --git a/src/tests/broken_conf_local_var_3.phpt b/src/tests/broken_conf_local_var_3.phpt new file mode 100644 index 0000000..639d2ea --- /dev/null +++ b/src/tests/broken_conf_local_var_3.phpt | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | --TEST-- | ||
| 2 | Broken configuration | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/broken_conf_local_var_3.ini | ||
| 7 | --FILE-- | ||
| 8 | --EXPECT-- | ||
| 9 | [snuffleupagus][0.0.0.0][config][error] Invalid `->` position. | ||
| 10 | [snuffleupagus][0.0.0.0][config][error] Invalid value '$qwe->::' for `var` on line 1. | ||
diff --git a/src/tests/broken_conf_local_var_4.phpt b/src/tests/broken_conf_local_var_4.phpt new file mode 100644 index 0000000..e50f9a6 --- /dev/null +++ b/src/tests/broken_conf_local_var_4.phpt | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | --TEST-- | ||
| 2 | Broken configuration | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/broken_conf_local_var_4.ini | ||
| 7 | --FILE-- | ||
| 8 | --EXPECT-- | ||
| 9 | [snuffleupagus][0.0.0.0][config][error] Invalid `"` position. | ||
| 10 | [snuffleupagus][0.0.0.0][config][error] Invalid value '"asd"asd[]' for `var` on line 1. | ||
diff --git a/src/tests/broken_conf_local_var_5.phpt b/src/tests/broken_conf_local_var_5.phpt new file mode 100644 index 0000000..0c0d59a --- /dev/null +++ b/src/tests/broken_conf_local_var_5.phpt | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | --TEST-- | ||
| 2 | Broken configuration | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/broken_conf_local_var_5.ini | ||
| 7 | --FILE-- | ||
| 8 | --EXPECT-- | ||
| 9 | [snuffleupagus][0.0.0.0][config][error] Invalid `'` position. | ||
| 10 | [snuffleupagus][0.0.0.0][config][error] Invalid value ''asd'asd[]' for `var` on line 1. | ||
diff --git a/src/tests/broken_conf_local_var_6.phpt b/src/tests/broken_conf_local_var_6.phpt new file mode 100644 index 0000000..c51de24 --- /dev/null +++ b/src/tests/broken_conf_local_var_6.phpt | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | --TEST-- | ||
| 2 | Broken configuration | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/broken_conf_local_var_6.ini | ||
| 7 | --FILE-- | ||
| 8 | --EXPECT-- | ||
| 9 | [snuffleupagus][0.0.0.0][config][error] Invalid `'` position. | ||
| 10 | [snuffleupagus][0.0.0.0][config][error] Invalid value '''asd' for `var` on line 1. | ||
diff --git a/src/tests/broken_conf_local_var_7.phpt b/src/tests/broken_conf_local_var_7.phpt new file mode 100644 index 0000000..d3a0fa4 --- /dev/null +++ b/src/tests/broken_conf_local_var_7.phpt | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | --TEST-- | ||
| 2 | Broken configuration | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/broken_conf_local_var_7.ini | ||
| 7 | --FILE-- | ||
| 8 | --EXPECT-- | ||
| 9 | [snuffleupagus][0.0.0.0][config][error] Invalid `->` position. | ||
| 10 | [snuffleupagus][0.0.0.0][config][error] Invalid value 'asd-->' for `var` on line 1. | ||
diff --git a/src/tests/broken_conf_local_var_8.phpt b/src/tests/broken_conf_local_var_8.phpt new file mode 100644 index 0000000..749a1aa --- /dev/null +++ b/src/tests/broken_conf_local_var_8.phpt | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | --TEST-- | ||
| 2 | Broken configuration | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/broken_conf_local_var_8.ini | ||
| 7 | --FILE-- | ||
| 8 | --EXPECT-- | ||
| 9 | [snuffleupagus][0.0.0.0][config][error] Invalid `]` position. | ||
| 10 | [snuffleupagus][0.0.0.0][config][error] Invalid value 'asd[asd]"asd"' for `var` on line 1. | ||
diff --git a/src/tests/broken_conf_local_var_9.phpt b/src/tests/broken_conf_local_var_9.phpt new file mode 100644 index 0000000..6f706db --- /dev/null +++ b/src/tests/broken_conf_local_var_9.phpt | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | --TEST-- | ||
| 2 | Broken configuration | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/broken_conf_local_var_9.ini | ||
| 7 | --FILE-- | ||
| 8 | --EXPECT-- | ||
| 9 | [snuffleupagus][0.0.0.0][config][error] Invalid `]` position. | ||
| 10 | [snuffleupagus][0.0.0.0][config][error] Invalid value 'asd[asd]'asd'' for `var` on line 1. | ||
diff --git a/src/tests/config/broken_conf_key_value.ini b/src/tests/config/broken_conf_key_value.ini new file mode 100644 index 0000000..a0edaf2 --- /dev/null +++ b/src/tests/config/broken_conf_key_value.ini | |||
| @@ -0,0 +1 @@ | |||
| sp.disable_function.function("system").var("").value("").key("").drop(); | |||
diff --git a/src/tests/config/broken_conf_local_var_1.ini b/src/tests/config/broken_conf_local_var_1.ini new file mode 100644 index 0000000..ae5165c --- /dev/null +++ b/src/tests/config/broken_conf_local_var_1.ini | |||
| @@ -0,0 +1 @@ | |||
| sp.disable_function.function("system").var("]").drop(); | |||
diff --git a/src/tests/config/broken_conf_local_var_10.ini b/src/tests/config/broken_conf_local_var_10.ini new file mode 100644 index 0000000..93dd07f --- /dev/null +++ b/src/tests/config/broken_conf_local_var_10.ini | |||
| @@ -0,0 +1 @@ | |||
| sp.disable_function.function("system").var("asd[asd]asd").drop(); | |||
diff --git a/src/tests/config/broken_conf_local_var_11.ini b/src/tests/config/broken_conf_local_var_11.ini new file mode 100644 index 0000000..028b1bd --- /dev/null +++ b/src/tests/config/broken_conf_local_var_11.ini | |||
| @@ -0,0 +1 @@ | |||
| sp.disable_function.function("system").param("asd::").drop(); | |||
diff --git a/src/tests/config/broken_conf_local_var_12.ini b/src/tests/config/broken_conf_local_var_12.ini new file mode 100644 index 0000000..a151960 --- /dev/null +++ b/src/tests/config/broken_conf_local_var_12.ini | |||
| @@ -0,0 +1 @@ | |||
| sp.disable_function.function("system").var("").drop(); | |||
diff --git a/src/tests/config/broken_conf_local_var_13.ini b/src/tests/config/broken_conf_local_var_13.ini new file mode 100644 index 0000000..e7c9778 --- /dev/null +++ b/src/tests/config/broken_conf_local_var_13.ini | |||
| @@ -0,0 +1 @@ | |||
| sp.disable_function.function("system").var("asd->asd").drop(); | |||
diff --git a/src/tests/config/broken_conf_local_var_14.ini b/src/tests/config/broken_conf_local_var_14.ini new file mode 100644 index 0000000..6c98ec3 --- /dev/null +++ b/src/tests/config/broken_conf_local_var_14.ini | |||
| @@ -0,0 +1 @@ | |||
| sp.disable_function.function("system").var("$i+valid var name ").drop(); | |||
diff --git a/src/tests/config/broken_conf_local_var_2.ini b/src/tests/config/broken_conf_local_var_2.ini new file mode 100644 index 0000000..145a3b5 --- /dev/null +++ b/src/tests/config/broken_conf_local_var_2.ini | |||
| @@ -0,0 +1 @@ | |||
| sp.disable_function.function("system").var("\"\"asd").drop(); | |||
diff --git a/src/tests/config/broken_conf_local_var_3.ini b/src/tests/config/broken_conf_local_var_3.ini new file mode 100644 index 0000000..5d89076 --- /dev/null +++ b/src/tests/config/broken_conf_local_var_3.ini | |||
| @@ -0,0 +1 @@ | |||
| sp.disable_function.function("system").var("\$qwe->::").drop(); | |||
diff --git a/src/tests/config/broken_conf_local_var_4.ini b/src/tests/config/broken_conf_local_var_4.ini new file mode 100644 index 0000000..3ec073b --- /dev/null +++ b/src/tests/config/broken_conf_local_var_4.ini | |||
| @@ -0,0 +1 @@ | |||
| sp.disable_function.function("system").var("\"asd\"asd[]").drop(); | |||
diff --git a/src/tests/config/broken_conf_local_var_5.ini b/src/tests/config/broken_conf_local_var_5.ini new file mode 100644 index 0000000..cd350b6 --- /dev/null +++ b/src/tests/config/broken_conf_local_var_5.ini | |||
| @@ -0,0 +1 @@ | |||
| sp.disable_function.function("system").var("'asd'asd[]").drop(); | |||
diff --git a/src/tests/config/broken_conf_local_var_6.ini b/src/tests/config/broken_conf_local_var_6.ini new file mode 100644 index 0000000..02f4f1a --- /dev/null +++ b/src/tests/config/broken_conf_local_var_6.ini | |||
| @@ -0,0 +1 @@ | |||
| sp.disable_function.function("system").var("''asd").drop(); | |||
diff --git a/src/tests/config/broken_conf_local_var_7.ini b/src/tests/config/broken_conf_local_var_7.ini new file mode 100644 index 0000000..abbd223 --- /dev/null +++ b/src/tests/config/broken_conf_local_var_7.ini | |||
| @@ -0,0 +1 @@ | |||
| sp.disable_function.function("system").var("asd-->").drop(); | |||
diff --git a/src/tests/config/broken_conf_local_var_8.ini b/src/tests/config/broken_conf_local_var_8.ini new file mode 100644 index 0000000..fd18487 --- /dev/null +++ b/src/tests/config/broken_conf_local_var_8.ini | |||
| @@ -0,0 +1 @@ | |||
| sp.disable_function.function("system").var("asd[asd]\"asd\"").drop(); | |||
diff --git a/src/tests/config/broken_conf_local_var_9.ini b/src/tests/config/broken_conf_local_var_9.ini new file mode 100644 index 0000000..a311b86 --- /dev/null +++ b/src/tests/config/broken_conf_local_var_9.ini | |||
| @@ -0,0 +1 @@ | |||
| sp.disable_function.function("system").var("asd[asd]\'asd\'").drop(); | |||
diff --git a/src/tests/config/config_disabled_functions_local_var_array.ini b/src/tests/config/config_disabled_functions_local_var_array.ini new file mode 100644 index 0000000..15dd5a1 --- /dev/null +++ b/src/tests/config/config_disabled_functions_local_var_array.ini | |||
| @@ -0,0 +1 @@ | |||
| sp.disable_function.function("foo").var("$a[test2][foo]").value("aaa").drop(); | |||
diff --git a/src/tests/config/config_disabled_functions_local_var_array_key.ini b/src/tests/config/config_disabled_functions_local_var_array_key.ini new file mode 100644 index 0000000..75c840d --- /dev/null +++ b/src/tests/config/config_disabled_functions_local_var_array_key.ini | |||
| @@ -0,0 +1 @@ | |||
| sp.disable_function.function("foo").var("$a[test2][foo]").key("aaa").drop(); | |||
diff --git a/src/tests/config/config_disabled_functions_name_type.ini b/src/tests/config/config_disabled_functions_name_type.ini index 25bdf98..c25b92c 100644 --- a/src/tests/config/config_disabled_functions_name_type.ini +++ b/src/tests/config/config_disabled_functions_name_type.ini | |||
| @@ -1 +1 @@ | |||
| sp.disable_function.function_r("^strcmp$").param("str1").param_type("array").drop(); | sp.disable_function.function_r("^strcmp$").param("$str1").param_type("array").drop(); | ||
diff --git a/src/tests/config/config_disabled_functions_nul_byte.ini b/src/tests/config/config_disabled_functions_nul_byte.ini index d5eb847..e664cba 100644 --- a/src/tests/config/config_disabled_functions_nul_byte.ini +++ b/src/tests/config/config_disabled_functions_nul_byte.ini | |||
| @@ -1 +1 @@ | |||
| sp.disable_function.function("system").param("command").value_r("id").drop(); \ No newline at end of file | sp.disable_function.function("system").param("$command").value_r("id").drop(); | ||
diff --git a/src/tests/config/config_disabled_functions_param.ini b/src/tests/config/config_disabled_functions_param.ini index 87f1b3c..dc1c949 100644 --- a/src/tests/config/config_disabled_functions_param.ini +++ b/src/tests/config/config_disabled_functions_param.ini | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | sp.disable_function.function("system").param("command").value_r("^id$").alias("1").drop(); | 1 | sp.disable_function.function("system").param("$command").value_r("^id$").alias("1").drop(); |
| 2 | sp.disable_function.function("array_sum").param("array").value_r("^8$").alias("2").drop(); | 2 | sp.disable_function.function("array_sum").param("$array").value_r("^8$").alias("2").drop(); |
| 3 | sp.disable_function.function("shell_exec").param("cmd").value("id").alias("3").drop(); | 3 | sp.disable_function.function("shell_exec").param("$cmd").value("id").alias("3").drop(); |
| 4 | sp.disable_function.function("shell_exec").param("cmd").value("bla").alias("4").drop(); | 4 | sp.disable_function.function("shell_exec").param("$cmd").value("bla").alias("4").drop(); |
| 5 | sp.disable_function.function("strcmp").param("str1").value("bla").alias("5").drop().simulation(); | 5 | sp.disable_function.function("strcmp").param("$str1").value("bla").alias("5").drop().simulation(); |
| 6 | sp.disable_function.function("strncmp").param("str1").value("bla").drop().simulation(); | 6 | sp.disable_function.function("strncmp").param("$str1").value("bla").drop().simulation(); |
diff --git a/src/tests/config/config_disabled_functions_param_allow.ini b/src/tests/config/config_disabled_functions_param_allow.ini index 8e139e4..27d919a 100644 --- a/src/tests/config/config_disabled_functions_param_allow.ini +++ b/src/tests/config/config_disabled_functions_param_allow.ini | |||
| @@ -1,3 +1,3 @@ | |||
| 1 | sp.disable_function.function("system").param("command").value("echo win").filename("/test.php").drop(); | 1 | sp.disable_function.function("system").param("$command").value("echo win").filename("/test.php").drop(); |
| 2 | sp.disable_function.function("system").param("command").value("echo win").allow(); | 2 | sp.disable_function.function("system").param("$command").value("echo win").allow(); |
| 3 | sp.disable_function.function("system").drop(); | 3 | sp.disable_function.function("system").drop(); |
diff --git a/src/tests/config/config_disabled_functions_param_array.ini b/src/tests/config/config_disabled_functions_param_array.ini index 0589ad8..6fe0615 100644 --- a/src/tests/config/config_disabled_functions_param_array.ini +++ b/src/tests/config/config_disabled_functions_param_array.ini | |||
| @@ -1,4 +1,7 @@ | |||
| 1 | sp.disable_function.function("foo").param("arr").value("abcd").alias("1").drop(); | 1 | sp.disable_function.function("foo").param("$arr[a]").value("abcd").alias("1").drop(); |
| 2 | sp.disable_function.function("foo").param("arr[bla]").value("abcdef").alias("2").drop(); | 2 | sp.disable_function.function("foo").param("$arr[bla]").value("abcdef").alias("2").drop(); |
| 3 | sp.disable_function.function("foo").param("arr[test]").alias("3").drop(); | 3 | sp.disable_function.function("foo").param("$arr[test]").alias("3").drop(); |
| 4 | sp.disable_function.function("foo").param("arr[test2][foo][lol]").value("aaa").alias("4").drop(); | 4 | sp.disable_function.function("foo").param("$arr[test2][foo]").value("aaa").alias("4").drop(); |
| 5 | sp.disable_function.function("foo").param("$arr[test2][bar]").key("lol").alias("5").drop(); | ||
| 6 | sp.disable_function.function("foo").param("$arr[test2][bar]").key("123").alias("6").drop(); | ||
| 7 | sp.disable_function.function("foo").param("$qwe[a]").value("abcd").alias("7").drop(); | ||
diff --git a/src/tests/config/config_disabled_functions_param_int.ini b/src/tests/config/config_disabled_functions_param_int.ini index 1c93c2f..2a7d962 100644 --- a/src/tests/config/config_disabled_functions_param_int.ini +++ b/src/tests/config/config_disabled_functions_param_int.ini | |||
| @@ -1,2 +1,2 @@ | |||
| 1 | sp.disable_function.function("foobar").param("id").value("42").drop(); | 1 | sp.disable_function.function("foobar").param("$id").value("42").drop(); |
| 2 | sp.disable_function.function("foobar").param("id").value_r("^1337").drop(); | 2 | sp.disable_function.function("foobar").param("$id").value_r("^1337").drop(); |
diff --git a/src/tests/config/config_disabled_functions_param_r_array.ini b/src/tests/config/config_disabled_functions_param_r_array.ini new file mode 100644 index 0000000..fcac71d --- /dev/null +++ b/src/tests/config/config_disabled_functions_param_r_array.ini | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | sp.disable_function.function("foo").param_r("arr").value("abcd").alias("1").drop(); | ||
| 2 | sp.disable_function.function("foo").param_r("arr").key_r("abc").alias("2").drop(); | ||
diff --git a/src/tests/config/config_disabled_functions_param_runtime.ini b/src/tests/config/config_disabled_functions_param_runtime.ini index e7a011f..e9d44a2 100644 --- a/src/tests/config/config_disabled_functions_param_runtime.ini +++ b/src/tests/config/config_disabled_functions_param_runtime.ini | |||
| @@ -1 +1 @@ | |||
| sp.disable_function.function("test").param("param").value_r("1337").drop(); | sp.disable_function.function("test").param("$param").value_r("1337").drop(); | ||
diff --git a/src/tests/config/disabled_function_local_var.ini b/src/tests/config/disabled_function_local_var.ini index cba2ae3..3d553c0 100644 --- a/src/tests/config/disabled_function_local_var.ini +++ b/src/tests/config/disabled_function_local_var.ini | |||
| @@ -1,2 +1,10 @@ | |||
| 1 | sp.disable_function.function("phpinfo").var("b").value("1337").drop(); | 1 | sp.disable_function.function("phpinfo").var("$b").value("1337").drop(); |
| 2 | sp.disable_function.function("strlen").var("a").value("1337").drop(); | 2 | sp.disable_function.function("strlen").var("$a").value("1337").drop(); |
| 3 | sp.disable_function.function("strlen").var("$a['123']").value("block").drop(); | ||
| 4 | sp.disable_function.function("strlen").var("$a[$c]->prop").value("block").drop(); | ||
| 5 | sp.disable_function.function("strlen").var("$a->zxc").value("not a good value").drop(); | ||
| 6 | sp.disable_function.function("strlen").var("\\asd\\test_object::TEST_VALUE['constant']").value("no good").drop(); | ||
| 7 | sp.disable_function.function("strlen").var("\\asd\\test_object::TEST_VALUE").value("qwerty").drop(); | ||
| 8 | sp.disable_function.function("strlen").var("\\qwe\\ASD").value("qwerty").drop(); | ||
| 9 | sp.disable_function.function("strlen").var("\\qwe\\QWE['123']").value("asdfgh").drop(); | ||
| 10 | sp.disable_function.function("strlen").var("$qwe").value("block this").drop(); | ||
diff --git a/src/tests/config/disabled_function_local_var_2.ini b/src/tests/config/disabled_function_local_var_2.ini new file mode 100644 index 0000000..e3e9ae6 --- /dev/null +++ b/src/tests/config/disabled_function_local_var_2.ini | |||
| @@ -0,0 +1 @@ | |||
| sp.disable_function.function("strlen").var("$b['_GET[obj->nop]'][$b[456][$d->$idk->qwe[\\qwe\\UNE_CONSTANTE]]][$a]->uio").value("valeur de apres").drop(); | |||
diff --git a/src/tests/config/disabled_function_local_var_obj.ini b/src/tests/config/disabled_function_local_var_obj.ini new file mode 100644 index 0000000..df6b617 --- /dev/null +++ b/src/tests/config/disabled_function_local_var_obj.ini | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | sp.disable_function.function("strlen").var("$test->$test_array").value("value").drop(); | ||
| 2 | sp.disable_function.function("strlen").var("$arg->$test_array").value("value").drop(); | ||
| 3 | sp.disable_function.function("strlen").var("$test->$arg").value("nop_object").drop(); | ||
diff --git a/src/tests/config/disabled_function_super_global_var.ini b/src/tests/config/disabled_function_super_global_var.ini index feac314..178a01a 100644 --- a/src/tests/config/disabled_function_super_global_var.ini +++ b/src/tests/config/disabled_function_super_global_var.ini | |||
| @@ -1 +1 @@ | |||
| sp.disable_function.function("strlen").var("_GET[bla]").value("test2").drop(); | sp.disable_function.function("strlen").var("$_GET[bla]").value("test2").drop(); | ||
diff --git a/src/tests/config/disabled_functions_pos.ini b/src/tests/config/disabled_functions_pos.ini index e7d12a9..2b4650d 100644 --- a/src/tests/config/disabled_functions_pos.ini +++ b/src/tests/config/disabled_functions_pos.ini | |||
| @@ -1,2 +1,3 @@ | |||
| 1 | sp.disable_function.function("system").pos("1337").value("id").drop(); | 1 | sp.disable_function.function("system").pos("1337").value("id").drop(); |
| 2 | sp.disable_function.function("system").pos("0").value("id").drop(); | 2 | sp.disable_function.function("system").pos("0").value("id").drop(); |
| 3 | sp.disable_function.function("system").pos("1").param_type("ARRAY").alias("1").drop(); | ||
diff --git a/src/tests/disabled_function_local_var_10.phpt b/src/tests/disabled_function_local_var_10.phpt new file mode 100644 index 0000000..538d693 --- /dev/null +++ b/src/tests/disabled_function_local_var_10.phpt | |||
| @@ -0,0 +1,44 @@ | |||
| 1 | --TEST-- | ||
| 2 | Disable functions - match on a local variable | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/disabled_function_local_var.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | $qwe = Array('123' => Array('qwe'), '456' => Array('no block this')); | ||
| 10 | var_dump($qwe); | ||
| 11 | strlen("qwe"); | ||
| 12 | $qwe = Array('123' => Array('qwe'), '456' => Array(Array('block this'))); | ||
| 13 | var_dump($qwe); | ||
| 14 | strlen("qwe"); | ||
| 15 | ?> | ||
| 16 | --EXPECTF-- | ||
| 17 | array(2) { | ||
| 18 | [123]=> | ||
| 19 | array(1) { | ||
| 20 | [0]=> | ||
| 21 | string(3) "qwe" | ||
| 22 | } | ||
| 23 | [456]=> | ||
| 24 | array(1) { | ||
| 25 | [0]=> | ||
| 26 | string(13) "no block this" | ||
| 27 | } | ||
| 28 | } | ||
| 29 | array(2) { | ||
| 30 | [123]=> | ||
| 31 | array(1) { | ||
| 32 | [0]=> | ||
| 33 | string(3) "qwe" | ||
| 34 | } | ||
| 35 | [456]=> | ||
| 36 | array(1) { | ||
| 37 | [0]=> | ||
| 38 | array(1) { | ||
| 39 | [0]=> | ||
| 40 | string(10) "block this" | ||
| 41 | } | ||
| 42 | } | ||
| 43 | } | ||
| 44 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'strlen' in %a/tests/disabled_function_local_var_10.php:%d has been disabled. | ||
diff --git a/src/tests/disabled_function_local_var_2.phpt b/src/tests/disabled_function_local_var_2.phpt new file mode 100644 index 0000000..da0a3d2 --- /dev/null +++ b/src/tests/disabled_function_local_var_2.phpt | |||
| @@ -0,0 +1,46 @@ | |||
| 1 | --TEST-- | ||
| 2 | Disable functions - match on a local variable | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/disabled_function_local_var.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | $a = 1338; | ||
| 10 | function test(){ | ||
| 11 | echo strlen("id") . "\n"; | ||
| 12 | } | ||
| 13 | echo "Value of a: $a\n"; | ||
| 14 | test(); | ||
| 15 | |||
| 16 | $a = Array(); | ||
| 17 | $a['qwe'] = 'block'; | ||
| 18 | $a['123'] = 'nop'; | ||
| 19 | echo "Value of a:\n"; | ||
| 20 | var_dump($a); | ||
| 21 | test(); | ||
| 22 | |||
| 23 | $a['123'] = 'block'; | ||
| 24 | echo "Value of a:\n"; | ||
| 25 | var_dump($a); | ||
| 26 | test(); | ||
| 27 | ?> | ||
| 28 | --EXPECTF-- | ||
| 29 | Value of a: 1338 | ||
| 30 | 2 | ||
| 31 | Value of a: | ||
| 32 | array(2) { | ||
| 33 | ["qwe"]=> | ||
| 34 | string(5) "block" | ||
| 35 | [123]=> | ||
| 36 | string(3) "nop" | ||
| 37 | } | ||
| 38 | 2 | ||
| 39 | Value of a: | ||
| 40 | array(2) { | ||
| 41 | ["qwe"]=> | ||
| 42 | string(5) "block" | ||
| 43 | [123]=> | ||
| 44 | string(5) "block" | ||
| 45 | } | ||
| 46 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'strlen' in %a/tests/disabled_function_local_var_2.php:%d has been disabled. | ||
diff --git a/src/tests/disabled_function_local_var_3.phpt b/src/tests/disabled_function_local_var_3.phpt new file mode 100644 index 0000000..d26b636 --- /dev/null +++ b/src/tests/disabled_function_local_var_3.phpt | |||
| @@ -0,0 +1,45 @@ | |||
| 1 | --TEST-- | ||
| 2 | Disable functions - match on a local variable | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/disabled_function_local_var.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | function test(){ | ||
| 10 | echo strlen("id") . "\n"; | ||
| 11 | } | ||
| 12 | |||
| 13 | $a = Array(); | ||
| 14 | $c = '123'; | ||
| 15 | $a['qwe'] = 'qwe'; | ||
| 16 | $a['123'] = 'nop'; | ||
| 17 | echo "Value of a:\n"; | ||
| 18 | var_dump($a); | ||
| 19 | test(); | ||
| 20 | |||
| 21 | $a[$c] = (Object)['prop' => 'block']; | ||
| 22 | echo "Value of a:\n"; | ||
| 23 | var_dump($a); | ||
| 24 | test(); | ||
| 25 | ?> | ||
| 26 | --EXPECTF-- | ||
| 27 | Value of a: | ||
| 28 | array(2) { | ||
| 29 | ["qwe"]=> | ||
| 30 | string(3) "qwe" | ||
| 31 | [123]=> | ||
| 32 | string(3) "nop" | ||
| 33 | } | ||
| 34 | 2 | ||
| 35 | Value of a: | ||
| 36 | array(2) { | ||
| 37 | ["qwe"]=> | ||
| 38 | string(3) "qwe" | ||
| 39 | [123]=> | ||
| 40 | object(stdClass)#1 (1) { | ||
| 41 | ["prop"]=> | ||
| 42 | string(5) "block" | ||
| 43 | } | ||
| 44 | } | ||
| 45 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'strlen' in %a/tests/disabled_function_local_var_3.php:%d has been disabled. | ||
diff --git a/src/tests/disabled_function_local_var_4.phpt b/src/tests/disabled_function_local_var_4.phpt new file mode 100644 index 0000000..ae8d713 --- /dev/null +++ b/src/tests/disabled_function_local_var_4.phpt | |||
| @@ -0,0 +1,56 @@ | |||
| 1 | --TEST-- | ||
| 2 | Disable functions - match on a local variable | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/disabled_function_local_var_2.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | namespace qwe { | ||
| 10 | const UNE_CONSTANTE = 'constant'; | ||
| 11 | } | ||
| 12 | namespace asd { | ||
| 13 | $b = Array(); | ||
| 14 | $b['_GET[obj->nop]'] = Array(); | ||
| 15 | $b['_GET[obj->nop]']["qwe"] = Array(); | ||
| 16 | $b[456] = Array(); | ||
| 17 | $b[456]['zxc'] = "qwe"; | ||
| 18 | $b[456]['nop'] = "nop"; | ||
| 19 | $b['_GET[obj->nop]']["qwe"][321] = "Yeay"; | ||
| 20 | $b["123"] = "qwe"; | ||
| 21 | $b["123a"] = "foo"; | ||
| 22 | $b["asd"] = "zxc"; | ||
| 23 | $b['_GET[obj->nop]']["qwe"][1337] = (Object)(['uio' => "valeur de apres"]); | ||
| 24 | $b['_GET[obj->nop]']["qwe"][1338] = (Object)(['uio' => "valeur de a"]); | ||
| 25 | $c = (Object)(['qwe' => Array(\qwe\UNE_CONSTANTE => 'zxc')]); | ||
| 26 | $idk = 'test_asd'; | ||
| 27 | $class_name = 'test_object'; | ||
| 28 | class test_object { | ||
| 29 | const TEST_VALUE = ['constant' => 'truc']; | ||
| 30 | private $asd = "qwe"; | ||
| 31 | public $qwe = 'bar'; | ||
| 32 | private $test_asd = ''; | ||
| 33 | function __construct($asd) { | ||
| 34 | $this->test_asd = $asd; | ||
| 35 | } | ||
| 36 | function do_a_barell_roll() { | ||
| 37 | var_dump($this->test_asd); | ||
| 38 | } | ||
| 39 | } | ||
| 40 | $d = new test_object($c); | ||
| 41 | $a = 1338; | ||
| 42 | function test(){ | ||
| 43 | strlen("qwe"); | ||
| 44 | } | ||
| 45 | echo "Valeur: " . $b['_GET[obj->nop]']["qwe"][$a]->uio . "\n"; | ||
| 46 | test(); | ||
| 47 | |||
| 48 | $a = 1337; | ||
| 49 | echo "Valeur: " . $b['_GET[obj->nop]']["qwe"][$a]->uio . "\n"; | ||
| 50 | test(); | ||
| 51 | } | ||
| 52 | ?> | ||
| 53 | --EXPECTF-- | ||
| 54 | Valeur: valeur de a | ||
| 55 | Valeur: valeur de apres | ||
| 56 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'strlen' in %a/tests/disabled_function_local_var_4.php:%d has been disabled. | ||
diff --git a/src/tests/disabled_function_local_var_5.phpt b/src/tests/disabled_function_local_var_5.phpt new file mode 100644 index 0000000..d82574d --- /dev/null +++ b/src/tests/disabled_function_local_var_5.phpt | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | --TEST-- | ||
| 2 | Disable functions - match on a local variable | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/disabled_function_local_var.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | function test(){ | ||
| 10 | echo strlen("id") . "\n"; | ||
| 11 | } | ||
| 12 | |||
| 13 | $a = Array(); | ||
| 14 | echo "Value of a:\n"; | ||
| 15 | var_dump($a); | ||
| 16 | test(); | ||
| 17 | |||
| 18 | $a = (Object)['zxc' => 'not a good value']; | ||
| 19 | echo "Value of a:\n"; | ||
| 20 | var_dump($a); | ||
| 21 | test(); | ||
| 22 | ?> | ||
| 23 | --EXPECTF-- | ||
| 24 | Value of a: | ||
| 25 | array(0) { | ||
| 26 | } | ||
| 27 | 2 | ||
| 28 | Value of a: | ||
| 29 | object(stdClass)#1 (1) { | ||
| 30 | ["zxc"]=> | ||
| 31 | string(16) "not a good value" | ||
| 32 | } | ||
| 33 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'strlen' in %a/tests/disabled_function_local_var_5.php:%d has been disabled. | ||
diff --git a/src/tests/disabled_function_local_var_6.phpt b/src/tests/disabled_function_local_var_6.phpt new file mode 100644 index 0000000..90c1815 --- /dev/null +++ b/src/tests/disabled_function_local_var_6.phpt | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | --TEST-- | ||
| 2 | Disable functions - match on a local variable | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/disabled_function_local_var.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | namespace asd { | ||
| 10 | function test(){ | ||
| 11 | strlen("qwe"); | ||
| 12 | } | ||
| 13 | echo "Valeur: " . \asd\test_object::TEST_VALUE['constant'] . "\n"; | ||
| 14 | test(); | ||
| 15 | class test_object { | ||
| 16 | const TEST_VALUE = ['constant' => 'no good']; | ||
| 17 | private $asd = "qwe"; | ||
| 18 | public $qwe = 'bar'; | ||
| 19 | private $test_asd = ''; | ||
| 20 | function __construct($asd) { | ||
| 21 | $this->test_asd = $asd; | ||
| 22 | } | ||
| 23 | function do_a_barell_roll() { | ||
| 24 | var_dump($this->test_asd); | ||
| 25 | } | ||
| 26 | } | ||
| 27 | } | ||
| 28 | ?> | ||
| 29 | --EXPECTF-- | ||
| 30 | Valeur: no good | ||
| 31 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'strlen' in %a/tests/disabled_function_local_var_6.php:%d has been disabled. | ||
diff --git a/src/tests/disabled_function_local_var_7.phpt b/src/tests/disabled_function_local_var_7.phpt new file mode 100644 index 0000000..7ab249a --- /dev/null +++ b/src/tests/disabled_function_local_var_7.phpt | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | --TEST-- | ||
| 2 | Disable functions - match on a local variable | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/disabled_function_local_var.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | namespace asd { | ||
| 10 | function test(){ | ||
| 11 | strlen("qwe"); | ||
| 12 | } | ||
| 13 | echo "Valeur: " . \asd\test_object::TEST_VALUE . "\n"; | ||
| 14 | test(); | ||
| 15 | class test_object { | ||
| 16 | const TEST_VALUE = "qwerty"; | ||
| 17 | private $asd = "qwe"; | ||
| 18 | public $qwe = 'bar'; | ||
| 19 | private $test_asd = ''; | ||
| 20 | function __construct($asd) { | ||
| 21 | $this->test_asd = $asd; | ||
| 22 | } | ||
| 23 | function do_a_barell_roll() { | ||
| 24 | var_dump($this->test_asd); | ||
| 25 | } | ||
| 26 | } | ||
| 27 | } | ||
| 28 | ?> | ||
| 29 | --EXPECTF-- | ||
| 30 | Valeur: qwerty | ||
| 31 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'strlen' in %a/tests/disabled_function_local_var_7.php:%d has been disabled. | ||
diff --git a/src/tests/disabled_function_local_var_8.phpt b/src/tests/disabled_function_local_var_8.phpt new file mode 100644 index 0000000..475b472 --- /dev/null +++ b/src/tests/disabled_function_local_var_8.phpt | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | --TEST-- | ||
| 2 | Disable functions - match on a local variable | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/disabled_function_local_var.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | namespace qwe { | ||
| 10 | const ASD = 'qwerty'; | ||
| 11 | } | ||
| 12 | namespace asd { | ||
| 13 | const asd = 'qwe'; | ||
| 14 | echo "Valeur: " . \qwe\ASD . "\n"; | ||
| 15 | strlen("qwe"); | ||
| 16 | } | ||
| 17 | ?> | ||
| 18 | --EXPECTF-- | ||
| 19 | Valeur: qwerty | ||
| 20 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'strlen' in %a/tests/disabled_function_local_var_8.php:%d has been disabled. | ||
diff --git a/src/tests/disabled_function_local_var_9.phpt b/src/tests/disabled_function_local_var_9.phpt new file mode 100644 index 0000000..fb65bc4 --- /dev/null +++ b/src/tests/disabled_function_local_var_9.phpt | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | --TEST-- | ||
| 2 | Disable functions - match on a local variable | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/disabled_function_local_var.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | namespace qwe { | ||
| 10 | const QWE = Array('123'=>'asdfgh'); | ||
| 11 | } | ||
| 12 | namespace asd { | ||
| 13 | const asd = 'qwe'; | ||
| 14 | echo "Valeur: " . \qwe\QWE[123]. "\n"; | ||
| 15 | strlen("qwe"); | ||
| 16 | } | ||
| 17 | ?> | ||
| 18 | --EXPECTF-- | ||
| 19 | Valeur: asdfgh | ||
| 20 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'strlen' in %a/tests/disabled_function_local_var_9.php:%d has been disabled. | ||
diff --git a/src/tests/disabled_function_local_var_obj.phpt b/src/tests/disabled_function_local_var_obj.phpt new file mode 100644 index 0000000..868ea4c --- /dev/null +++ b/src/tests/disabled_function_local_var_obj.phpt | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | --TEST-- | ||
| 2 | Disable functions - match on a local variable | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/disabled_function_local_var_obj.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | class test_class { | ||
| 10 | public $qwe = 'value'; | ||
| 11 | function __construct($arg, $value) { | ||
| 12 | $this->$arg = $value; | ||
| 13 | } | ||
| 14 | } | ||
| 15 | |||
| 16 | $test_array = ['qwe']; | ||
| 17 | $arg = 'qwe'; | ||
| 18 | $test = new test_class('qwe', 'qwe'); | ||
| 19 | echo strlen($test->$arg) . "\n"; | ||
| 20 | $test = new test_class('qwe', 'nop_object'); | ||
| 21 | echo strlen($test->$arg) . "\n"; | ||
| 22 | ?> | ||
| 23 | --EXPECTF-- | ||
| 24 | 3 | ||
| 25 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'strlen' in %a/tests/disabled_function_local_var_obj.php:%d has been disabled. | ||
diff --git a/src/tests/disabled_functions_local_var_array.phpt b/src/tests/disabled_functions_local_var_array.phpt new file mode 100644 index 0000000..2255cbf --- /dev/null +++ b/src/tests/disabled_functions_local_var_array.phpt | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | --TEST-- | ||
| 2 | Disable functions - match on an array value buried in several levels | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_disabled_functions_local_var_array.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | function foo($arr) { | ||
| 10 | echo $arr["a"]."\n"; | ||
| 11 | } | ||
| 12 | $a=Array("test2"=>Array("pof"=>"pif", "foo"=>Array("lol"=>"bbb")), "a"=>"cccc"); | ||
| 13 | foo($a); | ||
| 14 | |||
| 15 | $a=Array("test2"=>Array("foo"=>Array("lol"=>"aaa")), "a"=>"dddd"); | ||
| 16 | foo($a); | ||
| 17 | ?> | ||
| 18 | --EXPECTF-- | ||
| 19 | cccc | ||
| 20 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'foo' in %a/tests/disabled_functions_local_var_array.php:3 has been disabled. | ||
diff --git a/src/tests/disabled_functions_local_var_array_key.phpt b/src/tests/disabled_functions_local_var_array_key.phpt new file mode 100644 index 0000000..4014c05 --- /dev/null +++ b/src/tests/disabled_functions_local_var_array_key.phpt | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | --TEST-- | ||
| 2 | Disable functions - match on an array value buried in several levels | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_disabled_functions_local_var_array_key.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | function foo($arr) { | ||
| 10 | echo $arr["a"]."\n"; | ||
| 11 | } | ||
| 12 | $a=Array("test2"=>Array("pof"=>"pif", "foo"=>Array("lol"=>"bbb")), "a"=>"cccc"); | ||
| 13 | foo($a); | ||
| 14 | |||
| 15 | $a=Array("test2"=>Array("foo"=>Array("aaa"=>"ccc")), "a"=>"dddd"); | ||
| 16 | foo($a); | ||
| 17 | ?> | ||
| 18 | --EXPECTF-- | ||
| 19 | cccc | ||
| 20 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'foo' in %a/tests/disabled_functions_local_var_array_key.php:3 has been disabled. | ||
diff --git a/src/tests/disabled_functions_name_type.phpt b/src/tests/disabled_functions_name_type.phpt index c5b24d6..1022238 100644 --- a/src/tests/disabled_functions_name_type.phpt +++ b/src/tests/disabled_functions_name_type.phpt | |||
| @@ -11,4 +11,4 @@ echo strcmp([1,23], "pouet") . "\n"; | |||
| 11 | ?> | 11 | ?> |
| 12 | --EXPECTF-- | 12 | --EXPECTF-- |
| 13 | 0 | 13 | 0 |
| 14 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'strcmp' in %a/disabled_functions_name_type.php:%d has been disabled, because its argument 'str1' content (?) matched a rule. | 14 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'strcmp' in %a/disabled_functions_name_type.php:%d has been disabled, because its argument '$str1' content (ARRAY) matched a rule. |
diff --git a/src/tests/disabled_functions_nul_byte.phpt b/src/tests/disabled_functions_nul_byte.phpt index b4974a9..f03a8e4 100644 --- a/src/tests/disabled_functions_nul_byte.phpt +++ b/src/tests/disabled_functions_nul_byte.phpt | |||
| @@ -11,4 +11,4 @@ system("id"); | |||
| 11 | 11 | ||
| 12 | ?> | 12 | ?> |
| 13 | --EXPECTF-- | 13 | --EXPECTF-- |
| 14 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'system' in %a/tests/disabled_functions_nul_byte.php:2 has been disabled, because its argument 'command' content (0id) matched a rule. | 14 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'system' in %a/tests/disabled_functions_nul_byte.php:2 has been disabled, because its argument '$command' content (0id) matched a rule. |
diff --git a/src/tests/disabled_functions_param.phpt b/src/tests/disabled_functions_param.phpt index d9f8767..fe0e244 100644 --- a/src/tests/disabled_functions_param.phpt +++ b/src/tests/disabled_functions_param.phpt | |||
| @@ -15,4 +15,4 @@ strcmp("bla", "ble"); | |||
| 15 | strncmp("bla", "ble", 2); | 15 | strncmp("bla", "ble", 2); |
| 16 | ?> | 16 | ?> |
| 17 | --EXPECTF-- | 17 | --EXPECTF-- |
| 18 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'system' in %a/disabled_functions_param.php:2 has been disabled, because its argument 'command' content (id) matched the rule '1'. | 18 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'system' in %a/disabled_functions_param.php:2 has been disabled, because its argument '$command' content (id) matched the rule '1'. |
diff --git a/src/tests/disabled_functions_param_array.phpt b/src/tests/disabled_functions_param_array.phpt index 5ca13aa..f023cfc 100644 --- a/src/tests/disabled_functions_param_array.phpt +++ b/src/tests/disabled_functions_param_array.phpt | |||
| @@ -21,4 +21,4 @@ foo($a); | |||
| 21 | --EXPECTF-- | 21 | --EXPECTF-- |
| 22 | test1 | 22 | test1 |
| 23 | abcde | 23 | abcde |
| 24 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'foo' in %a/disabled_functions_param_array.php:3 has been disabled, because its argument 'arr' content (Array) matched the rule '1'. | 24 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'foo' in %a/disabled_functions_param_array.php:3 has been disabled, because its argument '$arr' content (abcd) matched the rule '1'. |
diff --git a/src/tests/disabled_functions_param_array_deref.phpt b/src/tests/disabled_functions_param_array_deref.phpt index 556cb06..1e8e31b 100644 --- a/src/tests/disabled_functions_param_array_deref.phpt +++ b/src/tests/disabled_functions_param_array_deref.phpt | |||
| @@ -22,4 +22,4 @@ foo($a); | |||
| 22 | --EXPECTF-- | 22 | --EXPECTF-- |
| 23 | eee | 23 | eee |
| 24 | abcdef | 24 | abcdef |
| 25 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'foo' in %a/tests/disabled_functions_param_array_deref.php:3 has been disabled, because its argument 'arr' content (Array) matched the rule '2'. | 25 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'foo' in %a/tests/disabled_functions_param_array_deref.php:3 has been disabled, because its argument '$arr' content (abcdef) matched the rule '2'. |
diff --git a/src/tests/disabled_functions_param_array_no_value.phpt b/src/tests/disabled_functions_param_array_no_value.phpt index 06b9839..ac1b5e0 100644 --- a/src/tests/disabled_functions_param_array_no_value.phpt +++ b/src/tests/disabled_functions_param_array_no_value.phpt | |||
| @@ -19,4 +19,4 @@ foo($a); | |||
| 19 | ?> | 19 | ?> |
| 20 | --EXPECTF-- | 20 | --EXPECTF-- |
| 21 | cccc | 21 | cccc |
| 22 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'foo' in %a/tests/disabled_functions_param_array_no_value.php:3 has been disabled, because its argument 'arr' content (Array) matched the rule '3'. | 22 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'foo' in %a/tests/disabled_functions_param_array_no_value.php:3 has been disabled, because its argument '$arr' content (aaa) matched the rule '3'. |
diff --git a/src/tests/disabled_functions_param_array_r.phpt b/src/tests/disabled_functions_param_array_r.phpt new file mode 100644 index 0000000..8bd85ce --- /dev/null +++ b/src/tests/disabled_functions_param_array_r.phpt | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | --TEST-- | ||
| 2 | Disable functions - match on an array using regexp | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_disabled_functions_param_r_array.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | function foo($arr) { | ||
| 10 | echo $arr["a"]."\n"; | ||
| 11 | } | ||
| 12 | $a=Array("test2"=>"pof", "pof"=>"pif", "a"=>Array("qwe"=>"bbb"), "a"=>"cccc"); | ||
| 13 | foo($a); | ||
| 14 | |||
| 15 | $a=Array("a"=>"abcd", "pof"=>"pif", "bar"=>Array("qwe"=>"bbb"), "b"=>"cccc"); | ||
| 16 | foo($a); | ||
| 17 | ?> | ||
| 18 | --EXPECTF-- | ||
| 19 | cccc | ||
| 20 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'foo' in %a/tests/disabled_functions_param_array_r.php:3 has been disabled, because its argument 'arr' content (ARRAY) matched the rule '1'. | ||
diff --git a/src/tests/disabled_functions_param_array_r_keys.phpt b/src/tests/disabled_functions_param_array_r_keys.phpt new file mode 100644 index 0000000..e9ef50d --- /dev/null +++ b/src/tests/disabled_functions_param_array_r_keys.phpt | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | --TEST-- | ||
| 2 | Disable functions - match on an array using regexp | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_disabled_functions_param_r_array.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | function foo($arr) { | ||
| 10 | echo $arr["a"]."\n"; | ||
| 11 | } | ||
| 12 | $a=Array("test2"=>"pof", "pof"=>"pif", "qwe"=>Array("qwe"=>"bbb"), "a"=>"cccc"); | ||
| 13 | foo($a); | ||
| 14 | |||
| 15 | $a=Array("a"=>"", "pof"=>"pif", "bar"=>Array("qwe"=>"bbb"), "qweabcqwe"=>"nop"); | ||
| 16 | foo($a); | ||
| 17 | ?> | ||
| 18 | --EXPECTF-- | ||
| 19 | cccc | ||
| 20 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'foo' in %a/tests/disabled_functions_param_array_r_keys.php:3 has been disabled, because its argument 'arr' content (ARRAY) matched the rule '2'. | ||
diff --git a/src/tests/disabled_functions_param_array_several_levels.phpt b/src/tests/disabled_functions_param_array_several_levels.phpt index cef6ded..f5665fb 100644 --- a/src/tests/disabled_functions_param_array_several_levels.phpt +++ b/src/tests/disabled_functions_param_array_several_levels.phpt | |||
| @@ -17,4 +17,4 @@ foo($a); | |||
| 17 | ?> | 17 | ?> |
| 18 | --EXPECTF-- | 18 | --EXPECTF-- |
| 19 | cccc | 19 | cccc |
| 20 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'foo' in %a/tests/disabled_functions_param_array_several_levels.php:3 has been disabled, because its argument 'arr' content (Array) matched the rule '4'. | 20 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'foo' in %a/tests/disabled_functions_param_array_several_levels.php:3 has been disabled, because its argument '$arr' content (ARRAY) matched the rule '4'. |
diff --git a/src/tests/disabled_functions_param_array_several_levels_int.phpt b/src/tests/disabled_functions_param_array_several_levels_int.phpt new file mode 100644 index 0000000..2e546f4 --- /dev/null +++ b/src/tests/disabled_functions_param_array_several_levels_int.phpt | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | --TEST-- | ||
| 2 | Disable functions - match on an array value buried in several levels | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_disabled_functions_param_array.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | function foo($arr) { | ||
| 10 | echo $arr["a"]."\n"; | ||
| 11 | } | ||
| 12 | $a=Array("test2"=>Array("pof"=>"pif", "foo"=>Array("lol"=>"bbb")), "a"=>"cccc"); | ||
| 13 | foo($a); | ||
| 14 | |||
| 15 | $a=Array("test2"=>Array("foo"=>Array("123"=>"aaa")), "a"=>"dddd"); | ||
| 16 | foo($a); | ||
| 17 | ?> | ||
| 18 | --EXPECTF-- | ||
| 19 | cccc | ||
| 20 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'foo' in %a/tests/disabled_functions_param_array_several_levels_int.php:3 has been disabled, because its argument '$arr' content (ARRAY) matched the rule '4'. | ||
diff --git a/src/tests/disabled_functions_param_array_several_levels_keys.phpt b/src/tests/disabled_functions_param_array_several_levels_keys.phpt new file mode 100644 index 0000000..1be59fc --- /dev/null +++ b/src/tests/disabled_functions_param_array_several_levels_keys.phpt | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | --TEST-- | ||
| 2 | Disable functions - match on an array value buried in several levels | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_disabled_functions_param_array.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | function foo($arr) { | ||
| 10 | echo $arr["a"]."\n"; | ||
| 11 | } | ||
| 12 | $a=Array("test2"=>Array("pof"=>"pif", "bar"=>Array("qwe"=>"bbb")), "a"=>"cccc"); | ||
| 13 | foo($a); | ||
| 14 | |||
| 15 | $a=Array("test2"=>Array("bar"=>Array("lol"=>"aaa")), "a"=>"dddd"); | ||
| 16 | foo($a); | ||
| 17 | ?> | ||
| 18 | --EXPECTF-- | ||
| 19 | cccc | ||
| 20 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'foo' in %a/tests/disabled_functions_param_array_several_levels_keys.php:3 has been disabled, because its argument '$arr' content (ARRAY) matched the rule '5'. | ||
diff --git a/src/tests/disabled_functions_param_array_several_levels_keys_int.phpt b/src/tests/disabled_functions_param_array_several_levels_keys_int.phpt new file mode 100644 index 0000000..acb696f --- /dev/null +++ b/src/tests/disabled_functions_param_array_several_levels_keys_int.phpt | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | --TEST-- | ||
| 2 | Disable functions - match on an array value buried in several levels | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_disabled_functions_param_array.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | function foo($arr) { | ||
| 10 | echo $arr["a"]."\n"; | ||
| 11 | } | ||
| 12 | $a=Array("test2"=>Array("pof"=>"pif", "bar"=>Array("qwe"=>"bbb")), "a"=>"cccc"); | ||
| 13 | foo($a); | ||
| 14 | |||
| 15 | $a=Array("test2"=>Array("bar"=>Array("123"=>"aaa")), "a"=>"dddd"); | ||
| 16 | foo($a); | ||
| 17 | ?> | ||
| 18 | --EXPECTF-- | ||
| 19 | cccc | ||
| 20 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'foo' in %a/tests/disabled_functions_param_array_several_levels_keys_int.php:3 has been disabled, because its argument '$arr' content (ARRAY) matched the rule '6'. | ||
diff --git a/src/tests/disabled_functions_param_int.phpt b/src/tests/disabled_functions_param_int.phpt index 0e6a62c..692009a 100644 --- a/src/tests/disabled_functions_param_int.phpt +++ b/src/tests/disabled_functions_param_int.phpt | |||
| @@ -18,4 +18,4 @@ foobar("10"); | |||
| 18 | ?> | 18 | ?> |
| 19 | --EXPECTF-- | 19 | --EXPECTF-- |
| 20 | 1 | 20 | 1 |
| 21 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'foobar' in %a/tests/disabled_functions_param_int.php:3 has been disabled, because its argument 'id' content (42) matched a rule. | 21 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'foobar' in %a/tests/disabled_functions_param_int.php:3 has been disabled, because its argument '$id' content (42) matched a rule. |
diff --git a/src/tests/disabled_functions_pos_type.phpt b/src/tests/disabled_functions_pos_type.phpt new file mode 100644 index 0000000..7556440 --- /dev/null +++ b/src/tests/disabled_functions_pos_type.phpt | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | --TEST-- | ||
| 2 | Disable functions - match on argument's position | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/disabled_functions_pos.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | system([123, 456]); | ||
| 10 | ?> | ||
| 11 | --EXPECTF-- | ||
| 12 | [snuffleupagus][0.0.0.0][config][error] It seems that you wrote a rule filtering on the 0th argument of the function 'system', but it takes only 2 arguments. Matching on _all_ arguments instead. | ||
| 13 | [snuffleupagus][0.0.0.0][config][error] It seems that you wrote a rule filtering on the 1st argument of the function 'system', but it takes only 2 arguments. Matching on _all_ arguments instead. | ||
| 14 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'system' in %a/disabled_functions_pos_type.php:2 has been disabled, because its argument 'command' content (?) matched the rule '1'. | ||
diff --git a/src/tests/disabled_functions_runtime.phpt b/src/tests/disabled_functions_runtime.phpt index 1c6a141..1508735 100644 --- a/src/tests/disabled_functions_runtime.phpt +++ b/src/tests/disabled_functions_runtime.phpt | |||
| @@ -23,7 +23,7 @@ test('1338');test('1337'); | |||
| 23 | ?> | 23 | ?> |
| 24 | --EXPECTF-- | 24 | --EXPECTF-- |
| 25 | 1338 | 25 | 1338 |
| 26 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'test' in %a has been disabled, because its argument 'param' content (1337) matched a rule. | 26 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'test' in %a has been disabled, because its argument '$param' content (1337) matched a rule. |
| 27 | --CLEAN-- | 27 | --CLEAN-- |
| 28 | <?php | 28 | <?php |
| 29 | unlink("file_to_include1.php"); | 29 | unlink("file_to_include1.php"); |
