From ad6b3e723fe26bf1a3a573aed776960916d35499 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Wed, 10 Jan 2018 14:56:33 +0100 Subject: Eval whitelist Implement whitelist in eval--- src/sp_config_keywords.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src/sp_config_keywords.c') diff --git a/src/sp_config_keywords.c b/src/sp_config_keywords.c index 85e04ab..c5cc950 100644 --- a/src/sp_config_keywords.c +++ b/src/sp_config_keywords.c @@ -102,11 +102,11 @@ int parse_global(char *line) { return parse_keywords(sp_config_funcs_global, line); } -int parse_eval_filter(char *line) { +static int parse_eval_filter_conf(char *line, sp_list_node *list) { char *token; char *rest; sp_config_functions sp_config_funcs[] = { - {parse_str, SP_TOKEN_EVAL_BLACKLIST, &rest}, + {parse_str, SP_TOKEN_EVAL_LIST, &rest}, {parse_empty, SP_TOKEN_SIMULATION, &(SNUFFLEUPAGUS_G(config).config_eval->simulation)}, {0}}; @@ -116,11 +116,21 @@ int parse_eval_filter(char *line) { } while ((token = strtok_r(rest, ",", &rest))) { - sp_list_insert(SNUFFLEUPAGUS_G(config).config_eval->blacklist, token); + sp_list_insert(list, token); } return SUCCESS; } +int parse_eval_blacklist(char *line) { + return parse_eval_filter_conf(line, + SNUFFLEUPAGUS_G(config).config_eval->blacklist); +} + +int parse_eval_whitelist(char *line) { + return parse_eval_filter_conf(line, + SNUFFLEUPAGUS_G(config).config_eval->whitelist); +} + int parse_cookie(char *line) { int ret = 0; char *samesite = NULL; -- cgit v1.3