diff --git a/configs/manager.conf.sample b/configs/manager.conf.sample index 13076ce8d58ffe78479349b60020d4c2c256629e..fd54b81b93ecff129915e27ad3e3f72af9b30723 100644 --- a/configs/manager.conf.sample +++ b/configs/manager.conf.sample @@ -94,12 +94,13 @@ bindaddr = 0.0.0.0 ; user. ; ;eventfilter=Event: Newchannel -;eventfilter=!Channel: DAHDI* -; The eventfilter option is used to whitelist or blacklist events per user to be -; reported with regular expressions and are allowed if both the regex matches -; and the user has read access set below. Filters are assumed to be for whitelisting -; unless preceeded by an exclamation point, which marks it as being black. -; Evaluation of the filters is as follows: +;eventfilter=!Channel: DAHDI.* +; The eventfilter option is used to whitelist or blacklist events per user. +; A filter consists of a (basic/old-style and unanchored) regular expression +; that is run on the entire event data. If the first character of the filter +; is an exclamation mark (!), the filter is appended to the blacklist instead +; of the whitelist. After first checking the read access below, the regular +; expression filters are processed as follows: ; - If no filters are configured all events are reported as normal. ; - If there are white filters only: implied black all filter processed first, ; then white filters. diff --git a/main/manager.c b/main/manager.c index ee75967cb0cccb180f6fa5dbd69ff9bd79cc37f7..81bf1bb67aeb0d9e3dba88ce02d8d89c87c880cc 100644 --- a/main/manager.c +++ b/main/manager.c @@ -5095,8 +5095,8 @@ static enum add_filter_result manager_add_filter(const char *filter_pattern, str is_blackfilter = 0; } - if (regcomp(new_filter, filter_pattern, 0)) { - ao2_t_ref(new_filter, -1, "failed to make regx"); + if (regcomp(new_filter, filter_pattern, 0)) { /* XXX: the only place we use non-REG_EXTENDED */ + ao2_t_ref(new_filter, -1, "failed to make regex"); return FILTER_COMPILE_FAIL; }