From 8d4af5be58100281ef333c87ed90f74b36eb2d0022d21adf4c9349b6e959e205 Mon Sep 17 00:00:00 2001 From: Boris Manojlovic Date: Tue, 17 Sep 2019 12:04:58 +0000 Subject: [PATCH] osc copypac from project:server:monitoring:zabbix package:zabbix40 revision:14 OBS-URL: https://build.opensuse.org/package/show/server:monitoring:zabbix/zabbix?expand=0&rev=1 --- .gitattributes | 23 + .gitignore | 1 + README-SSL.SUSE | 3 + README.SUSE | 13 + apache2-zabbix.conf | 19 + rn4.0.0.html | 4237 +++++++++++++++++++++++++ zabbix-3.0.25-new-m4-pgsql.patch | 614 ++++ zabbix-4.0.12.tar.gz | 3 + zabbix-agentd.firewall | 17 + zabbix-agentd.service | 13 + zabbix-bash-completion-3.0-1.0.tar.gz | 3 + zabbix-java-gateway.firewall | 17 + zabbix-java-gateway.service | 12 + zabbix-java-gateway.sh | 121 + zabbix-logrotate.in | 8 + zabbix-proxy.firewall | 17 + zabbix-proxy.service | 12 + zabbix-server.firewall | 17 + zabbix-server.service | 13 + zabbix-tmpfiles.conf | 1 + zabbix40.changes | 720 +++++ zabbix40.spec | 644 ++++ 22 files changed, 6528 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 README-SSL.SUSE create mode 100644 README.SUSE create mode 100644 apache2-zabbix.conf create mode 100644 rn4.0.0.html create mode 100644 zabbix-3.0.25-new-m4-pgsql.patch create mode 100644 zabbix-4.0.12.tar.gz create mode 100644 zabbix-agentd.firewall create mode 100644 zabbix-agentd.service create mode 100644 zabbix-bash-completion-3.0-1.0.tar.gz create mode 100644 zabbix-java-gateway.firewall create mode 100644 zabbix-java-gateway.service create mode 100644 zabbix-java-gateway.sh create mode 100644 zabbix-logrotate.in create mode 100644 zabbix-proxy.firewall create mode 100644 zabbix-proxy.service create mode 100644 zabbix-server.firewall create mode 100644 zabbix-server.service create mode 100644 zabbix-tmpfiles.conf create mode 100644 zabbix40.changes create mode 100644 zabbix40.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/README-SSL.SUSE b/README-SSL.SUSE new file mode 100644 index 0000000..48e4ca6 --- /dev/null +++ b/README-SSL.SUSE @@ -0,0 +1,3 @@ +It is recommended to use SSL in the communication between agents and server, but it is not enabled by default. +To configure it, please follow https://www.zabbix.com/documentation/4.0/manual/encryption/using_certificates. +In other case you are putting yourself into huge risk of leaking sensitive data. diff --git a/README.SUSE b/README.SUSE new file mode 100644 index 0000000..f48d114 --- /dev/null +++ b/README.SUSE @@ -0,0 +1,13 @@ +zabbix-phpfrontend: + To enable zabbix frontend in apache + type in console: + # a2enflag ZABBIX + or if you want to remove it from apache configuration + type in console: + # a2enflag -d ZABBIX + # service apache2 restart + or reload if apache restart is too disrupting + + Please, make sure SSL is enabled and up in Apache2 config. + You can get inspired by https://www.zabbix.com/documentation/4.0/manual/installation/requirements/best_practices. + If you have Apache 2.4.30 or newer, it is even more simple: https://httpd.apache.org/docs/trunk/mod/mod_md.html. diff --git a/apache2-zabbix.conf b/apache2-zabbix.conf new file mode 100644 index 0000000..0820185 --- /dev/null +++ b/apache2-zabbix.conf @@ -0,0 +1,19 @@ +# please read how to enable zabbix frontend and SSL encryption in +# /usr/share/doc/packages/zabbix-phpfrontend/README.SUSE + + Alias /zabbix "/usr/share/zabbix/" + + + # Apache 2.4 + Require all denied + + + + Order deny,allow + Deny from all + + + + + Redirect 403 /zabbix + diff --git a/rn4.0.0.html b/rn4.0.0.html new file mode 100644 index 0000000..4912e32 --- /dev/null +++ b/rn4.0.0.html @@ -0,0 +1,4237 @@ + + + + +Release Notes for Zabbix 4.0.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Release Notes for Zabbix 4.0.0

+
+
+ +

Zabbix Team is pleased to announce the availability of Zabbix 4.0.0.

+ +

Zabbix is an enterprise-class open source distributed monitoring solution. Zabbix is released under the GPL, thus it is free of charge for both commercial and non-commercial use. A complete text of the license is available at http://www.gnu.org/copyleft/gpl.txt.

+ +

This document contains the release notes for Zabbix 4.0.0. Download it from downloads.

+

The following sections describe the release in details and provide late-breaking or other information that supplements its main documentation.

+
+ + +

New Features and Improvements

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ZBXNEXT-4757
added new dashboard to "Zabbix server health"
ZBXNEXT-4757
renamed default dashboard to "Global view" and improved widget layout
ZBXNEXT-4757
added support of "pused" mode for cache-related internal items
ZBXNEXT-4757
added new and renamed existing items in "Template App Zabbix Server" and "Template App Zabbix Proxy" templates
ZBXNEXT-4721
removed footer from dashboard widgets
ZBXNEXT-4588
improved performance of problems selection in graph widget; renamed 'Classic graph' to 'Graph (classic)'; fixed several bugs in graph widget
ZBXNEXT-4722
made operator names consistent in all interface
ZBXNEXT-4739
removed deprecated macros $1-$9 from item names in templates
ZBXNEXT-4736
added index by nextcheck to escalations table
ZBXNEXT-4672
added option to show suppressed problems for data overview page and widget
ZBXNEXT-3860
added ability to filter triggers by tags
ZBXNEXT-4606
implemented kiosk mode for all pages
ZBXNEXT-4696
improved history syncer performance by moving trigger locking outside history cache lock
ZBXNEXT-3848
added validation of update interval, custom interval, history storage period and trend storage period in low-level discovery
ZBXNEXT-4224
implemented templates for server hardware: IBM,HP,Dell,Supermicro
ZBXNEXT-4588
Implemented SVG graph generation
ZBXNEXT-4588
Implemented SVG graph widget with multiple new widget fields; Renamed existing graph widget to 'Classic graph'; Implemented vertical accordion; Added new UI controls for range control and overrides selection
ZBXNEXT-4588
Added option to store long widget field strings as array of short strings; Created class to resize the height of textarea field automatically
ZBXNEXT-4588
Improved API validation; Extended time units functionality to allow negative values
ZBXNEXT-4573
added support of HTTP authentication as optional authentication mechanism
ZBXNEXT-413
added maintenance tag filters to support suppression of individual problems based on their tags
ZBXNEXT-4609
added options Tag display priority and Tag display names in Problems
ZBXNEXT-4656
added strict validation of hostprototype.create() and hostprototype.update() methods; added audit logging for these methods
ZBXNEXT-4455
added screen reader to the dashboard and widgets
ZBXNEXT-4627,ZBXNEXT-4656
added support of macro functions to LLD macros
ZBXNEXT-4049
added option to hide timeline in Problems widget
ZBXNEXT-4611
changed default method for http agent items from "post" to "get"
ZBXNEXT-4587
added new column 'Value' and filter in Triggers list
ZBXNEXT-4626
improved widget configuration constructor to create custom view for each widget
ZBXNEXT-4597
implemented single textbox date fields in maintenances, services, top 100 triggers and availability reports pages
ZBXNEXT-4558
added support for monitoring the string values of custom JMX MBeans
ZBX-14586
added more informative error message for InstanceNotFoundException error
ZBXNEXT-4454
added screen reader attributes for common elements
ZBXNEXT-4200
added ability to create LLD item prototype of type "dependent" with a master item not only item prototype
ZBXNEXT-1701
added support of regular expressions and global regular expressions to "logsource()" trigger function
ZBXNEXT-4586
added support of macros {ITEM.VALUE} and {ITEM.LASTVALUE} to trigger URL
ZBXNEXT-4049
added checkbox to hide timeline when problems sort by time
ZBX-1357
added and enabled Norwegian translation to be displayed by default
ZBXNEXT-4367
added screen reader features for multiselect
ZBXNEXT-4530
implemented changeable session cookie name
ZBXNEXT-4446
added ability to change severity of previously generated problems
ZBXNEXT-4044
changed default values of 'Display OK triggers for' and 'On status change triggers blink for'
ZBXNEXT-4361
implemented new time range selector for graphs
ZBXNEXT-4577
improved performance of Zabbix server by replacing semaphores to pthread mutexes and read-write locks
ZBXNEXT-4312
reworked date picker; implemented keyboard interaction
ZBXNEXT-2365
added additional auto-registration operations and re-running of auto-registration actions if host metadata is modified
ZBXNEXT-4569
added support of MySQL 8.0
ZBXNEXT-4565
removed old upgrade DB patches
ZBXNEXT-4320
added ability to store history data in date based indices of elasticsearch
ZBXNEXT-4526
increased tags column size in Compact view mode
ZBXNEXT-4528
added link to Zabbix official support page
ZBXNEXT-4520
added values to boolean mapping: "ok, master" as 1 and "err, slave" as 0
ZBXNEXT-4185
added support of multiple items in "Plain text" widget
ZBXNEXT-4163
added support LLD, User macros and User macros with context from LLD macro in Items preprocessing
ZBXNEXT-4415
added new mode "Compact view" to the Problems page with ability to toggle highlighting whole row; added option to toggle timeline
ZBXNEXT-2788
added support for "NOT" keyword in custom expression fields
ZBXNEXT-4516
renamed dashboard widget and screen element "System status" to "Problems by severity"
ZBXNEXT-4516
renamed dashboard widget and screen element "Host status" to "Problem hosts"
ZBXNEXT-4516
renamed dashboard widget, screen element and report "Status of Zabbix" to "System information"
ZBX-13376
moved functionality to enable JMX interface in Java gateway to settings.sh and ensured setting TCP timeout
ZBXNEXT-4458
improved logging of Java gateway, added username/password validation for JMX items
ZBXNEXT-4411
added compression of server-proxy data exchange
ZBXNEXT-4488
added ability to push data via trapper to HTTP agent item type
ZBXNEXT-4358
added HTTP agent item type for data gathering via HTTP
ZBXNEXT-4413
dropped Monitoring->Triggers view
ZBXNEXT-4413
added the trigger context menu option to view or edit the trigger description
ZBXNEXT-4413
added displaying of the trigger dependencies in Monitoring->Problems view
ZBXNEXT-4151
added aria roles to provide easier access by keyboard navigation
ZBX-3783
added strict validation for apiinfo.version(), action.delete(), correlation.delete() and drule.delete() methods
ZBX-3783
prohibited deleting discovery rules which are used in actions
ZBX-3783
added audit for action.delete() and correlation.delete() methods
ZBXNEXT-4143
implemented submenu autofocus on top-level menu click
ZBXNEXT-4414
added support for configurable number of displayed tags
ZBXNEXT-4313
implemented keyboard interaction in context menus
ZBXNEXT-4426
added option to execute cached passive checks at the current time
ZBXNEXT-4417
added real time export of events, history and trends in newline delimited JSON format
ZBXNEXT-4374
implemented the widget configuration fields clearing when changing the type
ZBXNEXT-4119
implemented tag based permissions
ZBXNEXT-4045
implemented maximum size for graphs in widgets
ZBXNEXT-4340
added kiosk mode for dashboard
ZBXNEXT-4150
implemented access to interactive elements using keyboard
ZBXNEXT-4149
implemented keybord interaction in overlay popups
ZBXNEXT-4357
added support of "selectTriggerDiscovery" option in trigger.get method
ZBXNEXT-4152
replaced double box select fields with multiselect fields and added filtering by proxy and server only in host list
ZBXNEXT-4273
added default event status colors in themes with option to customize them
ZBXNEXT-4216
added 'copytruncate' log file rotation support for logrt[], logrt.count[]
ZBXNEXT-4144
added asterisk mark and aria-label property to all forms required fields
ZBXNEXT-768
added item unit blacklisting with character "!" in order to disable metric prefixes
ZBXNEXT-4295
added selection of the create images tickbox by default on "Maps import" page
ZBXNEXT-1456
added filter by item discovery status for item configuration view; thanks to Volker Fröhlich for the original patch
ZBXNEXT-3991
added additional params to net.if.* key output for linux base agent
ZBXNEXT-3480
added support of inventory macros in event tags
ZBXNEXT-4175
implemented ability to send email to several email addresses specified as user media
ZBXNEXT-4139
added high contrast light and high contrast dark themes
ZBXNEXT-4247
removed deprecated API methods: user.updareProfile, user.addMedia, user.updateMedia, user.deleteMedia, usergroup.massAdd, usergroup.massUpdate and usermedia.get
ZBXNEXT-970
added more detailed error information to notification message when DB is unavailable
ZBXNEXT-4137
removed green background from cells
ZBXNEXT-4157
added map status summary to be readable by screen reader software
ZBXNEXT-4127
implemented popup displaying in overlay dialogues
ZBXNEXT-1520
increased the maximum Hosts/DNS name character length from 63 to 255
ZBXNEXT-4108
implemented search of problems by trigger name
ZBXNEXT-4143
implemented keybord interaction in top navigation
ZBXNEXT-1567
added item "vfs.dir.count" for counting directory entries
ZBXNEXT-4135
added tooltips for vertical labels
ZBXNEXT-4146
added icons for error and success messages
ZBXNEXT-4156
added option to view graphs items data and multiple items graph data as table
ZBXNEXT-4160
reworked monitoring Discovery screen to show hint info right in the table cell
ZBXNEXT-761
added rules to make dbschema.c, schema.sql and data.sql from schema.tmpl, data.tmpl and templates.tmpl if there is a need to
ZBXNEXT-4186
added ability to adjust colors for new graph items in graph creation form according selected theme
ZBXNEXT-4145
fixed appearance of host column based on number of hosts specified in filter
ZBXNEXT-4118
implemented advanced options for tag-based search of problems
ZBXNEXT-4134
added 'lang' attribute to page body
ZBXNEXT-4181
fixed Zabbix server to accept active Zabbix proxy requests only from allowed address if specified
ZBXNEXT-4181
fixed passive Zabbix proxy to accept Zabbix server requests only from allowed address
ZBX-10576
restructured unixODBC related code, moved it to a dedicated directory
ZBX-3783
added strict validation for proxy.delete() method; proxy cannot be deleted when used in actions
ZBX-11909
replaced company.com with example.com in data.sql
+
+ +

