From 69b95a117957ceaab16f5dfb68a41500a7958ba9 Mon Sep 17 00:00:00 2001 From: crKontrol Date: Thu, 2 Aug 2018 14:41:20 +0200 Subject: fix #203 (#204) sp.disable_function.function().filename doesn't take phar:///--- src/sp_config_keywords.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'src/sp_config_keywords.c') diff --git a/src/sp_config_keywords.c b/src/sp_config_keywords.c index 8e1c2dc..fb20a43 100644 --- a/src/sp_config_keywords.c +++ b/src/sp_config_keywords.c @@ -278,7 +278,8 @@ int parse_cookie(char *line) { return -1; } } - SNUFFLEUPAGUS_G(config).config_cookie->cookies = + SNUFFLEUPAGUS_G(config) + .config_cookie->cookies = sp_list_insert(SNUFFLEUPAGUS_G(config).config_cookie->cookies, cookie); return SUCCESS; } @@ -392,11 +393,14 @@ int parse_disabled_functions(char *line) { " must take a function name on line %zu.", line, sp_line_no); return -1; - } else if (df->filename && *ZSTR_VAL(df->filename) != '/') { - sp_log_err("config", - "Invalid configuration line: 'sp.disabled_functions%s':" - "'.filename' must be an absolute path on line %zu.", - line, sp_line_no); + } else if (df->filename && (*ZSTR_VAL(df->filename) != '/') && + (0 != + strncmp(ZSTR_VAL(df->filename), "phar://", strlen("phar://")))) { + sp_log_err( + "config", + "Invalid configuration line: 'sp.disabled_functions%s':" + "'.filename' must be an absolute path or a phar archive on line %zu.", + line, sp_line_no); return -1; } else if (!(allow ^ drop)) { sp_log_err("config", -- cgit v1.3