[packages/zabbix] attempt to fix tag conditions for actions

jajcus jajcus at pld-linux.org
Tue Oct 4 10:01:02 CEST 2016


commit f339e071b0400d8932a79207bed73b83cad6a343
Author: Jacek Konieczny <j.konieczny at eggsoft.pl>
Date:   Tue Oct 4 10:00:43 2016 +0200

    attempt to fix tag conditions for actions

 tag_conditions.patch | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 zabbix.spec          |  2 ++
 2 files changed, 55 insertions(+)
---
diff --git a/zabbix.spec b/zabbix.spec
index e51d713..840debc 100644
--- a/zabbix.spec
+++ b/zabbix.spec
@@ -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
 
diff --git a/tag_conditions.patch b/tag_conditions.patch
new file mode 100644
index 0000000..6032ec9
--- /dev/null
+++ b/tag_conditions.patch
@@ -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];
+ 
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/zabbix.git/commitdiff/f339e071b0400d8932a79207bed73b83cad6a343



More information about the pld-cvs-commit mailing list