diff options
Diffstat (limited to 'res')
-rw-r--r-- | res/parking/parking_manager.c | 8 | ||||
-rw-r--r-- | res/res_corosync.c | 4 | ||||
-rw-r--r-- | res/res_stasis.c | 4 | ||||
-rw-r--r-- | res/res_stasis_snoop.c | 7 | ||||
-rw-r--r-- | res/res_stasis_test.c | 4 | ||||
-rw-r--r-- | res/res_stun_monitor.c | 7 |
6 files changed, 29 insertions, 5 deletions
diff --git a/res/parking/parking_manager.c b/res/parking/parking_manager.c index 20f8c4e1c..73b5ff495 100644 --- a/res/parking/parking_manager.c +++ b/res/parking/parking_manager.c @@ -579,6 +579,10 @@ void publish_parked_call_failure(struct ast_channel *parkee) RAII_VAR(struct ast_parked_call_payload *, payload, NULL, ao2_cleanup); RAII_VAR(struct stasis_message *, msg, NULL, ao2_cleanup); + if (!ast_parked_call_type()) { + return; + } + payload = parked_call_payload_from_failure(parkee); if (!payload) { return; @@ -597,6 +601,10 @@ void publish_parked_call(struct parked_user *pu, enum ast_parked_call_event_type RAII_VAR(struct ast_parked_call_payload *, payload, NULL, ao2_cleanup); RAII_VAR(struct stasis_message *, msg, NULL, ao2_cleanup); + if (!ast_parked_call_type()) { + return; + } + payload = parked_call_payload_from_parked_user(pu, event_type); if (!payload) { return; diff --git a/res/res_corosync.c b/res/res_corosync.c index 1df9ed841..58290c7cc 100644 --- a/res/res_corosync.c +++ b/res/res_corosync.c @@ -117,6 +117,10 @@ static void publish_corosync_ping_to_stasis(struct ast_event *event) ast_assert(ast_event_get_type(event) == AST_EVENT_PING); ast_assert(event != NULL); + if (!corosync_ping_message_type()) { + return; + } + payload = ao2_t_alloc(sizeof(*payload), corosync_ping_payload_dtor, "Create ping payload"); if (!payload) { return; diff --git a/res/res_stasis.c b/res/res_stasis.c index 7d5373153..7b5d16f1a 100644 --- a/res/res_stasis.c +++ b/res/res_stasis.c @@ -1357,6 +1357,10 @@ enum stasis_app_user_event_res stasis_app_user_event(const char *app_name, return STASIS_APP_USER_APP_NOT_FOUND; } + if (!ast_multi_user_event_type()) { + return res; + } + blob = json_variables; if (!blob) { blob = ast_json_pack("{}"); diff --git a/res/res_stasis_snoop.c b/res/res_stasis_snoop.c index af31046fc..72f851923 100644 --- a/res/res_stasis_snoop.c +++ b/res/res_stasis_snoop.c @@ -111,9 +111,10 @@ static void publish_chanspy_message(struct stasis_app_snoop *snoop, int start) RAII_VAR(struct stasis_message *, message, NULL, ao2_cleanup); RAII_VAR(struct ast_channel_snapshot *, snoop_snapshot, NULL, ao2_cleanup); RAII_VAR(struct ast_channel_snapshot *, spyee_snapshot, NULL, ao2_cleanup); + struct stasis_message_type *type = start ? ast_channel_chanspy_start_type(): ast_channel_chanspy_stop_type(); blob = ast_json_null(); - if (!blob) { + if (!blob || !type) { return; } @@ -133,9 +134,7 @@ static void publish_chanspy_message(struct stasis_app_snoop *snoop, int start) ast_multi_channel_blob_add_channel(payload, "spyee_channel", spyee_snapshot); } - message = stasis_message_create( - start ? ast_channel_chanspy_start_type(): ast_channel_chanspy_stop_type(), - payload); + message = stasis_message_create(type, payload); if (!message) { return; } diff --git a/res/res_stasis_test.c b/res/res_stasis_test.c index cec8e20c6..9860b0ebd 100644 --- a/res/res_stasis_test.c +++ b/res/res_stasis_test.c @@ -251,6 +251,10 @@ struct stasis_message *stasis_test_message_create(void) { RAII_VAR(void *, data, NULL, ao2_cleanup); + if (!stasis_test_message_type()) { + return NULL; + } + /* We just need the unique pointer; don't care what's in it */ data = ao2_alloc(1, NULL); if (!data) { diff --git a/res/res_stun_monitor.c b/res/res_stun_monitor.c index 1bda4b9ff..4cdc2fdca 100644 --- a/res/res_stun_monitor.c +++ b/res/res_stun_monitor.c @@ -157,10 +157,15 @@ static int stun_monitor_request(const void *blarg) if (args.external_addr_known) { RAII_VAR(struct stasis_message *, msg, NULL, ao2_cleanup); RAII_VAR(struct ast_json_payload *, json_payload, NULL, ao2_cleanup); - RAII_VAR(struct ast_json *, json_object, ast_json_object_create(), ast_json_unref); + RAII_VAR(struct ast_json *, json_object, NULL, ast_json_unref); + + if (!ast_network_change_type()) { + goto publish_failure; + } /* This json_object doesn't actually contain anything yet. We have to reference something * for stasis, and this is useful for if we want to ever add data for any reason. */ + json_object = ast_json_object_create(); if (!json_object) { goto publish_failure; } |