From 994e197bcd6107f7af6279f3c897f05017ca22db Mon Sep 17 00:00:00 2001 From: jvoisin Date: Tue, 10 Oct 2017 18:36:30 +0200 Subject: .allow() is now working for require --- src/sp_execute.c | 3 +++ .../config_disabled_functions_require_allow.ini | 1 + src/tests/disabled_functions_require_allow.phpt | 25 ++++++++++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 src/tests/config/config_disabled_functions_require_allow.ini create mode 100644 src/tests/disabled_functions_require_allow.phpt (limited to 'src') diff --git a/src/sp_execute.c b/src/sp_execute.c index 419e56d..c8f7acf 100644 --- a/src/sp_execute.c +++ b/src/sp_execute.c @@ -38,6 +38,9 @@ static void construct_include_handler(const char * const filename) { while (config) { sp_disabled_function *config_node = (sp_disabled_function*)(config->data); if (true == is_regexp_matching(config_node->regexp, filename)) { + if (true == config_node->allow) { + return; + } sp_log_disable("include", "inclusion path", filename, config_node); if (false == config_node->simulation) { sp_terminate(); diff --git a/src/tests/config/config_disabled_functions_require_allow.ini b/src/tests/config/config_disabled_functions_require_allow.ini new file mode 100644 index 0000000..c533341 --- /dev/null +++ b/src/tests/config/config_disabled_functions_require_allow.ini @@ -0,0 +1 @@ +sp.disable_functions.function("require").param("").value_r("meh$").allow(); diff --git a/src/tests/disabled_functions_require_allow.phpt b/src/tests/disabled_functions_require_allow.phpt new file mode 100644 index 0000000..1e3bc56 --- /dev/null +++ b/src/tests/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-- + -- cgit v1.3