From: Alan T. DeKok Date: Thu, 22 Aug 2024 12:41:07 +0000 (-0400) Subject: add "set unlang allow" API for unit_test_map X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ec41f4d1bde7395bdc4ab1d635b570b7e7e324e7;p=thirdparty%2Ffreeradius-server.git add "set unlang allow" API for unit_test_map --- diff --git a/src/bin/unit_test_map.c b/src/bin/unit_test_map.c index 79b8938bdcd..4dc328019e1 100644 --- a/src/bin/unit_test_map.c +++ b/src/bin/unit_test_map.c @@ -95,6 +95,8 @@ static int process_file(char const *filename) return EXIT_FAILURE; } config->root_cs = cf_section_alloc(config, NULL, "main", NULL); + cf_section_set_unlang(config->root_cs); + if ((cf_file_read(config->root_cs, filename) < 0) || (cf_section_pass2(config->root_cs) < 0)) { fprintf(stderr, "unit_test_map: Failed parsing %s\n", filename); return EXIT_FAILURE; diff --git a/src/lib/server/cf_file.c b/src/lib/server/cf_file.c index 3c237507442..818d13daaee 100644 --- a/src/lib/server/cf_file.c +++ b/src/lib/server/cf_file.c @@ -3403,3 +3403,14 @@ retry: return NULL; } + +/* + * Only for unit_test_map + */ +void cf_section_set_unlang(CONF_SECTION *cs) +{ + fr_assert(cs->unlang == CF_UNLANG_NONE); + fr_assert(!cs->item.parent); + + cs->unlang = CF_UNLANG_ALLOW; +} diff --git a/src/lib/server/cf_file.h b/src/lib/server/cf_file.h index fb3165f410f..429fbd3bf22 100644 --- a/src/lib/server/cf_file.h +++ b/src/lib/server/cf_file.h @@ -62,6 +62,8 @@ char const *cf_expand_variables(char const *filename, int lineno, CONF_SECTION *outer_cs, char *output, size_t outsize, char const *input, ssize_t inlen, bool *soft_fail); +void cf_section_set_unlang(CONF_SECTION *cs); + #ifdef __cplusplus } #endif