From e79f7e3bd992c7f0915ef9afe7afb6d79740527a Mon Sep 17 00:00:00 2001 From: jvoisin Date: Mon, 14 Jan 2019 19:29:25 +0000 Subject: Reorganize the testsuite Splitting the testsuite in several components makes it easier to manage and comprehend. This was also needed some some tests aren't passing on Alpine Linux, but we still want to run as many of them as we can on this platform.--- ...g_disabled_functions_callback_called_file_r.ini | 1 + .../config_disabled_functions_called_file_r.ini | 1 + .../config/config_disabled_functions_chain.ini | 3 ++ ...fig_disabled_functions_chain_call_user_func.ini | 2 + ...disabled_functions_chain_call_user_func_ret.ini | 1 + .../config_disabled_functions_eval_filename.ini | 1 + .../config_disabled_functions_eval_user_func.ini | 1 + .../config_disabled_functions_filename_r.ini | 2 + .../config/config_disabled_functions_include.ini | 5 ++ .../config_disabled_functions_local_var_array.ini | 1 + ...nfig_disabled_functions_local_var_array_key.ini | 1 + .../config/config_disabled_functions_method.ini | 3 ++ .../config/config_disabled_functions_name_r.ini | 2 + .../config_disabled_functions_name_regexp_type.ini | 1 + .../config/config_disabled_functions_name_type.ini | 1 + .../config/config_disabled_functions_namespace.ini | 2 + .../config/config_disabled_functions_nul_byte.ini | 1 + .../config/config_disabled_functions_param.ini | 6 +++ .../config_disabled_functions_param_alias.ini | 2 + .../config_disabled_functions_param_allow.ini | 3 ++ .../config_disabled_functions_param_array.ini | 7 +++ .../config/config_disabled_functions_param_int.ini | 2 + .../config/config_disabled_functions_param_r.ini | 2 + .../config_disabled_functions_param_r_array.ini | 2 + .../config_disabled_functions_param_runtime.ini | 1 + ...disabled_functions_param_str_representation.ini | 1 + .../config/config_disabled_functions_require.ini | 5 ++ .../config_disabled_functions_require_allow.ini | 1 + .../config/config_disabled_functions_ret_allow.ini | 2 + .../config_disabled_functions_ret_allow_value.ini | 1 + .../config_disabled_functions_ret_right_hash.ini | 4 ++ .../config_disabled_functions_ret_simulation.ini | 3 ++ .../config/config_disabled_functions_ret_user.ini | 1 + .../config_disabled_functions_right_hash.ini | 3 ++ .../config/config_disabled_functions_variadic.ini | 1 + .../config/config_disabled_user_functions.ini | 1 + .../config/config_noncore_function_hooking.ini | 1 + .../config/disabled_function_curl_verify_certs.ini | 18 +++++++ .../config/disabled_function_echo.ini | 2 + .../config/disabled_function_local_var.ini | 10 ++++ .../config/disabled_function_local_var_2.ini | 1 + ...disabled_function_local_var_array_not_array.ini | 1 + .../config/disabled_function_local_var_const.ini | 1 + .../config/disabled_function_local_var_obj.ini | 3 ++ .../config/disabled_function_param.ini | 1 + .../config/disabled_function_print.ini | 1 + .../config/disabled_function_super_global_var.ini | 1 + .../disable_function/config/disabled_functions.ini | 9 ++++ .../config/disabled_functions_broken_line.ini | 1 + .../config/disabled_functions_cidr.ini | 9 ++++ .../config/disabled_functions_die.ini | 1 + .../config/disabled_functions_drop_include.ini | 4 ++ .../disabled_functions_drop_include_simulation.ini | 4 ++ .../config/disabled_functions_eval.ini | 1 + .../config/disabled_functions_eval_simulation.ini | 1 + .../config/disabled_functions_exit.ini | 1 + .../config/disabled_functions_invalid_pos.ini | 1 + .../config/disabled_functions_line.ini | 1 + .../config/disabled_functions_mb.ini | 2 + .../config/disabled_functions_pos.ini | 4 ++ .../config/disabled_functions_regexp.ini | 1 + .../config/disabled_functions_ret.ini | 6 +++ .../config/disabled_functions_ret_type.ini | 1 + .../config/disabled_functions_ret_type_array.ini | 1 + .../config/disabled_functions_ret_type_double.ini | 1 + .../config/disabled_functions_ret_type_long.ini | 1 + .../config/disabled_functions_ret_type_null.ini | 1 + .../config/disabled_functions_ret_type_object.ini | 1 + .../disabled_functions_ret_type_resource.ini | 1 + .../config/disabled_functions_ret_type_str.ini | 1 + .../config/disabled_functions_ret_type_true.ini | 1 + .../config/disabled_functions_retval.ini | 2 + .../config/disabled_functions_retval_dump.ini | 1 + .../config/disabled_functions_retval_rx.ini | 1 + .../config/disabled_functions_zero_cidr.ini | 1 + src/tests/disable_function/config/empty.ini | 0 .../disable_function/disabled_function_echo.phpt | 19 ++++++++ .../disable_function/disabled_function_echo_2.phpt | 15 ++++++ .../disabled_function_echo_local_var.phpt | 21 ++++++++ ...isabled_function_ensure_client_valid_certs.phpt | 18 +++++++ ...nsure_client_valid_certs_curl_multi_setopt.phpt | 17 +++++++ ...nsure_client_valid_certs_curl_setopt_array.phpt | 19 ++++++++ ...isabled_function_ensure_server_valid_certs.phpt | 18 +++++++ ...nsure_server_valid_certs_curl_multi_setopt.phpt | 17 +++++++ ...nsure_server_valid_certs_curl_setopt_array.phpt | 19 ++++++++ .../disabled_function_local_var.phpt | 25 ++++++++++ .../disabled_function_local_var_10.phpt | 45 +++++++++++++++++ .../disabled_function_local_var_2.phpt | 47 ++++++++++++++++++ .../disabled_function_local_var_3.phpt | 46 +++++++++++++++++ .../disabled_function_local_var_4.phpt | 57 ++++++++++++++++++++++ .../disabled_function_local_var_5.phpt | 34 +++++++++++++ .../disabled_function_local_var_6.phpt | 32 ++++++++++++ .../disabled_function_local_var_7.phpt | 32 ++++++++++++ .../disabled_function_local_var_8.phpt | 21 ++++++++ .../disabled_function_local_var_9.phpt | 21 ++++++++ .../disabled_function_local_var_const.phpt | 14 ++++++ .../disabled_function_local_var_crash.phpt | 18 +++++++ .../disabled_function_local_var_obj.phpt | 26 ++++++++++ .../disable_function/disabled_function_param.phpt | 20 ++++++++ .../disable_function/disabled_function_print.phpt | 19 ++++++++ .../disabled_function_super_global_var.phpt | 21 ++++++++ src/tests/disable_function/disabled_functions.phpt | 17 +++++++ .../disabled_functions_callback_called_file_r.phpt | 39 +++++++++++++++ .../disabled_functions_called_file_r.phpt | 34 +++++++++++++ .../disable_function/disabled_functions_chain.phpt | 27 ++++++++++ .../disabled_functions_chain_call_user_func.phpt | 27 ++++++++++ ...isabled_functions_chain_call_user_func_ret.phpt | 35 +++++++++++++ .../disabled_functions_chain_not_matching.phpt | 28 +++++++++++ .../disable_function/disabled_functions_cidr.phpt | 16 ++++++ .../disabled_functions_cidr_6.phpt | 17 +++++++ .../disable_function/disabled_functions_die.phpt | 13 +++++ .../disabled_functions_drop_include.phpt | 28 +++++++++++ ...disabled_functions_drop_include_simulation.phpt | 28 +++++++++++ .../disable_function/disabled_functions_eval.phpt | 14 ++++++ .../disabled_functions_eval_filename.phpt | 14 ++++++ .../disabled_functions_eval_simulation.phpt | 15 ++++++ .../disabled_functions_eval_user.phpt | 18 +++++++ .../disable_function/disabled_functions_exit.phpt | 13 +++++ .../disabled_functions_filename_r.phpt | 15 ++++++ .../disabled_functions_include_once.phpt | 27 ++++++++++ .../disabled_functions_include_simulation.phpt | 27 ++++++++++ .../disabled_functions_local_var_array.phpt | 21 ++++++++ .../disabled_functions_local_var_array_key.phpt | 21 ++++++++ ...sabled_functions_local_var_array_not_array.phpt | 17 +++++++ .../disable_function/disabled_functions_mb.phpt | 12 +++++ .../disabled_functions_method.phpt | 27 ++++++++++ .../disabled_functions_name_r.phpt | 16 ++++++ .../disabled_functions_name_regexp_type.phpt | 17 +++++++ .../disabled_functions_name_type.phpt | 15 ++++++ .../disabled_functions_namespace.phpt | 30 ++++++++++++ .../disabled_functions_noconf.phpt | 12 +++++ .../disabled_functions_nul_byte.phpt | 14 ++++++ .../disable_function/disabled_functions_param.phpt | 18 +++++++ .../disabled_functions_param_alias.phpt | 13 +++++ .../disabled_functions_param_allow.phpt | 15 ++++++ .../disabled_functions_param_array.phpt | 25 ++++++++++ .../disabled_functions_param_array_deref.phpt | 26 ++++++++++ .../disabled_functions_param_array_no_value.phpt | 23 +++++++++ .../disabled_functions_param_array_r.phpt | 21 ++++++++ .../disabled_functions_param_array_r_keys.phpt | 21 ++++++++ ...abled_functions_param_array_several_levels.phpt | 21 ++++++++ ...d_functions_param_array_several_levels_int.phpt | 21 ++++++++ ..._functions_param_array_several_levels_keys.phpt | 21 ++++++++ ...ctions_param_array_several_levels_keys_int.phpt | 21 ++++++++ .../disabled_functions_param_broken_line.phpt | 18 +++++++ .../disabled_functions_param_int.phpt | 22 +++++++++ .../disabled_functions_param_invalid_pos.phpt | 17 +++++++ .../disabled_functions_param_line.phpt | 15 ++++++ .../disabled_functions_param_pos.phpt | 14 ++++++ .../disabled_functions_param_pos2.phpt | 13 +++++ .../disabled_functions_param_r.phpt | 13 +++++ ...isabled_functions_param_str_representation.phpt | 25 ++++++++++ .../disabled_functions_parse_class.phpt | 22 +++++++++ .../disabled_functions_pos_type.phpt | 16 ++++++ .../disabled_functions_regexp_multiple.phpt | 19 ++++++++ ...abled_functions_register_shutdown_function.phpt | 18 +++++++ .../disabled_functions_register_tick_function.phpt | 19 ++++++++ .../disabled_functions_require.phpt | 24 +++++++++ .../disabled_functions_require_allow.phpt | 25 ++++++++++ .../disabled_functions_require_once.phpt | 24 +++++++++ .../disabled_functions_require_simulation.phpt | 27 ++++++++++ .../disable_function/disabled_functions_ret.phpt | 13 +++++ .../disable_function/disabled_functions_ret2.phpt | 12 +++++ .../disable_function/disabled_functions_ret3.phpt | 23 +++++++++ .../disabled_functions_ret_allow.phpt | 13 +++++ .../disabled_functions_ret_allow_value.phpt | 12 +++++ .../disabled_functions_ret_right_hash.phpt | 14 ++++++ .../disabled_functions_ret_simulation.phpt | 20 ++++++++ .../disabled_functions_ret_type.phpt | 17 +++++++ .../disabled_functions_ret_type_array.phpt | 12 +++++ .../disabled_functions_ret_type_double.phpt | 12 +++++ .../disabled_functions_ret_type_long.phpt | 12 +++++ .../disabled_functions_ret_type_null.phpt | 16 ++++++ .../disabled_functions_ret_type_object.phpt | 16 ++++++ .../disabled_functions_ret_type_resource.phpt | 12 +++++ .../disabled_functions_ret_type_str.phpt | 12 +++++ .../disabled_functions_ret_type_true.phpt | 17 +++++++ .../disabled_functions_ret_user.phpt | 16 ++++++ .../disabled_functions_ret_user_used.phpt | 15 ++++++ .../disabled_functions_ret_val.phpt | 15 ++++++ .../disabled_functions_ret_val_dump.phpt | 23 +++++++++ .../disabled_functions_ret_val_rx.phpt | 15 ++++++ .../disabled_functions_right_hash.phpt | 12 +++++ .../disabled_functions_runtime.phpt | 32 ++++++++++++ .../disable_function/disabled_functions_upper.phpt | 16 ++++++ .../disabled_functions_variadic.phpt | 18 +++++++ .../disabled_functions_zero_cidr.phpt | 17 +++++++ .../disabled_native_functions_indirect.phpt | 12 +++++ .../disable_function/disabled_user_functions.phpt | 15 ++++++ .../disabled_user_functions_indirect.phpt | 15 ++++++ .../disable_function/noncore_function_hooking.phpt | 15 ++++++ 191 files changed, 2518 insertions(+) create mode 100644 src/tests/disable_function/config/config_disabled_functions_callback_called_file_r.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_called_file_r.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_chain.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_chain_call_user_func.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_chain_call_user_func_ret.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_eval_filename.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_eval_user_func.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_filename_r.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_include.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_local_var_array.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_local_var_array_key.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_method.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_name_r.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_name_regexp_type.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_name_type.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_namespace.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_nul_byte.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_param.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_param_alias.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_param_allow.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_param_array.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_param_int.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_param_r.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_param_r_array.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_param_runtime.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_param_str_representation.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_require.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_require_allow.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_ret_allow.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_ret_allow_value.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_ret_right_hash.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_ret_simulation.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_ret_user.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_right_hash.ini create mode 100644 src/tests/disable_function/config/config_disabled_functions_variadic.ini create mode 100644 src/tests/disable_function/config/config_disabled_user_functions.ini create mode 100644 src/tests/disable_function/config/config_noncore_function_hooking.ini create mode 100644 src/tests/disable_function/config/disabled_function_curl_verify_certs.ini create mode 100644 src/tests/disable_function/config/disabled_function_echo.ini create mode 100644 src/tests/disable_function/config/disabled_function_local_var.ini create mode 100644 src/tests/disable_function/config/disabled_function_local_var_2.ini create mode 100644 src/tests/disable_function/config/disabled_function_local_var_array_not_array.ini create mode 100644 src/tests/disable_function/config/disabled_function_local_var_const.ini create mode 100644 src/tests/disable_function/config/disabled_function_local_var_obj.ini create mode 100644 src/tests/disable_function/config/disabled_function_param.ini create mode 100644 src/tests/disable_function/config/disabled_function_print.ini create mode 100644 src/tests/disable_function/config/disabled_function_super_global_var.ini create mode 100644 src/tests/disable_function/config/disabled_functions.ini create mode 100644 src/tests/disable_function/config/disabled_functions_broken_line.ini create mode 100644 src/tests/disable_function/config/disabled_functions_cidr.ini create mode 100644 src/tests/disable_function/config/disabled_functions_die.ini create mode 100644 src/tests/disable_function/config/disabled_functions_drop_include.ini create mode 100644 src/tests/disable_function/config/disabled_functions_drop_include_simulation.ini create mode 100644 src/tests/disable_function/config/disabled_functions_eval.ini create mode 100644 src/tests/disable_function/config/disabled_functions_eval_simulation.ini create mode 100644 src/tests/disable_function/config/disabled_functions_exit.ini create mode 100644 src/tests/disable_function/config/disabled_functions_invalid_pos.ini create mode 100644 src/tests/disable_function/config/disabled_functions_line.ini create mode 100644 src/tests/disable_function/config/disabled_functions_mb.ini create mode 100644 src/tests/disable_function/config/disabled_functions_pos.ini create mode 100644 src/tests/disable_function/config/disabled_functions_regexp.ini create mode 100644 src/tests/disable_function/config/disabled_functions_ret.ini create mode 100644 src/tests/disable_function/config/disabled_functions_ret_type.ini create mode 100644 src/tests/disable_function/config/disabled_functions_ret_type_array.ini create mode 100644 src/tests/disable_function/config/disabled_functions_ret_type_double.ini create mode 100644 src/tests/disable_function/config/disabled_functions_ret_type_long.ini create mode 100644 src/tests/disable_function/config/disabled_functions_ret_type_null.ini create mode 100644 src/tests/disable_function/config/disabled_functions_ret_type_object.ini create mode 100644 src/tests/disable_function/config/disabled_functions_ret_type_resource.ini create mode 100644 src/tests/disable_function/config/disabled_functions_ret_type_str.ini create mode 100644 src/tests/disable_function/config/disabled_functions_ret_type_true.ini create mode 100644 src/tests/disable_function/config/disabled_functions_retval.ini create mode 100644 src/tests/disable_function/config/disabled_functions_retval_dump.ini create mode 100644 src/tests/disable_function/config/disabled_functions_retval_rx.ini create mode 100644 src/tests/disable_function/config/disabled_functions_zero_cidr.ini create mode 100644 src/tests/disable_function/config/empty.ini create mode 100644 src/tests/disable_function/disabled_function_echo.phpt create mode 100644 src/tests/disable_function/disabled_function_echo_2.phpt create mode 100644 src/tests/disable_function/disabled_function_echo_local_var.phpt create mode 100644 src/tests/disable_function/disabled_function_ensure_client_valid_certs.phpt create mode 100644 src/tests/disable_function/disabled_function_ensure_client_valid_certs_curl_multi_setopt.phpt create mode 100644 src/tests/disable_function/disabled_function_ensure_client_valid_certs_curl_setopt_array.phpt create mode 100644 src/tests/disable_function/disabled_function_ensure_server_valid_certs.phpt create mode 100644 src/tests/disable_function/disabled_function_ensure_server_valid_certs_curl_multi_setopt.phpt create mode 100644 src/tests/disable_function/disabled_function_ensure_server_valid_certs_curl_setopt_array.phpt create mode 100644 src/tests/disable_function/disabled_function_local_var.phpt create mode 100644 src/tests/disable_function/disabled_function_local_var_10.phpt create mode 100644 src/tests/disable_function/disabled_function_local_var_2.phpt create mode 100644 src/tests/disable_function/disabled_function_local_var_3.phpt create mode 100644 src/tests/disable_function/disabled_function_local_var_4.phpt create mode 100644 src/tests/disable_function/disabled_function_local_var_5.phpt create mode 100644 src/tests/disable_function/disabled_function_local_var_6.phpt create mode 100644 src/tests/disable_function/disabled_function_local_var_7.phpt create mode 100644 src/tests/disable_function/disabled_function_local_var_8.phpt create mode 100644 src/tests/disable_function/disabled_function_local_var_9.phpt create mode 100644 src/tests/disable_function/disabled_function_local_var_const.phpt create mode 100644 src/tests/disable_function/disabled_function_local_var_crash.phpt create mode 100644 src/tests/disable_function/disabled_function_local_var_obj.phpt create mode 100644 src/tests/disable_function/disabled_function_param.phpt create mode 100644 src/tests/disable_function/disabled_function_print.phpt create mode 100644 src/tests/disable_function/disabled_function_super_global_var.phpt create mode 100644 src/tests/disable_function/disabled_functions.phpt create mode 100644 src/tests/disable_function/disabled_functions_callback_called_file_r.phpt create mode 100644 src/tests/disable_function/disabled_functions_called_file_r.phpt create mode 100644 src/tests/disable_function/disabled_functions_chain.phpt create mode 100644 src/tests/disable_function/disabled_functions_chain_call_user_func.phpt create mode 100644 src/tests/disable_function/disabled_functions_chain_call_user_func_ret.phpt create mode 100644 src/tests/disable_function/disabled_functions_chain_not_matching.phpt create mode 100644 src/tests/disable_function/disabled_functions_cidr.phpt create mode 100644 src/tests/disable_function/disabled_functions_cidr_6.phpt create mode 100644 src/tests/disable_function/disabled_functions_die.phpt create mode 100644 src/tests/disable_function/disabled_functions_drop_include.phpt create mode 100644 src/tests/disable_function/disabled_functions_drop_include_simulation.phpt create mode 100644 src/tests/disable_function/disabled_functions_eval.phpt create mode 100644 src/tests/disable_function/disabled_functions_eval_filename.phpt create mode 100644 src/tests/disable_function/disabled_functions_eval_simulation.phpt create mode 100644 src/tests/disable_function/disabled_functions_eval_user.phpt create mode 100644 src/tests/disable_function/disabled_functions_exit.phpt create mode 100644 src/tests/disable_function/disabled_functions_filename_r.phpt create mode 100644 src/tests/disable_function/disabled_functions_include_once.phpt create mode 100644 src/tests/disable_function/disabled_functions_include_simulation.phpt create mode 100644 src/tests/disable_function/disabled_functions_local_var_array.phpt create mode 100644 src/tests/disable_function/disabled_functions_local_var_array_key.phpt create mode 100644 src/tests/disable_function/disabled_functions_local_var_array_not_array.phpt create mode 100644 src/tests/disable_function/disabled_functions_mb.phpt create mode 100644 src/tests/disable_function/disabled_functions_method.phpt create mode 100644 src/tests/disable_function/disabled_functions_name_r.phpt create mode 100644 src/tests/disable_function/disabled_functions_name_regexp_type.phpt create mode 100644 src/tests/disable_function/disabled_functions_name_type.phpt create mode 100644 src/tests/disable_function/disabled_functions_namespace.phpt create mode 100644 src/tests/disable_function/disabled_functions_noconf.phpt create mode 100644 src/tests/disable_function/disabled_functions_nul_byte.phpt create mode 100644 src/tests/disable_function/disabled_functions_param.phpt create mode 100644 src/tests/disable_function/disabled_functions_param_alias.phpt create mode 100644 src/tests/disable_function/disabled_functions_param_allow.phpt create mode 100644 src/tests/disable_function/disabled_functions_param_array.phpt create mode 100644 src/tests/disable_function/disabled_functions_param_array_deref.phpt create mode 100644 src/tests/disable_function/disabled_functions_param_array_no_value.phpt create mode 100644 src/tests/disable_function/disabled_functions_param_array_r.phpt create mode 100644 src/tests/disable_function/disabled_functions_param_array_r_keys.phpt create mode 100644 src/tests/disable_function/disabled_functions_param_array_several_levels.phpt create mode 100644 src/tests/disable_function/disabled_functions_param_array_several_levels_int.phpt create mode 100644 src/tests/disable_function/disabled_functions_param_array_several_levels_keys.phpt create mode 100644 src/tests/disable_function/disabled_functions_param_array_several_levels_keys_int.phpt create mode 100644 src/tests/disable_function/disabled_functions_param_broken_line.phpt create mode 100644 src/tests/disable_function/disabled_functions_param_int.phpt create mode 100644 src/tests/disable_function/disabled_functions_param_invalid_pos.phpt create mode 100644 src/tests/disable_function/disabled_functions_param_line.phpt create mode 100644 src/tests/disable_function/disabled_functions_param_pos.phpt create mode 100644 src/tests/disable_function/disabled_functions_param_pos2.phpt create mode 100644 src/tests/disable_function/disabled_functions_param_r.phpt create mode 100644 src/tests/disable_function/disabled_functions_param_str_representation.phpt create mode 100644 src/tests/disable_function/disabled_functions_parse_class.phpt create mode 100644 src/tests/disable_function/disabled_functions_pos_type.phpt create mode 100644 src/tests/disable_function/disabled_functions_regexp_multiple.phpt create mode 100644 src/tests/disable_function/disabled_functions_register_shutdown_function.phpt create mode 100644 src/tests/disable_function/disabled_functions_register_tick_function.phpt create mode 100644 src/tests/disable_function/disabled_functions_require.phpt create mode 100644 src/tests/disable_function/disabled_functions_require_allow.phpt create mode 100644 src/tests/disable_function/disabled_functions_require_once.phpt create mode 100644 src/tests/disable_function/disabled_functions_require_simulation.phpt create mode 100644 src/tests/disable_function/disabled_functions_ret.phpt create mode 100644 src/tests/disable_function/disabled_functions_ret2.phpt create mode 100644 src/tests/disable_function/disabled_functions_ret3.phpt create mode 100644 src/tests/disable_function/disabled_functions_ret_allow.phpt create mode 100644 src/tests/disable_function/disabled_functions_ret_allow_value.phpt create mode 100644 src/tests/disable_function/disabled_functions_ret_right_hash.phpt create mode 100644 src/tests/disable_function/disabled_functions_ret_simulation.phpt create mode 100644 src/tests/disable_function/disabled_functions_ret_type.phpt create mode 100644 src/tests/disable_function/disabled_functions_ret_type_array.phpt create mode 100644 src/tests/disable_function/disabled_functions_ret_type_double.phpt create mode 100644 src/tests/disable_function/disabled_functions_ret_type_long.phpt create mode 100644 src/tests/disable_function/disabled_functions_ret_type_null.phpt create mode 100644 src/tests/disable_function/disabled_functions_ret_type_object.phpt create mode 100644 src/tests/disable_function/disabled_functions_ret_type_resource.phpt create mode 100644 src/tests/disable_function/disabled_functions_ret_type_str.phpt create mode 100644 src/tests/disable_function/disabled_functions_ret_type_true.phpt create mode 100644 src/tests/disable_function/disabled_functions_ret_user.phpt create mode 100644 src/tests/disable_function/disabled_functions_ret_user_used.phpt create mode 100644 src/tests/disable_function/disabled_functions_ret_val.phpt create mode 100644 src/tests/disable_function/disabled_functions_ret_val_dump.phpt create mode 100644 src/tests/disable_function/disabled_functions_ret_val_rx.phpt create mode 100644 src/tests/disable_function/disabled_functions_right_hash.phpt create mode 100644 src/tests/disable_function/disabled_functions_runtime.phpt create mode 100644 src/tests/disable_function/disabled_functions_upper.phpt create mode 100644 src/tests/disable_function/disabled_functions_variadic.phpt create mode 100644 src/tests/disable_function/disabled_functions_zero_cidr.phpt create mode 100644 src/tests/disable_function/disabled_native_functions_indirect.phpt create mode 100644 src/tests/disable_function/disabled_user_functions.phpt create mode 100644 src/tests/disable_function/disabled_user_functions_indirect.phpt create mode 100644 src/tests/disable_function/noncore_function_hooking.phpt (limited to 'src/tests/disable_function') 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 @@ +sp.disable_function.function("outer>inner>other").drop(); +sp.disable_function.function("other>outer>inner_").drop(); +sp.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 @@ +sp.disable_function.function("outer>call_user_func>inner").simulation().drop(); +sp.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 @@ +sp.disable_function.function_r("^system$").filename_r("\\.txt$").drop(); +sp.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 @@ +sp.disable_function.function("include").param("").value_r("sim$").drop().simulation(); +sp.disable_function.function("include").param("").value_r("meh$").drop(); + +sp.disable_function.function("include_once").param("").value_r("sim$").drop().simulation(); +sp.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 @@ +sp.disable_function.function("AwesomeClass::method1").drop(); +sp.disable_function.function("method2").drop(); +sp.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 @@ +sp.disable_function.function_r("^not_system$").ret("42").drop(); +sp.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 @@ +sp.disable_function.function("strcmp").drop(); +sp.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 @@ +sp.disable_function.function("system").param("command").value_r("^id$").alias("1").drop(); +sp.disable_function.function("array_sum").param("array").value_r("^8$").alias("2").drop(); +sp.disable_function.function("shell_exec").param("cmd").value("id").alias("3").drop(); +sp.disable_function.function("shell_exec").param("cmd").value("bla").alias("4").drop(); +sp.disable_function.function("strcmp").param("str1").value("bla").alias("5").drop().simulation(); +sp.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 @@ +sp.disable_function.function("system").alias("1").drop(); +sp.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 @@ +sp.disable_function.function("system").param("command").value("echo win").filename("/test.php").drop(); +sp.disable_function.function("system").param("command").value("echo win").allow(); +sp.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 @@ +sp.disable_function.function("foo").param("arr[a]").value("abcd").alias("1").drop(); +sp.disable_function.function("foo").param("arr[bla]").value("abcdef").alias("2").drop(); +sp.disable_function.function("foo").param("arr[test]").alias("3").drop(); +sp.disable_function.function("foo").param("arr[test2][foo]").value("aaa").alias("4").drop(); +sp.disable_function.function("foo").param("arr[test2][bar]").key("lol").alias("5").drop(); +sp.disable_function.function("foo").param("arr[test2][bar]").key("123").alias("6").drop(); +sp.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 @@ +sp.disable_function.function("foobar").param("id").value("42").drop(); +sp.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 @@ +sp.disable_function.function("system").param_r("^not_command$").value("id").drop(); +sp.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 @@ +sp.disable_function.function("foo").param_r("arr").value("abcd").alias("1").drop(); +sp.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 @@ +sp.disable_function.function("require").param("").value_r("sim$").drop().simulation(); +sp.disable_function.function("require").param("").value_r("meh$").drop(); + +sp.disable_function.function("require_once").param("").value_r("sim$").drop().simulation(); +sp.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 @@ +sp.disable_function.function("strpos").hash("70b33f3eaf585b245640bb2c92445d0040b2bcb31395aa25dede9f2df4dbcbe8").allow(); +sp.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 @@ +sp.disable_function.function("system").ret("1").drop(); +sp.disable_function.function("system").ret("1337").hash("123456789597a81a2b862cdb49920e2cba2e5979a3fc374c58c803e8f5c99a10").drop(); +sp.disable_function.function("system").ret("1338").hash("522a976fa597a81a2b862cdb49920e2cba2e5979a3fc374c58c803e8f5c99a10").drop(); +sp.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 @@ +sp.disable_function.function("strpos").ret("0").simulation().drop(); +sp.disable_function.function("stripos").ret("0").simulation().drop().alias("1"); +sp.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 @@ +sp.disable_function.function("system").hash("1337c3ad8cf096272cd0e78768af3b11325f498de5c2c36f40adc43643af378a").allow(); +sp.disable_function.function("system").hash("d259c3ad8cf096272cd0e78768af3b11325f498de5c2c36f40adc43643af378a").allow(); +sp.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 @@ +# `81` being SSL_VERIFYHOST, and `64` SSL_VERIFYPEER + +sp.disable_function.function("curl_setopt").param("value").value("1").allow(); +sp.disable_function.function("curl_setopt").param("value").value("2").allow(); +sp.disable_function.function("curl_setopt").param("option").value("81").drop().alias("Please don't turn CURLOPT_SSL_VERIFYHOST off."); +sp.disable_function.function("curl_setopt").param("option").value("64").drop().alias("Please don't turn CURLOPT_SSL_VERIFYPEER off."); + +# --- + +sp.disable_function.function("curl_setopt_array").param("options[CURLOPT_SSL_VERIFYHOST]").value("0").drop().alias("Please don't turn CURLOPT_SSL_VERIFYHOST off."); +sp.disable_function.function("curl_setopt_array").param("options[CURLOPT_SSL_VERIFYPEER]").value("0").drop().alias("Please don't turn CURLOPT_SSL_VERIFYPEER off."); + +# --- + +sp.disable_function.function("curl_multi_setopt").param("value").value("1").allow(); +sp.disable_function.function("curl_multi_setopt").param("value").value("2").allow(); +sp.disable_function.function("curl_multi_setopt").param("option").value("81").drop().alias("Please don't turn CURLOPT_SSL_VERIFYHOST off."); +sp.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 @@ +sp.disable_function.function("echo").var("$abc").value("123").drop(); +sp.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 @@ +sp.disable_function.function("phpinfo").var("$b").value("1337").drop(); +sp.disable_function.function("strlen").var("$a").value("1337").drop(); +sp.disable_function.function("strlen").var("$a['123']").value("block").drop(); +sp.disable_function.function("strlen").var("$a[$c]->prop").value("block").drop(); +sp.disable_function.function("strlen").var("$a->zxc").value("not a good value").drop(); +sp.disable_function.function("strlen").var("\\asd\\test_object::TEST_VALUE['constant']").value("no good").drop(); +sp.disable_function.function("strlen").var("\\asd\\test_object::TEST_VALUE").value("qwerty").drop(); +sp.disable_function.function("strlen").var("\\qwe\\ASD").value("qwerty").drop(); +sp.disable_function.function("strlen").var("\\qwe\\QWE['123']").value("asdfgh").drop(); +sp.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 @@ +sp.disable_function.function("strlen").var("$test->$test_array").value("value").drop(); +sp.disable_function.function("strlen").var("$arg->$test_array").value("value").drop(); +sp.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 @@ +sp.disable_function.function("system").drop(); +sp.disable_function.function("vprintf").hash("123456789").drop(); +sp.disable_function.function("printf").disable().drop(); +sp.disable_function.function("printf").simulation().drop(); +sp.disable_function.function("print").disable().drop(); # this is a comment +sp.disable_function.function_r("^var_dump$").drop(); +sp.disable_function.function("sprintf").filename("/wrong file name").drop(); +sp.disable_function.function("sprintf").filename("/wrong file name").drop(); +sp.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 @@ +sp.disable_function.function("system").drop().cidr("2001:ab9:a::123/64"); +sp.disable_function.function("system").drop().cidr("192.168.0.1/16"); +sp.disable_function.function("system").drop().cidr("127.0.0.1/8"); +sp.disable_function.function("printf").drop().cidr("10.0.0.1/8"); +sp.disable_function.function("strpos").drop().cidr("127.0.0.2/4"); +sp.disable_function.function("strpos").drop().cidr("::ffff:192.0.2.128/128"); +sp.disable_function.function("strpos").drop().cidr("2001:ab9:a::123/64"); +sp.disable_function.function("strpos").drop().cidr("2001:0db8:f000:f000:f000:ff00:0042:8329/124"); +sp.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 @@ +sp.disable_function.function("require_once").value_r("\.ico$").drop(); +sp.disable_function.function("include_once").value_r("\.ico$").drop(); +sp.disable_function.function("require").value_r("\.ico$").drop(); +sp.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 @@ +sp.disable_function.function("require_once").value_r("\.ico$").drop().simulation(); +sp.disable_function.function("include_once").value_r("\.ico$").drop().simulation(); +sp.disable_function.function("require").value_r("\.ico$").drop().simulation(); +sp.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 @@ +sp.disable_function.function("strlen").drop(); +sp.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 @@ +sp.disable_function.function("system").pos("1337").value("id").drop(); +sp.disable_function.function("system").pos("0").value("id").drop(); +sp.disable_function.function("system").pos("1").param_type("ARRAY").alias("1").drop(); +sp.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 @@ +sp.disable_function.function("testFunction").ret("0").drop().disable(); +sp.disable_function.function("strpos").ret("0").drop().filename_r(".*\\.not_matching"); +sp.disable_function.function("strpos").ret("0").drop().filename_r(".*\\.php"); +sp.disable_function.function_r("str[ia]pos").ret_r("^[^a-z]+$").drop(); +sp.disable_function.function_r("stripos").ret_r("^[^a-z]+").drop(); +sp.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 @@ +sp.disable_function.function("str_repeat").ret("fufufu").filename("/var/www/test.php").drop(); +sp.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 diff --git a/src/tests/disable_function/disabled_function_echo.phpt b/src/tests/disable_function/disabled_function_echo.phpt new file mode 100644 index 0000000..21e2002 --- /dev/null +++ b/src/tests/disable_function/disabled_function_echo.phpt @@ -0,0 +1,19 @@ +--TEST-- +Echo hooking +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_echo.ini +--FILE-- + +--CLEAN-- +--EXPECTF-- +qwerty +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'echo' in %a/disabled_function_echo.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_function_echo_2.phpt b/src/tests/disable_function/disabled_function_echo_2.phpt new file mode 100644 index 0000000..66cace3 --- /dev/null +++ b/src/tests/disable_function/disabled_function_echo_2.phpt @@ -0,0 +1,15 @@ +--TEST-- +Echo hooking +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_echo.ini +--FILE-- + +--CLEAN-- +--EXPECTF-- +qwe1 +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'echo' in %a/disabled_function_echo_2.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_function_echo_local_var.phpt b/src/tests/disable_function/disabled_function_echo_local_var.phpt new file mode 100644 index 0000000..300f38e --- /dev/null +++ b/src/tests/disable_function/disabled_function_echo_local_var.phpt @@ -0,0 +1,21 @@ +--TEST-- +Echo hooking +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_echo.ini +--FILE-- + +--CLEAN-- +--EXPECTF-- +3 + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'echo' in %a/disabled_function_echo_local_var.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_function_ensure_client_valid_certs.phpt b/src/tests/disable_function/disabled_function_ensure_client_valid_certs.phpt new file mode 100644 index 0000000..513b650 --- /dev/null +++ b/src/tests/disable_function/disabled_function_ensure_client_valid_certs.phpt @@ -0,0 +1,18 @@ +--TEST-- +Disable functions - Ensure that client certificates validation can't be disabled +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_curl_verify_certs.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'curl_setopt', because its argument '$option' content (64) matched the rule 'Please don't turn CURLOPT_SSL_VERIFYPEER off.' in %s/disabled_function_ensure_client_valid_certs.php on line %d diff --git a/src/tests/disable_function/disabled_function_ensure_client_valid_certs_curl_multi_setopt.phpt b/src/tests/disable_function/disabled_function_ensure_client_valid_certs_curl_multi_setopt.phpt new file mode 100644 index 0000000..a854558 --- /dev/null +++ b/src/tests/disable_function/disabled_function_ensure_client_valid_certs_curl_multi_setopt.phpt @@ -0,0 +1,17 @@ +--TEST-- +Disable functions - Ensure that client certificates validation can't be disabled via `curl_multi_setopt` +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_curl_verify_certs.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'curl_multi_setopt', because its argument '$option' content (64) matched the rule 'Please don't turn CURLOPT_SSL_VERIFYPEER off.' in %s/disabled_function_ensure_client_valid_certs_curl_multi_setopt.php on line %d diff --git a/src/tests/disable_function/disabled_function_ensure_client_valid_certs_curl_setopt_array.phpt b/src/tests/disable_function/disabled_function_ensure_client_valid_certs_curl_setopt_array.phpt new file mode 100644 index 0000000..86f95d2 --- /dev/null +++ b/src/tests/disable_function/disabled_function_ensure_client_valid_certs_curl_setopt_array.phpt @@ -0,0 +1,19 @@ +--TEST-- +Disable functions - Ensure that client certificates validation can't be disabled via `curl_setopt_array` +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_curl_verify_certs.ini +--FILE-- + 0); +curl_setopt_array($ch, $options); +echo "1337"; +?> +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'curl_setopt_array', because its argument '$options' content (0) matched the rule 'Please don't turn CURLOPT_SSL_VERIFYPEER off.' in %s/disabled_function_ensure_client_valid_certs_curl_setopt_array.php on line 5 diff --git a/src/tests/disable_function/disabled_function_ensure_server_valid_certs.phpt b/src/tests/disable_function/disabled_function_ensure_server_valid_certs.phpt new file mode 100644 index 0000000..8a50c97 --- /dev/null +++ b/src/tests/disable_function/disabled_function_ensure_server_valid_certs.phpt @@ -0,0 +1,18 @@ +--TEST-- +Disable functions - Ensure that server certificates validation can't be disabled +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_curl_verify_certs.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'curl_setopt', because its argument '$option' content (81) matched the rule 'Please don't turn CURLOPT_SSL_VERIFYHOST off.' in %s/disabled_function_ensure_server_valid_certs.php on line %d diff --git a/src/tests/disable_function/disabled_function_ensure_server_valid_certs_curl_multi_setopt.phpt b/src/tests/disable_function/disabled_function_ensure_server_valid_certs_curl_multi_setopt.phpt new file mode 100644 index 0000000..4513848 --- /dev/null +++ b/src/tests/disable_function/disabled_function_ensure_server_valid_certs_curl_multi_setopt.phpt @@ -0,0 +1,17 @@ +--TEST-- +Disable functions - Ensure that server certificates validation can't be disabled via `curl_multi_setopt` +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_curl_verify_certs.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'curl_multi_setopt', because its argument '$option' content (81) matched the rule 'Please don't turn CURLOPT_SSL_VERIFYHOST off.' in %s/disabled_function_ensure_server_valid_certs_curl_multi_setopt.php on line %d diff --git a/src/tests/disable_function/disabled_function_ensure_server_valid_certs_curl_setopt_array.phpt b/src/tests/disable_function/disabled_function_ensure_server_valid_certs_curl_setopt_array.phpt new file mode 100644 index 0000000..c10d9b0 --- /dev/null +++ b/src/tests/disable_function/disabled_function_ensure_server_valid_certs_curl_setopt_array.phpt @@ -0,0 +1,19 @@ +--TEST-- +Disable functions - Ensure that server certificates validation can't be disabled via `curl_setopt_array` +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_curl_verify_certs.ini +--FILE-- + 0); +curl_setopt_array($ch, $options); +echo "1337"; +?> +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'curl_setopt_array', because its argument '$options' content (0) matched the rule 'Please don't turn CURLOPT_SSL_VERIFYHOST off.' in %s/disabled_function_ensure_server_valid_certs_curl_setopt_array.php on line 5 diff --git a/src/tests/disable_function/disabled_function_local_var.phpt b/src/tests/disable_function/disabled_function_local_var.phpt new file mode 100644 index 0000000..99b2b08 --- /dev/null +++ b/src/tests/disable_function/disabled_function_local_var.phpt @@ -0,0 +1,25 @@ +--TEST-- +Disable functions - match on a local variable +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_local_var.ini +--FILE-- + +--EXPECTF-- +Value of a: 1338 +2 +Value of a: 1337 + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var.php on line 4 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_function_local_var_10.phpt b/src/tests/disable_function/disabled_function_local_var_10.phpt new file mode 100644 index 0000000..4902972 --- /dev/null +++ b/src/tests/disable_function/disabled_function_local_var_10.phpt @@ -0,0 +1,45 @@ +--TEST-- +Disable functions - match on a local variable +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_local_var.ini +--FILE-- + Array('qwe'), '456' => Array('no block this')); +var_dump($qwe); +strlen("qwe"); +$qwe = Array('123' => Array('qwe'), '456' => Array(Array('block this'))); +var_dump($qwe); +strlen("qwe"); +?> +--EXPECTF-- +array(2) { + [123]=> + array(1) { + [0]=> + string(3) "qwe" + } + [456]=> + array(1) { + [0]=> + string(13) "no block this" + } +} +array(2) { + [123]=> + array(1) { + [0]=> + string(3) "qwe" + } + [456]=> + array(1) { + [0]=> + array(1) { + [0]=> + string(10) "block this" + } + } +} + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var_10.php on line 7 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_function_local_var_2.phpt b/src/tests/disable_function/disabled_function_local_var_2.phpt new file mode 100644 index 0000000..5b21d07 --- /dev/null +++ b/src/tests/disable_function/disabled_function_local_var_2.phpt @@ -0,0 +1,47 @@ +--TEST-- +Disable functions - match on a local variable +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_local_var.ini +--FILE-- + +--EXPECTF-- +Value of a: 1338 +2 +Value of a: +array(2) { + ["qwe"]=> + string(5) "block" + [123]=> + string(3) "nop" +} +2 +Value of a: +array(2) { + ["qwe"]=> + string(5) "block" + [123]=> + string(5) "block" +} + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var_2.php on line 4 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_function_local_var_3.phpt b/src/tests/disable_function/disabled_function_local_var_3.phpt new file mode 100644 index 0000000..597be1d --- /dev/null +++ b/src/tests/disable_function/disabled_function_local_var_3.phpt @@ -0,0 +1,46 @@ +--TEST-- +Disable functions - match on a local variable +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_local_var.ini +--FILE-- + 'block']; +echo "Value of a:\n"; +var_dump($a); +test(); +?> +--EXPECTF-- +Value of a: +array(2) { + ["qwe"]=> + string(3) "qwe" + [123]=> + string(3) "nop" +} +2 +Value of a: +array(2) { + ["qwe"]=> + string(3) "qwe" + [123]=> + object(stdClass)#1 (1) { + ["prop"]=> + string(5) "block" + } +} + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var_3.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_function_local_var_4.phpt b/src/tests/disable_function/disabled_function_local_var_4.phpt new file mode 100644 index 0000000..b441576 --- /dev/null +++ b/src/tests/disable_function/disabled_function_local_var_4.phpt @@ -0,0 +1,57 @@ +--TEST-- +Disable functions - match on a local variable +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_local_var_2.ini +--FILE-- +nop]'] = Array(); +$b['_GET[obj->nop]']["qwe"] = Array(); +$b[456] = Array(); +$b[456]['zxc'] = "qwe"; +$b[456]['nop'] = "nop"; +$b['_GET[obj->nop]']["qwe"][321] = "Yeay"; +$b["123"] = "qwe"; +$b["123a"] = "foo"; +$b["asd"] = "zxc"; +$b['_GET]["obj->nop::qwe']["qwe"][1337] = (Object)(['uio' => "valeur de apres"]); +$b['_GET]["obj->nop::qwe']["qwe"][1338] = (Object)(['uio' => "valeur de a"]); +$c = (Object)(['qwe' => Array(\qwe\UNE_CONSTANTE => 'zxc')]); +$idk = 'test_asd'; +$class_name = 'test_object'; +class test_object { + const TEST_VALUE = ['constant' => 'truc']; + private $asd = "qwe"; + public $qwe = 'bar'; + private $test_asd = ''; + function __construct($asd) { + $this->test_asd = $asd; + } + function do_a_barell_roll() { + var_dump($this->test_asd); + } +} +$d = new test_object($c); +$a = 1338; +function test(){ + strlen("qwe"); +} +echo "Valeur: " . $b['_GET]["obj->nop::qwe']["qwe"][$a]->uio . "\n"; +test(); + +$a = 1337; +echo "Valeur: " . $b['_GET]["obj->nop::qwe']["qwe"][$a]->uio . "\n"; +test(); +} +?> +--EXPECTF-- +Valeur: valeur de a +Valeur: valeur de apres + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var_4.php on line 36 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_function_local_var_5.phpt b/src/tests/disable_function/disabled_function_local_var_5.phpt new file mode 100644 index 0000000..602e96e --- /dev/null +++ b/src/tests/disable_function/disabled_function_local_var_5.phpt @@ -0,0 +1,34 @@ +--TEST-- +Disable functions - match on a local variable +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_local_var.ini +--FILE-- + 'not a good value']; +echo "Value of a:\n"; +var_dump($a); +test(); +?> +--EXPECTF-- +Value of a: +array(0) { +} +2 +Value of a: +object(stdClass)#1 (1) { + ["zxc"]=> + string(16) "not a good value" +} + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var_5.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_function_local_var_6.phpt b/src/tests/disable_function/disabled_function_local_var_6.phpt new file mode 100644 index 0000000..1866353 --- /dev/null +++ b/src/tests/disable_function/disabled_function_local_var_6.phpt @@ -0,0 +1,32 @@ +--TEST-- +Disable functions - match on a local variable +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_local_var.ini +--FILE-- + 'no good']; + private $asd = "qwe"; + public $qwe = 'bar'; + private $test_asd = ''; + function __construct($asd) { + $this->test_asd = $asd; + } + function do_a_barell_roll() { + var_dump($this->test_asd); + } +} +} +?> +--EXPECTF-- +Valeur: no good + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var_6.php on line 4 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_function_local_var_7.phpt b/src/tests/disable_function/disabled_function_local_var_7.phpt new file mode 100644 index 0000000..e615a80 --- /dev/null +++ b/src/tests/disable_function/disabled_function_local_var_7.phpt @@ -0,0 +1,32 @@ +--TEST-- +Disable functions - match on a local variable +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_local_var.ini +--FILE-- +test_asd = $asd; + } + function do_a_barell_roll() { + var_dump($this->test_asd); + } +} +} +?> +--EXPECTF-- +Valeur: qwerty + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var_7.php on line 4 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_function_local_var_8.phpt b/src/tests/disable_function/disabled_function_local_var_8.phpt new file mode 100644 index 0000000..1f1a0dc --- /dev/null +++ b/src/tests/disable_function/disabled_function_local_var_8.phpt @@ -0,0 +1,21 @@ +--TEST-- +Disable functions - match on a local variable +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_local_var.ini +--FILE-- + +--EXPECTF-- +Valeur: qwerty + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var_8.php on line 8 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_function_local_var_9.phpt b/src/tests/disable_function/disabled_function_local_var_9.phpt new file mode 100644 index 0000000..458d878 --- /dev/null +++ b/src/tests/disable_function/disabled_function_local_var_9.phpt @@ -0,0 +1,21 @@ +--TEST-- +Disable functions - match on a local variable +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_local_var.ini +--FILE-- +'asdfgh'); +} +namespace asd { + const asd = 'qwe'; + echo "Valeur: " . \qwe\QWE[123]. "\n"; + strlen("qwe"); +} +?> +--EXPECTF-- +Valeur: asdfgh + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var_9.php on line 8 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_function_local_var_const.phpt b/src/tests/disable_function/disabled_function_local_var_const.phpt new file mode 100644 index 0000000..8d9d58a --- /dev/null +++ b/src/tests/disable_function/disabled_function_local_var_const.phpt @@ -0,0 +1,14 @@ +--TEST-- +Disable functions - match on a constant +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_local_var_const.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var_const.php on line 4 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_function_local_var_crash.phpt b/src/tests/disable_function/disabled_function_local_var_crash.phpt new file mode 100644 index 0000000..8dec946 --- /dev/null +++ b/src/tests/disable_function/disabled_function_local_var_crash.phpt @@ -0,0 +1,18 @@ +--TEST-- +Disable functions - match on a local variable +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_local_var.ini +--FILE-- + +--EXPECTF-- +2 +test + diff --git a/src/tests/disable_function/disabled_function_local_var_obj.phpt b/src/tests/disable_function/disabled_function_local_var_obj.phpt new file mode 100644 index 0000000..29d57cc --- /dev/null +++ b/src/tests/disable_function/disabled_function_local_var_obj.phpt @@ -0,0 +1,26 @@ +--TEST-- +Disable functions - match on a local variable +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_local_var_obj.ini +--FILE-- +$arg = $value; + } +} + +$test_array = ['qwe']; +$arg = 'qwe'; +$test = new test_class('qwe', 'qwe'); +echo strlen($test->$arg) . "\n"; +$test = new test_class('qwe', 'nop_object'); +echo strlen($test->$arg) . "\n"; +?> +--EXPECTF-- +3 + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_local_var_obj.php on line 14 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_function_param.phpt b/src/tests/disable_function/disabled_function_param.phpt new file mode 100644 index 0000000..9b8b942 --- /dev/null +++ b/src/tests/disable_function/disabled_function_param.phpt @@ -0,0 +1,20 @@ +--TEST-- +Disable functions - match on a param +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_param.ini +--FILE-- + +--EXPECTF-- +OK + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'qweqwe', because its argument '$asd' content (2) matched a rule in %a/disabled_function_param.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_function_print.phpt b/src/tests/disable_function/disabled_function_print.phpt new file mode 100644 index 0000000..a8b10b4 --- /dev/null +++ b/src/tests/disable_function/disabled_function_print.phpt @@ -0,0 +1,19 @@ +--TEST-- +Echo hooking +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_print.ini +--FILE-- + +--CLEAN-- +--EXPECTF-- +qwerty +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'echo' in %a/disabled_function_print.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_function_super_global_var.phpt b/src/tests/disable_function/disabled_function_super_global_var.phpt new file mode 100644 index 0000000..d97194a --- /dev/null +++ b/src/tests/disable_function/disabled_function_super_global_var.phpt @@ -0,0 +1,21 @@ +--TEST-- +Disable functions - match on a super global +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_super_global_var.ini +--GET-- +bla=test +--FILE-- + +--EXPECTF-- +4 + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_function_super_global_var.php on line 3 diff --git a/src/tests/disable_function/disabled_functions.phpt b/src/tests/disable_function/disabled_functions.phpt new file mode 100644 index 0000000..6e57dba --- /dev/null +++ b/src/tests/disable_function/disabled_functions.phpt @@ -0,0 +1,17 @@ +--TEST-- +Disable functions +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'system' in %a/disabled_functions.php on line %d diff --git a/src/tests/disable_function/disabled_functions_callback_called_file_r.phpt b/src/tests/disable_function/disabled_functions_callback_called_file_r.phpt new file mode 100644 index 0000000..9c25f9d --- /dev/null +++ b/src/tests/disable_function/disabled_functions_callback_called_file_r.phpt @@ -0,0 +1,39 @@ +--TEST-- +Disable functions by matching on the filename_r where the callback function is called, and not defined +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_callback_called_file_r.ini +--FILE-- + +EOD; + +file_put_contents("$dir/myfunc_callback.php", $mycode); + +include "$dir/myfunc_callback.php"; + +echo test('test_callback'); + +?> +--CLEAN-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'test_callback' in %a/myfunc_callback.php on line 4 diff --git a/src/tests/disable_function/disabled_functions_called_file_r.phpt b/src/tests/disable_function/disabled_functions_called_file_r.phpt new file mode 100644 index 0000000..b361dc8 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_called_file_r.phpt @@ -0,0 +1,34 @@ +--TEST-- +Disable functions by matching on the filename_r where the function is called, and not defined +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_called_file_r.ini +--FILE-- + +EOD; + +file_put_contents("$dir/myfunc.php", $mycode); + +include "$dir/myfunc.php"; + +test(); + +?> +--CLEAN-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'test' in %a/myfunc.php on line 3 diff --git a/src/tests/disable_function/disabled_functions_chain.phpt b/src/tests/disable_function/disabled_functions_chain.phpt new file mode 100644 index 0000000..5aee085 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_chain.phpt @@ -0,0 +1,27 @@ +--TEST-- +Disable functions by matching the calltrace +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_chain.ini +--FILE-- + +--EXPECTF-- +I'm before the call to outer +I'm in the outer function, before the call! + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'outer>inner' in %a/disabled_functions_chain.php on line 5 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_chain_call_user_func.phpt b/src/tests/disable_function/disabled_functions_chain_call_user_func.phpt new file mode 100644 index 0000000..90c1f32 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_chain_call_user_func.phpt @@ -0,0 +1,27 @@ +--TEST-- +Disable functions by matching the calltrace, with call_user_func involved +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_chain_call_user_func.ini +--FILE-- + +--EXPECTF-- +I'm before the call to outer +I'm in the outer function, before the call! + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'outer>inner' in %a/disabled_functions_chain_call_user_func.php on line 5 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_chain_call_user_func_ret.phpt b/src/tests/disable_function/disabled_functions_chain_call_user_func_ret.phpt new file mode 100644 index 0000000..6a4cca6 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_chain_call_user_func_ret.phpt @@ -0,0 +1,35 @@ +--TEST-- +Disable functions by matching the calltrace, on the return value +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_chain_call_user_func_ret.ini +--FILE-- + +--EXPECTF-- +one +two +not matching_one +one +two + +Warning: [snuffleupagus][disabled_function] Aborted execution on return of the function 'two', because the function returned 'matching_two', which matched a rule in %a/disabled_functions_chain_call_user_func_ret.php on line %d +matching_one +one +two +still not matching_one diff --git a/src/tests/disable_function/disabled_functions_chain_not_matching.phpt b/src/tests/disable_function/disabled_functions_chain_not_matching.phpt new file mode 100644 index 0000000..3a0400a --- /dev/null +++ b/src/tests/disable_function/disabled_functions_chain_not_matching.phpt @@ -0,0 +1,28 @@ +--TEST-- +Disable functions by matching the calltrace +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_chain.ini +--FILE-- + +--EXPECTF-- +I'm before the call to outer +I'm in the outer function, before the call! +I'm in the inner function! +I'm in the outer function, after the call! +I'm after the call to outer diff --git a/src/tests/disable_function/disabled_functions_cidr.phpt b/src/tests/disable_function/disabled_functions_cidr.phpt new file mode 100644 index 0000000..dcd4189 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_cidr.phpt @@ -0,0 +1,16 @@ +--TEST-- +Disable functions +--SKIPIF-- + +--ENV-- +return << +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'system' in %a/disabled_functions_cidr.php on line 2 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_cidr_6.phpt b/src/tests/disable_function/disabled_functions_cidr_6.phpt new file mode 100644 index 0000000..17822cd --- /dev/null +++ b/src/tests/disable_function/disabled_functions_cidr_6.phpt @@ -0,0 +1,17 @@ +--TEST-- +Disable functions +--SKIPIF-- + +--ENV-- +return << +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strpos' in %a/disabled_functions_cidr_6.php on line 2 diff --git a/src/tests/disable_function/disabled_functions_die.phpt b/src/tests/disable_function/disabled_functions_die.phpt new file mode 100644 index 0000000..bfabaee --- /dev/null +++ b/src/tests/disable_function/disabled_functions_die.phpt @@ -0,0 +1,13 @@ +--TEST-- +Disable functions - die +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_die.ini +--FILE-- + +--XFAIL-- +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'die' in %a/disabled_function_echo.php on line 3 diff --git a/src/tests/disable_function/disabled_functions_drop_include.phpt b/src/tests/disable_function/disabled_functions_drop_include.phpt new file mode 100644 index 0000000..e18dd73 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_drop_include.phpt @@ -0,0 +1,28 @@ +--TEST-- +Disable function, bug : https://github.com/nbs-system/snuffleupagus/issues/181 +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_drop_include.ini +--FILE-- + +EOD; + +file_put_contents("$dir/test_include.php", $code); + +include "$dir/test_include.php"; + +echo $test; + +?> + +--EXPECTF-- +testOK diff --git a/src/tests/disable_function/disabled_functions_drop_include_simulation.phpt b/src/tests/disable_function/disabled_functions_drop_include_simulation.phpt new file mode 100644 index 0000000..07c3e98 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_drop_include_simulation.phpt @@ -0,0 +1,28 @@ +--TEST-- +Disable function, bug : https://github.com/nbs-system/snuffleupagus/issues/181 +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_drop_include_simulation.ini +--FILE-- + +EOD; + +file_put_contents("$dir/test_include.php", $code); + +include "$dir/test_include.php"; + +echo $test; + +?> + +--EXPECTF-- +testOK diff --git a/src/tests/disable_function/disabled_functions_eval.phpt b/src/tests/disable_function/disabled_functions_eval.phpt new file mode 100644 index 0000000..a5d1489 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_eval.phpt @@ -0,0 +1,14 @@ +--TEST-- +Disable functions - eval +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_eval.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'eval' in %a/disabled_functions_eval.php(3) : eval()'d code on line 1 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_eval_filename.phpt b/src/tests/disable_function/disabled_functions_eval_filename.phpt new file mode 100644 index 0000000..4491e9e --- /dev/null +++ b/src/tests/disable_function/disabled_functions_eval_filename.phpt @@ -0,0 +1,14 @@ +--TEST-- +Disable functions - eval +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_eval_filename.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'eval' in %a/disabled_functions_eval_filename.php(3) : eval()'d code on line 1 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_eval_simulation.phpt b/src/tests/disable_function/disabled_functions_eval_simulation.phpt new file mode 100644 index 0000000..2df04a9 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_eval_simulation.phpt @@ -0,0 +1,15 @@ +--TEST-- +Disable functions - eval (simulation) +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_eval_simulation.ini +--FILE-- + +--EXPECTF-- +Warning: [snuffleupagus][disabled_function] Aborted execution on call of the function 'eval' in %a/disabled_functions_eval_simulation.php(3) : eval()'d code on line 1 +Variable: 2674 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_eval_user.phpt b/src/tests/disable_function/disabled_functions_eval_user.phpt new file mode 100644 index 0000000..30ba1d5 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_eval_user.phpt @@ -0,0 +1,18 @@ +--TEST-- +Disable functions - eval with a disabled user func +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_eval_user_func.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'my_func' in %a/disabled_functions_eval_user.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_exit.phpt b/src/tests/disable_function/disabled_functions_exit.phpt new file mode 100644 index 0000000..b204fcd --- /dev/null +++ b/src/tests/disable_function/disabled_functions_exit.phpt @@ -0,0 +1,13 @@ +--TEST-- +Disable functions - exit +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_exit.ini +--FILE-- + +--XFAIL-- +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'exit' in %a/disabled_function_echo.php on line 3 diff --git a/src/tests/disable_function/disabled_functions_filename_r.phpt b/src/tests/disable_function/disabled_functions_filename_r.phpt new file mode 100644 index 0000000..0eb5f7d --- /dev/null +++ b/src/tests/disable_function/disabled_functions_filename_r.phpt @@ -0,0 +1,15 @@ +--TEST-- +Disable functions - filename regexp +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_filename_r.ini +--FILE-- + +--EXPECTF-- +42 + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'shell_exec' in %a/disabled_functions_filename_r.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_include_once.phpt b/src/tests/disable_function/disabled_functions_include_once.phpt new file mode 100644 index 0000000..26b7ecc --- /dev/null +++ b/src/tests/disable_function/disabled_functions_include_once.phpt @@ -0,0 +1,27 @@ +--TEST-- +Disable functions - include_once +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_include.ini +--FILE-- + +--CLEAN-- + +--EXPECTF-- +BLA + +Warning: [snuffleupagus][disabled_function] Aborted execution on call of the function 'include_once', because its argument 'inclusion path' content (%a/test.sim) matched a rule in %a/disabled_functions_include_once.php on line 6 +MEH +1337 diff --git a/src/tests/disable_function/disabled_functions_include_simulation.phpt b/src/tests/disable_function/disabled_functions_include_simulation.phpt new file mode 100644 index 0000000..199e91a --- /dev/null +++ b/src/tests/disable_function/disabled_functions_include_simulation.phpt @@ -0,0 +1,27 @@ +--TEST-- +Disable functions - Include (simulation) +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_include.ini +--FILE-- + +--CLEAN-- + +--EXPECTF-- +BLA + +Warning: [snuffleupagus][disabled_function] Aborted execution on call of the function 'include', because its argument 'inclusion path' content (%a/test.sim) matched a rule in %a/disabled_functions_include_simulation.php on line 6 +MEH +1337 diff --git a/src/tests/disable_function/disabled_functions_local_var_array.phpt b/src/tests/disable_function/disabled_functions_local_var_array.phpt new file mode 100644 index 0000000..2c55a6e --- /dev/null +++ b/src/tests/disable_function/disabled_functions_local_var_array.phpt @@ -0,0 +1,21 @@ +--TEST-- +Disable functions - match on an array value buried in several levels +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_local_var_array.ini +--FILE-- +Array("pof"=>"pif", "foo"=>Array("lol"=>"bbb")), "a"=>"cccc"); +foo($a); + +$a=Array("test2"=>Array("foo"=>Array("lol"=>"aaa")), "a"=>"dddd"); +foo($a); +?> +--EXPECTF-- +cccc + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'foo' in %a/disabled_functions_local_var_array.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_local_var_array_key.phpt b/src/tests/disable_function/disabled_functions_local_var_array_key.phpt new file mode 100644 index 0000000..777611b --- /dev/null +++ b/src/tests/disable_function/disabled_functions_local_var_array_key.phpt @@ -0,0 +1,21 @@ +--TEST-- +Disable functions - match on an array value buried in several levels +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_local_var_array_key.ini +--FILE-- +Array("pof"=>"pif", "foo"=>Array("lol"=>"bbb")), "a"=>"cccc"); +foo($a); + +$a=Array("test2"=>Array("foo"=>Array("aaa"=>"ccc")), "a"=>"dddd"); +foo($a); +?> +--EXPECTF-- +cccc + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'foo' in %a/disabled_functions_local_var_array_key.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_local_var_array_not_array.phpt b/src/tests/disable_function/disabled_functions_local_var_array_not_array.phpt new file mode 100644 index 0000000..54e8719 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_local_var_array_not_array.phpt @@ -0,0 +1,17 @@ +--TEST-- +Disable functions +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_function_local_var_array_not_array.ini +--FILE-- +2, "test"=>1]; +foobar("test"); + +?> +--EXPECTF-- +string(4) "test" diff --git a/src/tests/disable_function/disabled_functions_mb.phpt b/src/tests/disable_function/disabled_functions_mb.phpt new file mode 100644 index 0000000..a2fd99e --- /dev/null +++ b/src/tests/disable_function/disabled_functions_mb.phpt @@ -0,0 +1,12 @@ +--TEST-- +Disable functions +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_mb.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_functions_mb.php on line 2 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_method.phpt b/src/tests/disable_function/disabled_functions_method.phpt new file mode 100644 index 0000000..72e633e --- /dev/null +++ b/src/tests/disable_function/disabled_functions_method.phpt @@ -0,0 +1,27 @@ +--TEST-- +Disable functions +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_method.ini +--FILE-- +method1("pif"); +$c->method2("paf"); +$c->method3("pouet"); +?> +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'AwesomeClass::method1' in %a/disabled_functions_method.php on line 4 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_name_r.phpt b/src/tests/disable_function/disabled_functions_name_r.phpt new file mode 100644 index 0000000..1ecee14 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_name_r.phpt @@ -0,0 +1,16 @@ +--TEST-- +Disable functions +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_name_r.ini +--FILE-- + +--EXPECTF-- +42 +1337 + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'system', because the function returned '1337', which matched a rule in %a/disabled_functions_name_r.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_name_regexp_type.phpt b/src/tests/disable_function/disabled_functions_name_regexp_type.phpt new file mode 100644 index 0000000..2ceadbf --- /dev/null +++ b/src/tests/disable_function/disabled_functions_name_regexp_type.phpt @@ -0,0 +1,17 @@ +--TEST-- +Disable functions +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_name_regexp_type.ini +--FILE-- + +--EXPECTF-- +0 +-1 + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strcmp', because its argument 'str1' content (?) matched a rule in %a/disabled_functions_name_regexp_type.php on line 4 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_name_type.phpt b/src/tests/disable_function/disabled_functions_name_type.phpt new file mode 100644 index 0000000..2d14d12 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_name_type.phpt @@ -0,0 +1,15 @@ +--TEST-- +Disable functions +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_name_type.ini +--FILE-- + +--EXPECTF-- +0 + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strcmp', because its argument '$str1' content (ARRAY) matched a rule in %a/disabled_functions_name_type.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_namespace.phpt b/src/tests/disable_function/disabled_functions_namespace.phpt new file mode 100644 index 0000000..1acfce2 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_namespace.phpt @@ -0,0 +1,30 @@ +--TEST-- +Disable functions in namespaces +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_namespace.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strcmp' in %a/disabled_functions_namespace.php on line 16 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_noconf.phpt b/src/tests/disable_function/disabled_functions_noconf.phpt new file mode 100644 index 0000000..cb13413 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_noconf.phpt @@ -0,0 +1,12 @@ +--TEST-- +Disable functions +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/empty.ini +--FILE-- + +--EXPECT-- +1 diff --git a/src/tests/disable_function/disabled_functions_nul_byte.phpt b/src/tests/disable_function/disabled_functions_nul_byte.phpt new file mode 100644 index 0000000..984541d --- /dev/null +++ b/src/tests/disable_function/disabled_functions_nul_byte.phpt @@ -0,0 +1,14 @@ +--TEST-- +Disable functions with nul byte +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_nul_byte.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'system', because its argument '$command' content (0id) matched a rule in %a/disabled_functions_nul_byte.php on line 2 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_param.phpt b/src/tests/disable_function/disabled_functions_param.phpt new file mode 100644 index 0000000..fb6dcbb --- /dev/null +++ b/src/tests/disable_function/disabled_functions_param.phpt @@ -0,0 +1,18 @@ +--TEST-- +Disable functions +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_param.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'system', because its argument '$command' content (id) matched the rule '1' in %a/disabled_functions_param.php on line 2 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_param_alias.phpt b/src/tests/disable_function/disabled_functions_param_alias.phpt new file mode 100644 index 0000000..9c249d9 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_param_alias.phpt @@ -0,0 +1,13 @@ +--TEST-- +Disable functions - alias +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_param_alias.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'system', because of the the rule '1' in %a/disabled_functions_param_alias.php on line 2 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_param_allow.phpt b/src/tests/disable_function/disabled_functions_param_allow.phpt new file mode 100644 index 0000000..f570415 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_param_allow.phpt @@ -0,0 +1,15 @@ +--TEST-- +Disable functions - allow +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_param_allow.ini +--FILE-- + +--EXPECTF-- +win + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'system' in %a/disabled_functions_param_allow.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_param_array.phpt b/src/tests/disable_function/disabled_functions_param_array.phpt new file mode 100644 index 0000000..37a02e0 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_param_array.phpt @@ -0,0 +1,25 @@ +--TEST-- +Disable functions +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_param_array.ini +--FILE-- +"test1"); +foo($a); + +$a=Array("a"=>"abcde"); +foo($a); + +$a=Array("a"=>"abcd"); +foo($a); +?> +--EXPECTF-- +test1 +abcde + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'foo', because its argument '$arr' content (abcd) matched the rule '1' in %a/disabled_functions_param_array.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_param_array_deref.phpt b/src/tests/disable_function/disabled_functions_param_array_deref.phpt new file mode 100644 index 0000000..3305965 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_param_array_deref.phpt @@ -0,0 +1,26 @@ +--TEST-- +Disable functions +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_param_array.ini +--FILE-- +"aaa", "a"=>"eee" ); +foo($a); + +$a=Array("bla"=>"aaa", "a"=>"abcdef" ); +foo($a); + +$a=Array("bla"=>"abcdef", "not_bla"=>"134"); +foo($a); +?> +--EXPECTF-- +eee +abcdef + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'foo', because its argument '$arr' content (abcdef) matched the rule '2' in %a/disabled_functions_param_array_deref.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_param_array_no_value.phpt b/src/tests/disable_function/disabled_functions_param_array_no_value.phpt new file mode 100644 index 0000000..dfb67a2 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_param_array_no_value.phpt @@ -0,0 +1,23 @@ +--TEST-- +Disable functions - matching on an array's variable only +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_param_array.ini +--FILE-- +Array("foo"=>Array("lol"=>"bbb")), "a"=>"cccc"); +foo($a); + +$a=Array("test"=>"aaa", "a"=>"fff" ); +foo($a); + +?> +--EXPECTF-- +cccc + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'foo', because its argument '$arr' content (aaa) matched the rule '3' in %a/disabled_functions_param_array_no_value.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_param_array_r.phpt b/src/tests/disable_function/disabled_functions_param_array_r.phpt new file mode 100644 index 0000000..1773bbe --- /dev/null +++ b/src/tests/disable_function/disabled_functions_param_array_r.phpt @@ -0,0 +1,21 @@ +--TEST-- +Disable functions - match on an array using regexp +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_param_r_array.ini +--FILE-- +"pof", "pof"=>"pif", "a"=>Array("qwe"=>"bbb"), "a"=>"cccc"); +foo($a); + +$a=Array("a"=>"abcd", "pof"=>"pif", "bar"=>Array("qwe"=>"bbb"), "b"=>"cccc"); +foo($a); +?> +--EXPECTF-- +cccc + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'foo', because its argument 'arr' content (ARRAY) matched the rule '1' in %a/disabled_functions_param_array_r.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_param_array_r_keys.phpt b/src/tests/disable_function/disabled_functions_param_array_r_keys.phpt new file mode 100644 index 0000000..0748e92 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_param_array_r_keys.phpt @@ -0,0 +1,21 @@ +--TEST-- +Disable functions - match on an array using regexp +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_param_r_array.ini +--FILE-- +"pof", "pof"=>"pif", "qwe"=>Array("qwe"=>"bbb"), "a"=>"cccc"); +foo($a); + +$a=Array("a"=>"", "pof"=>"pif", "bar"=>Array("qwe"=>"bbb"), "qweabcqwe"=>"nop"); +foo($a); +?> +--EXPECTF-- +cccc + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'foo', because its argument 'arr' content (ARRAY) matched the rule '2' in %a/disabled_functions_param_array_r_keys.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_param_array_several_levels.phpt b/src/tests/disable_function/disabled_functions_param_array_several_levels.phpt new file mode 100644 index 0000000..cbe845b --- /dev/null +++ b/src/tests/disable_function/disabled_functions_param_array_several_levels.phpt @@ -0,0 +1,21 @@ +--TEST-- +Disable functions - match on an array value buried in several levels +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_param_array.ini +--FILE-- +Array("pof"=>"pif", "foo"=>Array("lol"=>"bbb")), "a"=>"cccc"); +foo($a); + +$a=Array("test2"=>Array("foo"=>Array("lol"=>"aaa")), "a"=>"dddd"); +foo($a); +?> +--EXPECTF-- +cccc + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'foo', because its argument '$arr' content (ARRAY) matched the rule '4' in %a/disabled_functions_param_array_several_levels.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_param_array_several_levels_int.phpt b/src/tests/disable_function/disabled_functions_param_array_several_levels_int.phpt new file mode 100644 index 0000000..d957acf --- /dev/null +++ b/src/tests/disable_function/disabled_functions_param_array_several_levels_int.phpt @@ -0,0 +1,21 @@ +--TEST-- +Disable functions - match on an array value buried in several levels +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_param_array.ini +--FILE-- +Array("pof"=>"pif", "foo"=>Array("lol"=>"bbb")), "a"=>"cccc"); +foo($a); + +$a=Array("test2"=>Array("foo"=>Array("123"=>"aaa")), "a"=>"dddd"); +foo($a); +?> +--EXPECTF-- +cccc + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'foo', because its argument '$arr' content (ARRAY) matched the rule '4' in %a/disabled_functions_param_array_several_levels_int.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_param_array_several_levels_keys.phpt b/src/tests/disable_function/disabled_functions_param_array_several_levels_keys.phpt new file mode 100644 index 0000000..59d27c0 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_param_array_several_levels_keys.phpt @@ -0,0 +1,21 @@ +--TEST-- +Disable functions - match on an array value buried in several levels +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_param_array.ini +--FILE-- +Array("pof"=>"pif", "bar"=>Array("qwe"=>"bbb")), "a"=>"cccc"); +foo($a); + +$a=Array("test2"=>Array("bar"=>Array("lol"=>"aaa")), "a"=>"dddd"); +foo($a); +?> +--EXPECTF-- +cccc + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'foo', because its argument '$arr' content (ARRAY) matched the rule '5' in %a/disabled_functions_param_array_several_levels_keys.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_param_array_several_levels_keys_int.phpt b/src/tests/disable_function/disabled_functions_param_array_several_levels_keys_int.phpt new file mode 100644 index 0000000..647c394 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_param_array_several_levels_keys_int.phpt @@ -0,0 +1,21 @@ +--TEST-- +Disable functions - match on an array value buried in several levels +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_param_array.ini +--FILE-- +Array("pof"=>"pif", "bar"=>Array("qwe"=>"bbb")), "a"=>"cccc"); +foo($a); + +$a=Array("test2"=>Array("bar"=>Array("123"=>"aaa")), "a"=>"dddd"); +foo($a); +?> +--EXPECTF-- +cccc + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'foo', because its argument '$arr' content (ARRAY) matched the rule '6' in %a/disabled_functions_param_array_several_levels_keys_int.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_param_broken_line.phpt b/src/tests/disable_function/disabled_functions_param_broken_line.phpt new file mode 100644 index 0000000..4fc3c45 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_param_broken_line.phpt @@ -0,0 +1,18 @@ +--TEST-- +Disable functions - match on a specific line - broken configuration +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_broken_line.ini +--FILE-- + +--EXPECTF-- +PHP Fatal error: [snuffleupagus][config] Failed to parse arg 'qwe' of `line` on line 1 in Unknown on line 0 + +Fatal error: [snuffleupagus][config] Failed to parse arg 'qwe' of `line` on line 1 in Unknown on line 0 + +Fatal error: [snuffleupagus][config] Invalid configuration file in Unknown on line 0 +Could not startup. diff --git a/src/tests/disable_function/disabled_functions_param_int.phpt b/src/tests/disable_function/disabled_functions_param_int.phpt new file mode 100644 index 0000000..e8b0a42 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_param_int.phpt @@ -0,0 +1,22 @@ +--TEST-- +Disable functions +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_param_int.ini +--FILE-- + +--EXPECTF-- +1 + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'foobar', because its argument '$id' content (42) matched a rule in %a/disabled_functions_param_int.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_param_invalid_pos.phpt b/src/tests/disable_function/disabled_functions_param_invalid_pos.phpt new file mode 100644 index 0000000..c52443d --- /dev/null +++ b/src/tests/disable_function/disabled_functions_param_invalid_pos.phpt @@ -0,0 +1,17 @@ +--TEST-- +Disable functions - match on argument's position +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_invalid_pos.ini +--FILE-- + +--EXPECTF-- +PHP Fatal error: [snuffleupagus][config] Failed to parse arg 'qwe' of `pos` on line 1 in Unknown on line 0 + +Fatal error: [snuffleupagus][config] Failed to parse arg 'qwe' of `pos` on line 1 in Unknown on line 0 + +Fatal error: [snuffleupagus][config] Invalid configuration file in Unknown on line 0 +Could not startup. diff --git a/src/tests/disable_function/disabled_functions_param_line.phpt b/src/tests/disable_function/disabled_functions_param_line.phpt new file mode 100644 index 0000000..75bfedd --- /dev/null +++ b/src/tests/disable_function/disabled_functions_param_line.phpt @@ -0,0 +1,15 @@ +--TEST-- +Disable functions - match on a specific line +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_line.ini +--FILE-- + +--EXPECTF-- +1337 + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'system' in %a/disabled_functions_param_line.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_param_pos.phpt b/src/tests/disable_function/disabled_functions_param_pos.phpt new file mode 100644 index 0000000..348d34b --- /dev/null +++ b/src/tests/disable_function/disabled_functions_param_pos.phpt @@ -0,0 +1,14 @@ +--TEST-- +Disable functions - match on argument's position +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_pos.ini +--FILE-- + +--EXPECTF-- +Warning: [snuffleupagus][config] It seems that you wrote a rule filtering on the 1337th argument of the function 'system', but it takes only 1 arguments. Matching on _all_ arguments instead. in %a/disabled_functions_param_pos.php on line 2 + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'system', because its argument 'command' content (id) matched a rule in %a/disabled_functions_param_pos.php on line %d diff --git a/src/tests/disable_function/disabled_functions_param_pos2.phpt b/src/tests/disable_function/disabled_functions_param_pos2.phpt new file mode 100644 index 0000000..87e18c0 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_param_pos2.phpt @@ -0,0 +1,13 @@ +--TEST-- +Disable functions - match on argument's position, not the first time +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_pos.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen', because its argument 'str' content (id) matched the rule 'strlen array' in %a/disabled_functions_param_pos2.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_param_r.phpt b/src/tests/disable_function/disabled_functions_param_r.phpt new file mode 100644 index 0000000..722f126 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_param_r.phpt @@ -0,0 +1,13 @@ +--TEST-- +Disable functions +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_param_r.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'system', because its argument 'command' content (id) matched a rule in %a/disabled_functions_param_r.php on line 2 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_param_str_representation.phpt b/src/tests/disable_function/disabled_functions_param_str_representation.phpt new file mode 100644 index 0000000..7cbdc0f --- /dev/null +++ b/src/tests/disable_function/disabled_functions_param_str_representation.phpt @@ -0,0 +1,25 @@ +--TEST-- +Disable functions - casting various types to string internally +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_param_str_representation.ini +--FILE-- + +--EXPECTF-- +true +false +NULL +1 +1.0 +123 diff --git a/src/tests/disable_function/disabled_functions_parse_class.phpt b/src/tests/disable_function/disabled_functions_parse_class.phpt new file mode 100644 index 0000000..af9ed88 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_parse_class.phpt @@ -0,0 +1,22 @@ +--TEST-- +Disable functions - Parsing of an Object as a return value of a function +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_ret.ini +--FILE-- +a() instanceof StdClass)?'Y':'N'; +?> +--EXPECT-- +Y diff --git a/src/tests/disable_function/disabled_functions_pos_type.phpt b/src/tests/disable_function/disabled_functions_pos_type.phpt new file mode 100644 index 0000000..30aef8f --- /dev/null +++ b/src/tests/disable_function/disabled_functions_pos_type.phpt @@ -0,0 +1,16 @@ +--TEST-- +Disable functions - match on argument's position +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_pos.ini +--FILE-- + +--EXPECTF-- +Warning: [snuffleupagus][config] It seems that you wrote a rule filtering on the 1337th argument of the function 'system', but it takes only 1 arguments. Matching on _all_ arguments instead. in %a/disabled_functions_pos_type.php on line %d + +Warning: [snuffleupagus][config] It seems that you wrote a rule filtering on the 1st argument of the function 'system', but it takes only 1 arguments. Matching on _all_ arguments instead. in %a/disabled_functions_pos_type.php on line %d + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'system', because its argument 'command' content (?) matched the rule '1' in %a/disabled_functions_pos_type.php on line %d diff --git a/src/tests/disable_function/disabled_functions_regexp_multiple.phpt b/src/tests/disable_function/disabled_functions_regexp_multiple.phpt new file mode 100644 index 0000000..79f1fc7 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_regexp_multiple.phpt @@ -0,0 +1,19 @@ +--TEST-- +Disable functions +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_regexp.ini +--FILE-- + +--EXPECTF-- +Warning: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strlen' in %a/disabled_functions_regexp_multiple.php on line 2 +2 + +Warning: [snuffleupagus][disabled_function] Aborted execution on call of the function 'strcmp' in %a/disabled_functions_regexp_multiple.php on line 3 +-1 +After \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_register_shutdown_function.phpt b/src/tests/disable_function/disabled_functions_register_shutdown_function.phpt new file mode 100644 index 0000000..b6f1a10 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_register_shutdown_function.phpt @@ -0,0 +1,18 @@ +--TEST-- +Disable functions - Called with register_shutdown_function +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_user_functions.ini +--FILE-- + +--EXPECTF-- +1337 + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'my_super_function' in %a/disabled_functions_register_shutdown_function.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_register_tick_function.phpt b/src/tests/disable_function/disabled_functions_register_tick_function.phpt new file mode 100644 index 0000000..6e3fb6f --- /dev/null +++ b/src/tests/disable_function/disabled_functions_register_tick_function.phpt @@ -0,0 +1,19 @@ +--TEST-- +Disable functions - Called with register_tick_function +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_user_functions.ini +--FILE-- + +--EXPECTF-- +1337 + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'my_super_function' in %a/disabled_functions_register_tick_function.php on line 4 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_require.phpt b/src/tests/disable_function/disabled_functions_require.phpt new file mode 100644 index 0000000..77dfbf5 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_require.phpt @@ -0,0 +1,24 @@ +--TEST-- +Disable functions - Require +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_require.ini +--FILE-- + +--CLEAN-- + +--EXPECTF-- +BLA +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'require', because its argument 'inclusion path' content (%a/test.meh) matched a rule in %a/disabled_functions_require.php on line 6 diff --git a/src/tests/disable_function/disabled_functions_require_allow.phpt b/src/tests/disable_function/disabled_functions_require_allow.phpt new file mode 100644 index 0000000..1e3bc56 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_require_allow.phpt @@ -0,0 +1,25 @@ +--TEST-- +Disable functions - Require (allow) +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_require_allow.ini +--FILE-- + +--EXPECTF-- +BLA +MEH +1337 +--CLEAN-- + diff --git a/src/tests/disable_function/disabled_functions_require_once.phpt b/src/tests/disable_function/disabled_functions_require_once.phpt new file mode 100644 index 0000000..84e93cd --- /dev/null +++ b/src/tests/disable_function/disabled_functions_require_once.phpt @@ -0,0 +1,24 @@ +--TEST-- +Disable functions - require_once +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_require.ini +--FILE-- + +--CLEAN-- + +--EXPECTF-- +BLA +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'require_once', because its argument 'inclusion path' content (%a/test.meh) matched a rule in %a/disabled_functions_require_once.php on line 6 diff --git a/src/tests/disable_function/disabled_functions_require_simulation.phpt b/src/tests/disable_function/disabled_functions_require_simulation.phpt new file mode 100644 index 0000000..6c97480 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_require_simulation.phpt @@ -0,0 +1,27 @@ +--TEST-- +Disable functions - Require (simulation) +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_require.ini +--FILE-- + +--CLEAN-- + +--EXPECTF-- +BLA + +Warning: [snuffleupagus][disabled_function] Aborted execution on call of the function 'require', because its argument 'inclusion path' content (%a/test.sim) matched a rule in %a/disabled_functions_require_simulation.php on line 6 +MEH +1337 diff --git a/src/tests/disable_function/disabled_functions_ret.phpt b/src/tests/disable_function/disabled_functions_ret.phpt new file mode 100644 index 0000000..7c5d596 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_ret.phpt @@ -0,0 +1,13 @@ +--TEST-- +Disable functions check on `ret`. +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_ret.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'strpos', because the function returned '0', which matched a rule in %a/disabled_functions_ret.php on line 2 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_ret2.phpt b/src/tests/disable_function/disabled_functions_ret2.phpt new file mode 100644 index 0000000..e32c585 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_ret2.phpt @@ -0,0 +1,12 @@ +--TEST-- +Disable functions check on `ret`. +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_ret.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'stripos', because the function returned '0', which matched a rule in %a/disabled_functions_ret2.php on line 2 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_ret3.phpt b/src/tests/disable_function/disabled_functions_ret3.phpt new file mode 100644 index 0000000..dc60c43 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_ret3.phpt @@ -0,0 +1,23 @@ +--TEST-- +Disable functions check on `ret`. +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_ret.ini +memory_limit=-1 +--FILE-- +a() . ".\n"; +echo("We're at the end of the execution.\n"); +?> +--EXPECTF-- +We're in function `a`. + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'Bob::a', because the function returned '2', which matched a rule in %a/disabled_functions_ret3.php on line 9 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_ret_allow.phpt b/src/tests/disable_function/disabled_functions_ret_allow.phpt new file mode 100644 index 0000000..1690995 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_ret_allow.phpt @@ -0,0 +1,13 @@ +--TEST-- +Disable functions check on `ret`. +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_ret_allow.ini +--FILE-- + +--EXPECT-- +00 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_ret_allow_value.phpt b/src/tests/disable_function/disabled_functions_ret_allow_value.phpt new file mode 100644 index 0000000..881a006 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_ret_allow_value.phpt @@ -0,0 +1,12 @@ +--TEST-- +Disable functions check on `ret` allowed +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_ret_allow_value.ini +--FILE-- + +--EXPECT-- +0 diff --git a/src/tests/disable_function/disabled_functions_ret_right_hash.phpt b/src/tests/disable_function/disabled_functions_ret_right_hash.phpt new file mode 100644 index 0000000..1307172 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_ret_right_hash.phpt @@ -0,0 +1,14 @@ +--TEST-- +Disable functions +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_ret_right_hash.ini +--FILE-- + +--EXPECTF-- +1337 + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'system', because the function returned '1337', which matched a rule in %a/disabled_functions_ret_right_hash.php on line 2 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_ret_simulation.phpt b/src/tests/disable_function/disabled_functions_ret_simulation.phpt new file mode 100644 index 0000000..bd4cea0 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_ret_simulation.phpt @@ -0,0 +1,20 @@ +--TEST-- +Disable functions check on `ret` simulation +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_ret_simulation.ini +--FILE-- + +--EXPECTF-- +Warning: [snuffleupagus][disabled_function] Aborted execution on return of the function 'strpos', because the function returned '0', which matched a rule in %a/disabled_functions_ret_simulation.php on line 2 +0 + +Warning: [snuffleupagus][disabled_function] Aborted execution on return of the function 'stripos', because the function returned '0', which matched the rule '1' in %a/disabled_functions_ret_simulation.php on line 3 +0 + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'strcmp', because the function returned '0', which matched a rule in %a/disabled_functions_ret_simulation.php on line 4 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_ret_type.phpt b/src/tests/disable_function/disabled_functions_ret_type.phpt new file mode 100644 index 0000000..88401ca --- /dev/null +++ b/src/tests/disable_function/disabled_functions_ret_type.phpt @@ -0,0 +1,17 @@ +--TEST-- +Disable functions check on `ret` by type matching (false) +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_ret_type.ini +--FILE-- + +--EXPECTF-- +int(0) +1337 + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'strpos', because the function returned 'FALSE', which matched the rule 'Return value is FALSE' in %a/disabled_functions_ret_type.php on line 4 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_ret_type_array.phpt b/src/tests/disable_function/disabled_functions_ret_type_array.phpt new file mode 100644 index 0000000..3ceac9e --- /dev/null +++ b/src/tests/disable_function/disabled_functions_ret_type_array.phpt @@ -0,0 +1,12 @@ +--TEST-- +Disable functions check on `ret` by type matching (array). +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_ret_type_array.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'get_loaded_extensions', because the function returned 'ARRAY', which matched the rule 'Return value is an array' in %a/disabled_functions_ret_type_array.php on line 2 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_ret_type_double.phpt b/src/tests/disable_function/disabled_functions_ret_type_double.phpt new file mode 100644 index 0000000..b0e895c --- /dev/null +++ b/src/tests/disable_function/disabled_functions_ret_type_double.phpt @@ -0,0 +1,12 @@ +--TEST-- +Disable functions check on `ret` by type matching (double). +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_ret_type_double.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'cos', because the function returned '0.877583', which matched the rule 'Return value is a double' in %a/disabled_functions_ret_type_double.php on line 2 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_ret_type_long.phpt b/src/tests/disable_function/disabled_functions_ret_type_long.phpt new file mode 100644 index 0000000..c389533 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_ret_type_long.phpt @@ -0,0 +1,12 @@ +--TEST-- +Disable functions check on `ret` by type matching (long). +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_ret_type_long.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'strlen', because the function returned '5', which matched the rule 'Return value is a long' in %a/disabled_functions_ret_type_long.php on line 2 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_ret_type_null.phpt b/src/tests/disable_function/disabled_functions_ret_type_null.phpt new file mode 100644 index 0000000..894b3f5 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_ret_type_null.phpt @@ -0,0 +1,16 @@ +--TEST-- +Disable functions check on `ret` by type matching (null). +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_ret_type_null.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'my_function', because the function returned 'NULL', which matched the rule 'Return value is null' in %a/disabled_functions_ret_type_null.php on line 6 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_ret_type_object.phpt b/src/tests/disable_function/disabled_functions_ret_type_object.phpt new file mode 100644 index 0000000..171cd4b --- /dev/null +++ b/src/tests/disable_function/disabled_functions_ret_type_object.phpt @@ -0,0 +1,16 @@ +--TEST-- +Disable functions check on `ret` by type matching (object). +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_ret_type_object.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'a', because the function returned 'OBJECT', which matched a rule in %a/disabled_functions_ret_type_object.php on line 5 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_ret_type_resource.phpt b/src/tests/disable_function/disabled_functions_ret_type_resource.phpt new file mode 100644 index 0000000..4ae38b6 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_ret_type_resource.phpt @@ -0,0 +1,12 @@ +--TEST-- +Disable functions check on `ret` by type matching (resource). +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_ret_type_resource.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'fopen', because the function returned 'RESOURCE', which matched the rule 'Return value is a resource' in %a/disabled_functions_ret_type_resource.php on line 2 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_ret_type_str.phpt b/src/tests/disable_function/disabled_functions_ret_type_str.phpt new file mode 100644 index 0000000..356ff43 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_ret_type_str.phpt @@ -0,0 +1,12 @@ +--TEST-- +Disable functions check on `ret` by type matching (string). +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_ret_type_str.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'substr', because the function returned 'et', which matched the rule 'Return value is a string' in %a/disabled_functions_ret_type_str.php on line 2 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_ret_type_true.phpt b/src/tests/disable_function/disabled_functions_ret_type_true.phpt new file mode 100644 index 0000000..8ddb1f7 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_ret_type_true.phpt @@ -0,0 +1,17 @@ +--TEST-- +Disable functions check on `ret` by type matching (true). +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_ret_type_true.ini +--FILE-- + +--EXPECTF-- +bool(false) +1337 + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'is_numeric', because the function returned 'TRUE', which matched the rule 'Return value is a true' in %a/disabled_functions_ret_type_true.php on line 4 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_ret_user.phpt b/src/tests/disable_function/disabled_functions_ret_user.phpt new file mode 100644 index 0000000..8caa9bd --- /dev/null +++ b/src/tests/disable_function/disabled_functions_ret_user.phpt @@ -0,0 +1,16 @@ +--TEST-- +Check NULL return value for user func +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_ret_user.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'qwe', because the function returned 'asd', which matched a rule in %a/disabled_functions_ret_user.php on line %d diff --git a/src/tests/disable_function/disabled_functions_ret_user_used.phpt b/src/tests/disable_function/disabled_functions_ret_user_used.phpt new file mode 100644 index 0000000..5857905 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_ret_user_used.phpt @@ -0,0 +1,15 @@ +--TEST-- +Check return value for user func +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_ret_user.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'qwe', because the function returned 'asd', which matched a rule in %a/disabled_functions_ret_user_used.php on line %d diff --git a/src/tests/disable_function/disabled_functions_ret_val.phpt b/src/tests/disable_function/disabled_functions_ret_val.phpt new file mode 100644 index 0000000..40a3be9 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_ret_val.phpt @@ -0,0 +1,15 @@ +--TEST-- +Disable functions ret val +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_retval.ini +--FILE-- + +--EXPECTF-- +fufu + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'str_repeat', because the function returned 'fufufu', which matched a rule in %a/disabled_functions_ret_val.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_ret_val_dump.phpt b/src/tests/disable_function/disabled_functions_ret_val_dump.phpt new file mode 100644 index 0000000..51e4f29 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_ret_val_dump.phpt @@ -0,0 +1,23 @@ +--TEST-- +Disable functions ret val - dump +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_retval_dump.ini +--ENV-- +DOCUMENT_ROOT=a +--POST-- +post_a=data_post_a&post_b=data_post_b +--GET-- +get_a=data_get_a&get_b=data_get_b +--COOKIE-- +cookie_a=data_cookie_a&cookie_b=data_cookie_b +--FILE-- + +--EXPECTF-- +fufu + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'str_repeat', because the function returned 'fufufu', which matched a rule in %a/disabled_functions_ret_val_dump.php on line 3 diff --git a/src/tests/disable_function/disabled_functions_ret_val_rx.phpt b/src/tests/disable_function/disabled_functions_ret_val_rx.phpt new file mode 100644 index 0000000..ba06649 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_ret_val_rx.phpt @@ -0,0 +1,15 @@ +--TEST-- +Disable functions ret val rx +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions_retval_rx.ini +--FILE-- + +--EXPECTF-- +fufu + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on return of the function 'str_repeat', because the function returned 'fufufu', which matched a rule in %a/disabled_functions_ret_val_rx.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_right_hash.phpt b/src/tests/disable_function/disabled_functions_right_hash.phpt new file mode 100644 index 0000000..f3c5fb3 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_right_hash.phpt @@ -0,0 +1,12 @@ +--TEST-- +Disable functions +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_right_hash.ini +--FILE-- + +--EXPECTF-- +1337 diff --git a/src/tests/disable_function/disabled_functions_runtime.phpt b/src/tests/disable_function/disabled_functions_runtime.phpt new file mode 100644 index 0000000..4ba1a53 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_runtime.phpt @@ -0,0 +1,32 @@ +--TEST-- +Disable functions - runtime inclusion +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_param_runtime.ini +--FILE-- + +--CLEAN-- + +--EXPECTF-- +1338 + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'test', because its argument '$param' content (1337) matched a rule in %a/src/file_to_include%d.php on line 1 diff --git a/src/tests/disable_function/disabled_functions_upper.phpt b/src/tests/disable_function/disabled_functions_upper.phpt new file mode 100644 index 0000000..8fa8ea3 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_upper.phpt @@ -0,0 +1,16 @@ +--TEST-- +Disable functions - uppercase +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'system' in %a/disabled_functions_upper.php on line 2 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_functions_variadic.phpt b/src/tests/disable_function/disabled_functions_variadic.phpt new file mode 100644 index 0000000..95d308e --- /dev/null +++ b/src/tests/disable_function/disabled_functions_variadic.phpt @@ -0,0 +1,18 @@ +--TEST-- +Disable functions - support for variadic functions +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_functions_variadic.ini +--FILE-- + +--EXPECTF-- +Warning: [snuffleupagus][disable_function] Snuffleupagus doesn't support variadic functions yet, sorry. Check https://github.com/nbs-system/snuffleupagus/issues/164 for details. in %a/disabled_functions_variadic.php on line %d + +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'foo' in %a/disabled_functions_variadic.php on line %d diff --git a/src/tests/disable_function/disabled_functions_zero_cidr.phpt b/src/tests/disable_function/disabled_functions_zero_cidr.phpt new file mode 100644 index 0000000..4e5f930 --- /dev/null +++ b/src/tests/disable_function/disabled_functions_zero_cidr.phpt @@ -0,0 +1,17 @@ +--TEST-- +Disable functions +--SKIPIF-- + +--ENV-- +return << +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'system' in %a/disabled_functions_zero_cidr.php on line 2 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_native_functions_indirect.phpt b/src/tests/disable_function/disabled_native_functions_indirect.phpt new file mode 100644 index 0000000..ba355d6 --- /dev/null +++ b/src/tests/disable_function/disabled_native_functions_indirect.phpt @@ -0,0 +1,12 @@ +--TEST-- +Disabled native functions, called indirectly +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/disabled_functions.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'system' in %a/disabled_native_functions_indirect.php on line 2 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_user_functions.phpt b/src/tests/disable_function/disabled_user_functions.phpt new file mode 100644 index 0000000..9c17b79 --- /dev/null +++ b/src/tests/disable_function/disabled_user_functions.phpt @@ -0,0 +1,15 @@ +--TEST-- +Disabled user-created functions +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_user_functions.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'my_super_function' in %a/disabled_user_functions.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/disabled_user_functions_indirect.phpt b/src/tests/disable_function/disabled_user_functions_indirect.phpt new file mode 100644 index 0000000..f663ded --- /dev/null +++ b/src/tests/disable_function/disabled_user_functions_indirect.phpt @@ -0,0 +1,15 @@ +--TEST-- +Disabled user-created functions, called indirectly +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_disabled_user_functions.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'my_super_function' in %a/disabled_user_functions_indirect.php on line 3 \ No newline at end of file diff --git a/src/tests/disable_function/noncore_function_hooking.phpt b/src/tests/disable_function/noncore_function_hooking.phpt new file mode 100644 index 0000000..52bb114 --- /dev/null +++ b/src/tests/disable_function/noncore_function_hooking.phpt @@ -0,0 +1,15 @@ +--TEST-- +Hooking of user-defined functions +--SKIPIF-- + +--INI-- +sp.configuration_file={PWD}/config/config_noncore_function_hooking.ini +--FILE-- + +--EXPECTF-- +Fatal error: [snuffleupagus][disabled_function] Aborted execution on call of the function 'custom_fun' in %a/noncore_function_hooking.php on line 3 \ No newline at end of file -- cgit v1.3