From: Alan T. DeKok Date: Fri, 18 Nov 2022 12:40:18 +0000 (-0500) Subject: use API instead of direct access. Fixes #4608 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c1321204f680477aefffc1a934bf5a874a852f5a;p=thirdparty%2Ffreeradius-server.git use API instead of direct access. Fixes #4608 --- diff --git a/src/lib/server/cf_file.c b/src/lib/server/cf_file.c index f931cfe94c4..f1f0f62ce5f 100644 --- a/src/lib/server/cf_file.c +++ b/src/lib/server/cf_file.c @@ -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); } diff --git a/src/lib/server/main_config.c b/src/lib/server/main_config.c index d932a150d52..f3d7abe4092 100644 --- a/src/lib/server/main_config.c +++ b/src/lib/server/main_config.c @@ -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;