ami: Improve substring parsing for disabled events.

ASTERISK_29853 added the ability to selectively disable
AMI events on a global basis, but the logic for this uses
strstr which means that events with names which are the prefix
of another event, if disabled, could disable those events as
well.

Instead, we account for this possibility to prevent this
undesired behavior from occuring.

ASTERISK_29853

Change-Id: Icccd1872602889806740971e4adf932f92466959
This commit is contained in:
Naveen Albert
2022-02-24 16:55:23 +00:00
committed by Friendly Automation
parent b40c4d59b1
commit fbde0186c7

View File

@@ -7234,7 +7234,7 @@ int __ast_manager_event_multichan(int category, const char *event, int chancount
int res;
if (!ast_strlen_zero(manager_disabledevents)) {
if (strstr(manager_disabledevents, event)) {
if (ast_in_delimited_string(event, manager_disabledevents, ',')) {
ast_debug(3, "AMI Event '%s' is globally disabled, skipping\n", event);
/* Event is globally disabled */
ao2_cleanup(sessions);