--- /dev/null
+diff -dur zabbix-3.2.0.orig/src/zabbix_server/actions.c zabbix-3.2.0/src/zabbix_server/actions.c
+--- zabbix-3.2.0.orig/src/zabbix_server/actions.c 2016-09-13 14:20:55.000000000 +0200
++++ zabbix-3.2.0/src/zabbix_server/actions.c 2016-10-04 09:49:31.000000000 +0200
+@@ -40,9 +40,22 @@
+ ******************************************************************************/
+ static int check_condition_event_tag(const DB_EVENT *event, const DB_CONDITION *condition)
+ {
+- int i, ret = FAIL;
++ int i, ret, final;
+
+- for (i = 0; i < event->tags.values_num && SUCCEED != ret; i++)
++ switch (condition->operator)
++ {
++ case CONDITION_OPERATOR_NOT_EQUAL:
++ case CONDITION_OPERATOR_NOT_LIKE:
++ ret = SUCCEED;
++ final = FAIL;
++ break;
++ default:
++ ret = FAIL;
++ final = SUCCEED;
++ break;
++ }
++
++ for (i = 0; i < event->tags.values_num && final != ret; i++)
+ {
+ zbx_tag_t *tag = (zbx_tag_t *)event->tags.values[i];
+
+@@ -66,9 +79,22 @@
+ ******************************************************************************/
+ static int check_condition_event_tag_value(const DB_EVENT *event, DB_CONDITION *condition)
+ {
+- int i, ret = FAIL;
++ int i, ret, final;
+
+- for (i = 0; i < event->tags.values_num && SUCCEED != ret; i++)
++ switch (condition->operator)
++ {
++ case CONDITION_OPERATOR_NOT_EQUAL:
++ case CONDITION_OPERATOR_NOT_LIKE:
++ ret = SUCCEED;
++ final = FAIL;
++ break;
++ default:
++ ret = FAIL;
++ final = SUCCEED;
++ break;
++ }
++
++ for (i = 0; i < event->tags.values_num && final != ret; i++)
+ {
+ zbx_tag_t *tag = (zbx_tag_t *)event->tags.values[i];
+
Source6: %{name}.tmpfiles
Patch0: config.patch
Patch1: sqlite3_dbname.patch
+Patch2: tag_conditions.patch
URL: http://zabbix.sourceforge.net/
BuildRequires: OpenIPMI-devel
BuildRequires: curl-devel
%patch0 -p1
%patch1 -p1
+%patch2 -p1
%build