Bug Fixes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ZBX-14853
fixed error of vmware items caused by misconfigured vmware maxQueryMetrics parameter
ZBXNEXT-4588
fixed multiple minor issues in SVG graph widget; fixed dashboard widget height calculation
ZBX-14891
fixed undefined index "show_timeline" in screens
ZBX-14874
fixed SQL errors being generated in database log files
ZBX-14783
fixed align of the left column in several widgets and reports
ZBX-13377
fixed naming of groups and applications
ZBX-14335
fixed bug in proxy makefile
ZBX-14850
reverted ZBXNEXT-3848 fix because of broken update interval validation during low-level discovery
ZBX-14830
fixed possible deadlock when history syncer was trying to update escalations with recovery event id
ZBX-13377
fixed naming issue for "Server Hardware" host group
ZBXNEXT-4573
fixed HTTP authentication page issues, HTTP case sensitive option and moved HTTP authentication from API to HTTP form page
ZBX-14721
improved escalator performance by replacing previously unused index
ZBX-14720
improved history syncer performance during problem recovery by adding index on escalations table and avoiding full table scan
ZBX-14821
fixed full sync when only timer triggers are being processed, added trigger statistics to history syncer title
ZBXNEXT-4588
Fixed changelog adding more detailed description of features added in 4.0.0beta1; Fixed Data set widget field to be compatible with PHP versions affecting PHP bug #42355
ZBX-14797
fixed calendar initialization in graph configuration form
ZBX-14812
fixed hexadecimal to decimal preprocessing step to allow pairs of hexadecimal digits separated by space or new line
ZBX-14496
fixed unauthorized request error when sorting list after enabling/disabling elements
ZBX-14808
fixed SQL error in user permission check when processing actions for internal item events
ZBX-14614
fixed server template linking with triggers having no dependencies
ZBXNEXT-4597
fixed date selection fields in maintenance and services: fixed accepted date format, fixed validation and added placeholdrs
ZBX-6565,ZBX-13645,ZBX-14559
fixed agent on AIX 6.1 TL0, 7.1 TL0: system.stat[memory,avm], compilation, crash on net.dns[] items
ZBX-12217
removed links to templates with no permissions for templated discovery rules and item prototypes
ZBX-13015
fixed X axis labels with DST transition in the displayed period
ZBX-14777
increased severity of housekeeper logs in the case of invalid history/trends intervals
ZBX-14778
fixed housekeeper attempting to remove history of discovery rules/prototypes
ZBX-14771
fixed memory leak in poller if scheduling interval is invalid
ZBX-14462
improved time selection when opening calendar with missing time
ZBX-14775
fixed configuration of the maximum available count of aggregated metrics in a single request to vmware vCenter
ZBX-14637
fixed unreadable text on the problems widgets in dark theme
ZBX-14676
fixed displaying links containing UTF-8 characters
ZBX-14751
fixed "cannot run test program while cross compiling" and "cannot check for file existence when cross compiling" errors during cross-compilation
ZBX-14677
fixed vmware performance counter retrieval on installations with large number of datastores
ZBXNEXT-4500
fixed item prototype master item links leading to error when master item is a web item
ZBX-14697
fixed memory leak in alert manager when connection to database was lost
ZBX-14629
fixed breadcrumb labels clipping
ZBX-14628
fixed empty MAIL FROM in email alerts
ZBX-14696
changed problem_tag index to optimize database queries
ZBX-12293
renamed trigger functions by adding function name at the beginning and removing the operator and "N" and placing operator in a separate field allowing two new operators "<=" and ">=" for selection
ZBX-9731
changed value cache to drop unused items from cache when new values are added instead performing this cleanup only when cache runs out of free space
ZBX-14593
fixed error message for invalid vmware endpoint
ZBX-14614
fixed trigger dependency link to the template instead of the host during the discovery action
ZBX-372
added "zone" parameter to proc.num[] item for Solaris
ZBX-14631
fixed typo in string: ouf, not out
ZBX-14410
fixed output of information about the error for expressions with functions of triggers or calculated items
ZBX-14341
fixed duplicate value generation in environments with poor connectivity
ZBX-9913
fixed inconsistencies in behaviour and error messaging of trigger functions
ZBX-14448
fixed undefined index when updating item and switching type to dependent
ZBX-14670
fixed failed query error in LLD when updating function name in trigger prototype expression
ZBX-14433
fixed several problems in displaying of X axis on the graphs
ZBX-14579
improved several functions to distinguish between 'failed to compile' and 'not matched' states in regexp processing
ZBX-14584
fixed mass update some options for items
ZBX-12217
removed links to templates with no permissions for templated applications and items
ZBXNEXT-4607
removed column Recovery time in Problems mode
ZBX-14548
fixed the disk usage counters reading for ESX/ESXi hosts
ZBXNEXT-4049
fixed option to hide timeline in Problems widget popup
ZBX-13393
fixed agent compilation error on AlphaServer Tru64 5.1B
ZBX-14491
fixed link "show value mappings", which leads to no permission page
ZBX-13165
fixed Y-axis small value gradation issue in graphs
ZBX-14575
fixed Norwegian locale key for windows
ZBX-14566
fixed possible data loss due to MariaDB server restart
ZBX-13010
fixed crash of poller processes in ODBC checks, simplified code
ZBX-14370
fixed deleting of files after compiling a program (make clean) for Solaris
ZBX-14519
fixed displaying timeline points of days in Problems widget
ZBX-12380
improved function parameter parsing for trigger functions
ZBX-12994
improved maintenance period translation strings in maintenance form
ZBXNEXT-4622
updated change severity action icons in sprite files
ZBX-14426
fixed trigger color in host issues screen and host group issues screen, color of problem with highest severity generated by trigger is used instead of trigger color
ZBX-13396
moved time function based trigger processing to history syncer, reducing trigger locking issues caused by peak timer processing loads
ZBX-13651
fixed cloning a template using the "Full Clone", which does not hide the upper level navigation bar
ZBX-14425
color of problem with highest severity generated by trigger is used as trigger status color on data overview page
ZBX-8051
fixed auto-logout problem caused by async calls to jsrpc
ZBX-13641
disabled preprocessing update for discovered items
ZBX-13381
fixed invisible color picker selector, fixed wrong color preview, extended color pallette
ZBX-14410
improved error message handling in zbx_function_find()
ZBX-14500
fixed crash when reporting unknown triggers and using $1-$9 macros at the same time
ZBX-14525
fixed sorting by severity in Monitoring->Problems and Problems widget
ZBX-12580
reworked problem hosts widget to source data from problems and take changed severity into account
ZBX-14537
fixed HTTP agent application/json Content-Type not being set by default when using custom headers
ZBX-12104
added limit ZBX_HISTORY_PERIOD for {ITEM.VALUE} macro resolving in trigger name
ZBX-14359
changed problem name macro in default action subject and message from TRIGGER.NAME to EVENT.NAME
ZBX-13718
fixed selection of cached checkboxes in checkbox range library
ZBX-13647
fixed defined default discovery action message
ZBX-12115
changed API returned lastvalue and prevvalue for text based items with no values
ZBX-14409
fixed icon mapping expression validation
ZBX-14402
fixed internal item parameter that does not match documentation
ZBX-11989
fixed condition operators for event correlation rules
ZBX-13779
fixed redirect button link in multiple places
ZBXNEXT-4361
fixed selected breadcrumbs item style; fixed active time range tabs hover cursor style
ZBX-14420
fixed link to Problems screen in map element's context menu
ZBX-12957
removed time adjustment of received packets for server and proxy
ZBX-12171
added missing items zabbix[process,vmware collector,avg,busy] and zabbix[vmware,buffer,pfree] to Template App Zabbix Proxy
ZBX-14388
fixed log message about full history cache
ZBX-13283
removed info label in Trigger severities and Users administration pages
ZBX-6046
fixed the functions 'net.if.*' for Solaris with empty 64 bits counters
ZBX-13355
fixed media type a required password field successfully passing validation while being empty and prevented auto-filling stored passwords by browser
ZBX-13701
fixed hintbox multiplication on page refresh
ZBX-14398
improved "Server" parameter description in Zabbix agent configuration file
ZBX-14344
fixed host groups, hosts and applications not being taken into account when filtering problems by problem name in Monitoring->Problems view
ZBX-11434
added error messages when creation of LLD SNMP items fails due to SNMP OID field
ZBX-12250
fixed logrt[] item to analyze log file from start if no log files match and no log files were seen before
ZBX-13765
fixed discovered host status update if it was down and a service was discovered on that host
ZBX-12070
fixed "proc.num" and "proc.mem" items calculation of values when zabbix_agentd called in test mode
ZBX-14423
fixed use of initialized variable during application discovery
ZBX-12990
improved "vmware.hv.datastore.size" through usage the performance counters
ZBXNEXT-4540
fixed problems filter with same tags not being joined with OR condition
ZBXNEXT-4576
unified dashboard widget content margins
ZBX-12965
- fixed scheduled check calculation during daylight saving changes
ZBX-13712
fixed "Undefined index: master_itemid" and SQL errors in item.update and itemprototypr.update methods; fixed updating of discovered items
ZBX-14329
fixed error opening map's submap
ZBX-13549
fixed displaying of not monitored triggers in maps
ZBX-13783
dropped support for Zapcat-style and multi-level parameter arrays from item key validation in frontend
ZBX-12359
fixed "Automatic icon selection" checkbox not working and displaying two icons at once in map constructor
ZBX-12239
fixed global search form allowing to submit empty search queries
ZBX-12177
renamed "Icon" to "Map element" in Network map properties and constructor
ZBX-14333
fixed {ESC.HISTORY} and action log not to display colon without target host when executed on Zabbix server
ZBX-14345
fixed lock wait timeout error handling on MySQL to avoid possible data loss
ZBX-13361
fixed error messages when configuring an existing item to have an update interval
ZBX-14328
improved logging of command execution failures
ZBX-13803
fixed "make install" to respect DESTDIR variable, this is essential for packaging
ZBX-12603
fixed tab navigation and keyboard interaction in dashboard sharing and properties dialogues; added validation inside popups
ZBX-13043
removed error message for when user has defined media but all of them are disabled
ZBX-14312
fixed possible deadlock in history syncer when housekeeper is deleting events
ZBX-13697
fixed session expiration when changing default authentication method
ZBX-13768
fixed disabled 'add' button showing in templated item preprocesing form
ZBX-13680
fixed action not being cloned due to existing operation id being submitted
ZBX-13775
fixed map tree widget border color
ZBX-13780
fixed status color styles
ZBX-12350
fixed severity picker styles
ZBX-13782
fixed decoding of Unicode characters in JSON
ZBX-13767
fixed "undefined index: acknowledges" error on problems page
ZBX-12175
fixed subfilter entries with long names going off the screen
ZBX-12644
fixed filter being partially reset when using pagination in availability report page
ZBX-12390
fixed problem when triggers might not use correct value if an item values within one second were received in wrong historical order
ZBX-13788
fixed host availability stuck in unknown state after proxy changes
ZBX-14313
fixed trigger level correlation when multiple tags are set
ZBX-12372
fixed duplication of prefix "/" for second parameter "path" in items "web.page.*"
ZBX-14315
fixed validation of "max_depth" in "vfs.dir.size" for agent
ZBX-13778
fixed logically dead code in JSON Path parser
ZBX-14337
fixed persistent xss in map navigation tree widget
ZBX-14336
fixed persistent xss vulnerability in services
ZBX-13750
fixed hover and focus style for edit dashboard cancel button, improved top nav css coding style
ZBX-13694
disable check now for items with scheduler configuration errors
ZBX-9882
removed Zapcat-style and multi-level array type support in item key parameters
ZBX-12821
fixed multiple javascript memory leaks
ZBX-13755
fixed proxy lastaccess update on 32-bit Zabbix server
ZBX-12425
fixed selection of web items in the "Plain text" screen element
ZBX-13781
fixed CRLF injection in Zabbix Agentd
ZBX-13737
fixed invalid confirmation message when mass enabling and disabling trigger, item and host prototypes
ZBX-13766
fixed comparison of two large float numbers in expressions
ZBX-13481
fixed incorrect parsing of BITS data type in SNMP response
ZBX-13744
fixed potential shared memory leak when item is removed
ZBX-13742
fixed parsing of the operator "not" in trigger expression
ZBX-13535
fixed trigger recovery expression for 'High error rate' trigger
ZBX-13278
fixed trigger expression for 'Link down' trigger
ZBX-12805
increased command line limit for proc.num checks on hp-ux systems
ZBX-13749
fixed creation of dependent items from item wizard
ZBX-13660
fixed data types passed to is_ushort() for converting PID, port and process number
ZBX-12935,ZBX-13539
fixed displaying of floating point values under the "Latest data" page
ZBX-13579
fixed unnecessary data getting when agent becomes available in the non-collection data period
ZBX-13240
removed duplicating HTML IDs from frontend and fixed SID validation in trigger wizard
ZBX-13685
fixed maintenance entries displayed in list when filter is applied
ZBX-12756
improved configure script to check iconv library
ZBX-13667
added notification in zabbix server log about 'error' in elasticsearch json response
ZBX-13683
fixed multiselect items not being sorted by name
ZBX-13299
fixed autoregistration, discovery and internal notifications not being sent due to uninitialized severity
ZBX-13607
changed ping script to return success also for timeouts
ZBX-12967
fixed slide show refresh interval multiplier menu not working
ZBX-13696
added maximum record limit to old session removal in housekeeper
ZBX-13642
fixed undefined index in user edit form
ZBX-13546
fixed context menu positioning in maps
ZBX-13668
fixed dynamic widget searching for item key in item prototypes
ZBX-13500
fixed fractional values in triggers being misinterpreted without a leading 0
ZBX-13561
fixed incorrectly displayed pie graph when first item has no data
ZBX-13517
fixed undefined index in pie charts
ZBX-13499
fixed checkbox selector in problems table
ZBX-13598
fixed crash when Zabbix process cannot connect to preprocessing service
ZBX-13522
fixed duplicate IDs in trigger expression constructor
ZBX-13489
fixed wrong tab iteration inside graph widget
ZBX-13625
fixed blinking in the problem widget
ZBX-13560
fixed acknowledge notifications being visible in the event popup
ZBX-13298
fixed missing graph after faulty graph edit form submission
ZBX-13487
improved widgets menu icons focus state styles
ZBX-13350
added multiple Zabbix element default paths to output after running ./configure and --help option
ZBX-13509
improved compilation support from source for Solaris and NetBSD
ZBX-13542
fixed http steps on template not inheriting hosts application setting
ZBX-13618
fixed wrong variables order in translatable error message
ZBX-13344
fixed trigger based actions having a default "not in maintenance" condition
ZBX-13613
improved a history syncer when backend elasticsearch is not available
ZBX-13510
fixed error of execution "make dbschema" for NetBSD
ZBX-13544
fixed agent crashes when using regex with 'Log' item for Mac OSX
ZBX-13611
fixed lld rules not always saving their state/error message changes
ZBX-13571
fixed regression that resulted in slow history data queries on partitioned tables
ZBX-13490
fixed autofocus in forms
ZBX-13470
improved searching IPMI items by full name
ZBX-13566
fixed create dashboard button size in dashboard list
ZBX-13464
fixed fullscreen attribute included in host context menu links
ZBX-13424
added possibility to select web items as master items and improved copying of dependent items to destination hosts and templates
ZBX-13573
fixed undefined index message changing Action "Acknowledgment operations" from "Remote command" to "Notify all involved"
ZBX-13570
fixed undefined index in API call
ZBX-13331
removed "recovery" property from action.get API method response
ZBX-13309
fixed displaying of Problem/Recovery time
ZBX-13450
fixed server and proxy compilation problem for Solaris 10
ZBX-13458,ZBX-13494
fixed resolving of the macros in map labels for non-superadmin users
ZBX-13526
fixed widget placeholder jumping instead of resizing while dashboard edit
ZBX-13362
fixed potentially wrong rows deleting by housekeeper in PostgreSQL
ZBX-13506
fixed linked trigger is moved to sibling map element
ZBX-13586
fixed trigger-based event correlation - suspend creation of event if no problems are recovered by it
ZBX-13339
improved deallocation of memory
ZBX-13412
fixed JS error and wrong form behaviour when changing item type, type of information
ZBX-13471
fixed contrast in selected item filters
ZBX-13428
fixed long name of map outside go back button in map widget
ZBX-13340
fixed pie graphs displaying incorrect data
ZBX-13257
fixed display of the latest item in Audit log
ZBX-13447
fixed trigger name readability on map in dark theme
ZBX-11994
changed "awk" to "sed" for getting info about "Last Changed Revision"
ZBX-13360
fixed HTML5 placeholder color that previously appeared like actual input data
ZBX-13351
improved OpenSSL error messages
ZBX-13147
fixed inconsistent number on map navigation tree
ZBX-13537
fixed "Inaccessible user" in Dashboard System status widgets acknowledgement popup
ZBX-13472
fixed description of "Server" and "ServerActive" configuration options
ZBX-13455
added frontend error message when templates cannot be linked to LLD host
ZBX-13538
fixed example configuration for Elasticsearch
ZBX-13434
fixed incorrect trigger dependencies being set after copying triggers to multiple hosts; thanks to Kotaro Miyashita for the patch
ZBX-13513
fixed input maxlength for users media of type script
ZBX-13523
fixed error message for empty TCP response in case agent dropped connection because of access permissions
ZBX-12883
fixed incorrect ordering the list of triggers after saving a map
ZBXNEXT-4150
fixed URL display in hint box and focus styles for radio buttons
ZBX-12940
fixed content does not fit dialog window
ZBX-13342
fixed order by query in frontend Maintenance tab
ZBX-13401
fixed successful items mass update with invalid update interval
ZBX-6167
fixed partial updating in maintenance.update
ZBX-13062
banned using of mutex in threads of metrics collection
ZBX-13236
fixed error message of function parameters parse
ZBX-10433
removed inaccurate configuration default values
ZBX-13398
fixed configure script for Debian GNU/Linux "buster" and "sid" to work with PostgreSQL
ZBX-12754
fixed undefined index error in map import
ZBX-13303
improved display of user media 'Use if severity' indicators
ZBX-13166
fixed daily and yearly notification reports not including current day/last day of leap-year
ZBX-13118
improved readability of emails in action log by splitting them multiline
ZBX-13498
added optional MySQL upgrade patch for "problem" table to drop redundant index after another index that can be used to enforce the foreign key constraint has been created
ZBX-13430
fixed use of uninitialized value ttl when elasticsearch is configured
ZBX-13452
fixed Elasticsearch history storage default value types
ZBX-13248
fixed field trapper_hosts to optional for trapper item.create
ZBX-13307
fixed map scaling and position to the widget left side
ZBX-12941
fixed checkbox overlay's position over the checkbox
ZBX-13465
fixed back button style on the sub-maps
ZBX-13334
fixed translations of Widget parameters window
ZBX-6118
fixed poor performance of changing an item on the template which linked with many hosts
ZBX-13454
fixed placeholder in Administration->Scripts form
ZBX-13403
allowed proxy to execute remote commands on agents using encrypted connection
ZBX-13441
fixed crashes in case of failures (e.g. timeouts) during VMware hypervisor discovery
ZBX-12607
fixed performance of map.get API method and map-related views
ZBX-11391
generated an error if expanding LLD macros results in an empty tag name
ZBX-13300
fixed addJsFile() name
ZBX-13030
removed proxy's ability to export unprocessed history data via loadable modules
ZBXNEXT-3581
dropped plain text protocol support and made header mandatory; fixed IP fragmentation handling by including header in Zabbix get request, Zabbix server/proxy passive check request and frontend request to Zabbix server
ZBX-13194
fixed incorrect processing of zabbix[wcache,value,*] internal check
ZBX-13060
added limitation for meaningless server reconnection attempts to incorrectly configured passive proxy
ZBX-13233
added new memory metrics for Linux platform - "active", "anon", "inactive" and "slabs"; thanks to Tomasz Kłoczko for the original patch
ZBX-12643
improved error log message in case Zabbix server database cannot be used due to empty "users" table
ZBX-11720
fixed memory leak which breaks vfs.fs.size, vfs.fs.inode and vfs.dir.size items if compiled with LeakSanitizer
ZBX-13131
fixed truncated multiline text values from network discovery SNMP checks
ZBX-13117
fixed vfs.dir.size with symbol links on Windows
ZBX-12045
fixed inconsistencies in configure -h output
ZBX-13325
fixed trend.get() method with Oracle backend
ZBX-13223
fixed graphs duplication in graph preview
ZBX-13345
removed SID from URL in screen edit mode
ZBX-13055
fixed problems with DNS resolver interface on NetBSD
ZBX-13214
added support of \0 matching group for regsub and iregsub methods
ZBX-13208
eliminated race condition that caused history collection for newly created items to start before preprocecessing steps finished syncing
ZBX-13246
fixed processing of command line arguments which are longer than 2KB for proc.num and proc.mem items on AIX
ZBX-13130
fixed Zabbix proxy not to generate high network traffic when server does not accept data
ZBX-13288
fixed image ghosting for mass update of map elements
ZBX-11422
fixed compilation warnings under OS X 64bit
ZBX-13276
fixed compatibility issue with Elasticsearch versions starting from 6.0
ZBX-13196
fixed setting of transaction error flag in commit operation
ZBX-13221
fixed trimming of values in overlay dialogues
ZBX-13221
added "Timeout" validation in web scenario step overlay dialogue
ZBX-12389
fixed latest data host group filter
ZBX-13119
removed 'empty' button in trigger selection window for map constructor item modal form
ZBX-12661
fixed Low-level discovery of dependent items not working after being edited and resulting in undefined offset error or foreign key constraint violation
ZBX-13254
fixed 'skip' parameter behaviour for log[], log.count[], logrt[], logrt.count[] items in case log files initially do not exist
ZBX-13253
fixed losing the 1st record by log[] and logrt[] items if 'skip' parameter is used and log file initially is empty
ZBX-13275
fixed slow housekeeping of events on MySQL
ZBX-13264
fixed Zabbix agent compilation on OS/X
ZBX-13245
fixed IP fragmentation handling in Zabbix server response to Zabbix proxy
ZBX-13258
fixed misaligned user group permission controls
ZBX-13031
fixed Java gateway compilation without libpcre
ZBX-12963
fixed passing argument to external check item that contain literal $
ZBX-12991
removed default values for "active_since" and "active_till" fields in maintenance.create API method
ZBX-13270
fixed default selection of the required host permissions radio in the global scripts form
ZBX-12758
fixed slow housekeeping of events due to missing index on foreign key
ZBX-11305
fixed color and label for event status on event details page
ZBX-13238
fixed spelling of Elasticsearch
ZBX-13056
fixed incorrect positioning of context menu when it is opened using keyboard
ZBX-13241
fixed memory leak on Zabbix server when executing remote commands through proxy
ZBXNEXT-4139
fixed displaying of the eventlog severitites and severities in trigger map element
ZBX-13178
fixed ipc_path value in error message
ZBX-12251
fixed possibility of trigger status getting stuck in PROBLEM or OK state due to transaction error in history synchronization, added deadlock to a list of recoverable errors
ZBX-12251
fixed possibility that new history values are lost and not processed by Zabbix server or Zabbix proxy due to recoverable transaction error
ZBX-12996
fixed radio button and label inconsistency in maintenance period configuration
ZBX-12895
improved performance of DB patch for updating data in the alerts table
ZBX-12082
fixed possibility to select triggers with same name in multiselect
ZBX-12983
fixed compilation warnings under Windows
ZBX-10578
fixed redundant init_result() calls; thanks to MATSUDA Daiki for the patch
ZBX-12793
fixed system compiler checks during source configuration
ZBX-11970
fixed style for some enumerators and structure type declarations
+
+ + +

