diff options
4 files changed, 31 insertions, 0 deletions
diff --git a/src/tests/config/config_disabled_functions_name_regexp_type.ini b/src/tests/config/config_disabled_functions_name_regexp_type.ini new file mode 100644 index 0000000..38f9657 --- /dev/null +++ b/src/tests/config/config_disabled_functions_name_regexp_type.ini | |||
| @@ -0,0 +1 @@ | |||
| sp.disable_function.function("strcmp").pos("0").param_type("array").drop(); | |||
diff --git a/src/tests/config/disabled_functions_pos.ini b/src/tests/config/disabled_functions_pos.ini index 2b4650d..7f7c04d 100644 --- a/src/tests/config/disabled_functions_pos.ini +++ b/src/tests/config/disabled_functions_pos.ini | |||
| @@ -1,3 +1,4 @@ | |||
| 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(); | 3 | sp.disable_function.function("system").pos("1").param_type("ARRAY").alias("1").drop(); |
| 4 | sp.disable_function.function("strlen").pos("0").value("id").alias("strlen array").drop(); | ||
diff --git a/src/tests/disabled_functions_name_regexp_type.phpt b/src/tests/disabled_functions_name_regexp_type.phpt new file mode 100644 index 0000000..0a3f431 --- /dev/null +++ b/src/tests/disabled_functions_name_regexp_type.phpt | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | --TEST-- | ||
| 2 | Disable functions | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_disabled_functions_name_regexp_type.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | echo strcmp("pouet", "pouet") . "\n"; | ||
| 10 | echo strcmp(1, 2) . "\n"; | ||
| 11 | echo strcmp([1], "pouet") . "\n"; | ||
| 12 | ?> | ||
| 13 | --EXPECTF-- | ||
| 14 | 0 | ||
| 15 | -1 | ||
| 16 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'strcmp' in %a/disabled_functions_name_regexp_type.php:4 has been disabled, because its argument 'str1' content (?) matched a rule. | ||
diff --git a/src/tests/disabled_functions_param_pos2.phpt b/src/tests/disabled_functions_param_pos2.phpt new file mode 100644 index 0000000..fd58ffc --- /dev/null +++ b/src/tests/disabled_functions_param_pos2.phpt | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | --TEST-- | ||
| 2 | Disable functions - match on argument's position, not the first time | ||
| 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 | strlen("od"); | ||
| 10 | strlen("id"); | ||
| 11 | ?> | ||
| 12 | --EXPECTF-- | ||
| 13 | [snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'strlen' in %a/disabled_functions_param_pos2.php:3 has been disabled, because its argument 'str' content (id) matched the rule 'strlen array'. | ||
