summaryrefslogtreecommitdiff
path: root/main/features_config.c
diff options
context:
space:
mode:
authorJonathan Rose <jrose@digium.com>2013-08-30 18:04:41 +0000
committerJonathan Rose <jrose@digium.com>2013-08-30 18:04:41 +0000
commitdcaa0cf659550a1ef73216adb066fbd50b7295a7 (patch)
treee310f41f59e44b5095ed368bdab5f9d857aa5d2b /main/features_config.c
parentaf1747ee6c23359e9ac9b88d7821a1985899de60 (diff)
features_config: Don't require features.conf to be present for Asterisk to load
(closes issue ASTERISK-22426) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2806/ ........ Merged revisions 398020 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@398064 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/features_config.c')
-rw-r--r--main/features_config.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/main/features_config.c b/main/features_config.c
index ac4a1fec0..fee113862 100644
--- a/main/features_config.c
+++ b/main/features_config.c
@@ -1709,10 +1709,16 @@ static int load_config(void)
"", featuregroup_handler, 0);
if (aco_process_config(&cfg_info, 0) == ACO_PROCESS_ERROR) {
- ast_log(LOG_ERROR, "Failed to process features.conf configuration!\n");
- aco_info_destroy(&cfg_info);
- ao2_global_obj_release(globals);
- return -1;
+ RAII_VAR(struct features_config *, features_cfg, __features_config_alloc(0), ao2_cleanup);
+
+ if (aco_set_defaults(&global_option, "general", features_cfg->global) ||
+ aco_set_defaults(&featuremap_option, "featuremap", features_cfg->featuremap)) {
+ ast_log(LOG_ERROR, "Failed to load features.conf and failed to initialize defaults.\n");
+ return -1;
+ }
+
+ ast_log(LOG_NOTICE, "Could not load features config; using defaults\n");
+ ao2_global_obj_replace(globals, features_cfg);
}
return 0;