]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
add "set unlang allow" API for unit_test_map
authorAlan T. DeKok <aland@freeradius.org>
Thu, 22 Aug 2024 12:41:07 +0000 (08:41 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 22 Aug 2024 12:41:34 +0000 (08:41 -0400)
src/bin/unit_test_map.c
src/lib/server/cf_file.c
src/lib/server/cf_file.h

index 79b8938bdcdc0ca3e1bf7e026627e6dc4f660f16..4dc328019e1dde737efac8a93a36943c05a063af 100644 (file)
@@ -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;
index 3c237507442624bc59a3a7d98b068069c2e36f15..818d13daaee79407025b044dd92722050551624a 100644 (file)
@@ -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;
+}
index fb3165f410ffd13191021146da14a3f0091f19b2..429fbd3bf22dd920b8affce52411cc54619f2ddf 100644 (file)
@@ -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