From: Jonathan Rose Date: Wed, 21 Aug 2013 23:02:35 +0000 (+0000) Subject: UDPTL: Fix a regression where UDPTL won't load default settings X-Git-Tag: 11.6.0-rc1~3^2~47 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=81ddc42fd367d6de3530f3739e798475bd0446b5;p=thirdparty%2Fasterisk.git UDPTL: Fix a regression where UDPTL won't load default settings If the file udptl.conf is unavailable at startup, UDPTL will fail to initialize and while it makes some noise, it isn't immediately obvious why consumers start to fail when using it. This patch makes UDPTL load as though an empty config was provided when udptl is unavailable at startup. (closes issue ASTERISK-22349) Reported by: Jonathan Rose Review: https://reviewboard.asterisk.org/r/2773/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@397365 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/main/udptl.c b/main/udptl.c index 52ddb92118..7f4936de6a 100644 --- a/main/udptl.c +++ b/main/udptl.c @@ -1419,8 +1419,15 @@ static int removed_options_handler(const struct aco_option *opt, struct ast_vari static void __ast_udptl_reload(int reload) { + RAII_VAR(struct udptl_config *, udptl_cfg, udptl_snapshot_alloc(), ao2_cleanup); + if (aco_process_config(&cfg_info, reload) == ACO_PROCESS_ERROR) { - ast_log(LOG_WARNING, "Could not reload udptl config\n"); + if (!reload) { + if (!aco_set_defaults(&general_option, "general", udptl_cfg->general)) { + ast_log(LOG_WARNING, "Could not load udptl config; using defaults\n"); + ao2_global_obj_replace(globals, udptl_cfg); + } + } } }