Installation and Upgrade Notes

+ +

Installation

+

See Zabbix Manual for full details.

+ +

Upgrade

+

Recompile Zabbix binaries and update front-end PHP files. Execute a database patch if migrating from Zabbix 1.8.x. + See Zabbix Manual for a detailed upgrade procedure.

+ +

Commercial support

+ Zabbix Company provides a full range of Professional Services. + We also provide trouble-free Upgrade Service for easy migration from earlier versions of Zabbix. + Please contact Sales for pricing and more details. + + +
+

References

+

Zabbix 4.0 Manual

+
+ +
+ +
+
+
+ +
+ + + + +
+
+

Get started in 10 minutes, absolutely FREE

+ Download Zabbix +

Zabbix is true Open Source. No limits or hidden costs.

+
+
+ + + + + + diff --git a/zabbix-3.0.25-new-m4-pgsql.patch b/zabbix-3.0.25-new-m4-pgsql.patch new file mode 100644 index 0000000..78c1c62 --- /dev/null +++ b/zabbix-3.0.25-new-m4-pgsql.patch @@ -0,0 +1,614 @@ +Index: configure.ac +=================================================================== +--- configure.ac.orig 2019-01-28 11:45:10.000000000 +0100 ++++ configure.ac 2019-03-22 13:55:27.258760837 +0100 +@@ -1229,25 +1229,15 @@ if test "x$server" = "xyes" || test "x$p + fi + + dnl Checking for PostgreSQL support +- AX_LIB_POSTGRESQL("8.1") ++ AX_LIB_POSTGRESQL([8.2]) + if test "x$want_postgresql" = "xyes"; then + if test "x$have_db" != "xno"; then + AC_MSG_ERROR([You can configure for only one database.]) + fi + + if test "x$found_postgresql" = "xyes"; then +- if test "$postgresql_version_check" != "1"; then +- AC_MSG_ERROR([PostgreSQL version mismatch]) +- fi +- +- have_db="PostgreSQL" +- +- if test "$postgresql_version_number" -ge 8002000; then +- have_multirow_insert="yes" +- fi +- +- else +- AC_MSG_ERROR([PostgreSQL library not found]) ++ have_db="PostgreSQL" ++ have_multirow_insert="yes" # set by default as we are forcing to use min 8.2 postgresql + fi + fi + +@@ -1299,7 +1289,7 @@ if test "x$server" = "xyes" || test "x$p + AC_MSG_RESULT(no) + fi + +- DB_CFLAGS="$IBM_DB2_CPPFLAGS $MYSQL_CFLAGS $ORACLE_CPPFLAGS $POSTGRESQL_CFLAGS $SQLITE3_CPPFLAGS" ++ DB_CFLAGS="$IBM_DB2_CPPFLAGS $MYSQL_CFLAGS $ORACLE_CPPFLAGS $POSTGRESQL_CPPFLAGS $SQLITE3_CPPFLAGS" + DB_LDFLAGS="$IBM_DB2_LDFLAGS $MYSQL_LDFLAGS $ORACLE_LDFLAGS $POSTGRESQL_LDFLAGS $SQLITE3_LDFLAGS" + DB_LIBS="$IBM_DB2_LIBS $MYSQL_LIBS $ORACLE_LIBS $POSTGRESQL_LIBS $SQLITE3_LIBS" + +Index: m4/ax_compare_version.m4 +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ m4/ax_compare_version.m4 2019-03-22 13:42:09.744259011 +0100 +@@ -0,0 +1,177 @@ ++# =========================================================================== ++# https://www.gnu.org/software/autoconf-archive/ax_compare_version.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_COMPARE_VERSION(VERSION_A, OP, VERSION_B, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) ++# ++# DESCRIPTION ++# ++# This macro compares two version strings. Due to the various number of ++# minor-version numbers that can exist, and the fact that string ++# comparisons are not compatible with numeric comparisons, this is not ++# necessarily trivial to do in a autoconf script. This macro makes doing ++# these comparisons easy. ++# ++# The six basic comparisons are available, as well as checking equality ++# limited to a certain number of minor-version levels. ++# ++# The operator OP determines what type of comparison to do, and can be one ++# of: ++# ++# eq - equal (test A == B) ++# ne - not equal (test A != B) ++# le - less than or equal (test A <= B) ++# ge - greater than or equal (test A >= B) ++# lt - less than (test A < B) ++# gt - greater than (test A > B) ++# ++# Additionally, the eq and ne operator can have a number after it to limit ++# the test to that number of minor versions. ++# ++# eq0 - equal up to the length of the shorter version ++# ne0 - not equal up to the length of the shorter version ++# eqN - equal up to N sub-version levels ++# neN - not equal up to N sub-version levels ++# ++# When the condition is true, shell commands ACTION-IF-TRUE are run, ++# otherwise shell commands ACTION-IF-FALSE are run. The environment ++# variable 'ax_compare_version' is always set to either 'true' or 'false' ++# as well. ++# ++# Examples: ++# ++# AX_COMPARE_VERSION([3.15.7],[lt],[3.15.8]) ++# AX_COMPARE_VERSION([3.15],[lt],[3.15.8]) ++# ++# would both be true. ++# ++# AX_COMPARE_VERSION([3.15.7],[eq],[3.15.8]) ++# AX_COMPARE_VERSION([3.15],[gt],[3.15.8]) ++# ++# would both be false. ++# ++# AX_COMPARE_VERSION([3.15.7],[eq2],[3.15.8]) ++# ++# would be true because it is only comparing two minor versions. ++# ++# AX_COMPARE_VERSION([3.15.7],[eq0],[3.15]) ++# ++# would be true because it is only comparing the lesser number of minor ++# versions of the two values. ++# ++# Note: The characters that separate the version numbers do not matter. An ++# empty string is the same as version 0. OP is evaluated by autoconf, not ++# configure, so must be a string, not a variable. ++# ++# The author would like to acknowledge Guido Draheim whose advice about ++# the m4_case and m4_ifvaln functions make this macro only include the ++# portions necessary to perform the specific comparison specified by the ++# OP argument in the final configure script. ++# ++# LICENSE ++# ++# Copyright (c) 2008 Tim Toolan ++# ++# Copying and distribution of this file, with or without modification, are ++# permitted in any medium without royalty provided the copyright notice ++# and this notice are preserved. This file is offered as-is, without any ++# warranty. ++ ++#serial 13 ++ ++dnl ######################################################################### ++AC_DEFUN([AX_COMPARE_VERSION], [ ++ AC_REQUIRE([AC_PROG_AWK]) ++ ++ # Used to indicate true or false condition ++ ax_compare_version=false ++ ++ # Convert the two version strings to be compared into a format that ++ # allows a simple string comparison. The end result is that a version ++ # string of the form 1.12.5-r617 will be converted to the form ++ # 0001001200050617. In other words, each number is zero padded to four ++ # digits, and non digits are removed. ++ AS_VAR_PUSHDEF([A],[ax_compare_version_A]) ++ A=`echo "$1" | sed -e 's/\([[0-9]]*\)/Z\1Z/g' \ ++ -e 's/Z\([[0-9]]\)Z/Z0\1Z/g' \ ++ -e 's/Z\([[0-9]][[0-9]]\)Z/Z0\1Z/g' \ ++ -e 's/Z\([[0-9]][[0-9]][[0-9]]\)Z/Z0\1Z/g' \ ++ -e 's/[[^0-9]]//g'` ++ ++ AS_VAR_PUSHDEF([B],[ax_compare_version_B]) ++ B=`echo "$3" | sed -e 's/\([[0-9]]*\)/Z\1Z/g' \ ++ -e 's/Z\([[0-9]]\)Z/Z0\1Z/g' \ ++ -e 's/Z\([[0-9]][[0-9]]\)Z/Z0\1Z/g' \ ++ -e 's/Z\([[0-9]][[0-9]][[0-9]]\)Z/Z0\1Z/g' \ ++ -e 's/[[^0-9]]//g'` ++ ++ dnl # In the case of le, ge, lt, and gt, the strings are sorted as necessary ++ dnl # then the first line is used to determine if the condition is true. ++ dnl # The sed right after the echo is to remove any indented white space. ++ m4_case(m4_tolower($2), ++ [lt],[ ++ ax_compare_version=`echo "x$A ++x$B" | sed 's/^ *//' | sort -r | sed "s/x${A}/false/;s/x${B}/true/;1q"` ++ ], ++ [gt],[ ++ ax_compare_version=`echo "x$A ++x$B" | sed 's/^ *//' | sort | sed "s/x${A}/false/;s/x${B}/true/;1q"` ++ ], ++ [le],[ ++ ax_compare_version=`echo "x$A ++x$B" | sed 's/^ *//' | sort | sed "s/x${A}/true/;s/x${B}/false/;1q"` ++ ], ++ [ge],[ ++ ax_compare_version=`echo "x$A ++x$B" | sed 's/^ *//' | sort -r | sed "s/x${A}/true/;s/x${B}/false/;1q"` ++ ],[ ++ dnl Split the operator from the subversion count if present. ++ m4_bmatch(m4_substr($2,2), ++ [0],[ ++ # A count of zero means use the length of the shorter version. ++ # Determine the number of characters in A and B. ++ ax_compare_version_len_A=`echo "$A" | $AWK '{print(length)}'` ++ ax_compare_version_len_B=`echo "$B" | $AWK '{print(length)}'` ++ ++ # Set A to no more than B's length and B to no more than A's length. ++ A=`echo "$A" | sed "s/\(.\{$ax_compare_version_len_B\}\).*/\1/"` ++ B=`echo "$B" | sed "s/\(.\{$ax_compare_version_len_A\}\).*/\1/"` ++ ], ++ [[0-9]+],[ ++ # A count greater than zero means use only that many subversions ++ A=`echo "$A" | sed "s/\(\([[0-9]]\{4\}\)\{m4_substr($2,2)\}\).*/\1/"` ++ B=`echo "$B" | sed "s/\(\([[0-9]]\{4\}\)\{m4_substr($2,2)\}\).*/\1/"` ++ ], ++ [.+],[ ++ AC_WARNING( ++ [invalid OP numeric parameter: $2]) ++ ],[]) ++ ++ # Pad zeros at end of numbers to make same length. ++ ax_compare_version_tmp_A="$A`echo $B | sed 's/./0/g'`" ++ B="$B`echo $A | sed 's/./0/g'`" ++ A="$ax_compare_version_tmp_A" ++ ++ # Check for equality or inequality as necessary. ++ m4_case(m4_tolower(m4_substr($2,0,2)), ++ [eq],[ ++ test "x$A" = "x$B" && ax_compare_version=true ++ ], ++ [ne],[ ++ test "x$A" != "x$B" && ax_compare_version=true ++ ],[ ++ AC_WARNING([invalid OP parameter: $2]) ++ ]) ++ ]) ++ ++ AS_VAR_POPDEF([A])dnl ++ AS_VAR_POPDEF([B])dnl ++ ++ dnl # Execute ACTION-IF-TRUE / ACTION-IF-FALSE. ++ if test "$ax_compare_version" = "true" ; then ++ m4_ifvaln([$4],[$4],[:])dnl ++ m4_ifvaln([$5],[else $5])dnl ++ fi ++]) dnl AX_COMPARE_VERSION +Index: m4/ax_lib_postgresql.m4 +=================================================================== +--- m4/ax_lib_postgresql.m4.orig 2019-01-28 11:45:08.000000000 +0100 ++++ m4/ax_lib_postgresql.m4 2019-03-22 13:44:10.008033108 +0100 +@@ -1,31 +1,33 @@ +-##### http://autoconf-archive.cryp.to/ax_lib_postgresql.html ++# =========================================================================== ++# https://www.gnu.org/software/autoconf-archive/ax_lib_postgresql.html ++# =========================================================================== + # + # SYNOPSIS + # +-# AX_LIB_POSTGRESQL([MINIMUM-VERSION]) ++# AX_LIB_POSTGRESQL([MINIMUM-VERSION],[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND]) + # + # DESCRIPTION + # +-# This macro provides tests of availability of PostgreSQL 'libpq' +-# library of particular version or newer. ++# This macro provides tests of availability of PostgreSQL 'libpq' library ++# of particular version or newer. + # +-# AX_LIB_POSTGRESQL macro takes only one argument which is optional. +-# If there is no required version passed, then macro does not run +-# version test. ++# AX_LIB_POSTGRESQL macro takes only one argument which is optional. If ++# there is no required version passed, then macro does not run version ++# test. + # + # The --with-postgresql option takes one of three possible values: + # + # no - do not check for PostgreSQL client library + # +-# yes - do check for PostgreSQL library in standard locations +-# (pg_config should be in the PATH) ++# yes - do check for PostgreSQL library in standard locations (pg_config ++# should be in the PATH) + # +-# path - complete path to pg_config utility, use this option if +-# pg_config can't be found in the PATH ++# path - complete path to pg_config utility, use this option if pg_config ++# can't be found in the PATH (You could set also PG_CONFIG variable) + # + # This macro calls: + # +-# AC_SUBST(POSTGRESQL_CFLAGS) ++# AC_SUBST(POSTGRESQL_CPPFLAGS) + # AC_SUBST(POSTGRESQL_LDFLAGS) + # AC_SUBST(POSTGRESQL_LIBS) + # AC_SUBST(POSTGRESQL_VERSION) +@@ -34,151 +36,212 @@ + # + # HAVE_POSTGRESQL + # +-# LAST MODIFICATION ++# It execute if found ACTION-IF-FOUND (empty by default) and ++# ACTION-IF-NOT-FOUND (AC_MSG_FAILURE by default) if not found. + # +-# 2017-09-26 modified version detection to detect PostgreSQL 10 (Zabbix) +-# 2006-07-16 ++# LICENSE + # +-# COPYLEFT +-# +-# Copyright (c) 2006 Mateusz Loskot +-# +-# Copying and distribution of this file, with or without +-# modification, are permitted in any medium without royalty provided +-# the copyright notice and this notice are preserved. ++# Copyright (c) 2008 Mateusz Loskot ++# Copyright (c) 2014 Sree Harsha Totakura ++# Copyright (c) 2018 Bastien Roucaries ++# ++# Copying and distribution of this file, with or without modification, are ++# permitted in any medium without royalty provided the copyright notice ++# and this notice are preserved. This file is offered as-is, without any ++# warranty. ++ ++#serial 22 ++ ++AC_DEFUN([_AX_LIB_POSTGRESQL_OLD],[ ++ found_postgresql="no" ++ _AX_LIB_POSTGRESQL_OLD_fail="no" ++ while true; do ++ AC_CACHE_CHECK([for the pg_config program], [ac_cv_path_PG_CONFIG], ++ [AC_PATH_PROGS_FEATURE_CHECK([PG_CONFIG], [pg_config], ++ [[ac_cv_path_PG_CONFIG="";$ac_path_PG_CONFIG --includedir > /dev/null \ ++ && ac_cv_path_PG_CONFIG=$ac_path_PG_CONFIG ac_path_PG_CONFIG_found=:]], ++ [ac_cv_path_PG_CONFIG=""])]) ++ PG_CONFIG=$ac_cv_path_PG_CONFIG ++ AS_IF([test "X$PG_CONFIG" = "X"],[break]) ++ ++ AC_CACHE_CHECK([for the PostgreSQL libraries CPPFLAGS],[ac_cv_POSTGRESQL_CPPFLAGS], ++ [ac_cv_POSTGRESQL_CPPFLAGS="-I`$PG_CONFIG --includedir`" || _AX_LIB_POSTGRESQL_OLD_fail=yes]) ++ AS_IF([test "X$_AX_LIB_POSTGRESQL_OLD_fail" = "Xyes"],[break]) ++ POSTGRESQL_CPPFLAGS="$ac_cv_POSTGRESQL_CPPFLAGS" ++ ++ AC_CACHE_CHECK([for the PostgreSQL libraries LDFLAGS],[ac_cv_POSTGRESQL_LDFLAGS], ++ [ac_cv_POSTGRESQL_LDFLAGS="-L`$PG_CONFIG --libdir`" || _AX_LIB_POSTGRESQL_OLD_fail=yes]) ++ AS_IF([test "X$_AX_LIB_POSTGRESQL_OLD_fail" = "Xyes"],[break]) ++ POSTGRESQL_LDFLAGS="$ac_cv_POSTGRESQL_LDFLAGS" ++ ++ AC_CACHE_CHECK([for the PostgreSQL libraries LIBS],[ac_cv_POSTGRESQL_LIBS], ++ [ac_cv_POSTGRESQL_LIBS="-lpq"]) ++ POSTGRESQL_LIBS="$ac_cv_POSTGRESQL_LIBS" ++ ++ AC_CACHE_CHECK([for the PostgreSQL version],[ac_cv_POSTGRESQL_VERSION], ++ [ ++ ac_cv_POSTGRESQL_VERSION=`$PG_CONFIG --version | sed "s/^PostgreSQL[[[:space:]]][[[:space:]]]*\([[0-9.]][[0-9.]]*\).*/\1/"` \ ++ || _AX_LIB_POSTGRESQL_OLD_fail=yes ++ ]) ++ AS_IF([test "X$_AX_LIB_POSTGRESQL_OLD_fail" = "Xyes"],[break]) ++ POSTGRESQL_VERSION="$ac_cv_POSTGRESQL_VERSION" ++ ++ ++ dnl ++ dnl Check if required version of PostgreSQL is available ++ dnl ++ AS_IF([test X"$postgresql_version_req" != "X"],[ ++ AC_MSG_CHECKING([if PostgreSQL version $POSTGRESQL_VERSION is >= $postgresql_version_req]) ++ AX_COMPARE_VERSION([$POSTGRESQL_VERSION],[ge],[$postgresql_version_req], ++ [found_postgresql_req_version=yes],[found_postgresql_req_version=no]) ++ AC_MSG_RESULT([$found_postgresql_req_version]) ++ ]) ++ AS_IF([test "Xfound_postgresql_req_version" = "Xno"],[break]) ++ ++ found_postgresql="yes" ++ break ++ done ++]) + +-AC_DEFUN([AX_LIB_POSTGRESQL], ++AC_DEFUN([_AX_LIB_POSTGRESQL_PKG_CONFIG], + [ +- PG_CONFIG="no" +- +- AC_ARG_WITH([postgresql], +- AC_HELP_STRING([--with-postgresql@<:@=ARG@:>@], +- [use PostgreSQL library @<:@default=no@:>@, optionally specify path to pg_config] +- ), +- [ +- if test "x$withval" = "xno"; then +- want_postgresql="no" +- elif test "x$withval" = "xyes"; then +- want_postgresql="yes" +- else +- want_postgresql="yes" +- PG_CONFIG="$withval" +- fi +- ], +- [want_postgresql="no"] +- ) ++ AC_REQUIRE([PKG_PROG_PKG_CONFIG]) ++ found_postgresql=no + +- POSTGRESQL_CFLAGS="" +- POSTGRESQL_LDFLAGS="" +- POSTGRESQL_LIBS="" +- POSTGRESQL_VERSION="" ++ while true; do ++ PKG_PROG_PKG_CONFIG ++ AS_IF([test X$PKG_CONFIG = X],[break]) ++ ++ _AX_LIB_POSTGRESQL_PKG_CONFIG_fail=no; ++ AS_IF([test "X$postgresql_version_req" = "X"], ++ [PKG_CHECK_EXISTS([libpq],[found_postgresql_pkg_config=yes],[found_postgresql=no])], ++ [PKG_CHECK_EXISTS([libpq >= "$postgresql_version_req"], ++ [found_postgresql=yes],[found_postgresql=no])]) ++ AS_IF([test "X$found_postgresql" = "no"],[break]) ++ ++ AC_CACHE_CHECK([for the PostgreSQL libraries CPPFLAGS],[ac_cv_POSTGRESQL_CPPFLAGS], ++ [ac_cv_POSTGRESQL_CPPFLAGS="`$PKG_CONFIG libpq --cflags-only-I`" || _AX_LIB_POSTGRESQL_PKG_CONFIG_fail=yes]) ++ AS_IF([test "X$_AX_LIB_POSTGRESQL_PKG_CONFIG_fail" = "Xyes"],[break]) ++ POSTGRESQL_CPPFLAGS="$ac_cv_POSTGRESQL_CPPFLAGS" ++ ++ ++ AC_CACHE_CHECK([for the PostgreSQL libraries LDFLAGS],[ac_cv_POSTGRESQL_LDFLAGS], ++ [ac_cv_POSTGRESQL_LDFLAGS="`$PKG_CONFIG libpq --libs-only-L --libs-only-other`" || _AX_LIB_POSTGRESQL_PKG_CONFIG_fail=yes]) ++ AS_IF([test "X$_AX_LIB_POSTGRESQL_PKG_CONFIG_fail" = "Xyes"],[break]) ++ POSTGRESQL_LDFLAGS="$ac_cv_POSTGRESQL_LDFLAGS" ++ ++ ++ AC_CACHE_CHECK([for the PostgreSQL libraries LIBS],[ac_cv_POSTGRESQL_LIBS], ++ [ac_cv_POSTGRESQL_LIBS="`$PKG_CONFIG libpq --libs-only-l`" || _AX_LIB_POSTGRESQL_PKG_CONFIG_fail=ye]) ++ AS_IF([test "X$_AX_LIB_POSTGRESQL_PKG_CONFIG_fail" = "Xyes"],[break]) ++ POSTGRESQL_LIBS="$ac_cv_POSTGRESQL_LIBS" ++ ++ dnl already checked by exist but need to be recovered ++ AC_CACHE_CHECK([for the PostgreSQL version],[ac_cv_POSTGRESQL_VERSION], ++ [ac_cv_POSTGRESQL_VERSION="`$PKG_CONFIG libpq --modversion`" || _AX_LIB_POSTGRESQL_PKG_CONFIG_fail=yes]) ++ AS_IF([test "X$_AX_LIB_POSTGRESQL_PKG_CONFIG_fail" = "Xyes"],[break]) ++ POSTGRESQL_VERSION="$ac_cv_POSTGRESQL_VERSION" ++ ++ found_postgresql=yes ++ break; ++ done + +- dnl +- dnl Check PostgreSQL libraries (libpq) +- dnl ++]) + +- if test "x$want_postgresql" = "xyes"; then +- AC_PATH_PROG([PG_CONFIG], [pg_config], []) + +- if test -x "$PG_CONFIG"; then +- POSTGRESQL_CFLAGS="`$PG_CONFIG --includedir`" +- if test -n "$POSTGRESQL_CFLAGS"; then +- POSTGRESQL_CFLAGS="-I$POSTGRESQL_CFLAGS"; +- fi +- POSTGRESQL_LDFLAGS="`$PG_CONFIG --libdir`" +- if test -n "$POSTGRESQL_LDFLAGS"; then +- POSTGRESQL_LDFLAGS="-L$POSTGRESQL_LDFLAGS"; +- fi +- POSTGRESQL_LIBS="-lpq" +- +- _save_postgresql_cflags="${CFLAGS}" +- _save_postgresql_ldflags="${LDFLAGS}" +- _save_postgresql_libs="${LIBS}" +- CFLAGS="${CFLAGS} ${POSTGRESQL_CFLAGS}" +- LDFLAGS="${LDFLAGS} ${POSTGRESQL_LDFLAGS}" +- LIBS="${LIBS} ${POSTGRESQL_LIBS}" + +- AC_MSG_CHECKING([for PostgreSQL libraries]) +- AC_TRY_LINK( +-[ +-#include +-], ++AC_DEFUN([AX_LIB_POSTGRESQL], + [ +-PGconn *conn; +-conn = PQsetdbLogin(NULL, NULL, NULL, NULL, NULL, NULL, NULL); +-], +- AC_DEFINE([HAVE_POSTGRESQL], [1], [Define to 1 if PostgreSQL libraries are available]) +- found_postgresql="yes" +- AC_MSG_RESULT(yes), +- AC_MSG_RESULT(no)) +- +- CFLAGS="${_save_postgresql_cflags}" +- LDFLAGS="${_save_postgresql_ldflags}" +- LIBS="${_save_postgresql_libs}" +- unset _save_postgresql_cflags +- unset _save_postgresql_ldflags +- unset _save_postgresql_libs +- +- if test "x$found_postgresql" = "xyes"; then +- POSTGRESQL_VERSION=`$PG_CONFIG --version | cut -d' ' -f2` +- fi +- fi +- fi ++ AC_ARG_WITH([postgresql], ++ AS_HELP_STRING([--with-postgresql=@<:@ARG@:>@], ++ [use PostgreSQL library @<:@default=yes@:>@, optionally specify path to pg_config] ++ ), ++ [ ++ AS_CASE([$withval], ++ [[[nN]][[oO]]],[want_postgresql="no"], ++ [[[yY]][[eE]][[sS]]],[want_postgresql="yes"], ++ [ ++ want_postgresql="yes" ++ PG_CONFIG="$withval" ++ ]) ++ ], ++ [want_postgresql="yes"] ++ ) + +- dnl +- dnl Check if required version of PostgreSQL is available +- dnl ++ AC_ARG_VAR([POSTGRESQL_CPPFLAGS],[cpp flags for PostgreSQL overriding detected flags]) ++ AC_ARG_VAR([POSTGRESQL_LIBFLAGS],[libs for PostgreSQL overriding detected flags]) ++ AC_ARG_VAR([POSTGRESQL_LDFLAGS],[linker flags for PostgreSQL overriding detected flags]) ++ ++ # populate cache ++ AS_IF([test "X$POSTGRESQL_CPPFLAGS" != X],[ac_cv_POSTGRESQL_CPPFLAGS="$POSTGRESQL_CPPFLAGS"]) ++ AS_IF([test "X$POSTGRESQL_LDFLAGS" != X],[ac_cv_POSTGRESQL_LDFLAGS="$POSTGRESQL_LDFLAGS"]) ++ AS_IF([test "X$POSTGRESQL_LIBS" != X],[ac_cv_POSTGRESQL_LIBS="$POSTGRESQL_LIBS"]) + + postgresql_version_req=ifelse([$1], [], [], [$1]) ++ found_postgresql="no" + +- if test "x$found_postgresql" = "xyes" -a -n "$postgresql_version_req"; then ++ POSTGRESQL_VERSION="" ++ ++ dnl ++ dnl Check PostgreSQL libraries (libpq) ++ dnl ++ AS_IF([test X"$want_postgresql" = "Xyes"],[ ++ _AX_LIB_POSTGRESQL_PKG_CONFIG + +- dnl Decompose version string of installed PostgreSQL +- dnl and calculate its number representation +- postgresql_version_major=`expr $POSTGRESQL_VERSION : '\([[0-9]]*\)'` +- postgresql_version_minor=`expr $POSTGRESQL_VERSION : '[[0-9]]*\.\([[0-9]]*\)'` +- postgresql_version_micro=`expr $POSTGRESQL_VERSION : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` +- if test "x$postgresql_version_minor" = "x"; then +- postgresql_version_minor="0" +- fi +- if test "x$postgresql_version_micro" = "x"; then +- postgresql_version_micro="0" +- fi +- +- postgresql_version_number=`expr $postgresql_version_major \* 1000000 \ +- \+ $postgresql_version_minor \* 1000 \ +- \+ $postgresql_version_micro` +- +- if test -n "$postgresql_version_req"; then +- +- AC_MSG_CHECKING([if PostgreSQL version is >= $postgresql_version_req]) +- +- dnl Decompose required version string of PostgreSQL +- dnl and calculate its number representation +- postgresql_version_req_major=`expr $postgresql_version_req : '\([[0-9]]*\)'` +- postgresql_version_req_minor=`expr $postgresql_version_req : '[[0-9]]*\.\([[0-9]]*\)'` +- postgresql_version_req_micro=`expr $postgresql_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` +- if test "x$postgresql_version_req_micro" = "x"; then +- postgresql_version_req_micro="0" +- fi +- +- postgresql_version_req_number=`expr $postgresql_version_req_major \* 1000000 \ +- \+ $postgresql_version_req_minor \* 1000 \ +- \+ $postgresql_version_req_micro` +- +- postgresql_version_check=`expr $postgresql_version_number \>\= $postgresql_version_req_number` +- if test "$postgresql_version_check" = "1"; then +- AC_MSG_RESULT([yes]) +- else +- AC_MSG_RESULT([no]) +- fi + +- fi ++ AS_IF([test X"$found_postgresql" = "Xno"], ++ [_AX_LIB_POSTGRESQL_OLD]) + +- fi ++ AS_IF([test X"$found_postgresql" = Xyes],[ ++ _AX_LIB_POSTGRESQL_OLD_CPPFLAGS="$CPPFLAGS" ++ CPPFLAGS="$CPPFLAGS $POSTGRESQL_CPPFLAGS" ++ _AX_LIB_POSTGRESQL_OLD_LDFLAGS="$LDFLAGS" ++ LDFLAGS="$LDFLAGS $POSTGRESQL_LDFLAGS" ++ _AX_LIB_POSTGRESQL_OLD_LIBS="$LIBS" ++ LIBS="$LIBS $POSTGRESQL_LIBS" ++ while true; do ++ dnl try to compile ++ AC_CHECK_HEADER([libpq-fe.h],[],[found_postgresql=no]) ++ AS_IF([test "X$found_postgresql" = "Xno"],[break]) ++ dnl try now to link ++ AC_CACHE_CHECK([for the PostgreSQL library linking is working],[ac_cv_postgresql_found], ++ [ ++ AC_LINK_IFELSE([ ++ AC_LANG_PROGRAM( ++ [ ++ #include ++ ], ++ [[ ++ char conninfo[]="dbname = postgres"; ++ PGconn *conn; ++ conn = PQconnectdb(conninfo); ++ ]] ++ ) ++ ],[ac_cv_postgresql_found=yes], ++ [ac_cv_postgresql_found=no]) ++ ]) ++ found_postgresql="$ac_cv_postgresql_found" ++ AS_IF([test "X$found_postgresql" = "Xno"],[break]) ++ break ++ done ++ CPPFLAGS="$_AX_LIB_POSTGRESQL_OLD_CPPFLAGS" ++ LDFLAGS="$_AX_LIB_POSTGRESQL_OLD_LDFLAGS" ++ LIBS="$_AX_LIB_POSTGRESQL_OLD_LIBS" ++ ]) ++ ++ ++ AS_IF([test "x$found_postgresql" = "xyes"],[ ++ AC_DEFINE([HAVE_POSTGRESQL], [1], ++ [Define to 1 if PostgreSQL libraries are available])]) ++ ]) + +- AC_SUBST([POSTGRESQL_CFLAGS]) ++ AC_SUBST([POSTGRESQL_VERSION]) ++ AC_SUBST([POSTGRESQL_CPPFLAGS]) + AC_SUBST([POSTGRESQL_LDFLAGS]) + AC_SUBST([POSTGRESQL_LIBS]) +- AC_SUBST([POSTGRESQL_VERSION]) ++ ++ AS_IF([test "x$found_postgresql" = "xyes"], ++ [ifelse([$2], , :, [$2])], ++ [ifelse([$3], , AS_IF([test X"$want_postgresql" = "Xyes"],[AC_MSG_ERROR([Library requirements (PostgreSQL) not met.])],[:]), [$3])]) ++ + ]) diff --git a/zabbix-4.0.12.tar.gz b/zabbix-4.0.12.tar.gz new file mode 100644 index 0000000..23cf16c --- /dev/null +++ b/zabbix-4.0.12.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c5e728a6f2903e20aea5fdd67a14099630725eba7b1c6628f92fd0c3efd8bca +size 17138671 diff --git a/zabbix-agentd.firewall b/zabbix-agentd.firewall new file mode 100644 index 0000000..3264b01 --- /dev/null +++ b/zabbix-agentd.firewall @@ -0,0 +1,17 @@ +## Name: zabbix-agentd +## Description: Opens ports for zabbix-agentd + +# space separated list of allowed TCP ports +TCP="10050" + +# space separated list of allowed UDP ports +UDP="" + +# space separated list of allowed RPC services +RPC="" + +# space separated list of allowed IP protocols +IP="" + +# space separated list of allowed UDP broadcast ports +BROADCAST="" diff --git a/zabbix-agentd.service b/zabbix-agentd.service new file mode 100644 index 0000000..585ee70 --- /dev/null +++ b/zabbix-agentd.service @@ -0,0 +1,13 @@ +[Unit] +Description=Zabbix Monitor Agent +After=syslog.target network.target + +[Service] +Type=simple +ExecStart=/usr/sbin/zabbix_agentd -f +User=zabbix +Group=zabbix +PrivateTmp=yes + +[Install] +WantedBy=multi-user.target diff --git a/zabbix-bash-completion-3.0-1.0.tar.gz b/zabbix-bash-completion-3.0-1.0.tar.gz new file mode 100644 index 0000000..778499a --- /dev/null +++ b/zabbix-bash-completion-3.0-1.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8004dd4aa6f8812d7af3b4100d4b935843e6fd663221442b1aff8275770b75d4 +size 12066 diff --git a/zabbix-java-gateway.firewall b/zabbix-java-gateway.firewall new file mode 100644 index 0000000..02742ba --- /dev/null +++ b/zabbix-java-gateway.firewall @@ -0,0 +1,17 @@ +## Name: zabbix-java-gateway +## Description: Opens ports for zabbix-java-gateway + +# space separated list of allowed TCP ports +TCP="10052" + +# space separated list of allowed UDP ports +UDP="" + +# space separated list of allowed RPC services +RPC="" + +# space separated list of allowed IP protocols +IP="" + +# space separated list of allowed UDP broadcast ports +BROADCAST="" diff --git a/zabbix-java-gateway.service b/zabbix-java-gateway.service new file mode 100644 index 0000000..8f96318 --- /dev/null +++ b/zabbix-java-gateway.service @@ -0,0 +1,12 @@ +[Unit] +Description=Zabbix Server +After=syslog.target network.target + +[Service] +Type=simple +ExecStart=/usr/bin/zabbix-java-gateway run +User=zabbixs +PrivateTmp=yes + +[Install] +WantedBy=multi-user.target diff --git a/zabbix-java-gateway.sh b/zabbix-java-gateway.sh new file mode 100644 index 0000000..eba2cf0 --- /dev/null +++ b/zabbix-java-gateway.sh @@ -0,0 +1,121 @@ +#!/bin/bash + +CMD=$1 +NOHUP=${NOHUP:=$(which nohup)} + +# resolve links - $0 may be a softlink +ZBXJAVAGWCTL="$0" + +while [ -h "$ZBXJAVAGWCTL" ]; do + ls=$(ls -ld "$ZBXJAVAGWCTL") + link=$(expr "$ls" : '.*-> \(.*\)$') + if expr "$link" : '/.*' > /dev/null; then + ZBXJAVAGWCTL="$link" + else + ZBXJAVAGWCTL=$(dirname "$ZBXJAVAGWCTL")/"$link" + fi +done + +SERVICE_NAME="zabbix-java-gateway" +JAVA=${JAVA:-java} +JAVA_OPTIONS="-server" +JAVA_OPTIONS="$JAVA_OPTIONS -Dlogback.configurationFile=/etc/zabbix/zabbix-java-gateway-log.xml" +ZABBIX_OPTIONS=${ZABBIX_OPTIONS:=} +ZABBIX_JAVA_DIR=${ZABBIX_JAVA_DIR:=$(dirname "$ZBXJAVAGWCTL")} +ZABBIX_JAVA_CONF=${ZABBIX_JAVA_CONF:=/etc/zabbix/zabbix-java-gateway.conf} +ZABBIX_JAVA_GW_PID=${ZABBIX_JAVA_GW_PID:=/run/zabbixs/zabbix-java-gateway.pid} +ZABBIX_JAVA_GW_LOGFILE=${ZABBIX_JAVA_GW_LOGFILE:=/var/log/zabbixs/zabbix-java-gateway.log} +# source configuration... +. ${ZABBIX_JAVA_CONF} + +# Build classpath +CLASSPATH=$(echo $(find /usr/lib/zabbix-java-gateway/ -name "*jar" -type f -print)|sed -e 's/ /:/g') +if [ -n "$PID_FILE" ]; then + ZABBIX_OPTIONS="$ZABBIX_OPTIONS -Dzabbix.pidFile=$PID_FILE" +fi +if [ -n "$LISTEN_IP" ]; then + ZABBIX_OPTIONS="$ZABBIX_OPTIONS -Dzabbix.listenIP=$LISTEN_IP" +fi +if [ -n "$LISTEN_PORT" ]; then + ZABBIX_OPTIONS="$ZABBIX_OPTIONS -Dzabbix.listenPort=$LISTEN_PORT" +fi +if [ -n "$START_POLLERS" ]; then + ZABBIX_OPTIONS="$ZABBIX_OPTIONS -Dzabbix.startPollers=$START_POLLERS" +fi + +COMMAND_LINE="$JAVA $JAVA_OPTIONS -classpath $CLASSPATH $ZABBIX_OPTIONS com.zabbix.gateway.JavaGateway" + +start() { + status + if [ $? -ne 0 ]; then + echo "Starting ${SERVICE_NAME} ..." + cd "$ZBXJAVAGWCTL_DIR" + (/bin/bash -c "$COMMAND_LINE > /dev/null 2>&1 & echo \$!") > ${ZABBIX_JAVA_GW_PID} + fi +} + +run() { + echo "Running ${SERVICE_NAME} ..." + cd "$ZBXJAVAGWCTL_DIR" + exec $COMMAND_LINE +} + +stop() { + pid=$(cat ${ZABBIX_JAVA_GW_PID}) + echo "Stopping ${SERVICE_NAME} ($pid) ..." + if kill $pid; then + rm ${ZABBIX_JAVA_GW_PID} + fi +} + +restart() { + echo "Restarting ${SERVICE_NAME} ..." + stop + start +} + +status() { + pid=$(get_pid) + if [ ! -z $pid ]; then + if pid_running $pid; then + echo "${SERVICE_NAME} running as pid $pid" + return 0 + else + echo "Stale pid file with $pid - removing..." + rm ${ZABBIX_JAVA_GW_PID} + return 1 + fi + fi + + echo "${SERVICE_NAME} not running" + return 3 +} + +get_pid() { + cat ${ZABBIX_JAVA_GW_PID} 2> /dev/null +} + +pid_running() { + kill -0 $1 2> /dev/null +} + +case "$CMD" in + start) + start + ;; + stop) + stop + ;; + restart) + restart + ;; + status) + status + ;; + run) + run + ;; + *) + echo "Usage $0 {start|stop|restart|status}" + RETVAL=1 +esac diff --git a/zabbix-logrotate.in b/zabbix-logrotate.in new file mode 100644 index 0000000..8a3e0cb --- /dev/null +++ b/zabbix-logrotate.in @@ -0,0 +1,8 @@ +/var/log/USER/zabbix_COMPONENT.log { + missingok + monthly + notifempty + compress + copytruncate + su USER USER +} diff --git a/zabbix-proxy.firewall b/zabbix-proxy.firewall new file mode 100644 index 0000000..b442d6b --- /dev/null +++ b/zabbix-proxy.firewall @@ -0,0 +1,17 @@ +## Name: zabbix-proxy +## Description: Opens ports for zabbix-proxy + +# space separated list of allowed TCP ports +TCP="10051" + +# space separated list of allowed UDP ports +UDP="" + +# space separated list of allowed RPC services +RPC="" + +# space separated list of allowed IP protocols +IP="" + +# space separated list of allowed UDP broadcast ports +BROADCAST="" diff --git a/zabbix-proxy.service b/zabbix-proxy.service new file mode 100644 index 0000000..f0b9843 --- /dev/null +++ b/zabbix-proxy.service @@ -0,0 +1,12 @@ +[Unit] +Description=Zabbix Proxy +After=syslog.target network.target mysql.service postgresql.service + +[Service] +Type=simple +ExecStart=/usr/sbin/zabbix_proxy -f +User=zabbixs +PrivateTmp=yes + +[Install] +WantedBy=multi-user.target diff --git a/zabbix-server.firewall b/zabbix-server.firewall new file mode 100644 index 0000000..7c53a99 --- /dev/null +++ b/zabbix-server.firewall @@ -0,0 +1,17 @@ +## Name: zabbix-server +## Description: Opens ports for zabbix-server + +# space separated list of allowed TCP ports +TCP="10051" + +# space separated list of allowed UDP ports +UDP="" + +# space separated list of allowed RPC services +RPC="" + +# space separated list of allowed IP protocols +IP="" + +# space separated list of allowed UDP broadcast ports +BROADCAST="" diff --git a/zabbix-server.service b/zabbix-server.service new file mode 100644 index 0000000..7153acf --- /dev/null +++ b/zabbix-server.service @@ -0,0 +1,13 @@ +[Unit] +Description=Zabbix Server +After=syslog.target network.target mysql.service postgresql.service + +[Service] +Type=simple +ExecReload=/usr/sbin/zabbix_server -R config_cache_reload +ExecStart=/usr/sbin/zabbix_server -f +User=zabbixs +PrivateTmp=yes + +[Install] +WantedBy=multi-user.target diff --git a/zabbix-tmpfiles.conf b/zabbix-tmpfiles.conf new file mode 100644 index 0000000..b68725e --- /dev/null +++ b/zabbix-tmpfiles.conf @@ -0,0 +1 @@ +D /run/zabbix 0770 root zabbix - diff --git a/zabbix40.changes b/zabbix40.changes new file mode 100644 index 0000000..324d640 --- /dev/null +++ b/zabbix40.changes @@ -0,0 +1,720 @@ +------------------------------------------------------------------- +Thu Aug 29 08:46:12 UTC 2019 - Boris Manojlovic + +- updated to latest release 4.0.11 +- New Features and Improvements + + ZBX-9522 Improved frontend messaging usage across multiple browser tabs +- Bug Fixes + + ZBX-16501 Fixed log out form being resubmitted when user is already logged + back in another tab + + ZBX-16072 Added more strict validation of host, template and proxy names + to prohibit leading and trailing spaces + + ZBX-16128 Fixed incorrect action id in audit log + + ZBX-16354 Fixed incorrect sorting by name with capital letters + + ZBX-16346 Fixed compilation for oracle instant client v18.5 and higher + + ZBX-16424 Fixed unable to create/update web scenario from internet explorer/edge + + ZBX-16471 For consistency reason changed translation string 'resolved by user.' + to 'resolved by inaccessible user.' + + ZBX-16469 Fixed problem that caused impossibility to edit trigger + description in problems screen + + ZBX-16362 Fixed keyboard event handling in graph widget hintbox + + ZBX-16474 Fixed 'request-uri too long' error in problems mass update page + + ZBX-16184 Updated zabbix sender man page + + ZBX-16462 Fixed syntax error in sql query used to calculate sla in monitoring->services + + ZBX-16031 Reworked event update controller, making partly closed set of events closable + + ZBX-16283 Fixed read-only shared dashboard without widgets missing placeholder label + + ZBX-16316 Fixed dashboard widget and slideshow menu popup not + updating current refresh rate and fixed a js error in slideshows + + ZBX-16346 Fixed compilation for oracle instant client v18.5 and higher + + ZBX-16424 Fixed unable to create/update web scenario from internet explorer/edge + +------------------------------------------------------------------- +Mon Aug 26 12:02:52 UTC 2019 - Marketa Calabkova + +- restructured for easier maintenance because of bsc#1144018 and FATE#324346 + * many thanks to Boris Manojlovic, Kristyna Streitova, Matthias Gerstner + and Tomas Chvatal for their help + * skipped renaming of binaries + * updated Apache config file + * added logrotate to rotate logs + * and other changes +- added README-SSL.SUSE to tell users how to configure SSL + +------------------------------------------------------------------- +Wed Aug 14 08:22:49 UTC 2019 - Boris Manojlovic + +- updated to latest release 4.0.11 +- New Features and Improvements + - ZBXNEXT-4502,ZBXNEXT-5176 Added support of full jsonpath functionality + - ZBXNEXT-5205 Blocked zero item history/trends + period being overridden by global configuration +- Bug Fixes + + ZBX-16376 Fixed preprocessing steps having incorrect order + and duplicate step numbers + + ZBX-16344 Fixed possibility to add graph widget overrides + + ZBX-16388 Fixed lld to update preprocessing step number + in case it is incorrectly generated + + ZBX-16337 Fixed debug log message for suppressed escalations; + thanks to kotaro miyashita for the patch + + ZBX-16287 Fixed compiler warnings in host.c; thanks to + glebs ivanovskis for the patch + + ZBX-16103 Reduced pcre recursion limit + + ZBX-16289 Fixed async dashboard widget update + + ZBX-13266 Improved performance of the sql queries + with lot of ids in the condition + + ZBX-16277 Fixed compilation zabbix agent for windows with + options available for windows vista and newer + + ZBX-16239 Fixed compilation warining related to prototypes + of module api functions + + ZBX-16256 Eliminated possible infinite fetch loop with oracledb + + ZBX-15343 Fixed js memory leak in hintboxes in graph widget + + ZBX-16329 Fixed duplicate value checking in trigger action conditions + + ZBX-15562 Reworked history.get api method; fixed output + as well as other known issues in history api + + ZBX-16135 Fixed error messages in xml export files + + ZBX-16213 Fixed postgresql bad performance on history tables + + ZBX-16176 Preserve trailing spaces in history values + + ZBX-16169 Improved performance of map navigation tree widget + + ZBX-16288 Fixed when unknown resource logged in + audit log when working with dashboards + + ZBX-16134 Fixed duplicate triggers can be created + using api and xml import + + ZBX-15969 Fixed displaying of very small values that + are more than 2 decimal points in latest data + + ZBX-16280 Fixed when plain text widgets do not display + as html when option is selected + + ZBX-16012 Fixed confusing error message "cannot read json." in http agent item + + ZBX-16270 Fixed memory leak in ipc service when queueing multiple messages to client + + ZBX-16204 Fixed undefined offset in ccontrollerwidgetproblemhostsview + + ZBX-15962 Added mounted filesystems to vfs.fs.discovery of windows agent + + ZBX-16315 Fixed zabbix server not to cause foreign key constraint failure + on zabbix proxy when changing and sending configuration at the same time + + ZBX-16153 Fixed 500 internal server error when trying to preview pie/exploded graph without items + + ZBX-9867 Improved zabbix daemon termination by not using signal + unsafe functions in signal handler; improved zabbix server and zabbix proxy + process termination by stopping data collection and waiting for history syncers to finish + +------------------------------------------------------------------- +Mon Jul 1 18:33:44 UTC 2019 - Boris Manojlovic + +- updated to latest release 4.0.10 +- New Features and Improvements + + ZBXNEXT-2880 Added access to vmware datastore at vmware vcenter level + + ZBXNEXT-5163 Added display of maintenance information in configuration + section for hosts in maitenance + + ZBXNEXT-5036 Added preloader for popup menus + + ZBXNEXT-287 Added ssl support for agent http checks + + ZBXNEXT-5179 Added option to specify absolute path in loadmodule; + thanks to glebs ivanovskis for the patch +- Bug Fixes + + ZBX-16315 Fixed zabbix server not to cause foreign key constraint failure + on zabbix proxy when changing and sending configuration at the same time + + ZBX-9867 Improved zabbix daemon termination by not using signal unsafe + functions in signal handler; improved zabbix server and zabbix proxy process + termination by stopping data collection and waiting for history syncers to finish + + ZBX-16152 Fixed not data loss on saving host prototypes by user with insufficient permissions + + ZBX-15952 Fixed errors when trying to create a graph widget for key + system.cpu.util[,iowait] with y axis placed on the left side of the graph + + ZBX-15899 Added output sanitization to prevent invalid utf-8 sequences + in regexp-based text replacement + + ZBX-16073 Fixed horizontal scrolling in map + + ZBX-15943 Fixed discovered hosts are not removed from table "dhosts" after + removing and adding the corresponding discovery check + + ZBX-15875 Fixed colors for the multiselect disabled elements + + ZBX-10948 'it services --> service time --> note' infinite stretching + + ZBX-16142 Fixed missing sys/ioctl.h from src/libs/zbxsysinfo/openbsd/net.c; + thanks to andrea biscuola for the patch + + ZBX-16166 Fixed zabbix fping feature detection does not work with fping builds since 10 feb 2017 + + ZBX-16178 Fixed distributive can contain untracked backup file include/config.h.in~ + + ZBX-16170 Fixed crash in global event correlation + + ZBX-16096 Fixed "system.cpu.util" reporting incorrect cpu utilisation due to guest time + sometimes not being fully included in user time by "/proc/stat" + + ZBX-15882 Fixed widgets flickering on refresh + + ZBX-15974 Improved trigger expression list in trigger modal form + + ZBX-14441 Fixed windows agent "eventlog" key for reading big event log files of windows 2003 + + ZBX-16109 Fixed hidden error in graphs for php 7.3.5 + + ZBX-16093 Fixed regular expression file systems for discovery does not contain apfs + + ZBX-16080 Fixed setup page to not to use bclib + + ZBX-15797 Fixed dashboard map widget sub-map link behaviour + + ZBX-15049 Fixed to host group limited global scripts to be usable in sub group + + ZBX-16138 Fixed return value type and added preprocessing steps for items in remote + internal checks tamplates; fixed unsigned write cache value for remote internal checks + + ZBX-15963 Fixed http agent support of non-http scheme in url field + + ZBX-16151 Fixed theoretical possibility of large numbers in json data being truncated, + added boolean value support to json parser + + ZBX-15778 Fixed wrong filtering by "age less than" and "show suppressed problems" in trigger overview + + ZBX-15585 Fixed web scenarios pair manager issue when fields are duplicating on post type toggle + + ZBX-16150 Fixed inactive, unmounted, unaccessible vmware datastore causes + unknown column nan insertion in field list + + ZBX-16122 Fixed api validation of trigger dependency + +------------------------------------------------------------------- +Tue Jun 11 12:17:33 UTC 2019 - Boris Manojlovic + +- updated to latest release 4.0.9 +- Bug Fixes + + ZBX-15905 Reverted changes that introduced error with + write permissions in assets directory + +------------------------------------------------------------------- +Fri May 31 14:01:10 UTC 2019 - Boris Manojlovic + +- updated to latest release 4.0.8 +- New Features and Improvements + + ZBX-16069 Upgraded jquery version v1.10.2 -> v3.3.1 + and jqueryui v1.10.3 -> v1.12.1 +- Bug Fixes + + ZBX-16032 Changed application filtering to partial name search + + ZBX-15915 Fixed linking error if round() is undefined + + ZBX-16074 Added file revision number generation for + compilation on ms windows + + ZBX-15833 Fixed scrollbar in overlay popups + + ZBX-16058 Fixed error in ipmi poller causing growing queue + + ZBX-16047 Fixed division by zero error in svg graph widget if selected + time period is so small that calculated step between 2 milestones is 0s + + ZBX-15936 Removed "change password" button when cloning media types + + ZBX-11272 Changed sorting by type, fixed information disclosure and + formatting of recipient name in action log screen item and dashboard widget; + added new sortfields to alert api + + ZBX-15416 Fixed locale validation in user create and update api methods + + ZBX-15877 Fixed tab key navigation for safari and edge browsers + + ZBX-15891 Fixed trigger dependencies are ignored when changing only trigger state + + ZBX-13029 Fixed api validation messages for linktrigger + + ZBX-15967 Fixed buffer offset for reading hardware info from long dmi files + + ZBX-16018 Fixed detection of logical functions (or / and) inside + the context of user macros + + ZBX-14782 Deliver human friendly uptime in dashbord + + ZBX-11325 Fixed transparency of draggable interfaces; changed cursor + type for all draggable and sortable elements + + ZBX-16048 Fixed global search box loosing the search phrase after searching + + ZBX-10729 Fixed map element link coloring when linked problem is acknowledged + + ZBX-15101 Fixed several object ids allowing them to be 64 bit integers, + added asterisk for map navigation tree name field and changed + the error message to more generic one + + ZBX-16050 Fixed http poller crashes + + ZBX-15871 Fixed problem events to be filtered by "suppressed" + instead of "related to maintenance" + + ZBX-10550 Added warnings when zabbix components have different versions + + ZBX-11284 Removed sid url argument for form cancel buttons + + ZBX-11429 Fixed macro not being retained in trigger expression editing wizard + + ZBX-15816 Increased header value input field max length + + ZBX-15677 Fixed the process of compiling the dummy.c module + + ZBX-15981 Fixed invalid xpath for vmware "eventlog" key with "skip" option + + ZBX-15704 Fixed sending log meta information without obvious needs + + ZBX-15905 Added versioning of browser cached files + + ZBX-15956 Reduced configuration cache fragmentation + when reloading time based triggers + + ZBX-15998 Improved performance of "remove host", "remove from host group", + "unlink from template" operations when processing network + discovery events and using mysql database + + ZBX-15935 Fixed infinite loop and 100% cpu usage + when using openipmi 2.0.26 or newer + + ZBX-16005 Fixed "{{item.value}.regsub(,}" and + "{{item.lastvalue}.regsub(,}" being resolved to *unknown* during upgrade + + +------------------------------------------------------------------- +Wed Apr 24 14:07:54 UTC 2019 - Boris Manojlovic + +- updated to latest release 4.0.7 +- Bug Fixes; + + ZBX-16019 Fixed host.conn, host.ip, ipaddress and host.dns + macros expansion in global scripts + + ZBX-16020 Fixed uncontrolled memory allocation in regex preprocessing steps + + ZBX-15911 Fixed guest sign in visibility for disabled guest + user group in login page + + ZBX-15977 Fixed validation of host interface when multiple + interfaces set as main interface + + ZBX-15955 Fixed security vulnerability - accepting connections + from not allowed addresses + + ZBX-11393 Fixed when long snmp oid expands screen dimensions + + ZBX-15464 Fixed error message for image uploads + + ZBX-10243 Fixed not encoded ampersand for in url parameter + + ZBX-15972 Fixed possible crash of the windows agent when + used "net.dns" item key + + ZBX-15674 Fixed map status to be displayed ok if there + are no problem in submaps + + ZBX-15970 Fixed invalid update intervals being reported + on zabbix server when monitored through zabbix proxy + + ZBX-15643 Fixed invalid to valid numbers conversion by del_zeros + + ZBX-15444 Fixed trimming allowed characters from numeric values + + ZBX-15409 Improved zabbix java gateway error logging + usability by adding item key to error message + + ZBX-15844 Fixed inability to start zabbix server if alert manager + process is late after alerters; thanks to mikhail makurov for the patch + + ZBX-11043 Implemented a better network discovery filter + + ZBX-10937 Fixed top right global search field autocomplete not showing + results when host name is being typed not first character and technical + name when it differs from visible name + + ZBX-10861 Changed user name and password fields from being mandatory to + optional in web scenarios and http agent type items + + ZBX-10889 Improved logging performance when high debuglevel is used + + ZBX-15762 Fixed api returns "countoutput", "select*": "count" results and + "suppressed" property as integer + + ZBX-15642 Fixed bigint limit in the user group updating forms + + ZBX-2494 Fixed sorting of items, item prototypes, lld rules and screens + to avoid deadlocks in database between server and frontend + + ZBX-15768 Fixed line length above widgets on global search page + + ZBX-10404 Fixed password being passed in plain text in media type edit form + + ZBX-15734 Fixed dashboard widgets incorrect placement while dragged + + ZBX-15563 Fixed svg graph metric generation in situation when metric have big values + + ZBX-15139 Fixed element removing from list in different tabs or browsers + + ZBX-15779 Fixed loss of host name in tooltip on trigger overview page + + ZBX-15898 Fixed compilation warning regarding too large integer constant + + ZBX-15338 Fixed last problem name being displayed on map instead of most critical + + ZBX-15929 Fixed escalation operation not being send multiple times + + ZBX-15721 Fixed escaping of control characters in json encoder + + ZBX-15507 Fixed item/trigger/graph copy form provides read-only host groups + in target list; replaced form elements with multiselect + + ZBX-15746 Fixed link to pie graph after selecting a time interval on classic graph + + ZBX-15784 Fixed multiselect does not support case sensitive auto-complete + + ZBX-10799 Changed placeholder for http proxy input fields + + ZBX-13014 Fixed map on screen is not centered + + ZBX-9229 Fixed sending first value of the log as separate message + + ZBX-15479 Fixed cookie presentation in http header + + ZBX-15516 Fixed trapper process title to not update time in case of interruption + + ZBX-15588 Fixed function names that are written to the log file when + using log_level_debug + + ZBX-9150 Fixed update intervals of items in vmware templates + + ZBX-15481 Fixed showing wrench icon for hosts that are in maintenance, + but maintenance is inaccessible due to insufficient permissions + + ZBX-15629 Fixed trigger wizard form re-submit + + ZBX-15850 Fixed problems by severity filter ignoring host group filter + + ZBX-15853 Fixed empty parent group not listed in the latest data filter + + ZBX-11025 Added "unknown command error" to mysql recoverable error list + + ZBX-15870 Fixed redundant jsloader loading in login page + + ZBX-15858 Fixed item filtering by application name; added 'select' button + for dashboard widget and screen item application fields + + ZBX-15851 Fixed lld item displaying in queue details view + + ZBX-15639 Fixed labels overlapping on classic graph x axis + + ZBX-15592 Fixed database monitoring 'dns' item key expressing it as mandatory + + ZBX-15859 Fixed map.create could attach elements only for first map + in request when multiple maps are created with one request + + ZBX-15769 Fixed new widget placeholder being shown outside maximum + allowed dashboard height area + + ZBX-15708 Fixed browser build in autofill for passwords field on media + type form on authentication ldap form and on user edit form + + ZBX-10392 Fixed application filter persistence when navigating from + maps page to triggers views page or latest data page + + ZBX-15754 Removed unnecessary request for non-existing map background + + ZBX-15715 Added missing keys "zabbix.stats[,]", "zabbix.stats[,,queue,,]" + and "zabbix[stats,,,queue,,]" in item key helper + + ZBX-15672 Fixed positioning of the overlay dialogue window in map constructor + + ZBX-15609 Added missing optional parameter "" for "vfs.dir.count" + and "vfs.dir.size" item keys in item helper + + ZBX-15404 Fixed action condition type and operator integrity + + ZBX-15913 Fixed possible crash when sending custom alerts + + ZBX-15872 Fixed possible deadlock on host table when processing auto + registration contents from zabbix proxy + + ZBX-11203 Added blocking of sigint and sigterm signals on each step of + automatic upgrade to avoid interruption of statements that cannot be rolled back + + ZBX-8451 Fixed global regular expression testing not matching actual + behavior of zabbix components due to missing multiline flag + + ZBX-13347 Fixed possible crash in history syncer process when processing discovered item value + + ZBX-15831 Fixed slow request of vmware configuration update + + ZBX-15920 Fixed nodata() function triggering after maintenances with + no data collection without waiting for the nodata period + + ZBX-13478 Fixed item prototype update intervals to eliminate trigger status flapping + + ZBX-10611 Fixed changing process user owner on startup + in foreground when allowroot disabled + + ZBX-15826 Optimized unsupported macros parsing + + ZBX-15742 Fixed network discovery is not reacting to the changes + in agent configuration if uniqueness criteria is value + + ZBX-15634 Fixed database monitor item does not use stored credentials; + thanks to jose deniz for the patch + +------------------------------------------------------------------- +Mon Apr 1 08:45:14 UTC 2019 - Boris Manojlovic + +- updated to latest release 4.0.6 +- New Features and Improvements + + ZBXNEXT-5105 added context menu for trigger name in event details page + + ZBX-15286 dropped support use of discovered items as master + + ZBXNEXT-4898 added support IPv6 for "net.dns" and "net.dns.record" + + ZBXNEXT-5037 added "skip" parameter for vmware.eventlog key + + ZBXNEXT-4819 implemented date and time showing in SVG graph widget +- Bug Fixes + + ZBX-15839 fixed broken layout of the breadcrumbs in Safari browser + + ZBX-15867 fixed invalid DNS being accepted when receiving discovery + contents from Zabbix proxy + + ZBX-15821 fixed SQL statement performance used in template.unlink() method + + ZBX-15578 fixed IPMI errors in case of infrequent reading of values + + ZBX-15098 fixed undefined index in application selection popup window + + ZBX-15351 fixed PHP error in "Problems by severity" if no problems + + ZBX-15552 fixed compilation with LibreSSL as OpenSSL replacement + and OpenSSL without PSK support + + ZBX-10317 made info column on item list page always visible + + ZBX-15322 fixed graph area near grid line with 0 value + + ZBX-15798 fixed proxy configuration update failure on Oracle; + fixed failure on empty SQL buffer on Oracle + + ZBX-15219 fixed unwanted removing scenario post fields on scenario update + + ZBX-11278 reworked property state indicator in mass update screens + + ZBX-15716 fixed escalation cancel message is called if escalation + interrupts with unfinished step or recovery + + ZBX-15468 fixed LDAP configuration form not being able to save changes + when user password field is empty string + + ZBX-15669 fixed page scroll after widget being added to dashboard + + ZBX-15548 fixed resolving of {ITEM.VALUE} macro in the trigger description + + ZBX-15774 fixed memory leak in housekeeper when elasticsearch is used + + ZBX-15788 fixed crash when substituting LLD macros in calculated + item formula expression + + ZBX-15608 fixed when Widget Graph show disabled trigger/problem + + ZBX-10397 fixed when global messaging severities unchecked if profile + saved earlier + + ZBX-15596 fixed when widget in frontend can be created larger + than API validation supports + + ZBX-15308 fixed timeselector in screens when page is opened + with link containing sid argument + + ZBX-15694 fixed trimming of empty spaces for custom multiplier + in item and item prototype preprocessing forms + + ZBX-15196 fixed "Follow redirects" checkbox not being enabled by + default for HTTP agent in item, item prototype and LLD rule create forms + + ZBX-15670 fixed inefficient vmware eventlog downloading + + ZBX-15483 fixed undefined index in Item Prototype update + + ZBX-15270 fixed graph widget configuration form cross browser issues + + ZBX-15300 fixed widgets extra space at the bottom + + ZBX-8091 added alphabetic ordering of net.dns.record respond + + ZBX-15707 fixed check box design when drag and drop an interface into SNMP + + ZBX-15535 fixed validation of min/max value range in graph widget; + fixed translation string in graph widget + + ZBX-15648 removed unused WIDGET_HAT_EVENTACTIONMCMDS + and WIDGET_HAT_EVENTACTIONMSGS constants + + ZBX-15386 fixed Trigger overview not showing OK triggers + + ZBX-14538 fixed error message when value of lifetime + or history/trends storage period is out of range + + ZBX-15614 fixed validation of y axis item on classic graph create and update + + ZBX-15226 fixed missing visual gap under page title + + ZBX-15560 fixed incorrect URL argument formatting when parameters + are non-indexed arrays + + ZBX-15719 fixed undefined index in trigger expression popup + + ZBX-15332 fixed dashboard svg graph update on timeselector interval change + + ZBX-15728 fixed agent startup problem in Win 2008 R2 w/o SP1, + removed dependency on version helper API + + ZBX-15622 fixed trigger expression test dialog not being usable + with long trigger expressions + + ZBX-13332 fixed Request-URI Too Long errors in PopUps; + fixed lost focus, when closing error popup + + ZBX-15607 fixed possibility of zombie processes occurring + when signaling agent during metric execution + + ZBX-10496 fixed links to installation instructions in README file + + ZBX-15625 removed links leading to media type edit form for + non-superadmins in Reports->Notifications page + + ZBX-15703 fixed use of uninitialized variable when receiving 0 bytes on listening socket + + ZBX-15537 fixed visual bug when filter tab was overlapped by sub navigation + + ZBX-15539 fixed validation of master item in item update form + + ZBX-15532 fixed undefined index error on problems page when trigger expression contains web items + + ZBX-15488 fixed permission check for inherited triggers + + ZBX-15646 fixed web-server 'Request-URI Too Long' error in trigger description dialog + +------------------------------------------------------------------- +Mon Feb 25 20:07:06 UTC 2019 - Boris Manojlovic + +- updated to latest release 4.0.5 +- New Features and Improvements + + ZBXNEXT-5046 added non-destructive resizing and reordering of dashboard widgets + + ZBXNEXT-401, ZBXNEXT-4907, ZBXNEXT-4955 added monitoring of internal + metrics from an external Zabbix instance +- Bug Fixes + + ZBXNEXT-4941 changed overflow statements to execute one + by one for Oracle for better performance + + ZBX-15664 fixed "Undefined index" errors on maps with enabled automatic icon mapping + + ZBX-15667 fixed wrong default Zabbix server status for new installation + + ZBX-15512 fixed performance issues and significant memory consumption on + several pages which contains host popup menus + + ZBX-15512 fixed performance issues in "Problems by severity" widget + + ZBX-15593 fixed database upgrade patch to stop upgrade on commit failure + + ZBX-15611 fixed crash in configuration syncer when there are groups with + same name and when removing preprocessing steps from item + + ZBX-15242 fixed value trimming and duplicate catching in SVG graph pattern fields + + ZBX-15250 fixed selection box height calculation in classic graph + + ZBX-15316 fixed problem with socket inheritance preventing Windows + agent from restarting under certain circumstances + + ZBX-15379 fixed -Wimplicit-fallthrough warnings when compiling with GCC 7 and -Wextra + + ZBX-15179 fixed when message about blocking user login is displayed only on next login attempt + + ZBX-15494 fixed handling numbers that written in scientific notation + + ZBX-15533 fixed cutting and trimming event tags and values + + ZBX-15442 fixed reporting idle time in datasender's process state information + + ZBX-15424 fixed when multiselect doesn't trim values and recognizes + untrimmed values as new ones + + ZBX-14644 fixed maintenance time periods "start_date" field being + reset to "1920" instead of DB default value when updating via edit form + + ZBX-15271 added link to documentation in all man pages + + ZBX-15422 fixed SQL errors when linked template have item prototype with equal key as host item + + ZBX-15456 fixed incorrect style property in Monitoring->Problems; removed unused id from filter form + +------------------------------------------------------------------- +Wed Feb 6 10:24:34 UTC 2019 - boris@steki.net + +- updated to latest release 4.0.4 +- New Features and Improvements + + ZBXNEXT-4872 reworked SVG graph x-axis timeline + + ZBXNEXT-4873 implemented single dot datasets to be drawn as points + in line vector graphs + + ZBX-14876 added a new optional parameter to + items vfs.dir.size[] and vfs.dir.count[] + + ZBXNEXT-4792 added column "Latest values" in Monitoring->Problems and Dashboard + + ZBX-15202 implemented widget pausing methods in dashboard; made graph widget + paused when using selection box or opening a tooltip + +- Bug Fixes + + ZBX-15412 fixed Name column overlaps the Application column in the Template view + + ZBXNEXT-4872 reverted SVG graph timeline changes to previous state + + ZBX-15577 fixed restricted user access to the host name when calling host_screen + + ZBX-13335 fixed low performance with linkage of items and item prototypes to a lot of hosts + + ZBX-15435 fixed "Undefined index" errors in the "Problems" widget with multiple active + maintenances which part of these are inaccessible + + ZBX-15417 changed vmware collector to perform datastore configuration refresh only when + directly monitoring ESXi version lower than v6.0 + + ZBX-14896 fixed low performance of the SQL statement when link template to many hosts + + ZBX-15220 fixed displaying of last value for values received in the same second + + ZBX-15451 fixed event correlation when "Event tag pair" condition is used and + tag contains special characters + + ZBX-15460 reset agent availability when host status changes, e.g., when host gets disabled + + ZBX-15331 updated LLD item creation/updating error messages + + ZBX-15465 removed html non-breaking space from visiblity checkbox labels + + ZBX-15307 fixed upper level maps positioning in Monitoring Map screen + + ZBX-15428 improved regular expression performance by studying compiled pattern + + ZBX-11761 added warnings in case of TLS identity mismatch + + ZBX-15373 fixed removal of trigger when deleting discovered item; fixed removal of + dependent child items when removing master item + + ZBX-14613 fixed hostgroup.delete and host.delete API methods to validate maintenance constraint + + ZBX-14863 fixed authentication settings form of LDAP anonymous binding + + ZBX-15374 fixed SQL and PHP errors on chart3.php page + + ZBX-15301 fixed monotonous lag behind in Windows "system.localtime" + + ZBX-15377 fixed error messages for arrays in GET parameters + + ZBX-15369 fixed "Undefined index: label" in map.update() method + + ZBX-15376 fixed "Undefined index: refresh" on several pages with disabled guest user + + ZBX-15375 fixed web scenario step name can consist only of whitespaces + + ZBX-15375 fixed undefined index on Web scenario configuration page + + ZBX-15372 fixed SQL and PHP errors on "Slide shows" page when enter slides.php witout GET parameters + + ZBX-15359 fixed undefined index in maintenance.create and maintenance.update API calls + + ZBX-15358 fixed undefined index in configuration.import API call without one or several rules + + ZBX-15355 fixed undefined index in configuration.import API call + + ZBX-14926 fixed empty "inventory" property being returned by API if inventory mode is disabled + + ZBX-15354 fixed undefined index in API calls without "auth" parameter + + ZBX-15399 fixed IPv4 connections not being accepted when IPv6 mask is used + + ZBX-14331 fixed error allowing users to change type of a host interface that already has items attached + + ZBX-15254 fixed incorrect matching string highlight in multiselect autocomplete box + + ZBX-15136 fixed displaying 'Plain text' on the dashboard as html + + ZBX-15313 fixed unit suffix support in calculated item expressions + + ZBX-15224 fixed failed query errors when receiving non UTF-8 history values + + ZBX-14592 fixed calculation of SLA and availability report when problem has negative duration + + ZBX-13804 fixed generic popup form submission + + ZBX-15156 fixed undefined offset error in host screen with web item + + ZBX-14980 fixed problem with filter by itemids and hostids in history.get + + ZBX-14624 fixed agent collector not releasing connection to missing/removed disk devices + + ZBX-15279 fixed handling of LLD processing errors that should have resulted in not supported LLD rule state + + ZBX-15241 fixed escaping regexp symbols in preprocessing output parameter when creating item by LLD + + ZBX-14604 fixed displaying of the graph name on screens + + ZBXNEXT-4588 renamed 'display options' tab to 'displaying options'; fixed multiple layout issues, footnote in hint-box, + field value handling, calculation of mouse position, multiple issues related with Y axis and problem styling + + ZBX-15159 fixed existing context menu closing when new one is opened + + ZBX-15233 renamed fuzzytime() function description in dropdown list + + ZBX-12801 excluded zabbix_sender.dll from MS Windows builds with TLS + + ZBXNEXT-4883 fixed when trigger in problem state hides all dependent triggers in history view + + ZBX-15260 improved misleading warning message when agent fails to find log file during processing logrt[] item + + ZBX-15258 fixed update interval of "Zabbix queue" item in server's template to be consistent with proxy template, + added missing units in proxy template + + ZBX-15225 improved handling of timeouts in "vfs.dir.size" and "vfs.dir.count" items on Windows agent + + ZBX-15333 fixed zoomout on doubleclick in graph widget + + ZBX-15236 fixed display parent host groups without hosts in multiselect + + ZBX-15206 fixed deprecated net-snmp attribute + + ZBX-15067 fixed configuration sync of interfaces without hosts + + ZBX-15238 fixed updating nextcheck time in discovery rules to + avoid overlaps between discovery executions + + ZBX-13673 fixed regexp validation when pattern contain slash character + + ZBX-14528 fixed incorrect keycode handling in multiselect input fields + + ZBX-15124 fixed trigger overview behavior when show "any" + + ZBX-14648 ixed performance with deletion of item in template linked to many hosts + + ZBX-9011 added new LLD macros for vmware HV low-level discovery + + ZBX-15105 fixed colorpicker tooltip update + + ZBX-14928 fixed "check now" being executed for active items and templates + + ZBX-15153 fixed custom interval validation; fixed parsing of custom + intervals when user macros context contains forward slash + + ZBX-15069 fixed community default value in edit scenario + + ZBX-9038 fixed memory of performance counters consumed during vmware update + + ZBX-8383 updated Tomcat template for compatibility with recent Tomcat versions + + ZBX-15078 fixed API authentication for ldap users having gui access disabled + + ZBX-14880 fixed misleading ldap authentication error messages + + ZBX-14877 fixed style of disabled action on high contrast theme + + ZBX-14606 removed strict-transport-security header from frontend + + ZBX-15020 fixed negative time selector offset when selecting time range in graph + + ZBX-14977 fixed creation of unneeded database record if host prototype inventory + mode is disabled; fixed validation for host and host prototype inventory mode + + ZBX-15146 fixed SQL error occurred when too long IP address is attempted to be written in database + + ZBX-15148 fixed web scenario item selection in SVG graph widget + + ZBX-15107 fixed error handling in logrt[] items if regular expression for file name is not valid + + ZBX-14800 fixed resolving of functional macros in graph widget name + + ZBX-15200 fixed host, trigger and item count calculation; fixed required performance calculation + + ZBX-15158 fixed graph name for cache usage in proxy and server templates + + ZBX-15178 fixed wrong behaviour when referencing unexisting capture groups + in item regexp preprocessing, general pcre code improvements + +------------------------------------------------------------------- +Thu Nov 29 08:59:53 UTC 2018 - boris@steki.net + +- updated to latest release 4.0.2 +- New Features and Improvements + + ZBXNEXT-3848 added validation of update interval, custom interval, + history storage period and trend storage period in low-level discovery + + ZBXNEXT-4841 removed hardcoded locations for iconv.h and pthread.h; + thanks to Helmut Grohne for the patch + + ZBXNEXT-3047 fixed compilation errors on Windows platform with + static OpenSSL libraries + + ZBXNEXT-4836 added license information and OpenSSL linking exception + to README file, show crypto library version when started with '-V' + + ZBXNEXT-4725 added filter fields to select templates and hosts by directly linked templates; + made proxy filter field visible in configuration hosts field + + ZBXNEXT-4796 added 'fullscreen' and 'kiosk' URL arguments to allow to set layout mode via link + + ZBXNEXT-4782 improve out of memory error message by adding statistics and backtrace; + improve something impossible has just happened error message by adding backtrace + + ZBXNEXT-4271 improved escalator performance by using nextcheck index instead of reading whole table +- Bug Fixes + + ZBX-15171 fixed crash in ODBC when creating JSON from null + db values, fixed memory leak + + ZBX-15045 fixed a case where a disable multiselect looks like + a similar to enabled text field + + ZBX-14927 fixed filter by host group without real hosts + in triggers top 100, dashboard widgets, screens + + ZBX-13662 fixed duplication of file system type in global regular + expression for file systems discovery + + ZBX-15036 added system.cpu.util[,guest], system.cpu.util[,guest_nice] to OS Linux template + + ZBX-15106 improved error messages for item preprocessing, general pcre code improvements + + ZBX-15095 fixed curl error handling for elasticsearch history backend + + ZBX-15129 added optional upgrade patches to rename TRIGGER.NAME + macros to EVENT.NAME in action operation messages and custom scripts + + ZBX-14858 fixed processing of unlimited vmware maxQueryMetrics value + + ZBX-14635 fixed rare LLD failures when moving host between groups + + ZBX-13719 fixed loss of calc_fnc index in graph edit form + + ZBX-14964 improved escalator performance during maintenance + by checking paused escalations less frequently + + ZBX-13793 fixed focus styles on read-only textarea fields + + ZBX-13009 fixed percentage calculation on availability reports list page + + ZBX-15138 fixed error message when receiving compressed data over maximum size + + ZBX-15154 fixed time period parameters in data overview context menu links + + ZBX-15044 fixed javascript error when zooming classic graph in edit mode + + ZBX-15044 fixed dashboard initialization in edit mode + + ZBX-15053 fixed timetamp position in map + + ZBX-15033 fixed zoom-out and select box for graphs in kiosk mode + + ZBX-8396 improved source code comments + + ZBX-14970 fixed wrong media type status upon creation, if chosen status disabled + + ZBX-14899 fixed wrong net.tcp.listen values on obsolete Linux systems + + ZBX-14941 fixed issue with autoreconf/automake for source tarball + + ZBX-15142 fixed time format for vmware performance counters query + + ZBX-15010 fixed regexp compilation error for patterns with referenced subpatterns + + ZBX-14724 fixed breadcrumb jumping in IE browser + + ZBX-15083 fixed API so that macros {TRIGGER.ID} works in map element URLs + + ZBX-15127 fixed possible crash when communication problem occurred + in the middle of vmware update + + ZBX-14396 fixed excessive memory usage during template full clone + + ZBX-14848 clarified process type names for log level increase/decrease + in help messages and man pages + + ZBX-14833 fixed selectHosts option in dservice.get API method + to return the list of hosts by IP and proxy + + ZBX-15062 fixed binary heap trying to reallocate slots on every insert + + ZBX-14805 fixed unauthorized request error when resetting + filter after enabling/disabling elements + + ZBX-14789 fixed translations from en_US to en_GB + + ZBX-14758 fixed encoding for cookie names and values + + ZBX-15122 fixed possible crash in web monitoring due + to posts not being reset between steps + + ZBX-14691 fixed faulty behaviour of mandatory fields in Trigger expression form + + ZBX-13695 added support of host macros to trapper, HTTP agent item allowed hosts field + + ZBX-15022 fixed shared memory leak during configuration cache synchronization + + ZBX-15025 fixed email alerts being sent twice to one recipient + + ZBX-15006 fixed possibility to link map widget to itself as filter widget + + ZBX-14886 fixed undefined offset error in Problems by severity widget + + ZBX-15090 fixed memory leak when validating regular expression + preprocessing step parameters during LLD + + ZBX-14625 changed SNMP OID default value to be displayed + as placeholder instead of text + + ZBX-14505 fixed compiler warning about incompatible pointer type on 32-bit platform + + ZBX-1667 fixed error suppression during php ldap module initialization + + ZBX-13505 fixed link coloring in map when related trigger is not monitored + + ZBX-15032 fixed sBox position in screen's graph item when dynamic + item is enabled + + ZBX-14953 fixed not closed connection with vmware at the end + of update session via a call to Logout() + + ZBX-15007 fixed current map refresh in map widget + right after update widget configuration + + ZBX-14990 added missing http agent statistic row in queue screen + + ZBX-14984 fixed missing focus from problem name when opening + description editing popup in monitoring problems section + + ZBX-14947 fixed configuration update in administration authentication section + + ZBX-14974 fixed memory leak in case duplication name + of the vmware performance counters + + ZBX-14934 made widget specific javascript files to be loaded with jsLoader + + ZBX-15094 fixed the potential crash during vmware update + + ZBX-14966 removed the notes about sqlite from zabbix_server.conf + + ZBX-14875 fixed discovery and auto registration escalations being kept + for one hour instead of deleted immediately + + ZBX-14422 fixed SQL queries being logged when accessing API, + even if debug mode is disabled + + ZBX-14905 fixed error reporting for XML import of hosts and templates + + ZBX-14945 fixed action popup being unclosable after widget refresh, + fixed debug element being hidden on widget refresh + + ZBX-14806 changed focus style for radio buttons + + ZBX-15027 fixed startup failures due to orphaned or zombie processes + remaining when zabbix daemon is terminated during startup + + ZBX-14904 fixed possible PHP errors in "Problem hosts" widget + + ZBX-15057 fixed possible crash when syncing host groups + + ZBX-14807 fixed selection box for graphs on monitoring screens + + ZBX-14779 extended support of system.stat[ent], system.stat[cpu,pc], + system.stat[cpu,ec] on IBM AIX to LPAR type 'dedicated' + + ZBX-14851 fixed the host visible name in the event details/messages + from server when using long utf8 text + + ZBX-14887 fixed max count of records in the single json that proxy can send to the server + + ZBX-14972 fixed the case where data from non-monitored VMware services are not removed from vmware cache + + ZBX-14856 added support for OpenSSL 1.1.1 + + ZBX-14971 added note on runtime control with PID numbers larger than 65535 to server, + proxy and agentd help messages and man pages + + ZBX-14734 fixed the verification of the assignment of two web checks with the same + name from different templates to one host + + ZBX-14749 fixed cloning inherited host prototype on host + + ZBX-14663 fixed calculation of Y zero position in graph + + ZBX-14865 fixed "Field "parent_itemid" cannot be set to NULL" error message + while importing multiple templates + + ZBX-14925 added support of user language specific url link in support icon, + supported languages: english as default, japanese, russian + + ZBX-14854 improved preprocessor worker performance + + ZBX-14798 fixed incorrect zero rounding in date and time fields + + ZBX-14954 fixed sql error in escalator when working with Oracle, + PostgreSQL (less than v9.4) databases + + ZBX-14952 fixed incorrect translation string in en_US locale + + ZBX-14757 fixed fields becoming writable upon form refresh in host prototype form + + ZBX-14915 fixed 'follow redirects' checkbox in web scenario step's dialog + + ZBX-14811 fixed color of the host name in the title of the Screens + + ZBX-14776 fixed sorting when changing status of media type + + ZBX-14711 fixed triggers in trigger overview being filtered by trigger severity and trigger + status change time instead of problem severity and problem creation time + + ZBX-14689 fixed updating of the Graph list of host when selecting a group of hosts + + ZBX-12217 removed links to templates with no permissions for templated triggers, + trigger prototypes, graphs, graph prototypes, host prototypes and web scenarios + + ZBX-14861 fixed trigger evaluation result not visible in test dialogue when expression is too long + + ZBX-14723 fixed zoom button for time selector in IE browser + + ZBX-14888 fixed table markup on overview and system info pages + + ZBX-14652 fixed plain text Latest data when selecting more than 1 item + + ZBX-14618 fixed host prototype status checkbox resets after adding template + + ZBX-14632 fixed minor typos in comments and tests + + ZBX-14834 fixed icon misplacement in problem view + + ZBX-14803 fixed incorrect profile update causing page filter to sometimes show duplicate values + + ZBX-10784 fixed validation of double/Numeric(float) values + + ZBX-14727 fixed selection of data for trigger overview and graphs if first drop down entry is "none" + + ZBX-14615 fixed Java gateway not to mark host unreachable in case of invalid username and password + + ZBX-14585 fixed JMX endpoint not being included in error message in case of connection errors + + ZBX-14650 fixed web.page.regexp item parameters description + + ZBX-14764 fixed crash that could occur when OpenIPMI pollers are configured + + ZBX-14882 fixed crash in vmware collector when receiving invalid xml + + ZBX-14908 fixed crash when processing internal trigger events and deleting triggers at the same time +------------------------------------------------------------------- +Tue Oct 16 22:49:22 UTC 2018 - Boris Manojlovic + +- removed support for jabber protocol as iksemel was removed from + openSUSE:Factory +- fixed configuration paths + +------------------------------------------------------------------- +Mon Oct 2 12:36:00 UTC 2018 - pieter@hollants.com + +- initial packaging of zabbix 4.0.0 + diff --git a/zabbix40.spec b/zabbix40.spec new file mode 100644 index 0000000..d7a3f0e --- /dev/null +++ b/zabbix40.spec @@ -0,0 +1,644 @@ +# +# spec file for package zabbix40 +# +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define server_user zabbixs +%define server_group zabbixs +# keep zabbix user for backwards compatibility of agent +%define agent_user zabbix +%define agent_group zabbix +%define SUSEfirewall_services_dir %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services +Name: zabbix40 +Version: 4.0.12 +Release: 0 +Summary: Distributed monitoring system +License: GPL-2.0-or-later +Group: System/Monitoring +URL: http://www.zabbix.com +Source0: https://sourceforge.net/projects/zabbix/files/ZABBIX%%20Latest%%20Stable/%{version}/zabbix-%{version}.tar.gz +Source1: rn4.0.0.html +Source2: zabbix-tmpfiles.conf +Source3: zabbix-java-gateway.sh +Source4: zabbix-logrotate.in +Source5: apache2-zabbix.conf +Source6: README.SUSE +Source7: zabbix-server.firewall +Source8: zabbix-agentd.firewall +Source9: zabbix-proxy.firewall +Source10: zabbix-java-gateway.firewall +Source11: zabbix-proxy.service +Source12: zabbix-agentd.service +Source13: zabbix-server.service +Source14: zabbix-java-gateway.service +Source15: README-SSL.SUSE +# PATCH-FIX-UPSTREAM zabbix-3.0.25-new-m4-pgsql.patch fix for opensuse issue caused/solved by bnc#1120035 +Patch0: zabbix-3.0.25-new-m4-pgsql.patch +BuildRequires: apache-rpm-macros +BuildRequires: apache2-devel +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: fdupes +BuildRequires: gcc +BuildRequires: java-devel >= 1.6 +BuildRequires: libmysqlclient-devel +BuildRequires: libtool +BuildRequires: logrotate +BuildRequires: net-snmp-devel +BuildRequires: openldap2-devel +BuildRequires: pkgconfig +BuildRequires: systemd-rpm-macros +BuildRequires: unixODBC-devel +BuildRequires: update-alternatives +BuildRequires: pkgconfig(OpenIPMI) +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libevent) +BuildRequires: pkgconfig(libpcre) +BuildRequires: pkgconfig(libpq) +BuildRequires: pkgconfig(libssh2) +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(openssl) +BuildRequires: pkgconfig(sqlite3) +BuildRequires: pkgconfig(zlib) +%{?systemd_requires} + +%description +Zabbix is a distributed monitoring system. + +Zabbix is software that monitors numerous parameters of a network and the +health and integrity of servers. Zabbix uses a flexible notification mechanism +that allows users to configure e-mail based alerts for virtually any event. +This allows a fast reaction to server problems. Zabbix offers excellent +reporting and data visualisation features based on the stored data. This makes +Zabbix ideal for capacity planning. + +Zabbix supports both polling and trapping. All Zabbix reports and statistics, +as well as configuration parameters, are accessed through a web-based frontend. +A web-based frontend ensures that the status of your network and the health of +your servers can be assessed from any location. Properly configured, Zabbix can +play an important role in monitoring IT infrastructure. This is equally true +for small organisations with a few servers and for large companies with a +multitude of servers. + +%package agent +Summary: Local resource monitor agent for Zabbix +Group: System/Monitoring +Requires: logrotate +Requires(pre): %fillup_prereq +Requires(pre): shadow +Conflicts: zabbix-agent + +%description agent +The Zabbix agent monitors local resources and relays information to the server. + +%package server +Summary: System files for the Zabbix server +Group: System/Monitoring +Requires: fping +Requires: logrotate +Requires: zabbix_server_binary = %{version}-%{release} +Requires(pre): %fillup_prereq +Requires(pre): shadow +Conflicts: zabbix-server + +%description server +The Zabbix server component. + +%package proxy +Summary: System files for the Zabbix proxy +Group: System/Monitoring +Requires: fping +Requires: logrotate +Requires: zabbix_proxy_binary = %{version}-%{release} +Requires(pre): %fillup_prereq +Requires(pre): shadow +Conflicts: zabbix-proxy + +%description proxy +The Zabbix proxy component. + +%package phpfrontend +Summary: Zabbix web frontend (php) +Group: Productivity/Networking/Web/Frontends +Requires: apache2 +Requires: php7 +Requires: php7-bcmath +Requires: php7-ctype +Requires: php7-gd +Requires: php7-gettext +Requires: php7-ldap +Requires: php7-mbstring +Requires: php7-sockets +Requires: php7-xmlreader +Requires: php7-xmlwriter +Suggests: php7-mysqli +Suggests: php7-pgsql +Conflicts: zabbix-phpfrontend + +%description phpfrontend +The Zabbix PHP frontend allows access via standard web browsers. + +NOTE: You still have to install the PHP package which contains your db driver! + +%package server-mysql +Summary: Zabbix server with MySQL support +Group: System/Monitoring +Requires: %{name}-server = %{version}-%{release} +Requires: mariadb +Requires(post): update-alternatives +Requires(postun): update-alternatives +Conflicts: zabbix-server-mysql +Provides: %{name} = %{version}-%{release} +Provides: zabbix_server_binary = %{version}-%{release} + +%description server-mysql +The Zabbix server compiled with MySQL support. + +%package server-postgresql +Summary: Zabbix server with PostgreSQL support +Group: System/Monitoring +Requires: %{name}-server = %{version}-%{release} +Requires: postgresql +Requires(post): update-alternatives +Requires(postun): update-alternatives +Conflicts: zabbix-server-postgresql +Provides: %{name} = %{version}-%{release} +Provides: zabbix_server_binary = %{version}-%{release} + +%description server-postgresql +The Zabbix server compiled with PostgreSQL support. + +%package proxy-mysql +Summary: Zabbix proxy with MySQL support +Group: System/Monitoring +Requires: %{name}-proxy = %{version}-%{release} +Requires: mariadb +Requires(post): update-alternatives +Requires(postun): update-alternatives +Conflicts: zabbix-proxy-mysql +Provides: %{name} = %{version}-%{release} +Provides: zabbix_proxy_binary = %{version}-%{release} + +%description proxy-mysql +The Zabbix proxy compiled with MySQL support. + +%package proxy-postgresql +Summary: Zabbix proxy with PostgreSQL support +Group: System/Monitoring +Requires: %{name}-proxy = %{version}-%{release} +Requires: postgresql +Requires(post): update-alternatives +Requires(postun): update-alternatives +Conflicts: zabbix-proxy-postgresql +Provides: %{name} = %{version}-%{release} +Provides: zabbix_proxy_binary = %{version}-%{release} + +%description proxy-postgresql +The Zabbix proxy compiled with PostgreSQL support. + +%package proxy-sqlite +Summary: Zabbix proxy with SQLite support +Group: System/Monitoring +Requires: %{name}-proxy = %{version}-%{release} +Requires(post): update-alternatives +Requires(postun): update-alternatives +Conflicts: zabbix-proxy-sqlite +Provides: %{name} = %{version}-%{release} +Provides: zabbix_proxy_binary = %{version}-%{release} + +%description proxy-sqlite +The Zabbix proxy compiled with SQLite support. + +%package java-gateway +Summary: Zabbix Java gateway +Group: System/Monitoring +Requires: jre +Requires(pre): shadow +Conflicts: zabbix-java-gateway +Provides: %{name} = %{version}-%{release} + +%description java-gateway +JMX monitoring can be used to monitor JMX counters of a Java +application. To retrieve the value of a particular JMX counter on a +host, the Zabbix server queries the Zabbix Java gateway, which in +turn uses the JMX management API to query the application of interest +remotely. + +%prep +%setup -q -n zabbix-%{version} +%patch0 + +cp %{SOURCE6} . +# fix source & config files to respect adapted names +for file in src/zabbix_java/settings.sh src/zabbix_java/lib/logback.xml %{SOURCE3} conf/*.conf misc/init.d/suse/*/zabbix_* src/zabbix_server/server.c \ + src/zabbix_server/alerter/alerter.c src/zabbix_agent/zbxconf.c src/zabbix_agent/zabbix_agentd.c src/zabbix_proxy/proxy.c ChangeLog; do + sed -i -e "s@/home/zabbix/bin@%{_bindir}@g" \ + -e "s@^[# ]*PidFile=/tmp/zabbix_@PidFile=%{_rundir}/%{agent_user}/zabbix_@g" \ + -e "s@^[# ]*LogFile=/tmp/zabbix_@LogFile=%{_localstatedir}/log/%{agent_user}/zabbix_@g" \ + -e "s@^[# ]*DBSocket=/tmp/mysql.sock@DBSocket=%{_rundir}/mysql/mysql.sock@g" \ + -e "s@^[# ]*SocketDir=/tmp@SocketDir=%{_rundir}/%{agent_user}@g" \ + -e "s@DBUser=root@DBUser=zabbix@g" \ + -e "s@^[# ]*DBPassword=.*@DBPassword=zabbix@g" \ + -e "s@Hostname=Zabbix Server@Hostname=Zabbix_Server@" \ + -e "s@GW_PID:=%{_localstatedir}/run/zabbix/zabbix-java-gateway.pid@GW_PID:=%{_rundir}/%{server_user}/zabbix-java-gateway.pid@g" \ + -e "s@GW_LOGFILE:=%{_localstatedir}/log/zabbix/zabbix-java-gateway.log@GW_LOGFILE:=%{_localstatedir}/log/%{server_user}/zabbix-java-gateway.log@g" $file +done + +# fix server, java and proxy (again) config for log and run location... +for file in src/zabbix_java/settings.sh conf/zabbix_proxy.conf conf/zabbix_server.conf ; do + sed -i -e "s#^[# ]*LogFile=%{_localstatedir}/log/.*/zabbix_#LogFile=%{_localstatedir}/log/%{server_user}/zabbix_#g" \ + -e "s#^[# ]*PidFile=%{_rundir}/.*/zabbix_#PidFile=%{_rundir}/%{server_user}/zabbix_#g" \ + -e "s#^[# ]*SocketDir=%{_rundir}/%{agent_user}#SocketDir=%{_rundir}/%{server_user}#g" \ + -e 's#PID_FILE="%{_rundir}/.*/zabbix_#PID_FILE="%{_rundir}/%{server_user}/zabbix_#g' $file +done + +# fix db content to respect adapted names and suse naming conventions +for file in database/*/data.sql; do + sed -i -e "s#syslogd#syslog-ng#g" \ + -e "s#Syslogd#Syslog-ng#g" \ + -e "s#httpd#httpd2-prefork#g" $file +done +##### Fix for date time macros +REF_DATE=$(LANG=C date -r configure +"%%b %%d %%Y") +REF_TIME=$(LANG=C date -r configure +"%%H:%%M:%%S") +sed -i -e "s/__DATE__/\"${REF_DATE}\"/g" -e "s/__TIME__/\"${REF_TIME}\"/g" src/libs/zbxcommon/str.c +##### +##### Fix location of zabbix java gateway location +sed -ri 's@^(ZABBIX_JAVA_CONF=.\{ZABBIX_JAVA_CONF:=).*@\1%{_sysconfdir}/zabbix/zabbix-java-gateway.conf}@g' %{SOURCE3} + +# Remove prebuilt Windows binaries +rm -rf bin + +#make separate directories for each config +cd .. +cp -r zabbix-%{version} zabbix-%{version}-postgresql +cp -r zabbix-%{version} zabbix-%{version}-sqlite +cd - + +%build +ZABBIX_BASIC_CONFIG="--enable-proxy --enable-server --enable-agent --sysconfdir=%{_sysconfdir}/zabbix \ + --with-openipmi --enable-java --enable-ipv6 --with-ssh2 --with-ldap --with-unixodbc \ + --with-libcurl --with-net-snmp --with-libxml2 --with-openssl --with-libpcre --with-libevent" + +# configure MySQL repo (here) +autoreconf -fvi +%configure $ZABBIX_BASIC_CONFIG --with-mysql --without-postgresql --without-sqlite3 +make %{?_smp_mflags} + +# configure PostgreSQL repo +cd ../zabbix-%{version}-postgresql +autoreconf -fvi +%configure $ZABBIX_BASIC_CONFIG --with-postgresql --without-mysql --without-sqlite3 +make %{?_smp_mflags} +cd - + +# configure SQLite repo +cd ../zabbix-%{version}-sqlite +autoreconf -fvi +%configure $ZABBIX_BASIC_CONFIG --disable-server --enable-proxy --with-sqlite3 --without-postgresql --without-mysql +make %{?_smp_mflags} +cd - + +%install +# install the binaries + +%make_install -C ../zabbix-%{version}-sqlite +mv %{buildroot}%{_sbindir}/zabbix_proxy %{buildroot}%{_sbindir}/zabbix_proxy-sqlite + +%make_install -C ../zabbix-%{version}-postgresql +mv %{buildroot}%{_sbindir}/zabbix_server %{buildroot}%{_sbindir}/zabbix_server-postgresql +mv %{buildroot}%{_sbindir}/zabbix_proxy %{buildroot}%{_sbindir}/zabbix_proxy-postgresql + +%make_install +mv %{buildroot}%{_sbindir}/zabbix_server %{buildroot}%{_sbindir}/zabbix_server-mysql +mv %{buildroot}%{_sbindir}/zabbix_proxy %{buildroot}%{_sbindir}/zabbix_proxy-mysql + +mv %{buildroot}%{_bindir}/zabbix_sender %{buildroot}%{_sbindir}/zabbix_sender + +# create directory structure +install -d %{buildroot}%{_localstatedir}/log/%{server_user} +install -d %{buildroot}%{_localstatedir}/log/%{agent_user} + +# move java gateway files +mkdir -p %{buildroot}/%{_prefix}/lib/zabbix-java-gateway +mv %{buildroot}%{_sbindir}/zabbix_java/lib/*.jar %{buildroot}%{_prefix}/lib/zabbix-java-gateway +mv %{buildroot}%{_sbindir}/zabbix_java/bin/*.jar %{buildroot}%{_prefix}/lib/zabbix-java-gateway +mv %{buildroot}%{_sbindir}/zabbix_java/settings.sh %{buildroot}%{_sysconfdir}/zabbix/zabbix-java-gateway.conf +mv %{buildroot}%{_sbindir}/zabbix_java/lib/logback.xml %{buildroot}%{_sysconfdir}/zabbix/zabbix-java-gateway-log.xml +install -m 0755 %{SOURCE3} %{buildroot}%{_bindir}/zabbix-java-gateway +# we do not need the rest +rm -r %{buildroot}%{_sbindir}/zabbix_java + +# install the php frontend +mkdir -p %{buildroot}%{_datadir}/zabbix +cp -r frontends/php/* %{buildroot}%{_datadir}/zabbix +install -Dm 0644 %{SOURCE5} %{buildroot}%{apache_sysconfdir}/conf.d/zabbix.conf +# remove .htaccess files as access rules are moved to zabbix.conf +find %{buildroot}%{_datadir}/zabbix -name .htaccess -exec rm -v {} \; + +# Install log rotation +mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d +sed -e 's|COMPONENT|agentd|g; s|USER|zabbix|g' %{SOURCE4} > \ + %{buildroot}%{_sysconfdir}/logrotate.d/%{name}-agent +sed -e 's|COMPONENT|server|g; s|USER|zabbixs|g' %{SOURCE4} > \ + %{buildroot}%{_sysconfdir}/logrotate.d/%{name}-server +sed -e 's|COMPONENT|proxy|g; s|USER|zabbixs|g' %{SOURCE4} > \ + %{buildroot}%{_sysconfdir}/logrotate.d/%{name}-proxy + +%fdupes %{buildroot} + +# install firewall description files for SLE 12 / Leap 42 +%if 0%{?suse_version} < 1500 +install -Dm 0644 %{SOURCE7} %{buildroot}%{SUSEfirewall_services_dir}/zabbix_server +install -Dm 0644 %{SOURCE8} %{buildroot}%{SUSEfirewall_services_dir}/zabbix_agentd +install -Dm 0644 %{SOURCE9} %{buildroot}%{SUSEfirewall_services_dir}/zabbix_proxy +install -Dm 0644 %{SOURCE10} %{buildroot}%{SUSEfirewall_services_dir}/zabbix-java-gateway +%endif + +# install systemd unit files +install -Dm 0644 %{SOURCE11} %{buildroot}%{_unitdir}/zabbix_proxy.service +install -Dm 0644 %{SOURCE12} %{buildroot}%{_unitdir}/zabbix_agentd.service +install -Dm 0644 %{SOURCE13} %{buildroot}%{_unitdir}/zabbix_server.service +install -Dm 0644 %{SOURCE14} %{buildroot}%{_unitdir}/zabbix-java-gateway.service +install -dm 0755 %{buildroot}/%{_unitdir}/zabbix_server.service.requires +install -dm 0755 %{buildroot}/%{_unitdir}/zabbix_proxy.service.requires + +# set the rc sym links +ln -s service %{buildroot}%{_sbindir}/rczabbix_agentd +ln -s service %{buildroot}%{_sbindir}/rczabbix_server +ln -s service %{buildroot}%{_sbindir}/rczabbix_proxy +ln -s service %{buildroot}%{_sbindir}/rczabbix-java-gateway + +# this stupidity is required because i do not wanna create separate zabbix-common +# in case i ever do it will put it under one scope... +install -Dm 0644 %{SOURCE2} %{buildroot}%{_tmpfilesdir}/zabbix_agentd.conf +# here I suppose server_user==server_group (and agent_user==agent_group, which is for compatibility reasons) +sed -i 's@%{agent_user}@%{server_user}@g' %{SOURCE2} +install -Dm 0644 %{SOURCE2} %{buildroot}%{_tmpfilesdir}/zabbix_server.conf +install -Dm 0644 %{SOURCE2} %{buildroot}%{_tmpfilesdir}/zabbix_proxy.conf +install -Dm 0644 %{SOURCE2} %{buildroot}%{_tmpfilesdir}/zabbix-java-gateway.conf +################################################################################### + +# update-alternatives +install -d -m 0755 %{buildroot}%{_sysconfdir}/alternatives +touch -r /bin/true %{buildroot}%{_sysconfdir}/alternatives/zabbix_server +touch -r /bin/true %{buildroot}%{_sysconfdir}/alternatives/zabbix_proxy +ln -s %{_sysconfdir}/alternatives/zabbix_server %{buildroot}%{_sbindir}/zabbix_server +ln -s %{_sysconfdir}/alternatives/zabbix_proxy %{buildroot}%{_sbindir}/zabbix_proxy + +# set links zabbix-* -> zabbix_* (to avoid confusion among users) +ln -s %{_sbindir}/zabbix_server %{buildroot}%{_sbindir}/zabbix-server +ln -s %{_sbindir}/zabbix_server %{buildroot}%{_sbindir}/zabbix-proxy +ln -s %{_sbindir}/zabbix_agentd %{buildroot}%{_sbindir}/zabbix-agentd +ln -s %{_sbindir}/zabbix_sender %{buildroot}%{_sbindir}/zabbix-sender +ln -s %{_bindir}/zabbix_get %{buildroot}%{_bindir}/zabbix-get + +# Remove Makefiles from database directories so they don't get picked up by %%doc +rm database/*/Makefile* + +# Release Notes - what has changed against Zabbix 3.x +cp %{SOURCE1} . + +# SSL README +cp %{SOURCE15} . + +%pre server +# Server daemon +%{_bindir}/getent group %{server_group} >/dev/null || %{_sbindir}/groupadd -r %{server_group} +%{_bindir}/getent passwd %{server_user} >/dev/null || %{_sbindir}/useradd -r -d %{_localstatedir}/lib/%{server_user} -s /bin/false -c "Zabbix Server Daemon" -g %{server_group} %{server_user} +%service_add_pre zabbix_server.service +exit 0 + +%pre proxy +# Proxy daemon +%{_bindir}/getent group %{server_group} >/dev/null || %{_sbindir}/groupadd -r %{server_group} +%{_bindir}/getent passwd %{server_user} >/dev/null || %{_sbindir}/useradd -r -d %{_localstatedir}/lib/%{server_user} -s /bin/false -c "Zabbix Proxy Daemon" -g %{server_group} %{server_user} +%service_add_pre zabbix_proxy.service +exit 0 + +%pre agent +# Agent daemon +%{_bindir}/getent group %{agent_group} >/dev/null || %{_sbindir}/groupadd -r %{agent_group} +%{_bindir}/getent passwd %{agent_user} >/dev/null || %{_sbindir}/useradd -r -d %{_localstatedir}/lib/%{agent_user} -s /bin/false -c "Zabbix Agent Daemon" -g %{agent_group} %{agent_user} +%service_add_pre zabbix_agentd.service +exit 0 + +%pre java-gateway +# Java daemon +%{_bindir}/getent group %{server_group} >/dev/null || %{_sbindir}/groupadd -r %{server_group} +%{_bindir}/getent passwd %{server_user} >/dev/null || %{_sbindir}/useradd -r -d %{_localstatedir}/lib/%{server_user} -s /bin/false -c "Zabbix Java Daemon" -g %{server_group} %{server_user} +%service_add_pre zabbix-java-gateway.service +exit 0 + +%post server +%service_add_post zabbix_server.service +%tmpfiles_create %{_tmpfilesdir}/zabbix_server.conf +echo "Please read %{_docdir}/%{name}-server/README-SSL.SUSE to set up SSL on Zabbix server." + +%post proxy +%service_add_post zabbix_proxy.service +%tmpfiles_create %{_tmpfilesdir}/zabbix_proxy.conf +echo "Please read %{_docdir}/%{name}-proxy/README-SSL.SUSE to set up SSL on Zabbix proxy." + +%post java-gateway +%service_add_post zabbix-java-gateway.service +%tmpfiles_create %{_tmpfilesdir}/zabbix-java-gateway.conf + +%post agent +%service_add_post zabbix_agentd.service +%tmpfiles_create %{_tmpfilesdir}/zabbix_agentd.conf +echo "Please read %{_docdir}/%{name}-agent/README-SSL.SUSE to set up SSL on Zabbix agent." + +%post server-mysql +%{_sbindir}/update-alternatives --install %{_sbindir}/zabbix_server zabbix_server %{_sbindir}/zabbix_server-mysql 12 + +%post server-postgresql +%{_sbindir}/update-alternatives --install %{_sbindir}/zabbix_server zabbix_server %{_sbindir}/zabbix_server-postgresql 11 + +%post proxy-mysql +%{_sbindir}/update-alternatives --install %{_sbindir}/zabbix_proxy zabbix_proxy %{_sbindir}/zabbix_proxy-mysql 12 + +%post proxy-postgresql +%{_sbindir}/update-alternatives --install %{_sbindir}/zabbix_proxy zabbix_proxy %{_sbindir}/zabbix_proxy-postgresql 11 + +%post proxy-sqlite +%{_sbindir}/update-alternatives --install %{_sbindir}/zabbix_proxy zabbix_proxy %{_sbindir}/zabbix_proxy-sqlite 10 + +%preun server +%service_del_preun zabbix_server.service + +%preun proxy +%service_del_preun zabbix_proxy.service + +%preun java-gateway +%service_del_preun zabbix-java-gateway.service + +%preun agent +%service_del_preun zabbix_agentd.service + +%postun server +%service_del_postun zabbix_server.service + +%postun proxy +%service_del_postun zabbix_proxy.service + +%postun java-gateway +%service_del_postun zabbix-java-gateway.service + +%postun agent +%service_del_postun zabbix_agentd.service + +%postun server-mysql +if [ "$1" = 0 ] ; then + %{_sbindir}/update-alternatives --remove zabbix_server %{_sbindir}/zabbix_server-mysql +fi + +%postun server-postgresql +if [ "$1" = 0 ] ; then + %{_sbindir}/update-alternatives --remove zabbix_server %{_sbindir}/zabbix_server-postgresql +fi + +%postun proxy-mysql +if [ "$1" = 0 ] ; then + %{_sbindir}/update-alternatives --remove zabbix_proxy %{_sbindir}/zabbix_proxy-mysql +fi + +%postun proxy-postgresql +if [ "$1" = 0 ] ; then + %{_sbindir}/update-alternatives --remove zabbix_proxy %{_sbindir}/zabbix_proxy-postgresql +fi + +%postun proxy-sqlite +if [ "$1" = 0 ] ; then + %{_sbindir}/update-alternatives --remove zabbix_proxy %{_sbindir}/zabbix_proxy-sqlite +fi + +%files server +%doc AUTHORS ChangeLog database/ibm_db2 database/mysql database/oracle database/postgresql database/sqlite3 rn4.0.0.html README-SSL.SUSE +%if 0%{?suse_version} < 1500 +%config %{SUSEfirewall_services_dir}/zabbix_server +%endif +%dir %{_sysconfdir}/zabbix +%config(noreplace) %attr(0640, root, %{server_group}) %{_sysconfdir}/zabbix/zabbix_server.conf +%{_bindir}/zabbix_get +%{_bindir}/zabbix-get +%{_sbindir}/zabbix_server +%{_sbindir}/zabbix-server +%{_sbindir}/rczabbix_server +%attr(0770,root,%{server_group}) %dir %{_localstatedir}/log/%{server_user} +%ghost %attr(0770,root,%{server_group}) %dir %{_rundir}/%{server_user} +%{_mandir}/man1/zabbix_get.1%{?ext_man} +%{_mandir}/man8/zabbix_server.8%{?ext_man} +%{_unitdir}/zabbix_server.service +%{_unitdir}/zabbix_server.service.requires +%{_tmpfilesdir}/zabbix_server.conf +%ghost %{_sysconfdir}/alternatives/zabbix_server +%ghost %{_sysconfdir}/alternatives/zabbix_server.service +%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}-server + +%files proxy +%doc README-SSL.SUSE +%if 0%{?suse_version} < 1500 +%config %{SUSEfirewall_services_dir}/zabbix_proxy +%endif +%{_sbindir}/zabbix_proxy +%{_sbindir}/zabbix-proxy +%{_sbindir}/rczabbix_proxy +%dir %{_sysconfdir}/zabbix +%config(noreplace) %attr(0640, root, %{server_group}) %{_sysconfdir}/zabbix/zabbix_proxy.conf +%attr(0770,root,%{server_group}) %dir %{_localstatedir}/log/%{server_user} +%ghost %attr(0770,root,%{server_group}) %dir %{_rundir}/%{server_user} +%{_mandir}/man8/zabbix_proxy.8%{?ext_man} +%{_unitdir}/zabbix_proxy.service +%{_unitdir}/zabbix_proxy.service.requires +%{_tmpfilesdir}/zabbix_proxy.conf +%ghost %{_sysconfdir}/alternatives/zabbix_proxy +%ghost %{_sysconfdir}/alternatives/zabbix_proxy.service +%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}-proxy + +%files agent +%doc README-SSL.SUSE +%if 0%{?suse_version} < 1500 +%config %{SUSEfirewall_services_dir}/zabbix_agentd +%endif +%dir %{_sysconfdir}/zabbix +%config(noreplace) %attr(0640, root, %{agent_group}) %{_sysconfdir}/zabbix/zabbix_agent*.conf +%{_sbindir}/rczabbix_agentd +%{_sbindir}/zabbix_agentd +%{_sbindir}/zabbix-agentd +%{_sbindir}/zabbix_sender +%{_sbindir}/zabbix-sender +%attr(0770,root,%{agent_group}) %dir %{_localstatedir}/log/%{agent_user} +%ghost %attr(0770,root,%{agent_group}) %dir %{_rundir}/%{agent_user} +%{_mandir}/man8/zabbix_agentd.8%{?ext_man} +%{_mandir}/man1/zabbix_sender.1%{?ext_man} +%{_unitdir}/zabbix_agentd.service +%{_tmpfilesdir}/zabbix_agentd.conf +%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}-agent + +%files phpfrontend +%doc README.SUSE +%dir %{apache_sysconfdir} +%dir %{apache_sysconfdir}/conf.d +%config(noreplace) %{apache_sysconfdir}/conf.d/zabbix.conf +%{_datadir}/zabbix + +%files server-mysql +%{_sbindir}/zabbix_server-mysql +%{_sbindir}/zabbix_server +%ghost %{_sysconfdir}/alternatives/zabbix_server + +%files server-postgresql +%{_sbindir}/zabbix_server-postgresql +%{_sbindir}/zabbix_server +%ghost %{_sysconfdir}/alternatives/zabbix_server + +%files proxy-mysql +%{_sbindir}/zabbix_proxy-mysql +%{_sbindir}/zabbix_proxy +%ghost %{_sysconfdir}/alternatives/zabbix_proxy + +%files proxy-postgresql +%{_sbindir}/zabbix_proxy-postgresql +%{_sbindir}/zabbix_proxy +%ghost %{_sysconfdir}/alternatives/zabbix_proxy + +%files proxy-sqlite +%{_sbindir}/zabbix_proxy-sqlite +%{_sbindir}/zabbix_proxy +%ghost %{_sysconfdir}/alternatives/zabbix_proxy + +%files java-gateway +%if 0%{?suse_version} < 1500 +%config %{SUSEfirewall_services_dir}/zabbix-java-gateway +%endif +%dir %{_sysconfdir}/zabbix +%config(noreplace) %attr(0640, root, %{server_group}) %{_sysconfdir}/zabbix/zabbix-java-gateway.conf +%config(noreplace) %attr(0640, root, %{server_group}) %{_sysconfdir}/zabbix/zabbix-java-gateway-log.xml +%dir %{_prefix}/lib/zabbix-java-gateway +%{_bindir}/zabbix-java-gateway +%{_prefix}/lib/zabbix-java-gateway/zabbix-java-gateway-%{version}%{?rclevel}.jar +%{_prefix}/lib/zabbix-java-gateway/android-json-4.3_r3.1.jar +%{_prefix}/lib/zabbix-java-gateway/slf4j-api-1.6.1.jar +%{_prefix}/lib/zabbix-java-gateway/logback-core-0.9.27.jar +%{_prefix}/lib/zabbix-java-gateway/logback-classic-0.9.27.jar +%{_sbindir}/rczabbix-java-gateway +%attr(0770,root,%{server_group}) %dir %{_localstatedir}/log/%{server_user} +%ghost %attr(0770,root,%{server_group}) %dir %{_rundir}/%{server_user} +%{_unitdir}/zabbix-java-gateway.service +%{_tmpfilesdir}/zabbix-java-gateway.conf + +%changelog