]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
use API instead of direct access. Fixes #4608
authorAlan T. DeKok <aland@freeradius.org>
Fri, 18 Nov 2022 12:40:18 +0000 (07:40 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 18 Nov 2022 12:40:18 +0000 (07:40 -0500)
src/lib/server/cf_file.c
src/lib/server/main_config.c

index f931cfe94c4670a4d772628e16a29b51bc5e4c43..f1f0f62ce5fe5d46847c34e31d275ddbf0f15cf0 100644 (file)
@@ -1268,6 +1268,8 @@ static CONF_ITEM *process_if(cf_stack_t *stack)
        CONF_SECTION    *parent = frame->current;
        char            *buff[4];
        tmpl_rules_t    t_rules;
+       bool            use_new_conditions = main_config_migrate_option_get("use_new_conditions");
+       bool            parse_new_conditions = main_config_migrate_option_get("parse_new_conditions");
 
        /*
         *      Short names are nicer.
@@ -1478,7 +1480,7 @@ static CONF_ITEM *process_if(cf_stack_t *stack)
                        return NULL;
                }
 
-               if (!main_config->use_new_conditions) {
+               if (!use_new_conditions) {
                        my_slen = fr_cond_tokenize(cs, &cond, &t_rules, &FR_SBUFF_IN(buff[3], strlen(buff[3])), false);
                        if (my_slen <= 0) {
                                char *spaces, *text;
@@ -1499,7 +1501,7 @@ static CONF_ITEM *process_if(cf_stack_t *stack)
                        }
                }
 
-               if (main_config->parse_new_conditions) {
+               if (parse_new_conditions) {
                        name2 = buff[3];
                }
        }
@@ -1521,7 +1523,7 @@ static CONF_ITEM *process_if(cf_stack_t *stack)
         *      Now that the CONF_SECTION and condition are OK, add
         *      the condition to the CONF_SECTION.
         */
-       if (!main_config->use_new_conditions) {
+       if (!use_new_conditions) {
                cf_data_add(cs, cond, NULL, true);
        }
 
index d932a150d52f60b326f72596123b455adf2658a5..f3d7abe4092b865f96da0750ed6ed82d6d2fe5e5 100644 (file)
@@ -1490,6 +1490,8 @@ bool main_config_migrate_option_get(char const *name)
 {
        size_t offset;
 
+       if (!main_config) return false;
+
        offset = fr_table_value_by_substr(config_arg_table, name, strlen(name), 0);
        if (!offset) return false;