Index: main/manager.c =================================================================== --- main/manager.c (revision 25) +++ main/manager.c (working copy) @@ -4067,8 +4067,8 @@ const char *eventdata = arg; int *result = data; - if (regexec(regex_filter, eventdata, 0, NULL, 0)) { - *result = 1; + if (!regexec(regex_filter, eventdata, 0, NULL, 0)) { + *result = 0; return (CMP_MATCH | CMP_STOP); } @@ -4087,7 +4087,8 @@ ao2_t_callback_data(s->session->whitefilters, OBJ_NODATA, whitefilter_cmp_fn, eventdata, &result, "find filter in session filter container"); } else if (!ao2_container_count(s->session->whitefilters) && ao2_container_count(s->session->blackfilters)) { /* black filters only: implied white all filter processed first, then black filters */ - ao2_t_callback_data(s->session->blackfilters, OBJ_NODATA, blackfilter_cmp_fn, eventdata, &result, "find filter in session filter container"); + result = 1; + ao2_t_callback_data(s->session->blackfilters, OBJ_NODATA, blackfilter_cmp_fn, eventdata, &result, "find filter in session filter container"); } else { /* white and black filters: implied black all filter processed first, then white filters, and lastly black filters */ ao2_t_callback_data(s->session->whitefilters, OBJ_NODATA, whitefilter_cmp_fn, eventdata, &result, "find filter in session filter container");