summaryrefslogtreecommitdiff
path: root/src/tests/disable_function/config
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/disable_function/config')
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_callback_called_file_r.ini1
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_called_file_r.ini1
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_chain.ini3
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_chain_call_user_func.ini2
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_chain_call_user_func_ret.ini1
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_eval_filename.ini1
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_eval_user_func.ini1
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_filename_r.ini2
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_include.ini5
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_local_var_array.ini1
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_local_var_array_key.ini1
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_method.ini3
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_name_r.ini2
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_name_regexp_type.ini1
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_name_type.ini1
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_namespace.ini2
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_nul_byte.ini1
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_param.ini6
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_param_alias.ini2
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_param_allow.ini3
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_param_array.ini7
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_param_int.ini2
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_param_r.ini2
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_param_r_array.ini2
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_param_runtime.ini1
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_param_str_representation.ini1
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_require.ini5
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_require_allow.ini1
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_ret_allow.ini2
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_ret_allow_value.ini1
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_ret_right_hash.ini4
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_ret_simulation.ini3
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_ret_user.ini1
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_right_hash.ini3
-rw-r--r--src/tests/disable_function/config/config_disabled_functions_variadic.ini1
-rw-r--r--src/tests/disable_function/config/config_disabled_user_functions.ini1
-rw-r--r--src/tests/disable_function/config/config_noncore_function_hooking.ini1
-rw-r--r--src/tests/disable_function/config/disabled_function_curl_verify_certs.ini18
-rw-r--r--src/tests/disable_function/config/disabled_function_echo.ini2
-rw-r--r--src/tests/disable_function/config/disabled_function_local_var.ini10
-rw-r--r--src/tests/disable_function/config/disabled_function_local_var_2.ini1
-rw-r--r--src/tests/disable_function/config/disabled_function_local_var_array_not_array.ini1
-rw-r--r--src/tests/disable_function/config/disabled_function_local_var_const.ini1
-rw-r--r--src/tests/disable_function/config/disabled_function_local_var_obj.ini3
-rw-r--r--src/tests/disable_function/config/disabled_function_param.ini1
-rw-r--r--src/tests/disable_function/config/disabled_function_print.ini1
-rw-r--r--src/tests/disable_function/config/disabled_function_super_global_var.ini1
-rw-r--r--src/tests/disable_function/config/disabled_functions.ini9
-rw-r--r--src/tests/disable_function/config/disabled_functions_broken_line.ini1
-rw-r--r--src/tests/disable_function/config/disabled_functions_cidr.ini9
-rw-r--r--src/tests/disable_function/config/disabled_functions_die.ini1
-rw-r--r--src/tests/disable_function/config/disabled_functions_drop_include.ini4
-rw-r--r--src/tests/disable_function/config/disabled_functions_drop_include_simulation.ini4
-rw-r--r--src/tests/disable_function/config/disabled_functions_eval.ini1
-rw-r--r--src/tests/disable_function/config/disabled_functions_eval_simulation.ini1
-rw-r--r--src/tests/disable_function/config/disabled_functions_exit.ini1
-rw-r--r--src/tests/disable_function/config/disabled_functions_invalid_pos.ini1
-rw-r--r--src/tests/disable_function/config/disabled_functions_line.ini1
-rw-r--r--src/tests/disable_function/config/disabled_functions_mb.ini2
-rw-r--r--src/tests/disable_function/config/disabled_functions_pos.ini4
-rw-r--r--src/tests/disable_function/config/disabled_functions_regexp.ini1
-rw-r--r--src/tests/disable_function/config/disabled_functions_ret.ini6
-rw-r--r--src/tests/disable_function/config/disabled_functions_ret_type.ini1
-rw-r--r--src/tests/disable_function/config/disabled_functions_ret_type_array.ini1
-rw-r--r--src/tests/disable_function/config/disabled_functions_ret_type_double.ini1
-rw-r--r--src/tests/disable_function/config/disabled_functions_ret_type_long.ini1
-rw-r--r--src/tests/disable_function/config/disabled_functions_ret_type_null.ini1
-rw-r--r--src/tests/disable_function/config/disabled_functions_ret_type_object.ini1
-rw-r--r--src/tests/disable_function/config/disabled_functions_ret_type_resource.ini1
-rw-r--r--src/tests/disable_function/config/disabled_functions_ret_type_str.ini1
-rw-r--r--src/tests/disable_function/config/disabled_functions_ret_type_true.ini1
-rw-r--r--src/tests/disable_function/config/disabled_functions_retval.ini2
-rw-r--r--src/tests/disable_function/config/disabled_functions_retval_dump.ini1
-rw-r--r--src/tests/disable_function/config/disabled_functions_retval_rx.ini1
-rw-r--r--src/tests/disable_function/config/disabled_functions_zero_cidr.ini1
-rw-r--r--src/tests/disable_function/config/empty.ini0
76 files changed, 177 insertions, 0 deletions
diff --git a/src/tests/disable_function/config/config_disabled_functions_callback_called_file_r.ini b/src/tests/disable_function/config/config_disabled_functions_callback_called_file_r.ini
new file mode 100644
index 0000000..daaee36
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_callback_called_file_r.ini
@@ -0,0 +1 @@
sp.disable_function.function("test_callback").filename_r("callback\\.php$").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_called_file_r.ini b/src/tests/disable_function/config/config_disabled_functions_called_file_r.ini
new file mode 100644
index 0000000..17b019a
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_called_file_r.ini
@@ -0,0 +1 @@
sp.disable_function.function_r("test").filename_r("file_r\\.php$").drop(); \ No newline at end of file
diff --git a/src/tests/disable_function/config/config_disabled_functions_chain.ini b/src/tests/disable_function/config/config_disabled_functions_chain.ini
new file mode 100644
index 0000000..d5d9b62
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_chain.ini
@@ -0,0 +1,3 @@
1sp.disable_function.function("outer>inner>other").drop();
2sp.disable_function.function("other>outer>inner_").drop();
3sp.disable_function.function("outer>inner").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_chain_call_user_func.ini b/src/tests/disable_function/config/config_disabled_functions_chain_call_user_func.ini
new file mode 100644
index 0000000..4f7a629
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_chain_call_user_func.ini
@@ -0,0 +1,2 @@
1sp.disable_function.function("outer>call_user_func>inner").simulation().drop();
2sp.disable_function.function("outer>inner").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_chain_call_user_func_ret.ini b/src/tests/disable_function/config/config_disabled_functions_chain_call_user_func_ret.ini
new file mode 100644
index 0000000..f003b7d
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_chain_call_user_func_ret.ini
@@ -0,0 +1 @@
sp.disable_function.function("one>two").simulation().ret("matching_two").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_eval_filename.ini b/src/tests/disable_function/config/config_disabled_functions_eval_filename.ini
new file mode 100644
index 0000000..6c593fc
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_eval_filename.ini
@@ -0,0 +1 @@
sp.disable_function.function("eval").filename_r("^.*/disabled_functions_eval_filename.php$").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_eval_user_func.ini b/src/tests/disable_function/config/config_disabled_functions_eval_user_func.ini
new file mode 100644
index 0000000..4d0d370
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_eval_user_func.ini
@@ -0,0 +1 @@
sp.disable_function.function("my_func").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_filename_r.ini b/src/tests/disable_function/config/config_disabled_functions_filename_r.ini
new file mode 100644
index 0000000..fe79608
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_filename_r.ini
@@ -0,0 +1,2 @@
1sp.disable_function.function_r("^system$").filename_r("\\.txt$").drop();
2sp.disable_function.function_r("^shell_exec$").filename_r("\\.php$").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_include.ini b/src/tests/disable_function/config/config_disabled_functions_include.ini
new file mode 100644
index 0000000..cee0d86
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_include.ini
@@ -0,0 +1,5 @@
1sp.disable_function.function("include").param("").value_r("sim$").drop().simulation();
2sp.disable_function.function("include").param("").value_r("meh$").drop();
3
4sp.disable_function.function("include_once").param("").value_r("sim$").drop().simulation();
5sp.disable_function.function("include_once").param("").value_r("meh$").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_local_var_array.ini b/src/tests/disable_function/config/config_disabled_functions_local_var_array.ini
new file mode 100644
index 0000000..15dd5a1
--- /dev/null
+++ b/src/tests/disable_function/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/disable_function/config/config_disabled_functions_local_var_array_key.ini b/src/tests/disable_function/config/config_disabled_functions_local_var_array_key.ini
new file mode 100644
index 0000000..75c840d
--- /dev/null
+++ b/src/tests/disable_function/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/disable_function/config/config_disabled_functions_method.ini b/src/tests/disable_function/config/config_disabled_functions_method.ini
new file mode 100644
index 0000000..8fbce65
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_method.ini
@@ -0,0 +1,3 @@
1sp.disable_function.function("AwesomeClass::method1").drop();
2sp.disable_function.function("method2").drop();
3sp.disable_function.function("AwesomeClass::method3").param("a").value("pouet").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_name_r.ini b/src/tests/disable_function/config/config_disabled_functions_name_r.ini
new file mode 100644
index 0000000..167d6f0
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_name_r.ini
@@ -0,0 +1,2 @@
1sp.disable_function.function_r("^not_system$").ret("42").drop();
2sp.disable_function.function_r("^system$").ret("1337").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_name_regexp_type.ini b/src/tests/disable_function/config/config_disabled_functions_name_regexp_type.ini
new file mode 100644
index 0000000..38f9657
--- /dev/null
+++ b/src/tests/disable_function/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/disable_function/config/config_disabled_functions_name_type.ini b/src/tests/disable_function/config/config_disabled_functions_name_type.ini
new file mode 100644
index 0000000..25bdf98
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_name_type.ini
@@ -0,0 +1 @@
sp.disable_function.function_r("^strcmp$").param("str1").param_type("array").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_namespace.ini b/src/tests/disable_function/config/config_disabled_functions_namespace.ini
new file mode 100644
index 0000000..2926611
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_namespace.ini
@@ -0,0 +1,2 @@
1sp.disable_function.function("strcmp").drop();
2sp.disable_function.function("my_super_namespace\\my_function").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_nul_byte.ini b/src/tests/disable_function/config/config_disabled_functions_nul_byte.ini
new file mode 100644
index 0000000..9ead077
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_nul_byte.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").param("command").value_r("id").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_param.ini b/src/tests/disable_function/config/config_disabled_functions_param.ini
new file mode 100644
index 0000000..87f1b3c
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_param.ini
@@ -0,0 +1,6 @@
1sp.disable_function.function("system").param("command").value_r("^id$").alias("1").drop();
2sp.disable_function.function("array_sum").param("array").value_r("^8$").alias("2").drop();
3sp.disable_function.function("shell_exec").param("cmd").value("id").alias("3").drop();
4sp.disable_function.function("shell_exec").param("cmd").value("bla").alias("4").drop();
5sp.disable_function.function("strcmp").param("str1").value("bla").alias("5").drop().simulation();
6sp.disable_function.function("strncmp").param("str1").value("bla").drop().simulation();
diff --git a/src/tests/disable_function/config/config_disabled_functions_param_alias.ini b/src/tests/disable_function/config/config_disabled_functions_param_alias.ini
new file mode 100644
index 0000000..2f06244
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_param_alias.ini
@@ -0,0 +1,2 @@
1sp.disable_function.function("system").alias("1").drop();
2sp.disable_function.function("shell_exec").alias("2").drop().simulation();
diff --git a/src/tests/disable_function/config/config_disabled_functions_param_allow.ini b/src/tests/disable_function/config/config_disabled_functions_param_allow.ini
new file mode 100644
index 0000000..8e139e4
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_param_allow.ini
@@ -0,0 +1,3 @@
1sp.disable_function.function("system").param("command").value("echo win").filename("/test.php").drop();
2sp.disable_function.function("system").param("command").value("echo win").allow();
3sp.disable_function.function("system").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_param_array.ini b/src/tests/disable_function/config/config_disabled_functions_param_array.ini
new file mode 100644
index 0000000..f676d76
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_param_array.ini
@@ -0,0 +1,7 @@
1sp.disable_function.function("foo").param("arr[a]").value("abcd").alias("1").drop();
2sp.disable_function.function("foo").param("arr[bla]").value("abcdef").alias("2").drop();
3sp.disable_function.function("foo").param("arr[test]").alias("3").drop();
4sp.disable_function.function("foo").param("arr[test2][foo]").value("aaa").alias("4").drop();
5sp.disable_function.function("foo").param("arr[test2][bar]").key("lol").alias("5").drop();
6sp.disable_function.function("foo").param("arr[test2][bar]").key("123").alias("6").drop();
7sp.disable_function.function("foo").param("qwe[a]").value("abcd").alias("7").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_param_int.ini b/src/tests/disable_function/config/config_disabled_functions_param_int.ini
new file mode 100644
index 0000000..1c93c2f
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_param_int.ini
@@ -0,0 +1,2 @@
1sp.disable_function.function("foobar").param("id").value("42").drop();
2sp.disable_function.function("foobar").param("id").value_r("^1337").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_param_r.ini b/src/tests/disable_function/config/config_disabled_functions_param_r.ini
new file mode 100644
index 0000000..09a59fe
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_param_r.ini
@@ -0,0 +1,2 @@
1sp.disable_function.function("system").param_r("^not_command$").value("id").drop();
2sp.disable_function.function("system").param_r("^command$").value("id").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_param_r_array.ini b/src/tests/disable_function/config/config_disabled_functions_param_r_array.ini
new file mode 100644
index 0000000..fcac71d
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_param_r_array.ini
@@ -0,0 +1,2 @@
1sp.disable_function.function("foo").param_r("arr").value("abcd").alias("1").drop();
2sp.disable_function.function("foo").param_r("arr").key_r("abc").alias("2").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_param_runtime.ini b/src/tests/disable_function/config/config_disabled_functions_param_runtime.ini
new file mode 100644
index 0000000..e7a011f
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_param_runtime.ini
@@ -0,0 +1 @@
sp.disable_function.function("test").param("param").value_r("1337").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_param_str_representation.ini b/src/tests/disable_function/config/config_disabled_functions_param_str_representation.ini
new file mode 100644
index 0000000..13b3974
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_param_str_representation.ini
@@ -0,0 +1 @@
sp.disable_function.function("var_export").param("var").value("bla").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_require.ini b/src/tests/disable_function/config/config_disabled_functions_require.ini
new file mode 100644
index 0000000..63a4eb2
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_require.ini
@@ -0,0 +1,5 @@
1sp.disable_function.function("require").param("").value_r("sim$").drop().simulation();
2sp.disable_function.function("require").param("").value_r("meh$").drop();
3
4sp.disable_function.function("require_once").param("").value_r("sim$").drop().simulation();
5sp.disable_function.function("require_once").param("").value_r("meh$").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_require_allow.ini b/src/tests/disable_function/config/config_disabled_functions_require_allow.ini
new file mode 100644
index 0000000..ee2bb67
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_require_allow.ini
@@ -0,0 +1 @@
sp.disable_function.function("require").param("").value_r("meh$").allow();
diff --git a/src/tests/disable_function/config/config_disabled_functions_ret_allow.ini b/src/tests/disable_function/config/config_disabled_functions_ret_allow.ini
new file mode 100644
index 0000000..a97e21d
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_ret_allow.ini
@@ -0,0 +1,2 @@
1sp.disable_function.function("strpos").hash("70b33f3eaf585b245640bb2c92445d0040b2bcb31395aa25dede9f2df4dbcbe8").allow();
2sp.disable_function.function("strpos").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_ret_allow_value.ini b/src/tests/disable_function/config/config_disabled_functions_ret_allow_value.ini
new file mode 100644
index 0000000..b5d3bdd
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_ret_allow_value.ini
@@ -0,0 +1 @@
sp.disable_function.function("strpos").ret("0").allow();
diff --git a/src/tests/disable_function/config/config_disabled_functions_ret_right_hash.ini b/src/tests/disable_function/config/config_disabled_functions_ret_right_hash.ini
new file mode 100644
index 0000000..af4fdd4
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_ret_right_hash.ini
@@ -0,0 +1,4 @@
1sp.disable_function.function("system").ret("1").drop();
2sp.disable_function.function("system").ret("1337").hash("123456789597a81a2b862cdb49920e2cba2e5979a3fc374c58c803e8f5c99a10").drop();
3sp.disable_function.function("system").ret("1338").hash("522a976fa597a81a2b862cdb49920e2cba2e5979a3fc374c58c803e8f5c99a10").drop();
4sp.disable_function.function("system").ret("1337").hash("d259c3ad8cf096272cd0e78768af3b11325f498de5c2c36f40adc43643af378a").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_ret_simulation.ini b/src/tests/disable_function/config/config_disabled_functions_ret_simulation.ini
new file mode 100644
index 0000000..bd0af4e
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_ret_simulation.ini
@@ -0,0 +1,3 @@
1sp.disable_function.function("strpos").ret("0").simulation().drop();
2sp.disable_function.function("stripos").ret("0").simulation().drop().alias("1");
3sp.disable_function.function("strcmp").ret("0").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_ret_user.ini b/src/tests/disable_function/config/config_disabled_functions_ret_user.ini
new file mode 100644
index 0000000..d214376
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_ret_user.ini
@@ -0,0 +1 @@
sp.disable_function.function("qwe").ret("asd").drop();
diff --git a/src/tests/disable_function/config/config_disabled_functions_right_hash.ini b/src/tests/disable_function/config/config_disabled_functions_right_hash.ini
new file mode 100644
index 0000000..4e9b88c
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_right_hash.ini
@@ -0,0 +1,3 @@
1sp.disable_function.function("system").hash("1337c3ad8cf096272cd0e78768af3b11325f498de5c2c36f40adc43643af378a").allow();
2sp.disable_function.function("system").hash("d259c3ad8cf096272cd0e78768af3b11325f498de5c2c36f40adc43643af378a").allow();
3sp.disable_function.function("system").drop(); \ No newline at end of file
diff --git a/src/tests/disable_function/config/config_disabled_functions_variadic.ini b/src/tests/disable_function/config/config_disabled_functions_variadic.ini
new file mode 100644
index 0000000..cd1028d
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_functions_variadic.ini
@@ -0,0 +1 @@
sp.disable_function.function("foo").param("$b").value("1337").drop();
diff --git a/src/tests/disable_function/config/config_disabled_user_functions.ini b/src/tests/disable_function/config/config_disabled_user_functions.ini
new file mode 100644
index 0000000..16ae4cb
--- /dev/null
+++ b/src/tests/disable_function/config/config_disabled_user_functions.ini
@@ -0,0 +1 @@
sp.disable_function.function("my_super_function").drop();
diff --git a/src/tests/disable_function/config/config_noncore_function_hooking.ini b/src/tests/disable_function/config/config_noncore_function_hooking.ini
new file mode 100644
index 0000000..341cbf9
--- /dev/null
+++ b/src/tests/disable_function/config/config_noncore_function_hooking.ini
@@ -0,0 +1 @@
sp.disable_function.function("custom_fun").drop();
diff --git a/src/tests/disable_function/config/disabled_function_curl_verify_certs.ini b/src/tests/disable_function/config/disabled_function_curl_verify_certs.ini
new file mode 100644
index 0000000..133e024
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_function_curl_verify_certs.ini
@@ -0,0 +1,18 @@
1# `81` being SSL_VERIFYHOST, and `64` SSL_VERIFYPEER
2
3sp.disable_function.function("curl_setopt").param("value").value("1").allow();
4sp.disable_function.function("curl_setopt").param("value").value("2").allow();
5sp.disable_function.function("curl_setopt").param("option").value("81").drop().alias("Please don't turn CURLOPT_SSL_VERIFYHOST off.");
6sp.disable_function.function("curl_setopt").param("option").value("64").drop().alias("Please don't turn CURLOPT_SSL_VERIFYPEER off.");
7
8# ---
9
10sp.disable_function.function("curl_setopt_array").param("options[CURLOPT_SSL_VERIFYHOST]").value("0").drop().alias("Please don't turn CURLOPT_SSL_VERIFYHOST off.");
11sp.disable_function.function("curl_setopt_array").param("options[CURLOPT_SSL_VERIFYPEER]").value("0").drop().alias("Please don't turn CURLOPT_SSL_VERIFYPEER off.");
12
13# ---
14
15sp.disable_function.function("curl_multi_setopt").param("value").value("1").allow();
16sp.disable_function.function("curl_multi_setopt").param("value").value("2").allow();
17sp.disable_function.function("curl_multi_setopt").param("option").value("81").drop().alias("Please don't turn CURLOPT_SSL_VERIFYHOST off.");
18sp.disable_function.function("curl_multi_setopt").param("option").value("64").drop().alias("Please don't turn CURLOPT_SSL_VERIFYPEER off.");
diff --git a/src/tests/disable_function/config/disabled_function_echo.ini b/src/tests/disable_function/config/disabled_function_echo.ini
new file mode 100644
index 0000000..39bc5e3
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_function_echo.ini
@@ -0,0 +1,2 @@
1sp.disable_function.function("echo").var("$abc").value("123").drop();
2sp.disable_function.function("echo").value("oops").drop();
diff --git a/src/tests/disable_function/config/disabled_function_local_var.ini b/src/tests/disable_function/config/disabled_function_local_var.ini
new file mode 100644
index 0000000..3d553c0
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_function_local_var.ini
@@ -0,0 +1,10 @@
1sp.disable_function.function("phpinfo").var("$b").value("1337").drop();
2sp.disable_function.function("strlen").var("$a").value("1337").drop();
3sp.disable_function.function("strlen").var("$a['123']").value("block").drop();
4sp.disable_function.function("strlen").var("$a[$c]->prop").value("block").drop();
5sp.disable_function.function("strlen").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();
7sp.disable_function.function("strlen").var("\\asd\\test_object::TEST_VALUE").value("qwerty").drop();
8sp.disable_function.function("strlen").var("\\qwe\\ASD").value("qwerty").drop();
9sp.disable_function.function("strlen").var("\\qwe\\QWE['123']").value("asdfgh").drop();
10sp.disable_function.function("strlen").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
new file mode 100644
index 0000000..6c0ae66
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_function_local_var_2.ini
@@ -0,0 +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();
diff --git a/src/tests/disable_function/config/disabled_function_local_var_array_not_array.ini b/src/tests/disable_function/config/disabled_function_local_var_array_not_array.ini
new file mode 100644
index 0000000..ea25d1f
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_function_local_var_array_not_array.ini
@@ -0,0 +1 @@
sp.disable_function.function("foobar").var("a").value("test").drop().simulation();
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
new file mode 100644
index 0000000..8450de5
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_function_local_var_const.ini
@@ -0,0 +1 @@
sp.disable_function.function("strlen").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
new file mode 100644
index 0000000..df6b617
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_function_local_var_obj.ini
@@ -0,0 +1,3 @@
1sp.disable_function.function("strlen").var("$test->$test_array").value("value").drop();
2sp.disable_function.function("strlen").var("$arg->$test_array").value("value").drop();
3sp.disable_function.function("strlen").var("$test->$arg").value("nop_object").drop();
diff --git a/src/tests/disable_function/config/disabled_function_param.ini b/src/tests/disable_function/config/disabled_function_param.ini
new file mode 100644
index 0000000..6dbae6b
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_function_param.ini
@@ -0,0 +1 @@
sp.disable_function.function("qweqwe").param("$asd[0]").value("2").drop();
diff --git a/src/tests/disable_function/config/disabled_function_print.ini b/src/tests/disable_function/config/disabled_function_print.ini
new file mode 100644
index 0000000..22d957f
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_function_print.ini
@@ -0,0 +1 @@
sp.disable_function.function("print").value("oops").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
new file mode 100644
index 0000000..178a01a
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_function_super_global_var.ini
@@ -0,0 +1 @@
sp.disable_function.function("strlen").var("$_GET[bla]").value("test2").drop();
diff --git a/src/tests/disable_function/config/disabled_functions.ini b/src/tests/disable_function/config/disabled_functions.ini
new file mode 100644
index 0000000..df7013f
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions.ini
@@ -0,0 +1,9 @@
1sp.disable_function.function("system").drop();
2sp.disable_function.function("vprintf").hash("123456789").drop();
3sp.disable_function.function("printf").disable().drop();
4sp.disable_function.function("printf").simulation().drop();
5sp.disable_function.function("print").disable().drop(); # this is a comment
6sp.disable_function.function_r("^var_dump$").drop();
7sp.disable_function.function("sprintf").filename("/wrong file name").drop();
8sp.disable_function.function("sprintf").filename("/wrong file name").drop();
9sp.disable_function.function("eval").drop();
diff --git a/src/tests/disable_function/config/disabled_functions_broken_line.ini b/src/tests/disable_function/config/disabled_functions_broken_line.ini
new file mode 100644
index 0000000..01229c5
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_broken_line.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").line("qwe").drop();
diff --git a/src/tests/disable_function/config/disabled_functions_cidr.ini b/src/tests/disable_function/config/disabled_functions_cidr.ini
new file mode 100644
index 0000000..f69ce07
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_cidr.ini
@@ -0,0 +1,9 @@
1sp.disable_function.function("system").drop().cidr("2001:ab9:a::123/64");
2sp.disable_function.function("system").drop().cidr("192.168.0.1/16");
3sp.disable_function.function("system").drop().cidr("127.0.0.1/8");
4sp.disable_function.function("printf").drop().cidr("10.0.0.1/8");
5sp.disable_function.function("strpos").drop().cidr("127.0.0.2/4");
6sp.disable_function.function("strpos").drop().cidr("::ffff:192.0.2.128/128");
7sp.disable_function.function("strpos").drop().cidr("2001:ab9:a::123/64");
8sp.disable_function.function("strpos").drop().cidr("2001:0db8:f000:f000:f000:ff00:0042:8329/124");
9sp.disable_function.function("printf").drop().cidr("2002:0db8:0000:0000:0000:ff00:0042:8329/24");
diff --git a/src/tests/disable_function/config/disabled_functions_die.ini b/src/tests/disable_function/config/disabled_functions_die.ini
new file mode 100644
index 0000000..4f070b9
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_die.ini
@@ -0,0 +1 @@
sp.disable_function.function("die").drop();
diff --git a/src/tests/disable_function/config/disabled_functions_drop_include.ini b/src/tests/disable_function/config/disabled_functions_drop_include.ini
new file mode 100644
index 0000000..0b10f65
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_drop_include.ini
@@ -0,0 +1,4 @@
1sp.disable_function.function("require_once").value_r("\.ico$").drop();
2sp.disable_function.function("include_once").value_r("\.ico$").drop();
3sp.disable_function.function("require").value_r("\.ico$").drop();
4sp.disable_function.function("include").value_r("\.ico$").drop();
diff --git a/src/tests/disable_function/config/disabled_functions_drop_include_simulation.ini b/src/tests/disable_function/config/disabled_functions_drop_include_simulation.ini
new file mode 100644
index 0000000..4064da1
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_drop_include_simulation.ini
@@ -0,0 +1,4 @@
1sp.disable_function.function("require_once").value_r("\.ico$").drop().simulation();
2sp.disable_function.function("include_once").value_r("\.ico$").drop().simulation();
3sp.disable_function.function("require").value_r("\.ico$").drop().simulation();
4sp.disable_function.function("include").value_r("\.ico$").drop().simulation();
diff --git a/src/tests/disable_function/config/disabled_functions_eval.ini b/src/tests/disable_function/config/disabled_functions_eval.ini
new file mode 100644
index 0000000..f761259
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_eval.ini
@@ -0,0 +1 @@
sp.disable_function.function("eval").drop();
diff --git a/src/tests/disable_function/config/disabled_functions_eval_simulation.ini b/src/tests/disable_function/config/disabled_functions_eval_simulation.ini
new file mode 100644
index 0000000..f1dc58c
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_eval_simulation.ini
@@ -0,0 +1 @@
sp.disable_function.function("eval").drop().simulation();
diff --git a/src/tests/disable_function/config/disabled_functions_exit.ini b/src/tests/disable_function/config/disabled_functions_exit.ini
new file mode 100644
index 0000000..905296e
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_exit.ini
@@ -0,0 +1 @@
sp.disable_function.function("exit").drop();
diff --git a/src/tests/disable_function/config/disabled_functions_invalid_pos.ini b/src/tests/disable_function/config/disabled_functions_invalid_pos.ini
new file mode 100644
index 0000000..42988e4
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_invalid_pos.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").pos("qwe").value("id").drop();
diff --git a/src/tests/disable_function/config/disabled_functions_line.ini b/src/tests/disable_function/config/disabled_functions_line.ini
new file mode 100644
index 0000000..b00cab6
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_line.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").line("3").drop();
diff --git a/src/tests/disable_function/config/disabled_functions_mb.ini b/src/tests/disable_function/config/disabled_functions_mb.ini
new file mode 100644
index 0000000..36eae40
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_mb.ini
@@ -0,0 +1,2 @@
1sp.disable_function.function("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
new file mode 100644
index 0000000..7f7c04d
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_pos.ini
@@ -0,0 +1,4 @@
1sp.disable_function.function("system").pos("1337").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();
4sp.disable_function.function("strlen").pos("0").value("id").alias("strlen array").drop();
diff --git a/src/tests/disable_function/config/disabled_functions_regexp.ini b/src/tests/disable_function/config/disabled_functions_regexp.ini
new file mode 100644
index 0000000..0276039
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_regexp.ini
@@ -0,0 +1 @@
sp.disable_function.function_r("str").drop().simulation();
diff --git a/src/tests/disable_function/config/disabled_functions_ret.ini b/src/tests/disable_function/config/disabled_functions_ret.ini
new file mode 100644
index 0000000..60cea82
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_ret.ini
@@ -0,0 +1,6 @@
1sp.disable_function.function("testFunction").ret("0").drop().disable();
2sp.disable_function.function("strpos").ret("0").drop().filename_r(".*\\.not_matching");
3sp.disable_function.function("strpos").ret("0").drop().filename_r(".*\\.php");
4sp.disable_function.function_r("str[ia]pos").ret_r("^[^a-z]+$").drop();
5sp.disable_function.function_r("stripos").ret_r("^[^a-z]+").drop();
6sp.disable_function.function("Bob::a").ret("2").drop();
diff --git a/src/tests/disable_function/config/disabled_functions_ret_type.ini b/src/tests/disable_function/config/disabled_functions_ret_type.ini
new file mode 100644
index 0000000..bf88402
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_ret_type.ini
@@ -0,0 +1 @@
sp.disable_function.function("strpos").ret_type("false").drop().alias("Return value is FALSE");
diff --git a/src/tests/disable_function/config/disabled_functions_ret_type_array.ini b/src/tests/disable_function/config/disabled_functions_ret_type_array.ini
new file mode 100644
index 0000000..f72dd82
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_ret_type_array.ini
@@ -0,0 +1 @@
sp.disable_function.function("get_loaded_extensions").drop().alias("Return value is an array").ret_type("array");
diff --git a/src/tests/disable_function/config/disabled_functions_ret_type_double.ini b/src/tests/disable_function/config/disabled_functions_ret_type_double.ini
new file mode 100644
index 0000000..a5a6ce3
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_ret_type_double.ini
@@ -0,0 +1 @@
sp.disable_function.function("cos").ret_type("double").drop().alias("Return value is a double");
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
new file mode 100644
index 0000000..03abf8a
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_ret_type_long.ini
@@ -0,0 +1 @@
sp.disable_function.function("strlen").ret_type("long").drop().alias("Return value is a long");
diff --git a/src/tests/disable_function/config/disabled_functions_ret_type_null.ini b/src/tests/disable_function/config/disabled_functions_ret_type_null.ini
new file mode 100644
index 0000000..70c4d69
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_ret_type_null.ini
@@ -0,0 +1 @@
sp.disable_function.function("my_function").ret_type("null").drop().alias("Return value is null");
diff --git a/src/tests/disable_function/config/disabled_functions_ret_type_object.ini b/src/tests/disable_function/config/disabled_functions_ret_type_object.ini
new file mode 100644
index 0000000..8fe240b
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_ret_type_object.ini
@@ -0,0 +1 @@
sp.disable_function.function("a").ret_type("object").drop();
diff --git a/src/tests/disable_function/config/disabled_functions_ret_type_resource.ini b/src/tests/disable_function/config/disabled_functions_ret_type_resource.ini
new file mode 100644
index 0000000..a9c9acf
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_ret_type_resource.ini
@@ -0,0 +1 @@
sp.disable_function.function("fopen").ret_type("resource").drop().alias("Return value is a resource");
diff --git a/src/tests/disable_function/config/disabled_functions_ret_type_str.ini b/src/tests/disable_function/config/disabled_functions_ret_type_str.ini
new file mode 100644
index 0000000..2d306b0
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_ret_type_str.ini
@@ -0,0 +1 @@
sp.disable_function.function("substr").ret_type("string").drop().alias("Return value is a string");
diff --git a/src/tests/disable_function/config/disabled_functions_ret_type_true.ini b/src/tests/disable_function/config/disabled_functions_ret_type_true.ini
new file mode 100644
index 0000000..df5db0e
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_ret_type_true.ini
@@ -0,0 +1 @@
sp.disable_function.function("is_numeric").ret_type("true").drop().alias("Return value is a true");
diff --git a/src/tests/disable_function/config/disabled_functions_retval.ini b/src/tests/disable_function/config/disabled_functions_retval.ini
new file mode 100644
index 0000000..25a99f0
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_retval.ini
@@ -0,0 +1,2 @@
1sp.disable_function.function("str_repeat").ret("fufufu").filename("/var/www/test.php").drop();
2sp.disable_function.function("str_repeat").ret("fufufu").drop();
diff --git a/src/tests/disable_function/config/disabled_functions_retval_dump.ini b/src/tests/disable_function/config/disabled_functions_retval_dump.ini
new file mode 100644
index 0000000..97df351
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_retval_dump.ini
@@ -0,0 +1 @@
sp.disable_function.function("str_repeat").ret("fufufu").drop().dump("/tmp/dump_result/");
diff --git a/src/tests/disable_function/config/disabled_functions_retval_rx.ini b/src/tests/disable_function/config/disabled_functions_retval_rx.ini
new file mode 100644
index 0000000..2352941
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_retval_rx.ini
@@ -0,0 +1 @@
sp.disable_function.function("str_repeat").ret_r("(fu){3}").drop();
diff --git a/src/tests/disable_function/config/disabled_functions_zero_cidr.ini b/src/tests/disable_function/config/disabled_functions_zero_cidr.ini
new file mode 100644
index 0000000..e0bf2d6
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_zero_cidr.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").drop().cidr("0.0.0.0/0");
diff --git a/src/tests/disable_function/config/empty.ini b/src/tests/disable_function/config/empty.ini
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/tests/disable_function/config/empty.ini