]> git.pld-linux.org Git - packages/zabbix.git/commitdiff
attempt to fix tag conditions for actions
authorJacek Konieczny <j.konieczny@eggsoft.pl>
Tue, 4 Oct 2016 08:00:43 +0000 (10:00 +0200)
committerJacek Konieczny <j.konieczny@eggsoft.pl>
Tue, 4 Oct 2016 08:00:43 +0000 (10:00 +0200)
tag_conditions.patch [new file with mode: 0644]
zabbix.spec

diff --git a/tag_conditions.patch b/tag_conditions.patch
new file mode 100644 (file)
index 0000000..6032ec9
--- /dev/null
@@ -0,0 +1,53 @@
+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];
index e51d71309c3e61829a8ebb60b9f945fe641f0980..840debc473133d0f75ff2c472575ec8679eed50f 100644 (file)
@@ -28,6 +28,7 @@ Source5:      %{name}_java.service
 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
@@ -290,6 +291,7 @@ This package provides the Zabbix Java Gateway.
 
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 %build
 
This page took 0.192873 seconds and 4 git commands to generate.