[packages/zabbix] Version: 3.2.3
jajcus
jajcus at pld-linux.org
Mon Jan 2 14:29:45 CET 2017
commit 82ec0eb44a4c2107bf46ce56928d0a3f26ebdbca
Author: Jacek Konieczny <j.konieczny at eggsoft.pl>
Date: Mon Jan 2 14:29:11 2017 +0100
Version: 3.2.3
ZBX-11213.patch and tag_conditions.patch – fixed upstream
ZBX-11213.patch | 176 ---------------------------------------------------
tag_conditions.patch | 53 ----------------
zabbix.spec | 8 +--
3 files changed, 2 insertions(+), 235 deletions(-)
---
diff --git a/zabbix.spec b/zabbix.spec
index 650161b..a45cd2b 100644
--- a/zabbix.spec
+++ b/zabbix.spec
@@ -14,12 +14,12 @@
Summary: Zabbix - network monitoring software
Summary(pl.UTF-8): Zabbix - oprogramowanie do monitorowania sieci
Name: zabbix
-Version: 3.2.1
+Version: 3.2.3
Release: 1
License: GPL v2+
Group: Networking/Utilities
Source0: http://downloads.sourceforge.net/zabbix/%{name}-%{version}.tar.gz
-# Source0-md5: 4f363b923ef2b5eefddee8dfc5f51e2b
+# Source0-md5: b058115f9218b085310cd07bbbeb9cd0
Source1: %{name}-apache.conf
Source2: %{name}_server.service
Source3: %{name}_agentd.service
@@ -28,8 +28,6 @@ Source5: %{name}_java.service
Source6: %{name}.tmpfiles
Patch0: config.patch
Patch1: sqlite3_dbname.patch
-Patch2: tag_conditions.patch
-Patch3: ZBX-11213.patch
URL: http://zabbix.sourceforge.net/
BuildRequires: OpenIPMI-devel
BuildRequires: curl-devel
@@ -300,8 +298,6 @@ This package provides the Zabbix Java Gateway.
%patch0 -p1
%patch1 -p1
-%patch2 -p1
-%patch3 -p1
%build
diff --git a/ZBX-11213.patch b/ZBX-11213.patch
deleted file mode 100644
index d15a8ff..0000000
--- a/ZBX-11213.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-From 7dfb6b86fc9dff7b084ad8ab73e37b982a8f2270 Mon Sep 17 00:00:00 2001
-From: wiper <wiper at f4e7fd02-d210-4e34-a1e0-d4093fb66cc2>
-Date: Fri, 30 Sep 2016 11:29:01 +0000
-Subject: [PATCH] .......PS. [ZBX-11213] fixed database monitoring keys
- [merge ^/branches/3.0 -c r62901]
-
-git-svn-id: svn://svn.zabbix.com/branches/3.2@62902 f4e7fd02-d210-4e34-a1e0-d4093fb66cc2
----
- ChangeLog | 3 ++
- include/zbxodbc.h | 1 -
- src/libs/zbxdbhigh/odbc.c | 109 ++++++++++++++++++++++++++++++++--------------
- 3 files changed, 80 insertions(+), 33 deletions(-)
-
-diff --git a/include/zbxodbc.h b/include/zbxodbc.h
-index e1c9a1f..3a7e825 100644
---- a/include/zbxodbc.h
-+++ b/include/zbxodbc.h
-@@ -35,7 +35,6 @@ typedef struct
- SQLHSTMT hstmt;
- SQLSMALLINT col_num;
- ZBX_ODBC_ROW row_data;
-- SQLLEN *data_len;
- }
- ZBX_ODBC_DBH;
-
-diff --git a/src/libs/zbxdbhigh/odbc.c b/src/libs/zbxdbhigh/odbc.c
-index 9678bb9..6470d89 100644
---- a/src/libs/zbxdbhigh/odbc.c
-+++ b/src/libs/zbxdbhigh/odbc.c
-@@ -65,8 +65,6 @@ static void odbc_free_row_data(ZBX_ODBC_DBH *pdbh)
- zbx_free(pdbh->row_data);
- }
-
-- zbx_free(pdbh->data_len);
--
- pdbh->col_num = 0;
- }
-
-@@ -217,6 +215,39 @@ int odbc_DBconnect(ZBX_ODBC_DBH *pdbh, char *db_dsn, char *user, char *pass, int
- goto end;
- }
-
-+ if (SUCCEED == zabbix_check_log_level(LOG_LEVEL_DEBUG))
-+ {
-+ char driver_name[MAX_STRING_LEN + 1], driver_ver[MAX_STRING_LEN + 1], db_name[MAX_STRING_LEN + 1],
-+ db_ver[MAX_STRING_LEN + 1];
-+
-+ if (0 != CALLODBC(SQLGetInfo(pdbh->hdbc, SQL_DRIVER_NAME, driver_name, MAX_STRING_LEN, NULL),
-+ rc, SQL_HANDLE_DBC, pdbh->hdbc, "Cannot obtain driver name"))
-+ {
-+ zbx_strlcpy(driver_name, "unknown", sizeof(driver_name));
-+ }
-+
-+ if (0 != CALLODBC(SQLGetInfo(pdbh->hdbc, SQL_DRIVER_VER, driver_ver, MAX_STRING_LEN, NULL),
-+ rc, SQL_HANDLE_DBC, pdbh->hdbc, "Cannot obtain driver version"))
-+ {
-+ zbx_strlcpy(driver_ver, "unknown", sizeof(driver_ver));
-+ }
-+
-+ if (0 != CALLODBC(SQLGetInfo(pdbh->hdbc, SQL_DBMS_NAME, db_name, MAX_STRING_LEN, NULL),
-+ rc, SQL_HANDLE_DBC, pdbh->hdbc, "Cannot obtain database name"))
-+ {
-+ zbx_strlcpy(db_name, "unknown", sizeof(db_name));
-+ }
-+
-+ if (0 != CALLODBC(SQLGetInfo(pdbh->hdbc, SQL_DBMS_VER, db_ver, MAX_STRING_LEN, NULL),
-+ rc, SQL_HANDLE_DBC, pdbh->hdbc, "Cannot obtain database version"))
-+ {
-+ zbx_strlcpy(db_ver, "unknown", sizeof(db_ver));
-+ }
-+
-+ zabbix_log(LOG_LEVEL_DEBUG, "%s() connected to %s(%s) using %s(%s)", __function_name,
-+ db_name, db_ver, driver_name, driver_ver);
-+ }
-+
- pdbh->connected = 1;
-
- ret = SUCCEED;
-@@ -257,14 +288,51 @@ ZBX_ODBC_ROW odbc_DBfetch(ZBX_ODBC_RESULT pdbh)
-
- for (i = 0; i < pdbh->col_num; i++)
- {
-- /* set NULL column value where appropriate */
-- if (SQL_NULL_DATA == pdbh->data_len[i])
-- zbx_free(pdbh->row_data[i]);
-- else
-+ size_t alloc = 0, offset = 0;
-+ char buffer[MAX_STRING_LEN + 1];
-+ SQLLEN len, col_type;
-+ SQLSMALLINT c_type;
-+
-+ zbx_free(pdbh->row_data[i]);
-+
-+ if (0 != CALLODBC(SQLColAttribute(pdbh->hstmt, i + 1, SQL_DESC_TYPE, NULL, 0, NULL, &col_type),
-+ retcode, SQL_HANDLE_STMT, pdbh->hstmt, "Cannot get column type"))
-+ {
-+ goto end;
-+ }
-+
-+ /* force col_type to integer value for DB2 compatibility */
-+ switch ((int)col_type)
-+ {
-+ case SQL_WLONGVARCHAR:
-+ c_type = SQL_C_BINARY;
-+ break;
-+ default:
-+ c_type = SQL_C_CHAR;
-+ }
-+
-+ /* force len to integer value for DB2 compatibility */
-+ while (SQL_NO_DATA != (retcode = SQLGetData(pdbh->hstmt, i + 1, c_type, buffer, MAX_STRING_LEN, &len)))
-+ {
-+ if (0 == SQL_SUCCEEDED(retcode))
-+ {
-+ odbc_Diag(SQL_HANDLE_STMT, pdbh->hstmt, retcode, "Cannot get column data");
-+ goto end;
-+ }
-+
-+ if (SQL_NULL_DATA == (int)len)
-+ break;
-+
-+ buffer[(int)len] = '\0';
-+
-+ zbx_strcpy_alloc(&pdbh->row_data[i], &alloc, &offset, buffer);
-+ }
-+
-+ if (NULL != pdbh->row_data[i])
- zbx_rtrim(pdbh->row_data[i], " ");
-
-- zabbix_log(LOG_LEVEL_DEBUG, "%s() fetched [%i col]: '%s'", __function_name, i,
-- NULL == pdbh->row_data[i] ? "NULL" : pdbh->row_data[i]);
-+ zabbix_log(LOG_LEVEL_DEBUG, "%s() fetched [%i col (%d)]: '%s'", __function_name, i, (int)col_type,
-+ NULL == pdbh->row_data[i] ? "NULL" : pdbh->row_data[i]);
- }
-
- result_row = pdbh->row_data;
-@@ -277,7 +345,6 @@ ZBX_ODBC_ROW odbc_DBfetch(ZBX_ODBC_RESULT pdbh)
- ZBX_ODBC_RESULT odbc_DBselect(ZBX_ODBC_DBH *pdbh, char *query)
- {
- const char *__function_name = "odbc_DBselect";
-- int i = 0;
- ZBX_ODBC_RESULT result = NULL;
- SQLRETURN rc;
-
-@@ -299,30 +366,8 @@ ZBX_ODBC_RESULT odbc_DBselect(ZBX_ODBC_DBH *pdbh, char *query)
- goto end;
- }
-
-- pdbh->data_len = (SQLLEN *)zbx_malloc(pdbh->data_len, sizeof(SQLLEN) * pdbh->col_num);
--
-- for (i = 0; i < pdbh->col_num; i++)
-- {
-- if (0 != CALLODBC(SQLColAttribute(pdbh->hstmt, (SQLUSMALLINT)(i + 1), SQL_DESC_OCTET_LENGTH, NULL, 0,
-- NULL, &pdbh->data_len[i]), rc, SQL_HANDLE_STMT, pdbh->hstmt,
-- "Cannot execute ODBC query"))
-- {
-- goto end;
-- }
-- }
--
- pdbh->row_data = zbx_malloc(pdbh->row_data, sizeof(char *) * (size_t)pdbh->col_num);
--
-- for (i = 0; i < pdbh->col_num; i++)
-- {
-- pdbh->row_data[i] = zbx_malloc(NULL, pdbh->data_len[i]);
-- if (0 != CALLODBC(SQLBindCol(pdbh->hstmt, (SQLUSMALLINT)(i + 1), SQL_C_CHAR, pdbh->row_data[i],
-- pdbh->data_len[i], &pdbh->data_len[i]), rc, SQL_HANDLE_STMT, pdbh->hstmt,
-- "Cannot bind column in ODBC result"))
-- {
-- goto end;
-- }
-- }
-+ memset(pdbh->row_data, 0, sizeof(char *) * (size_t)pdbh->col_num);
-
- zabbix_log(LOG_LEVEL_DEBUG, "%s() selected %i columns", __function_name, pdbh->col_num);
-
diff --git a/tag_conditions.patch b/tag_conditions.patch
deleted file mode 100644
index 6032ec9..0000000
--- a/tag_conditions.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-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/82ec0eb44a4c2107bf46ce56928d0a3f26ebdbca
More information about the pld-cvs-commit
mailing list