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 bc51d4324a
commit 7901b9853e
13 changed files with 91 additions and 27 deletions

View File

@@ -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 */