summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorGeorge Joseph <gjoseph@digium.com>2017-06-13 10:33:34 -0600
committerGeorge Joseph <gjoseph@digium.com>2017-06-15 18:31:53 -0600
commit7901b9853e8f60e1d2dce44ce81dec6f7f866ccc (patch)
treec24a7afd0e45a19cb11a6ab2556ef7ae7eeee3f6 /include
parentbc51d4324a69a0b8ee4a3be208b91bb2081124ff (diff)
res_ari: Add "module loaded" check to ari stubs
The recent change to make the use of LOAD_DECLINE more consistent caused res_ari to unload itself before declining if the ari.conf file wasn't found. The ari stubs though still tried to use the configuration resulting in segfaults. This patch creates a new CHECK_ARI_MODULE_LOADED macro which tests to see if res_ari is actually loaded and causes the stubs to also decline if it isn't. The macro was then added to the mustache template's "load_module" function. ASTERISK-27026 #close Reported-by: Ronald Raikes Change-Id: I263d56efa628ee3c411bdcd16d49af6260c6c91d
Diffstat (limited to 'include')
-rw-r--r--include/asterisk/ari.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/asterisk/ari.h b/include/asterisk/ari.h
index cad9b32c5..f83df0469 100644
--- a/include/asterisk/ari.h
+++ b/include/asterisk/ari.h
@@ -266,4 +266,14 @@ void ast_ari_response_created(struct ast_ari_response *response,
*/
void ast_ari_response_alloc_failed(struct ast_ari_response *response);
+/*! \brief Determines whether the res_ari module is loaded */
+#define CHECK_ARI_MODULE_LOADED() \
+ do { \
+ if (!ast_module_check("res_ari.so") \
+ || !ast_ari_oom_json()) { \
+ return AST_MODULE_LOAD_DECLINE; \
+ } \
+ } while(0)
+
+
#endif /* _ASTERISK_ARI_H */