pbx_config: Only the first [globals] section is seen.
If multiple [globals] sections are used (for example via separate included files), only the first one is processed. This can result in lost global variables when using a modular extensions.conf. ASTERISK-28146 #close Change-Id: Iaac810c0a7c4d9b1bf8989fcc041cdb910ef08a0
This commit is contained in:
parent
907ea79a92
commit
07a59b783e
6
CHANGES
6
CHANGES
|
@ -12,6 +12,12 @@
|
|||
--- Functionality changes from Asterisk 16.0.0 to Asterisk 16.1.0 ------------
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
pbx_config
|
||||
------------------
|
||||
* pbx_config will now find and process multiple 'globals' sections from
|
||||
extensions.conf. Variables are processed in the order they are found
|
||||
and duplicate variables overwrite the previous value.
|
||||
|
||||
res_pjsip
|
||||
------------------
|
||||
* New options 'trust_connected_line' and 'send_connected_line' have been
|
||||
|
|
|
@ -1714,10 +1714,20 @@ static int pbx_load_config(const char *config_file)
|
|||
|
||||
ast_copy_string(userscontext, ast_variable_retrieve(cfg, "general", "userscontext") ?: "default", sizeof(userscontext));
|
||||
|
||||
for (v = ast_variable_browse(cfg, "globals"); v; v = v->next) {
|
||||
pbx_substitute_variables_helper(NULL, v->value, realvalue, sizeof(realvalue) - 1);
|
||||
pbx_builtin_setvar_helper(NULL, v->name, realvalue);
|
||||
/* ast_variable_browse does not merge multiple [globals] sections */
|
||||
for (cxt = ast_category_browse(cfg, NULL);
|
||||
cxt;
|
||||
cxt = ast_category_browse(cfg, cxt)) {
|
||||
if (strcasecmp(cxt, "globals")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
for (v = ast_variable_browse(cfg, cxt); v; v = v->next) {
|
||||
pbx_substitute_variables_helper(NULL, v->value, realvalue, sizeof(realvalue) - 1);
|
||||
pbx_builtin_setvar_helper(NULL, v->name, realvalue);
|
||||
}
|
||||
}
|
||||
|
||||
for (cxt = ast_category_browse(cfg, NULL);
|
||||
cxt;
|
||||
cxt = ast_category_browse(cfg, cxt)) {
|
||||
|
|
Loading…
Reference in New Issue