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
This commit is contained in:
George Joseph
2017-06-13 10:33:34 -06:00
parent 41bd01c861
commit 1ac0096512
13 changed files with 102 additions and 38 deletions

View File

@@ -268,4 +268,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 */